Проблема взаимодействия функций
Взаимодействие функций — это концепция разработки программного обеспечения . Это происходит, когда интеграция двух функций может изменить поведение одной или обеих функций.
Термин «функция» используется для обозначения единицы функциональности программного приложения. Подобно многим понятиям в информатике, этот термин можно использовать на разных уровнях абстракции. Например, обычная телефонная служба (POTS) представляет собой функцию телефонного приложения на одном уровне, но сама состоит из исходных и конечных функций. Исходные функции, в свою очередь, могут включать в себя функцию предоставления тонального сигнала , функцию сбора цифр и т.д.
Такое определение взаимодействия функций позволяет сосредоточиться на определенном поведении взаимодействующих функций, например, на том, как может быть изменено время их ответа при интеграции. Многие исследователи в этой области рассматривают проблемы, возникающие из-за изменения поведения взаимодействующих функций. В этом контексте поведение функции определяется потоком ее выполнения и выходными данными для данного ввода. Другими словами, взаимодействие меняет поток выполнения и выходные данные взаимодействующих функций для данного ввода.
Пример
[ редактировать ]В контексте телефонии ( телефонная линия система) обычно предлагает набор функций, которые включают переадресацию вызова и ожидание вызова . Ожидание вызова позволяет приостановить один вызов, пока отвечает на второй вызов, а переадресация вызова позволяет клиенту указать дополнительный номер телефона, на который будут переадресовываться дополнительные вызовы в случае, если клиент уже использует телефон.
Чтобы проиллюстрировать пример, мы рассматриваем телефонную линию, предоставленную клиенту, и предполагаем, что на линии включены как переадресация вызова, так и ожидание вызова. Когда на линию поступает первый звонок, телефон звонит и ему отвечают. Поскольку ни одна из функций не активируется при первом вызове, заметной проблемы нет. При поступлении второго вызова до завершения первого телефонная система принимает решение: следует ли переадресовать вызов на дополнительный номер (переадресация вызова) или лицо, ответившее на первый вызов, должно быть уведомлено о поступлении другого вызова. (ожидание вызова). Поскольку это решение не имеет очевидного правильного ответа, оптимальный ответ зависит от потребностей заказчика. Это взаимодействие функций является конкретным примером общей и распространенной проблемы, которая стала распространенной из-за увеличения сложности системы.
В этой ситуации возможно, что решение системы будет принято недетерминированным образом из-за условий гонки и других конструктивных факторов. Последствия взаимодействия функций могут варьироваться от незначительных раздражений до опасных для жизни сбоев программного обеспечения, поэтому продолжаются исследования, направленные на поиск способов обнаружения и устранения взаимодействий функций.
Семинары и конференции
[ редактировать ]- Серия семинаров по взаимодействию функций (FIW) и международных конференций по взаимодействию функций (ICFI) являются основными площадками, посвященными этой проблеме:
Событие | Расположение | Сопредседатели |
---|---|---|
ФИВ'92 | Санкт-Петербург, США | Н. Гриффет , Ю.-Дж. Лин |
ФИВ'94 | Амстердам, Нидерланды | Л.Г. Боума, Х. Велтуйсен |
ФИВ'95 | Киото, Япония | К.Э. Ченг, Т. Охта |
ФИВ'97 | Монреаль, Канада | П. Дини, Р. Бутаба, Л. Логриппо |
ФИВ'98 | Лунд, Швеция | К. Кимблер, Л.Г. Боума |
ФИВ'00 | Глазго, Шотландия | М. Колдер, Э. Мэгилл |
ФИВ'03 | Оттава, Канада | Д. Амио, Л. Логриппо |
МКЧИ'05 | Лестер, Великобритания | С. Райфф-Марганец, доктор медицинских наук Райан |
МКЧИ'07 | Гренобль, Франция | Ф. Уабдесселам, Л. дю Буске |
МКЧИ'09 | Лиссабон, Португалия | С. Райфф-Марганец, М. Накамура |
См. также
[ редактировать ]Внешние ссылки
[ редактировать ]Исследовательские группы
[ редактировать ]Статьи
[ редактировать ]- Список часто задаваемых вопросов по взаимодействию функций , Памела Заве .
- Агенты и их сервисы: онтологический подход к взаимодействию функций Б. Коэн, Городской университет.
- Тест взаимодействия функций для IN и за его пределами Э. Джейн Кэмерон, Нэнси Д. Гриффет , Йоу-Джиан Лин, Маргарет Э. Нильсон, Уильям К. Шнуре, Bellcore, и Х. Велтуйсен, PTT Research, Нидерланды.
- Материалы конференции FIW и ICFI в IOS Press .
- Взаимодействие функций: критический обзор и взвешенный прогноз . М. Колдер, М. Кольберг, Э. Х. Магилл и С. Райфф-Марганец. Компьютерные сети 41, стр. 115–141 (2002).
- Взаимодействие функций как проблема совместного использования контекста . Армстронг Нхлабаци, Робин Лейни и Башар Нусейбе. Международная конференция по взаимодействию функций, 11–12 июня, Лиссабонский университет, Португалия, стр. 133–148 (2009 г.).