ABSTRACT
Introduction .................................................................................................... 234 Background ..................................................................................................... 235
Layered architectural pattern .................................................................. 235 Advantages and disadvantages ......................................................... 236 Application guidelines for the layered pattern ................................ 236
Discrete event simulation paradigm ...................................................... 238 Distributed simulation and the IEEE high-level architecture ............. 239
Layered simulation architecture for distributed simulation systems .... 240 Motivation .................................................................................................. 241 Applying the layered pattern .................................................................. 242 Data interfaces ........................................................................................... 244 Services specication ................................................................................ 245 Service interfaces ....................................................................................... 245
Communication between adjacent layers ......................................... 247 Decoupling adjacent layers with the factory pattern ...................... 250 Designing error handling strategy ..................................................... 250
Example application ...................................................................................... 252 Conclusions ..................................................................................................... 254 Appendix ......................................................................................................... 255
SimArch implementation details ............................................................ 255 Layer 1: Distributed discrete event simulation over HLA ............. 255 Layer 2: Local and distributed simulation engines ......................... 257 Layer 3: Domain-specic languages for simulation ........................ 257
References ........................................................................................................ 260
Introduction Simulation systems incorporate diverse sets of general-purpose and application-specic functions that must be designed and integrated in simulation solutions satisfying the requirements of the systems engineering (SE) activity (Sage and Rouse 2009). When dening a simulation solution, developers may be unnecessarily exposed to the complexity originating from the design and implementation of the simulation software, particularly for solutions based on distributed environments. Consequently, SE activity cost and schedule may be affected as specialized know-how and development efforts are often needed to deliver the simulation solution (Boehm 1981; Grable et al. 1999). Furthermore, an initial simulation solution may need to be adapted during the SE activity to cope with the evolution of existing requirements as well as new emerging requirements. In software literature, the layered architectural pattern has been used to encapsulate groups of functions beyond stable interfaces, which hide the complexity of internal implementation details and decouple the implementation of each group from the adjacent ones (Buschmann et al. 1996).