Проблема взаимодействия функций - Feature interaction problem

Функциональное взаимодействие это программная инженерия концепция. Это происходит, когда интеграция двух функций может изменить поведение одной или обеих функций.

Период, термин особенность используется для обозначения функциональной единицы программного приложения. Подобно многим концепциям в информатике, этот термин может использоваться на разных уровнях абстракции. Например, обычная старая телефонная служба (POTS) - это функция приложения телефонии на одном уровне, но сама она состоит из исходных и оконечных функций. Исходные функции, в свою очередь, могут включать в себя гудок функция, функция сбора цифр и так далее.

Это определение взаимодействие функций позволяет сосредоточиться на определенном поведении взаимодействующих функций, например, на том, как время их отклика может быть изменено при интеграции. Многие исследователи в данной области рассматривают проблемы, возникающие из-за изменения исполнения. поведение взаимодействующих функций. В этом контексте поведение функции определяется ее потоком выполнения и выходными данными для данного входа. Другими словами, взаимодействие изменяет поток выполнения и вывод взаимодействующих функций для заданного входа.

Пример

В контексте телефония, а телефонная линия (система) обычно предлагает набор функций, которые включают переадресация звонков и ожидание вызова. Ожидание вызова позволяет приостановить один вызов, пока отвечает на второй вызов, в то время как переадресация вызова позволяет клиенту указать дополнительный номер телефона, на который будут переадресованы дополнительные вызовы в случае, если клиент уже использует телефон.

Чтобы проиллюстрировать этот пример, мы рассматриваем телефонную линию, предоставленную клиенту, и предполагаем, что на этой линии включены как переадресация, так и ожидание вызова. Когда на линию поступает первый вызов, телефон звонит и отвечает. Поскольку ни одна функция не активируется при первом звонке, заметной проблемы нет. Когда второй вызов поступает до того, как первый был завершен, телефонная система должна принять решение: следует ли переадресовать вызов на дополнительный номер (переадресация вызова) или человек, ответивший на первый вызов, должен быть уведомлен о поступлении другого вызова (ожидание вызова). Поскольку это решение не имеет очевидного правильного ответа, оптимальный ответ зависит от потребностей заказчика. Этот взаимодействие функций является конкретным примером общей и распространенной проблемы, которая стала распространенной из-за возрастающей сложности системы.

В этой ситуации не исключено, что решение системы будет принято в недетерминированный мода из-за условия гонки и другие конструктивные факторы. Последствия взаимодействия функций могут варьироваться от незначительного раздражения до опасных для жизни сбоев программного обеспечения, поэтому в настоящее время проводятся исследования, направленные на поиск способов решения этой проблемы. обнаружение а также разрешение взаимодействие функций.

Семинары и конференции

  • Серия семинаров по взаимодействию функций (FIW) и Международные конференции по взаимодействию функций (ICFI) являются основными площадками, посвященными этой проблеме:
МероприятиеМесто расположенияСопредседатели
FIW'92Санкт-Петербург, СШАН. Гриффет, Ю.-Дж. Линь
FIW'94Амстердам, НидерландыL.G. Баума, Х. Велтуйсен
FIW'95Киото, ЯпонияК.Э. Ченг, Т. Охта
FIW'97Монреаль, КанадаП. Дини, Р. Бутаба, Л. Логриппо
FIW'98Лунд, ШвецияК. Кимблер, Л.Г. Баума
FIW'00Глазго, ШотландияМ. Колдер, Э. Мэджилл
FIW'03Оттава, КанадаД. Амио, Л. Логриппо
МКЧИ'05Лестер, ВеликобританияС. Райфф-Марганец, М. Д. Райан
ICFI'07Гренобль, ФранцияФ. Уабдесселам, Л. дю Буске
МКЧИ'09Лиссабон, ПортугалияС. Райфф-Марганиец, М. Накамура

Смотрите также

внешняя ссылка

Исследовательские группы

Статьи