<!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 />
    <article-meta>
      <title-group>
        <article-title>The Rmt Approach: A Systematic Approach to the Development of DSML with Integrated Simulation Based on Petri Nets</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>David Mosteller</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michael Haustermann</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniel Moldt</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dennis Schmitz</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>1 Universität Hamburg, Fachbereich Informatik, https://www.inf.uni-hamburg.de/inst/ab/art</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Challenge of DSMLs: Animation and Simulation</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2020</year>
      </pub-date>
      <volume>5606</volume>
      <fpage>17</fpage>
      <lpage>22</lpage>
      <abstract>
        <p>The application of domain-specific models requires appropriate tool support for modeling and execution. The development of DSML languages is generally costly, especially with regard to execution semantics. The Rmt approach (Renew Meta-Modeling and Transformation) follows a systematic model-driven development process for the provision of modeling tools and also for the integration of semantics. It applies transformational semantics using Petri net formalisms as target languages in order to produce quick results for the development of modeling techniques. In order to visualize simulation events in the executed DSML model, annotations within the metamodels facilitate the necessary link between the domain-specific model and the generated Petri net. This paper gives an overview of the artifacts that are employed in the Rmt approach and documents the structured process for DSML development. As Meta-Modeling is used to provide new domain-specific modeling languages (DSML) several tools provide tool support to build corresponding models. The definition of semantics for domain-specific modeling languages (DSML) and the provision of appropriate execution tools are two of the key challenges in model-driven tool development. Defining the semantics for a DSML by transforming it into an existing language with a well-defined semantics facilitates fast results and is well suited for a prototypical approach. Bryant et al. identified “the mapping of execution results (e.g., error messages, debugging traces) back into the DSML in a meaningful manner, such that the domain expert using the modeling language understands the result” [Br11, p. 228] as one of the challenges for the translation semantics approach. Concerning the user experience, meaningful visual representation of the domain concepts is vital for the communication between diferent stakeholders, especially for the domain experts who are often non-software engineers [Ab17, p. 233]. The representation of DSML in execution is still considered a challenge in tool generation in general [MC18, p. 196]. We have developed several solutions for the integrated simulation of DSML based</p>
      </abstract>
      <kwd-group>
        <kwd>Meta-Modeling</kwd>
        <kwd>Petri Nets</kwd>
        <kwd>Reference Nets</kwd>
        <kwd>Simulation</kwd>
        <kwd>Graphical Feedback</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>2</p>
    </sec>
    <sec id="sec-2">
      <title>The Rmt Approach</title>
      <p>The Rmt approach (Renew Meta-Modeling and Transformation) [MCH16] is a
modeldriven approach for the agile development of DSML. It follows concepts from software
language engineering (SLE, [Kl08]) and enables a short development cycle to be
appropriately applied in prototyping environments. The technical basis for the Rmt approach is
provided by the Rmt framework, which builds upon the Renew modeling und simulation
environment. Renew was originally designed as a Petri net editor and simulator and has
evolved into an extensible integrated development environment (IDE) for various modeling
techniques [CHM18]. The Rmt framework is particularly well-suited to develop languages
with simulation feedback due to its lightweight approach to SLE and the tight integration
with the extensible Renew simulation engine, which supports the propagation of simulation
events.
The models described so far can be used to generate a tool for creating and editing DSML
models ( Figure 1, graphical layer), however, without an execution semantics up to this
point. The latter comes with the specification of semantic Petri net components ( 7!).
The Rmt approach utilizes transformations to Petri nets in order to provide an operational
semantics for a DSML. Individual DSML constructs are mapped to semantic Petri net
components, which results in a 1:n mapping of DSML elements to Petri net constructs.
There are several possibilities to connect the semantic components in order to facilitate
the flexibility required to define semantics for various process-based modeling languages.
The dotted lines around interface elements of the semantic components, as displayed in
Figure 1, denote merge points. Bordering constructs are merged along these elements in
the composition of semantic components; the outgoing transition of the start-event is
merged with the incoming transition of the sequence-flow relation. The merge points are
also visualized in the Petri net model (simulation layer), which was generated from the
BPMN process model using the semantic components. The net generation from semantic
components corresponds in principle to the composition of interface nets as described by
Reisig [Re09].
The execution of a DSML (BPMN) model using the integrated simulation means a multi-step
translation in the background, first into a Petri net pattern, which is then instantiated for
execution (Petri net instance). In order to draw conclusions from the execution of the Petri
net about the original (BPMN) model, a means for relating execution information with the
original model is required. With Rmt, this is achieved by reflecting simulation events from
the underlying execution of Petri nets (target language) into the DSML (source language).
The simulation visualization is based on the highlighting of model constructs as graphical
feedback.</p>
      <p>The link between the simulation events and the graphical representation is established by
