Enhancing SSP creation using sspgen


  • Lars Ivar Hatledal Department of ICT and Natural Sciences, Norwegian University of Science and Technology, Norway
  • Eirik Fagerhaug Department of ICT and Natural Sciences, Norwegian University of Science and Technology, Norway




Co-simulation, Domain Specific Language, Functional Mock-up Interface, System Structure and Parameterization


The System Structure and Parameterization (SSP) standard is a tool independent standard to define complete systems consisting of one or more components, including its parameterization, that can be transferred between simulation tools. Thus the SSP standard is a natural extension to the Functional Mock-up Interface (FMI) standard, allowing systems of components, rather than just individual components, to be simulated in a growing number of supported tools. This paper introduces sspgen, a textual Domain Specific Language (DSL) for generating SSP archives. The aim of the DSL is to greatly simplify the creation of SSP compatible simulation systems. sspgen is written in the Kotlin programming language, which provide syntax highlighting and static code analysis in selected tools, full access to Java compatible libraries, and more importantly a scripting context so that sspgen definitions can be easily shared and executed on demand. As the DSL is based on a generic programming language, it enables complex expressions to be evaluated for the purpose of e.g., pre-simulation and initialization of variables. The DSL also performs validation and through integration with the Open Simulation Standard - Interface Specification (OSP-IS) even allows more complex connections to be formed than the single scalar connections that the SSP standard defines, while still retaining compliance. Furthermore, the DSL handles automatic packaging of its referenced content into a ready-to-use SSP archive. As a whole, the introduced package makes it easier to create, modify and share SSP systems.