<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>EMLS</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Challenges in Modularization of Discrete Event Simulations</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Sandro Koch Karlsruhe Institute of Technology</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2018</year>
      </pub-date>
      <volume>5</volume>
      <fpage>43</fpage>
      <lpage>46</lpage>
      <abstract>
        <p>Due to digitalization software systems in general and simulations, in particular, are becoming more and more complicated. This results in increased development cost and development time of simulations. Different approaches have demonstrated that to handle complexity, modularization of monolithic simulations enables the reuse of already developed modules and reduces the overall complexity. The High-Level Architecture, a widely used and researched approach, is the standard for distributed and modularized simulations. However, there are not many alternatives to the existing methods, and the modularization process of current simulations is not well documented and researched. This paper gives an overview of the existing approaches and shows possible research topics in the domain of modular discrete event simulations. Furthermore, we propose the idea of an Architecture Description Language and resulting from it, a template solution for analyzing existing discrete event simulations.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Software is gaining increasing importance in all
aspects of our daily lives. Therefore, the software
quality has to be assured to secure the overall quality of
information systems.As a system grows, especially a
long-living system, it is di cult to implement and test
all possible changes in advance (i.e., di erent change
scenarios). The simulation of such systems enables the
system architect to see the impact of possible changes
or con gurations without the concrete
implementation. In the context of quality simulation, there are
di erent kinds of quality aspects. Besides the
performance simulation, reliability, security, privacy, and
maintainability might be of some interest regarding
quality assurance. During the lifetime of a project,
not all possible simulation requirements can be
foreseen and not all use cases can be considered
during the design phase. Therefore a simulation should
be extensible for further aspects and also combinable
with other simulations to prevent duplications. The
problem of simulating systems is not exclusive to the
domain of software development. The type of used
Quality</p>
      <p>PE</p>
      <p>OP
DE
Lifecycle</p>
      <p>RL
SW</p>
      <p>MA
BP</p>
      <p>SEC</p>
      <p>PR</p>
      <p>ME
EL
LifeDomain cycle</p>
      <p>Quality
DE</p>
      <p>PE
OP</p>
      <p>RL
SW</p>
      <p>MA
BP</p>
      <p>SEC</p>
      <p>PR</p>
      <p>ME
EL
Domain
(a) Software and business pro- (b) Reliability simulation of a
cess simulation consisting of mechanical system consisting
four modules at design time of four modules at runtime
simulation depends on the desired information a
simulation must deliver and in which life-cycle period,
development- or runtime, the simulation runs.</p>
      <p>Our focus lies in the quality simulation of software
systems. Performance is the central aspect which we
simulate in the context of software systems. Fig. 1
shows an excerpt of the combination of simulation
modules which are divided into three dimensions:
quality, domain, and life-cycle. Based on a distinct
set of simulation modules, di erent types of
simulations are created. Part (a) shows a maintainability
simulation (MA) of a mechanical system (ME)
during the operational life-cycle (OP). Part (b) shows
a reliability (RL) and security (SE) simulation of an
electrical- (EL) mechanical (ME) system with
business processes (BP) during the development life-cycle
(DE). Although an analytical approach solves security
and reliability, the impact on other quality aspects of
the system (e.g., an e ect on the performance of an
o ine CPU core) can be simulated.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Challenges in modularizing discrete event simulations</title>
      <p>We have identi ed four problems to the current state
of discrete event simulation development. This section
presents the occurring challenges while designing and
implementing modularized discrete event simulations.
2.1</p>
      <sec id="sec-2-1">
        <title>Simulation Segregation (C1)</title>
        <p>
          To allow composable simulations as shown in Fig. 1
a separation into modules is necessary. Segregation
points in existing simulations must be identi ed, a
process or guideline does not exist. If a new simulation
is developed, reasonable modules concerning
reusability and maintainability have to be de ned. The
HighLevel Architecture (HLA) [
          <xref ref-type="bibr" rid="ref4">3</xref>
          ] standard allows to break
