The correct requirements specification is essential to get the correct product. In the recent methodologies, the requirements specifications are usually specified as some form of scenarios. The implied scenarios are not desired, but exist behaviors in the scenario specifications. As UML(Unified Modeling Language) becomes popular, those scenarios are specified by UML scenario specification. Thus the techniques for detecting implied scenarios in UML scenario specification are needed. In this paper, we propose an approach to detecting implied scenarios on UML 2.0 scenario specification. We provide a canonicalization technique to make our algorithm simple. It normalizes notations of control structures of the specification to control nodes of IODs(Interaction Overview Diagrams). And it moves all parallelisms in SDs to IODs. Then, to find processes from UML scenario specification, we devise an algorithm of control flow analysis. We also provide algorithms to generate FSP(Finite State Process) specification from UML scenario specification and the result of control flow analysis. With the FSP specification, we can detect implied scenarios using the LTSA(Labelled Transition System Analyzer) tool. The detection of implied scenarios in UML scenario specification helps the designers to elaborate the specification.
정확한 요구사항 명세는 정확한 산출물을 얻기 위해 필수적인데, 이러한 요구사항 명세는 최근의 방법론들에서 일반적으로 시나리오의 형태로 기술된다. 이런 시나리오를 기술한 시나리오 명세는 의도되지 않지만 나타나게 된 시나리오를 갖을 수 있게 되는데, 이를 내재된 시나리오라 부른다. 한편 UML(Unified Modeling Language)이 보편화됨에 따라 그러한 시나리오는 UML 시나리오 명세로 기술 되고 있다. 따라서 이 UML 시나리오 명세에 대해서도 내재된 시나리오를 찾는 방법이 필요하게 된다. 또한 UML 시나리오 명세의 경우, 다수의 연구 대상이 되는 MSC(Message Sequence Chart)와는 다르게 상위 시나리오 명세인 IOD(Interaction Overview Diagram)에서 뿐만 아니라 하위 시나리오 명세인 SD(Sequence Diagram)안에서도 내재된 시나리오가 발생하게 된다. 그러나 내재된 시나리오에 대한 기존 연구들은 주로 MSC를 다루고 있고, UML에서의 내재된 시나리오는 많은 제약조건들을 전제하고 있다. 이 연구에서 우리는 UML 2.0 시나리오 명세에서의 내재된 시나리오를 찾은 기법을 제안하고 있다. 그 기법은 먼저 정규화를 제공하여 내재된 시나리오를 보다 알고리즘에 의해 다양한 표기법을 지원하고, 또한 하나의 SD내에 존재하는 내재된 시나리오와 IOD 단계에서 존재하는 것을 찾도록 한다. 다음으로 UML 시나리오 명세 내에 있는 프로세스를 찾기 위해 제어 흐름 분석을 수행하는 알고리즘과, UML시나리오 명세와 제어 흐름 분석의 결과물을 FSP(Finite State Process)라는 형식언어로 표현하는 알고리즘을 제안한다. 이들 알고리즘을 통해 나타나는 FSP를 LTSA(Labelled Transition System)라는 분석 도구의 입력으로 사용하여 최종적으로 내재된 시나리오를 찾게 된다. UML 시나리오 명세에서의 내재된 시나리오를 찾는 기법은 소프트웨어 디자이너에게 시나리오 명세를 면밀하게 검토할 수 있게 한다.