SimArch and jEQN Projects

Welcome to the SimArch and jEQN projects home page. 

The increasing pervasiveness of large scale networks is bringing distributed simulation (DS) to the reach of academic and business communities besides the traditional military ones. This gives academics and industry the advantage of using larger execution platforms and of reusing locally implemented simulation models as building blocks of much larger models. Developing a distributed simulator however requires learning how to use a given DS standard (such as HLA), that implies a non-negligible amount of effort. 

We address the problem of easing the development of distributed simulators, introducing software technologies that raise the developers from the details of the distributed computing infrastructure to the description of simulation models.

SimArch is a layered architecture that eliminates the need of technical know-how of DS standards (e.g., HLA) and reduces the extra effort required either when developing a new DS system or when deriving the DS system from an existing local simulation (LS) system. SimArch obtains this by structuring the simulation system into five independent layers: 
  • Layer 4 (top layer) is the simulation model layer, where the model is specified in a Java-based simulation language, called jEQN, which uses specific LS or DS statements; (see jEQN Examples)
  • Layer 3 is the simulation components layer, which provides the implementation of the jEQN language; (see jEQN)
  • Layer 2 is the execution container, which transparently provides services for LS and DS; (see SimJ)
  • Layer 1 is the DS service implementation layer, which works on top of Layer 0 that provides the standard DS environment. Currently two different implementations of Layer 1 are available: one using Pitch pRTI HLA and using CORBA-HLA. The two implementations offer different features: pRTI offers performance optimization of HLA simulations, but may suffer from restricted interoperability, while CORBA-HLA does not pose interoperability restrictions but may suffer from performance degradation in terms of execution time, particularly in WAN scenarios. (see DDESoverHLA
  • Layer 0: Distributed Computing or Simulation infrastructure. This layer is external to SimArch and the interfaces with Layer 1 depend on the specific Layer 0 standard or technology. Currently, SimArch is using IEEE HLA.
Further information about the architecture can be found in the SimArch page

jEQN is a Java-based Domain Specific Language (DSLfor the Extended Queueing Network (EQN) domain. jEQN is implemented using software engineering best practices like modular decomposition, design patterns and generic type parameters, in order to overcomes the limitations of currently available EQN languages, such as lack of abstraction in the language primitives, leaving a semantic gap between the EQN conceptual model and the simulation language conceptual model. 
Moreover, jEQN components are implemented at SimArch Layer 3, using SimArch Layer 2's services, thus exploiting SimArch advantages to ease the development of distributed simulation of EQN simulators. 

Further information can be found in the jEQN Description page

jRand is a Java component-based framework to produce sequences of numbers. jRand increases the flexibility in the configuration of the input sequences and raises the simulation system developers from their details while designing and coding simulation software. Using jRand, simulation system developers are raised from the concerns of the choice of sequences, which can in turn be designed and applied with less effort for the specific scenarios. Up to now, jRand has been successfully applied to several projects which also constituted a natural testbed for jRand properties because of the large number of sequences that compose them.

Further information can be found in the jRand Description page

Brief Guide to the Site Content
In this website, we provide information related SimArch and jEQN, on:
  • technical and scientific documentation, for each layer implementation
  • source code and example simulators
  • presentation to conferences and workshops
  • projects
  • publications
  • contributors
Source Code
SimArch, jEQN and jRand source code is available under the Open Source GPL v3.0 license. The code is hosted by Google Code at the URL .

Please contact us at, if you would like to contribute or receive more information.