Funktionsinteraktionsproblem

Funktionsinteraktion är ett programvarutekniskt koncept. Det inträffar när integreringen av två funktioner skulle ändra beteendet hos en eller båda funktionerna.

Termen funktion används för att beteckna en funktionalitetsenhet för en mjukvaruapplikation. I likhet med många begrepp inom datavetenskap kan termen användas på olika abstraktionsnivåer. Till exempel är den vanliga gamla telefontjänsten (POTS) en telefoniapplikationsfunktion på en nivå, men i sig är den sammansatt av ursprungsfunktioner och avslutande funktioner. De ursprungliga funktionerna kan i sin tur inkludera funktionen för att tillhandahålla kopplingston , funktionen för insamling av siffror och så vidare.

Denna definition av funktionsinteraktion tillåter en att fokusera på visst beteende hos de interagerande funktionerna, såsom hur deras svarstid kan ändras med tanke på integrationen. Många forskare inom området överväger problem som uppstår på grund av förändringar i exekveringsbeteendet hos de interagerande funktionerna. Under det sammanhanget definieras en funktions beteende av dess exekveringsflöde och utdata för en given ingång. Med andra ord ändrar interaktionen exekveringsflödet och utmatningen av de interagerande funktionerna för en given ingång.

Exempel

I samband med telefoni erbjuder en telefonlinje (systemet) vanligtvis en uppsättning funktioner som inkluderar vidarekoppling och samtal väntar . Samtal väntar gör att ett samtal kan avbrytas medan ett andra samtal besvaras, medan vidarekoppling gör att en kund kan ange ett sekundärt telefonnummer till vilket ytterligare samtal kommer att vidarekopplas i händelse av att kunden redan använder telefonen.

För att illustrera exemplet betraktar vi en telefonlinje som tillhandahålls en kund, och vi antar att både vidarekoppling och samtal väntar är aktiverade på linjen. När ett första samtal kommer på linjen ringer telefonen och besvaras. Eftersom ingen av funktionerna aktiveras av det första samtalet finns det inga märkbara problem. När ett andra samtal kommer innan det första har avslutats har telefonsystemet ett beslut att fatta: om samtalet ska vidarekopplas till det sekundära numret (vidarekoppling) eller den som svarade på det första samtalet ska meddelas att ett annat samtal har kommit in (samtal väntar). Eftersom detta beslut inte har något uppenbart korrekt svar, beror det optimala svaret på kundens behov. Denna funktionsinteraktion är ett specifikt exempel på ett allmänt och vanligt problem som har blivit utbredd på grund av ökande systemkomplexitet.

I denna situation är det möjligt att systemets beslut kommer att fattas på ett icke-deterministiskt sätt på grund av rasförhållanden och andra designfaktorer. Konsekvenserna av funktionsinteraktioner kan variera från mindre irritationer till livshotande programvarufel, och därför pågår forskning som syftar till att hitta sätt att upptäcka och lösa funktionsinteraktioner .

Workshops och konferenser

  • Serien av Feature Interaction Workshops (FIW) och International Conferences on Feature Interaction (ICFI) är de primära mötesplatserna för detta problem:
Händelse Plats Medordförande
FIW'92 St Petersburg, USA N. Griffeth , Y.-J. Lin
FIW'94 Amsterdam, Nederländerna LG Bouma, H. Velthuijsen
FIW'95 Kyoto, Japan KE Cheng, T. Ohta
FIW'97 Montreal, Kanada P. Dini, R. Boutaba, L. Logrippo
FIW'98 Lund, Sverige K. Kimbler, LG Bouma
FIW'00 Glasgow, Skottland M. Calder, E. Magill
FIW'03 Ottawa, Kanada D. Amyot, L. Logrippo
ICFI'05 Leicester, Storbritannien S. Reiff-Marganiec, MD Ryan
ICFI'07 Grenoble, Frankrike F. Ouabdesselam, L. du Bousquet
ICFI'09 Lissabon, Portugal S. Reiff-Marganiec, M. Nakamura

Se även

externa länkar

Forskargrupper

Papper