DEFINITION
(1) Un módulo complementario de software que depende de una interfaz bien definida para añadir funcionalidades a un producto de software conocido. Los proveedores que crean productos de software multiusos como navegadores de Internet, con frecuencia, introducen puntos bien definidos en su flujo lógico donde la ejecución comprueba la existencia de un módulo externo y, si está presente, lo ejecuta, pasando la información relacionada de un lado a otro según los patrones establecidos. Esto permite a los clientes o a otros proveedores personalizar áreas concretas del producto. El concepto se ha conocido por otros muchos nombres, incluidos exits o user exits.
(2) Un módulo de hardware o software que añade una función o servicio específico a un sistema más grande. Los complementos también pueden mostrar o interpretar un protocolo o formato de archivo concreto, por ejemplo, Shockwave o RealAudio.