An Automatic Simulation Technique for UML State Machine Diagrams based on Abstract Scenarios in Sequence Diagrams

순차도의 추상 시나리오 기반의 UML 상태 머신 다이어그램 시뮬레이션 기법

  • 곽휘 (경북대학교 전자전기컴퓨터학부) ;
  • 이우진 (경북대학교 전자전기컴퓨터학부)
  • Published : 2009.06.15

Abstract

In an earlier development phase, the simulation technique is one of the key analysis methods for checking the correctness of system's functional requirements. In general, simulation is manually or randomly performed by executing state machine diagrams according to the requirement scenarios. Therefore, simulation is one of the most effort-consuming tasks. In this paper, an automatic simulation technique of state machine diagrams is provided according to the scenarios of the sequence diagrams. It is not easy to generate detailed simulation traces from sequence diagrams due to different abstraction levels between sequence diagrams and state machine diagrams. In order to adjust for different abstraction levels, state machine diagrams and sequence diagrams are transformed into LTS models and compositional analysis and transition reduction are performed. After checking behavior conformance between them, detailed simulation traces for the state machine diagrams are generated. These simulation traces are used not only for performing automatic simulation but also for assisting analyzers to reach a specific system state in order to guide further efficient simulation.

시스템 개발 초기 단계에 시스템의 기능적 요구사항이 제대로 반영되었는지를 검사하기 위해 시뮬레이션 기법을 이용한다. 일반적으로 시뮬레이션은 순차도에 나타난 추상적 시나리오를 바탕으로 상태머신을 직접 또는 랜덤으로 수행하는 행태로 진행된다. 시뮬레이션은 분석자가 직접 수행해야 하므로 많은 시간과 노력이 소요된다. 이 논문에서는 순차도 기반의 상태 머신의 시뮬레이션의 자동화 기법을 제공한다. 일반적으로 순차도와 상태머신의 추상화 레벨이 달라서 순차도에서 상세 시뮬레이션 트레이스를 추출하기가 쉽지 않다. 이 연구에서는 상태 머신을 LTS 모델로 변환하여 합성적 분석, 트랜지션 축약 등의 분석 방법을 적용하여 순차도와 동일한 추상화 레벨로 변환한 다음, 시나리오 포함여부를 검사한 후 해당 시나리오의 상세 시뮬레이션 트레이스를 생성한다. 이러한 시뮬레이션 트레이스는 순차도에 기술된 시나리오를 기반으로 시뮬레이션을 자동으로 수행할 뿐만 아니라, 특정 시스템 상태까지 자동 시뮬레이션할 수 있으므로 시뮬레이션을 효율적으로 진행할 수 있다.

Keywords

References

  1. Alexander Egyed and Dave Wile, 'Statechart Simulator for Modeling Architectural Dynamics,' Proc. of the 2nd International Working Conference on Software Architecture (WICSA), Aug. 2001 https://doi.org/10.1109/WICSA.2001.948413
  2. OMG, Unified Modeling Language : Superstructure, Version 2.2, http://www.omg.org, 2009
  3. Enrique V. Kortright, 'Modeling and Simulation with UML and Java,' Proc. of 30th Annual Simulation Symposium, pp. 43-48, Apr. 1997
  4. M. Marzolla, S. Balsamo, 'UML-PSI: the UML performance simulator,' Proc. of First International Conference on the Quantitative Evaluation of Systems, pp. 340-341, Sep. 2004. https://doi.org/10.1109/QEST.2004.50
  5. C. Ermel, K. Holscher, S. Kuske, and P. Ziemann, 'Animated simulation of integrated UML behavioral models based on graph transformation,' Proc. of IEEE Symposium on Visual Languages and Human-Centric Computing, pp. 125-133, Sept. 2005 https://doi.org/10.1109/VLHCC.2005.18
  6. Robin Milner, Communication and Concurrency, Prentice Hall, 1989
  7. G. Holzmann, et al., 'Coverage preserving Reduction Strategies for Reachability Analysis,' Proc. of the PSTV, pp. 349-364, Jun. 1992
  8. W. J. Yeh, M. Young, 'Compositional Reachability Analysis using Process Algebra,' Proc. of ACM SIGSOFT, pp. 49-59, Oct. 1991 https://doi.org/10.1145/120807.120812
  9. K. C. Tai, P. V. Koppol, 'An Incremental Approach to Reachability Analysis of Distributed programs,' Proc. of the 7th international workshop on software specification and design, pp. 141-150, Dec. 1993
  10. P. J. Denning, et al., Machines, Languages, and Computation, Prentice-Hall, 1978
  11. Miles, http://www.fas.org/man/dod-101/sys/land/miles. htm