down a simulation into di erent modules. Thus,
simulations can be developed in a modular way. The
intention of the HLA approach is, to have multiple
simulations separated distinct modules. An architectural
view of an HLA simulation shown in Fig.2. Besides
the simulation modules, it is possible to add
monitoring and live participants to the overall simulation.
It was the purpose to allow distributed simulations,
Data Collection
Passive Viewer
        </p>
        <p>Simulations</p>
        <p>Live
Participants
Interfaces to</p>
        <p>Live Players</p>
        <p>Runtime Infrastructure
in order to combine the computing power of multiple
systems. But HLA only enables the use simulation
modules, the process of how to modularize or design
a modular simulation is not de ned. Also, best
practices or patterns are not existent.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Simulation Coupling (C2)</title>
        <p>
          A simulation which consists of multiple modules must
be coupled to allow communication between this
distinct simulation modules. Simulations must be
coupled to enable communication and synchronization
in between simulations. The HLA standard speci es
how to handle the exchange of data between
simulations and how to design individual communication
packages. Simulations are managed by the
Run-TimeInfrastructure (RTI) [
          <xref ref-type="bibr" rid="ref4">3</xref>
          ]. The RTI monitors the
simulations and manages the data exchange between the
simulation modules. Therefore, the HLA standard
describes interfaces to connect a simulation with the
RTI. Also, the data exchange between simulations and
the RTI is encapsulated in a distinct model [11].
        </p>
        <p>To add a simulation to the RTI The
intracommunication of a simulation module or the
communication between modules of one simulation is not
given. This is necessary to allow the combination of
the existing simulations available which results in
reduced costs and maintenance e ort. A general
approach for simulation coupling to integrate
simulations which are not explicitly developed with the HLA
standard is missing.
2.3</p>
      </sec>
      <sec id="sec-2-3">
        <title>Simulation Interoperability (C3)</title>
        <p>The interoperability of simulation modules is another
problem we have identi ed. It should be possible to
use a simulation module in a di erent domain
without making adjustments to the module itself. Apart
from di erent domains, a simulation module should be
able to communicate with another simulation module
without modifying either of the modules. The
standardization of a modular and distributed simulation
is de ned in the HLA standard. But an architectural
formalization is missing, and structural analysis is not
possible.
2.4</p>
      </sec>
      <sec id="sec-2-4">
        <title>Simulation Behavior</title>
      </sec>
      <sec id="sec-2-5">
        <title>Preservation (C4)</title>
        <p>A further problem arises when a simulation is designed
in a modular way. It has to be ensured that the
results of a modularly designed simulation are the same
as the results of a monolithic simulation which runs
the same kind of simulation. Besides the results of
an individual simulation module compared to
nonmodularized simulation, the expectation value of a
composed simulation with multiple modules has to be
the same as if the simulation was monolithic. Current
approaches have no way of determining or guarantee
behavior preservation if a simulation is modularized.</p>
        <p>In the "Related Work" section (4), simulation
modeling and modularization approaches are presented.
Also approaches for creating compose- and
interoperable simulations and simulation modules are
introduced. By looking at di erent domains, it might be
possible to exchange individual building blocks within
the simulation not only within a domain but also
interdisciplinary.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Approaches in simulation modularization</title>
      <p>Considering the evolution and maintenance of
software-aided simulations a distinct language in
combination with model-driven engineering approaches
would be the next step in developing simulations.
Di erent existing simulations should then be realized
based on this language to extract a template solution
for modular simulations.
3.1</p>
      <sec id="sec-3-1">
        <title>Creating an ADL for Simulations</title>
        <p>This approach addresses the challenges C1 and C2.
Di erent approaches to simulation coupling and
modularization must be analyzed to create an Architecture
Description Language (ADL) for modular simulations.
Therefore, it is a good idea to use an existing
simulation of business processes and software systems as a
basis. Since this type of simulation already exists in
Palladio [15] with IntBIIS [17], it is advisable that the
assessments test this case precisely.</p>
        <p>The rst option is to implement HLA for business
