stringtranslate.com

Problema de interacción de funciones

La interacción de funciones es un concepto de ingeniería de software . Ocurre cuando la integración de dos características modificaría el comportamiento de una o ambas características.

El término característica se utiliza para indicar una unidad de funcionalidad de una aplicación de software. Al igual que muchos conceptos de informática, el término se puede utilizar en diferentes niveles de abstracción. Por ejemplo, el servicio telefónico antiguo (POTS) es una característica de aplicación de telefonía en un nivel, pero en sí mismo está compuesto de características de origen y características de terminación. Las funciones de origen pueden, a su vez, incluir la función de proporcionar tono de marcado , la función de recopilación de dígitos, etc.

Esta definición de interacción de funciones permite centrarse en cierto comportamiento de las funciones que interactúan, como por ejemplo cómo se puede cambiar su tiempo de respuesta dada la integración. Muchos investigadores en el campo consideran los problemas que surgen debido al cambio en el comportamiento de ejecución de las funciones que interactúan. En ese contexto, el comportamiento de una característica se define por su flujo de ejecución y salida para una entrada determinada. En otras palabras, la interacción cambia el flujo de ejecución y la salida de las funciones que interactúan para una entrada determinada.

Ejemplo

En el contexto de la telefonía , una línea telefónica (el sistema) normalmente ofrece un conjunto de funciones que incluyen el desvío de llamadas y la llamada en espera . La llamada en espera permite suspender una llamada mientras se responde una segunda, mientras que el desvío de llamadas permite al cliente especificar un número de teléfono secundario al que se desviarán llamadas adicionales en caso de que el cliente ya esté usando el teléfono.

Para ilustrar el ejemplo, consideramos una línea telefónica proporcionada a un cliente y asumimos que tanto el desvío de llamadas como la llamada en espera están habilitados en la línea. Cuando llega una primera llamada a la línea, el teléfono suena y es contestado. Dado que ninguna de las funciones se activa con la primera llamada, no hay ningún problema notable. Cuando llega una segunda llamada antes de que la primera haya terminado, el sistema telefónico tiene que tomar una decisión: si la llamada debe desviarse al número secundario (desvío de llamadas) o si se debe notificar a la persona que respondió a la primera llamada que ha llegado otra llamada. (llamada en espera). Dado que esta decisión no tiene una respuesta correcta obvia, la respuesta óptima depende de las necesidades del cliente. Esta interacción de características es un ejemplo específico de un problema general y común que se ha vuelto frecuente debido a la creciente complejidad del sistema.

En esta situación, es posible que la decisión del sistema se tome de forma no determinista debido a las condiciones de carrera y otros factores de diseño. Las consecuencias de las interacciones entre funciones pueden variar desde irritaciones menores hasta fallas de software que ponen en peligro la vida y, por lo tanto, hay investigaciones en curso que apuntan a encontrar formas de detectar y resolver interacciones entre funciones.

Talleres y conferencias

Ver también

enlaces externos

Grupos de investigación

Documentos