Кіріспе
Бағдарламалық инженерия тұжырымдамасы
Құралдардың өзара әрекеттесуі – бағдарламалық инженерия тұжырымдамасы. Бұл екі құралдың біріктірілуі бір немесе екі құралдың әрекетін өзгертетін кезде пайда болады. "Құрал" термині бағдарламалық қосымшаның функционалдық бірлігін білдіру үшін қолданылады. Компьютер ғылымындағы көптеген тұжырымдар сияқты, бұл термин абстракцияның әртүрлі деңгейлерінде қолданылуы мүмкін. Мысалы, қарапайым ескі телефон қызметі (POTS) – бұл бір деңгейдегі телефондық қосымшаның құралы, бірақ өзі бастау және аяқтау құралдарынан тұрады. Бастау құралдарына, өз кезегінде, диал тоны беру құралы, сандарды жинақтау құралы және т.б. кіруі мүмкін. Бұл құралдардың өзара әрекеттесуінің анықтамасы, біріне өзара әрекеттесетін құралдардың белгілі бір әрекеттеріне назар аударуға мүмкіндік береді, мысалы, біріктірілген кезде олардың жауап беру уақыты қалай өзгеруі мүмкін. Бұл саладағы көптеген зерттеушілер өзара әрекеттесетін құралдардың орындалу әрекетіндегі өзгерістерге байланысты туындайтын мәселелерді қарастырады. Бұл жағдайда құралдың әрекеті берілген деректер үшін оның орындалу ағыны және нәтижесімен анықталады. Басқаша айтқанда, өзара әрекеттесу берілген деректер үшін өзара әрекеттесетін құралдардың орындалу ағыны мен нәтижесін өзгертеді.
Feature interaction is a software engineering concept. It occurs when the integration of two features would modify the behavior of one or both features. The term feature is used to denote a unit of functionality of a software application. Similar to many concepts in computer science, the term can be used at different levels of abstraction. For example, the plain old telephone service (POTS) is a telephony application feature at one level, but itself is composed of originating features and terminating features. The originating features may in turn include the provide dial tone feature, digit collection feature and so on. This definition of feature interaction allows one to focus on certain behavior of the interacting features such as how their response time may be changed given the integration. Many researchers in the field consider problems that arise due to change in the execution behavior of the interacting features. Under that context, the behavior of a feature is defined by its execution flow and output for a given input. In other words, the interaction changes the execution flow and output of the interacting features for a given input.
Мысал
Телефония саласында телефон желісі (жүйе) әдетте шақыруды бағыттау және шақыруды күту сияқты мүмкіндіктер жиынтығын ұсынады. Шақыруды күту бір шақыру тоқтатылып, екінші шақыруға жауап беруге мүмкіндік береді, ал шақыруды бағыттау абонентке қосымша телефон нөмірін көрсетуге мүмкіндік береді, егер абонент телефонды қолданып жатса, келесі шақырулар сол нөмірге бағытталады. Мысал ретінде, біз абонентке берілген телефон желісін қарастырайық және желіде шақыруды бағыттау және шақыруды күту мүмкіндіктері қосылған деп есептейік. Алғашқы шақыру келгенде телефон соғып, жауап беріледі. Бірінші шақыру ешқандай мүмкіндікті іске қоспағандықтан, ешқандай көзге көрінетін мәселе туындамайды. Бірінші шақыру аяқталмас бұрын екінші шақыру келсе, телефон жүйесі шешім қабылдауы керек: шақыру екінші нөмірге бағытталуы керек пе (шақыруды бағыттау) әлде бірінші шақыруға жауап берген адамға басқа шақыру келгені туралы хабарлама жіберілуі керек пе (шақыруды күту). Бұл шешімге анық дұрыс жауап болмағандықтан, ең тиімді жауап абоненттің қажеттіліктеріне байланысты. Бұл мүмкіндіктердің өзара әрекеттесуі – жүйе күрделілігінің артуына байланысты кең таралған жалпы мәселенің нақты мысалы. Мұндай жағдайда жүйенің шешімі, жарыс жағдайлары және басқа да жобалау факторларына байланысты детерминистік емес болуы мүмкін. Мүмкіндіктердің өзара әрекеттесуінің салдары шағын ыңғайсыздықтан бастап, өмірге қауіп төндіретін бағдарламалық қателерге дейін жетеді, сондықтан мүмкіндіктердің өзара әрекеттесуін анықтау және шешу жолдарын табуға бағытталған зерттеулер жүргізілуде.
Қағаздар
Памела Заведің "Feature Interaction" (Ерекшеліктердің өзара әрекеттесуі) туралы жиі қойылатын сұрақтар жинағы. Агенттер және олардың қызметтері: Ерекшеліктердің өзара әрекеттесуіне онтологиялық тәсіл. Б. Коэн, Сити университеті. IN және одан әрі үшін Ерекшеліктердің өзара әрекеттесуінің өлшемшарты. Е. Джейн Кэмерон, Нэнси Д. Гриффит, Йоу Цзянь Лин, Маргарет Э. Нильсон, Уильям К. Шнур, Беллкор және Х. Велтхуййсен, PTT Research, Нидерланды. FIW және ICFI конференцияларының материалдары, IOS Press баспасы. Ерекшеліктердің өзара әрекеттесуі: сынды қарастыру және болжамды бағалау. М. Кальдер, М. Колберг, Э. Х. Магилл және С. Рейф Марганец. Компьютерлік желілер 41, 115–141 беттер (2002). Ерекшеліктердің өзара әрекеттесуі – Контексті бөлісу мәселесі ретінде. Армстронг Нхлабатси, Робин Лэни және Башар Нусейбе. Ерекшеліктердің өзара әрекеттесуі жөніндегі халықаралық конференция, 11-12 маусым, Лиссабон университеті, Португалия, 133–148 беттер (2009).