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 denotar una unidad de funcionalidad de una aplicación de software. Al igual que en muchos conceptos de la informática, el término se puede utilizar en diferentes niveles de abstracción. Por ejemplo, el antiguo servicio telefónico simple (POTS) es una característica de aplicación de telefonía en un nivel, pero en sí mismo está compuesto por características de origen y características de terminación. Las funciones de origen pueden incluir a su vez la función de proporcionar tono de marcación , la función de recopilación de dígitos, etc.
Esta definición de interacción de características le permite a uno enfocarse en cierto comportamiento de las características que interactúan, como cómo se puede cambiar su tiempo de respuesta dada la integración. Muchos investigadores en el campo consideran los problemas que surgen debido a cambios en el comportamiento de ejecución de las características 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 características que interactúan para una entrada determinada.
Ejemplo
En el contexto de la telefonía , una línea telefónica (el sistema) generalmente ofrece un conjunto de características 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 llamada, mientras que el desvío de llamadas permite al cliente especificar un número de teléfono secundario al que se desviarán las 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 se responde. 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 termine la primera, el sistema telefónico tiene que tomar una decisión: si la llamada se debe desviar al número secundario (desvío de llamadas) o si se debe notificar a la persona que respondió la primera llamada que ha llegado otra. (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 manera no determinista debido a las condiciones de carrera y otros factores de diseño. Las consecuencias de las interacciones de funciones pueden variar desde pequeñas molestias hasta fallas de software potencialmente mortales y, por lo tanto, existe una investigación en curso que tiene como objetivo encontrar formas de detectar y resolver interacciones de funciones.
Talleres y conferencias
- La serie de talleres de interacción de características (FIW) y las conferencias internacionales sobre interacción de características (ICFI) son los lugares principales dedicados a este problema:
Evento | Localización | Copresidentes |
---|---|---|
FIW'92 | San Petersburgo, EE. UU. | N. Griffeth , Y.-J. Lin |
FIW'94 | Amsterdam, Holanda | LG Bouma, H. Velthuijsen |
FIW'95 | Kyoto, Japón | KE Cheng, T. Ohta |
FIW'97 | Montreal Canadá | P. Dini, R. Boutaba, L. Logrippo |
FIW'98 | Lund, Suecia | K. Kimbler, LG Bouma |
FIW'00 | Glasgow, Escocia | M. Calder, E. Magill |
FIW'03 | Ottawa, canadá | D. Amyot, L. Logrippo |
ICFI'05 | Leicester, Reino Unido | S. Reiff-Marganiec, MD Ryan |
ICFI'07 | Grenoble, Francia | F. Ouabdesselam, L. du Bousquet |
ICFI'09 | Lisboa, Portugal | S. Reiff-Marganiec, M. Nakamura |
Ver también
enlaces externos
Grupos de investigación
Documentos
- Hoja de preguntas frecuentes sobre interacción de funciones , Pamela Zave .
- Agentes y sus servicios: un enfoque ontológico para la interacción de características B. Cohen, City University.
- Un punto de referencia de interacción de funciones para IN y más allá E. Jane Cameron, Nancy D. Griffeth , Yow-Jian Lin, Margaret E. Nilson, William K. Schnure, Bellcore y H. Velthuijsen, PTT Research, Países Bajos.
- Actas de la conferencia de FIW e ICFI en IOS Press .
- Interacción de funciones: una revisión crítica y una previsión considerada . M. Calder, M. Kolberg, EH Magill y S. Reiff-Marganiec. Computer Networks 41, págs. 115-141 (2002).
- Interacción de funciones como un problema de contexto compartido . Armstrong Nhlabatsi, Robin Laney y Bashar Nuseibeh. Conferencia internacional sobre interacciones de funciones, 11-12 de junio, Universidad de Lisboa, Portugal, págs. 133-148 (2009).