기능 상호 작용 문제

Feature interaction problem

기능 상호작용은 소프트웨어 엔지니어링 개념입니다.이 문제는 2개의 기능을 통합하면 한쪽 또는 양쪽 기능의 동작이 변경되는 경우에 발생합니다.

기능이라는 용어는 소프트웨어 응용 프로그램의 기능 단위를 나타내기 위해 사용됩니다.컴퓨터 과학의 많은 개념과 유사하게, 이 용어는 다양한 추상화 수준에서 사용될 수 있습니다.예를 들어 Plain Old Telephone Service(POTS; 일반 전화 서비스)는 한 수준에서는 텔레포니응용 프로그램 기능입니다만, 그 자체는 발신측 기능과 종단 기능으로 구성되어 있습니다.발신측 기능에는, 다이얼 톤의 제공 기능, 번호 수집 기능등이 있습니다.

기능 상호작용의 정의를 통해 연동에 따라 응답 시간이 어떻게 변경될 수 있는지 등 상호작용 기능의 특정 동작에 초점을 맞출 수 있습니다.이 분야의 많은 연구자들은 상호작용하는 기능의 실행 동작 변화로 인해 발생하는 문제를 고려합니다.이 컨텍스트에서 기능의 동작은 특정 입력의 실행 흐름과 출력에 의해 정의됩니다.즉, 상호작용은 주어진 입력에 대한 상호작용 기능의 실행 흐름과 출력을 변경한다.

예

텔레포니에서는, 전화 회선(시스템)은, 통상은, 콜 전송이나 콜 대기를 포함한 일련의 기능을 제공합니다.콜 웨이팅에서는, 1 개의 콜을 일시 정지하고, 2 개의 콜에 응답할 수 있습니다.또, 콜 전송에서는, 고객이 이미 전화기를 사용하고 있는 경우에, 추가 콜을 전송 하는 세컨더리 전화 번호를 지정할 수 있습니다.

이 예에서는, 고객에게 제공되는 전화 회선을 검토해, 회선상에서 콜 전송과 콜 웨이트가 모두 유효하게 되어 있는 것을 전제로 하고 있습니다.첫 번째 콜이 회선에 도착하면 전화벨이 울리고 응답됩니다.첫 번째 콜에서는 어느 기능도 활성화 되지 않기 때문에 큰 문제는 없습니다.첫 번째 콜이 종료되기 전에두 번째 콜이 도착하면 전화 시스템은 콜을 세컨더리 번호로 전송할지(콜 전송) 첫 번째 콜에 응답한 사람에게 다른 콜이 도착했음을 통지할지를 결정합니다(콜 대기).이 결정에는 명확한 정답이 없기 때문에 최적의 답은 고객의 요구에 따라 달라집니다.이 기능의 상호작용은 시스템의 복잡성이 증가하여 널리 퍼지고 있는 일반적인 문제의 구체적인 예입니다.

이 경우, 레이스 조건이나 다른 설계상의 요인에 의해, 시스템의 결정이 비결정적인 방법으로 내려질 가능성이 있다.기능 상호작용의 결과는 사소한 자극에서 생명을 위협하는 소프트웨어 장애에 이르기까지 다양합니다.따라서 기능 상호작용을 검출하고 해결하는 방법을 찾는 것을 목표로 하는 연구가 진행 중입니다.

워크숍 및 회의

  • 이 문제를 해결하기 위한 주요 장소는 일련의 기능 상호작용 워크숍(FIW) 및 International Conference on Feature Interaction(ICFI)은 다음과 같습니다.
이벤트 위치 공동 의장
FIW'92 미국 상트페테르부르크 N. 그리피스, Y.J. 린
FIW'94 네덜란드 암스테르담 L.G. 부마, H. 벨투이젠
FIW'95 일본 교토 K.E. Cheng, T.오타
FIW'97 캐나다 몬트리올 P. 디니, R. 부타바, L. 로그리포
FIW'98 스웨덴 룬드 K. 킴블러, L.G. 부마
FIW'00 글래스고, 스코틀랜드 M. 칼더, E. 매길
FIW'03 캐나다 오타와 D. 에이못, L. 로그리포
ICFI'05 영국 레스터 S. Reiff-Marganiec, M.D. 라이언
ICFI'07 그르노블, 프랑스 우아브데셀람, L. du Bousquet
ICFI'09 리스본, 포르투갈 S. Reiff-Marganiec, M. 나카무라

「 」를 참조해 주세요.

외부 링크

연구 그룹

페이퍼