Defining an Architectural Pattern for the Software Based Simulators in Consideration of Modifiability and Interoperability

변경가능성과 상호운영성을 고려한 소프트웨어 기반 시뮬레이터 아키텍처 패턴의 정의

  • 국승학 (충남대학교 컴퓨터공학과) ;
  • 김현수 (충남대학교 전기정보통신공학부) ;
  • 이상욱 (한국전자통신연구원 위성관제항법 연구팀)
  • Published : 2009.08.15


Simulation is the imitation of some real thing, state of affairs, or process. The act of simulating something generally entails identifying certain key characteristics or behaviors of a selected physical or abstract system. And a simulator is the software or hardware tool that performs simulation tasks. When developing a simulator, the non-functional requirements such as modifiability, interoperability, and extendability should be required. However, existing studies about the simulator development focus not on such non-functional requirements but on the methodologies to build the simulation model. In this paper, we suggest the new architectural pattern for the software based simulator in consideration of such non-functional requirements. In order to define the architectural pattern, we identify the essential elements of the simulators, define relationships between them, and design the architectural structure with the elements to accommodate such non-functional requirements. According to the proposed pattern we can solve the simulation problems to combine the various simulation model components. The pattern guarantees modifiability by reconstructing the simulation model, also guarantees interoperability and extendability by adding various interfaces to the simulation model and by keeping the consistent interfacing mechanism between the simulation model components. The suggested architectural pattern can be used as the reference architecture of the simulator systems that will be developed in future.

시뮬레이션은 컴퓨터를 이용하여 실제 사물이나 작업의 상태, 혹은 프로세스를 모방하여 그 특징을 찾아내는 작업을 지칭하며, 시뮬레이터는 이러한 시뮬레이션 작업을 수행하는 하드웨어/소프트웨어 도구를 말한다. 다양한 시뮬레이터의 개발에 있어 공통적으로 요구되는 비기능적 속성은 변경가능성, 상호 운영성, 확장성이다. 그러나 기존의 시뮬레이터 개발에 관한 연구는 관심 시뮬레이션 모델에 대한 개발에 관한 것이며, 이러한 비기능적 요구사항에 대한 관심이 적다. 이에 본 논문에서는 소프트웨어 기반 시뮬레이터 개발에 있어 요구되는 비기능적 요구사항 중 변경가능성, 상호운영성, 확장성을 고려한 시뮬레이터 아키텍처 패턴을 제시한다. 본 논문에서는 아키텍처 패턴을 정의하기 위해 시뮬레이터의 필수 요소를 파악하고 그들 간의 관계를 정의하였으며, 비기능적 요구사항을 반영할 수 있는 구조로 설계하였다. 제시된 패턴은 다양한 시뮬레이션 모델을 구축할 수 있도록 시뮬레이션 모델 컴포넌트를 중심으로 이들의 조합을 통해 문제를 해결할 수 있다. 이는 시뮬레이션 모델의 재구축을 통해 유연하게 시스템의 변경가능성을 보장하며, 시뮬레이션 모델에 다양한 인터페이스를 추가할 수 있고, 시뮬레이션 모델 컴포넌트의 인터페이스를 통일시켜 상호운영성 및 확장성을 보장한다. 이 논문의 아키텍처 패턴은 향후 개발될 다양한 소프트웨어 기반 시뮬레이터의 참조 모델로 활용될 수 있다.


  1. C. A. Chung, SIMULATION MODELING HAND-BOOK. A Practical Approach, CRC Press, 2004
  2. S. M, Cha, V. H. Chang, “Development of a Vir-tual Simulator for Agile Manufacturing System,” 26th Annual Conference of the IEEE, vol.3, pp.1949-1954, 2000
  3. A.Sulistio, C.S.Yeo, R.Buyya, “Taxonomy of com-puter-based simulation arid its mapping to parallel and distributed system simulation tools,” Software Practice and Experience, pp.653-673, 2004
  4. AnyLogic,
  5. ARENA,
  6. BuildSim,
  7. Extendsim,
  8. Flexsim,
  9. SimApp,
  10. J. E. Lee, I. W. Joo, S. Lee, J. H. Kim, “Pre-liminary Design of Software GNSS Signal Simulator,” The Proceeding of Korean Society for Aeronautical and Space Sciences Conference, pp.395-398, 2008 (in Korean)
  11. H. G. Lee, S. H. Chung, K. R. Ryu, “A Parallel Microscopic Simulator for Urban Traffic Modeling,” Journal of KISS, vol.25, no.12, pp.1359-1367, 1998 (in Korean)
  12. J. H. Shim, H. K. Jung, W. C. Lee, K. H. Choi, S. K. Park, G. H. Jung, “Implementation of a Net-work Simulator for Cyber Attacks and Detections based on SSFNet,” Journal of KISS:Computing Practices, vol.8, no.4, 2002 (in Korean)
  13. J. C. Kim, C. S. Yu, "PC를 이용한 경항공기 비행운동 시뮬레이터", The Proc. of Korean Society for Aeronautical and Space Sciences Conference, pp. 392-397, 1994 (in Korean)
  14. VEGA, SMP2.0 Handbook, European Space Agency, 2005
  15. S. xiaoxia, Z. Qiuhai, "AN INTRODUCTION TO THE HIGH LEVEL ARCHITECTURE (HLA) RUNTIME INFRASTRUCTURE (RTI)," SICE 2003 Annual Conference, vol.1, pp.1136-1139, 2003
  16. F. Buschmann, R. Meunier, H.Rohnert, P. Sommer-lad, M.Stal, Pattern Oriented Software Architecture-A System of Patterns, vol.1, Wiley, 1996, pp.225-242
  17. F. Buschmann, K. Henny, D. C. Schmidt, Pattern Oriented Software Architecture-A Pattern Language for Distributed Computing, vol.4, Wiley, 2007, pp.319-321
  18. F. Buschmann, H. Rohnert, D. C. Schmidt, M. Stal, Pattern Oriented Software Architecture-Patterns for Concurrent and Networked Object, vol.2, Wiley, 2000, pp.225-242