processes in the Palladio context. The conceptual part
consists of the analysis of existing HLA
implementations, concepts and interactions already in use, as well
as the design for the structure of the future simulation.
The conceptual part is followed by the
implementation of the designed structure with a nal evaluation.
The evaluation focuses on preserving the behavior of
the newly developed simulation in comparison to the
already existing monolithic implementation.</p>
        <p>In addition to the implementation of the HLA
approach, at least one further approach should be
implemented in the context of the business processes.
The knowledge gained from this should enable a
common structure to be extracted. If this is not possible,
choose an approach by which the ADL is designed.
The successful creation of an ADL for simulations is
of particular importance for the extraction of a
template solution.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Extracting a Template Solution</title>
        <p>This approach also addresses the challenges C1 and
C2. The generated ADL is only the basis for the
application of di erent simulation templates. A
template is to be used to determine how the structure
of simulation coordination is realized. For example,
a template de nes whether the time is managed
centrally in one component or each simulation component
got its time management. Since there are di erent
approaches how simulations can be coordinated and how
the division of individual simulation roles is handled,
multiple template solutions are possible. Therefore
approaches are to be implemented with the help of
the ADL so that they can be compared based on
various quality criteria.</p>
        <p>Because of the experience with the HLA approach
in the ADL designing process, implementing HLA
with the ADL is the next step towards a template
solution. As described, at least one other approach
has to be implemented with the ADL to be able to
compare the approaches.
3.3</p>
      </sec>
      <sec id="sec-3-3">
        <title>Designing an Analysis and Optimization Framework</title>
        <p>This approach will help to segregate or design
simulations (C1) or to specify how behavior preservation
(C4) can be realized. Based on a common base (the
proposed idea of an ADL) for modular simulations,
existing simulations can be modularized. If the
simulation is already modularized, it can be adapted to
the developed ADL. A survey of simulation experts
can help us to identify and avoid pitfalls in the
simulation design Therefore, the ADL has to be introduced
to simulation experts, to allow these experts to
express their current simulation design process with the
ADL. Thus it is possible to identify common
practices among the present adapted simulations.
Common practices can lead to a guideline of best
practices and ideally to design patterns for modular
simulations.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Related Work</title>
      <p>Modularization of software is an already established
topic within the software engineering community. The
creation of components as in the Palladio
Component Model [15] on an architectural level or the
modularization of code generation transformations [14] on
code level are some examples. But a modularization
scheme for discrete event simulations is missing.
4.1</p>
      <sec id="sec-4-1">
        <title>Simulation Modeling</title>
        <p>
          To analyze simulations, an ontological analysis can lay
the foundation of a robust knowledge-based system.
The work of Perakath et al. [8] shows that an ontology
facilitates the modeling of simulation. Cetinkaya et
al. [10] utilizes model-driven development approaches
to support the development of simulations. They
propose a framework to aid with the modeling process for
simulations. Law's reference book "Simulation
Modeling and Analysis" [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] does not use an ontological
or meta-modeling approach but gives an overview of
general modeling approaches in the domain of
simulations. All approaches have in common that the
composition and interoperability aspect is not
considered.
4.2
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>Architecture Description Languages</title>
        <p>Using a meta model centric approach requires a
maintainable and evolvable structure. Strittmatter et
al. [13] proposed modular reference structure which
meets these criteria. This approach can be used to
design an ADL regarding the structural criteria, but
it provides no solution for the modularization of
simulations. Medvidovic et al. [5] evaluate the bene ts of
ADL's in the domain of software development. The
work of McKenzie et al. [7] analyzes the utility and
e ectiveness of ADL's in the context of simulations.
But their analysis is restricted to the federation
structure of the HLA standard.
4.3</p>
      </sec>
      <sec id="sec-4-3">
        <title>Composability of Simulations and Interoperability</title>
        <p>
          To make simulation modules reusable they must be
compose- and inter-operable. Petty et al. [6]
published a composability lexicon to clear the
connotation of composability in the context of simulations.
The Distributed Interactive Simulation (DIS) [2]
standard realized the composability of simulations on the
protocol level. Based on the DIS standard, the
HighLevel Architecture (HLA) [
          <xref ref-type="bibr" rid="ref5">4</xref>
          ] evolved. The CODES