annotations added to the semantic and graphical components. An annotation contains two
parts divided by a colon. The first part represents the simulation state or a simulation event
for the particular net element, and the second part is a state concerning the whole BPMN
component. In Figure 1 these annotations are depicted in the semantic components and for
illustration in the generated Petri net models (net template and instance). The net elements
have inscriptions, such as marked:active, which means that the BPMN construct is in a
state active when the corresponding net element is marked. The component states (e.g.
active) can be referenced in graphical components and with style sheets to specify the
representation during execution. There are several ways of designing the visual behavior of
the graphic components [Mo19]. Figure 1 shows “simple highlighting”, which replaces the
colors of the components according to a pre-defined scheme.
3</p>
    </sec>
    <sec id="sec-3">
      <title>The DSML Development Process</title>
      <p>For the provision of DSML modeling tools with direct simulation we see a major challenge
in the integration into model-driven approaches in the sense that the DSML developer finds
the proper support to develop these languages in a model-driven fashion. The Rmt approach
follows a structured development process and applies concepts from SLE in order to achieve
these goals.</p>
      <p>The development process starts with the creation of a Rmt project, which initially consists
of skeletons for the obligatory models: meta model, style sheet model and tool configuration
model. This step will naturally be only performed once and it results in an initial set of
artifacts that are already suficient to generate a modeling tool using the fallback options
provided by the framework. Additional artifacts are created during the process or refined in
later iterations. The Rmt approach utilizes model driven techniques if possible but always
ofers an alternative option for more flexibility if required. For example, the concrete syntax
can be created by drawing graphical constructs with Renew but there is also the alternative
to adapt the representation by style sheets, or even to implement individual figures. In
order to keep the efort for creating prototypes low, icon images can be generated from
the graphical constructs. Of course, there is also the option to use individually customized
icons. Similarly, the semantics is by default provided by a standard transformer that uses
semantic components. However, a customized transformer can be tailored to the needs of
individual application domains, or it can bridge to other tooling environments. For the
integrated simulation the link between source model and target model is already prepared in
the standard transformer. When using a customized transformer, this connection must be
established by hand. Finally, all artifacts are used to generate a modeling and simulation
tool, which is packaged as a Java archive (jar) to be used as a plugin for Renew.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>This contribution provides a systematic approach for the development of DSML tools with
integrated simulation. The structured development process of the Rmt approach shows
how languages can be developed in a model-driven fashion. The Rmt approach integrates
the definition of semantics and the execution behavior directly into the model-driven
DSML development process. With a transformation of DSML constructs into Petri net
components an operational semantics for a modeling language is provided. Annotations
within the metamodels facilitate the necessary link between the domain-specific model and
the generated Petri net. This enables an interactive simulation in the original representation.
Beyond the visualization of simulation results, we want to investigate the visualization
of other evaluations on DSML models. For example, the results of a structural analysis
(shortest paths) or a state space verification (model checking) could be integrated in the
DSML representation. Again, the challenge is the integration into the structured DSML
development process. In addition to the visualization of models, the control of models is also
an issue, which should be considered in the Rmt approach. Up to now, only rudimentary
options are available for user interaction with the simulation.
[Ab17]
[Kl08]
[MC18]
[Mo19]
[Re09]
[Br11]</p>
      <p>Bryant, Barrett R.; Gray, Jef; Mernik, Marjan; Clarke, Peter J.; France, Robert B.; Karsai,
Gabor: Challenges and directions in formalizing the semantics of modeling languages.</p>
      <p>Comput. Sci. Inf. Syst., 8(2):225–253, 2011.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [CHM18] Cabac, Lawrence; Haustermann, Michael; Mosteller, David:
          <article-title>Software development with Petri nets and agents: Approach, frameworks and tool set</article-title>
          .
          <source>Sci. Comput</source>
          . Program.,
          <volume>157</volume>
          :
          <fpage>56</fpage>
          -
          <lpage>70</lpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Kleppe</surname>
          </string-name>
          , Anneke: Software Language Engineering:
          <article-title>Creating Domain-Specific Languages Using Metamodels</article-title>
          . Pearson Education,
          <year>December 2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Mayerhofer</surname>
          </string-name>
          , Tanja; Combemale,
          <article-title>Benoit: The Tool Generation Challenge for Executable Domain-Specific Modeling Languages</article-title>
          . In (Seidl, Martina; Zschaler, Stefen, eds):
          <source>Software Technologies: Applications and Foundations</source>
          . Springer International Publishing, Cham, pp.
          <fpage>193</fpage>
          -
          <lpage>199</lpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>