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).