approach of Teo et al. [9] utilizes an ontology approach
to model a discrete event simulation. And Topcu et
al. [16] use the HLA standard in combination with
modeling approaches. These proposed approaches are
very restrictive regarding the standards they use, and
none have an approach for generic simulations.
        </p>
      </sec>
      <sec id="sec-4-4">
        <title>Decoupling of Monolithic Simulations</title>
        <p>If an existing, monolithic simulation has to be
modularized the modeling of simulations should be used and
compose- and interoperability has to be integrated.
Papadopoulos et al. [12] proposed an approach of
automated decoupling of simulations.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>There are not so many solutions for modular
simulations. The DIS and HLA standards are one of the few
solution approaches. But a common base for
modular, composable and distributed simulation is not
available. A generic architecture driven approach is
also not available. The architectural aspects would
allow structural analysis regarding existing simulations.
Decoupling approaches are rare and need further
research. If structural analyses are available, then an
aided or automated process of modularizing
simulations can be developed. Design patterns and bad
smells in simulations design which is based on
structural analyses could be possible. Overall would this
base make simulations more accessible and
comparable. Therefore this research topic might create a new
eld of view for simulations.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgement</title>
      <p>This work was partially supported by the MWK
(Ministry of Science, Research and the Arts
BadenWurttemberg) in the funding line Research Seed
Capital (RiSC).</p>
      <p>A. V. Papadopoulos and A. Leva.
\Automating dynamic decoupling in object-oriented
modelling and simulation tools". In: 5th
International Workshop on Equation-Based
ObjectOriented Modeling Languages and Tools UK.
Linkoping University Electronic Press, 2013,
pp. 37{44.
R. H. Reussner et al. Modeling and simulating
software architectures: The Palladio approach.
MIT Press, 2016.
R. Heinrich et al. \Integrating business process
simulation and information system simulation
for performance prediction". In: Software &amp;
Systems Modeling 16.1 (2017), pp. 257{277.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1] [2] [5]
          <string-name>
            <given-names>A. M.</given-names>
            <surname>Law</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. D.</given-names>
            <surname>Kelton</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W. D.</given-names>
            <surname>Kelton</surname>
          </string-name>
          .
          <article-title>Simulation modeling and analysis</article-title>
          . Vol.
          <volume>2</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>McGraw-Hill</surname>
          </string-name>
          New York,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Committee</surname>
          </string-name>
          et al. \
          <article-title>The DIS vision: A map to the future of distributed simulation"</article-title>
          .
          <source>In: Institute for Simulation and Training</source>
          (
          <year>1994</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Dahmann</surname>
          </string-name>
          . \
          <article-title>High level architecture for simulation"</article-title>
          .
          <source>In: Distributed Interactive Simulation and Real Time Applications</source>
          ,
          <year>1997</year>
          ., First International Workshop on. IEEE,
          <year>1997</year>
          , pp.
          <volume>9</volume>
          {
          <fpage>14</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Dahmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. M.</given-names>
            <surname>Fujimoto</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R. M.</given-names>
            <surname>Weatherly</surname>
          </string-name>
          . \
          <article-title>The department of defense high level architecture"</article-title>
          .
          <source>In: 29th conference on Winter simulation. IEEE Computer Society</source>
          ,
          <year>1997</year>
          , pp.
          <volume>142</volume>
          {
          <fpage>149</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <given-names>N.</given-names>
            <surname>Medvidovic</surname>
          </string-name>
          and
          <string-name>
            <given-names>R. N.</given-names>
            <surname>Taylor</surname>
          </string-name>
          . \
          <article-title>A classication and comparison framework for software architecture description languages"</article-title>
          .
          <source>In: IEEE Transactions on software engineering 26</source>
          .1 (
          <issue>2000</issue>
          ), pp.
          <volume>70</volume>
          {
          <fpage>93</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>