<!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>Providing Petri Net-Based Semantics in Model Driven-Development for the Renew Meta-Modeling Framework</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>Lawrence Cabac</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>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Hamburg, Faculty of Mathematics</institution>
          ,
          <addr-line>Informatics and Natural Sciences</addr-line>
          ,
          <institution>Department of Informatics</institution>
        </aff>
      </contrib-group>
      <fpage>99</fpage>
      <lpage>114</lpage>
      <abstract>
        <p>This paper presents an approach to the development of modeling languages and automated generation of specific modeling tools based on meta-models. Modeling is one of the main tasks in engineering. Graphical modeling helps the engineer not only to understand the system but also to communicate with engineers and with other stakeholders that participate in the development (or analytic) process. In order to be able to provide adequately adapted modeling techniques for a given domain, it is useful to allow to develop techniques, which are designed for their special purpose, i.e. domain-specific modeling languages (DSML). For this cause meta-modeling comes in handy. Metamodels provide a clear abstract syntax and model-driven design approaches allow for rapid prototyping of modeling languages. However, often the transformation and also the original (source model) as well as the transformed (target) model do not provide a clear semantics. We present an approach to model-driven development that is based on Petri nets: high- or low-level Petri nets in various formalisms can be used as target models. Starting from the conceptual background and underlying thinking tool, following up with code templates, transformation engines, underlying semantics and the way our process support is implemented up to the final target engine Petri nets and Petri net tools can be used.</p>
      </abstract>
      <kwd-group>
        <kwd>Renew</kwd>
        <kwd>Petri nets</kwd>
        <kwd>model-driven development</kwd>
        <kwd>meta-modeling</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Meta-modeling enables us to build models in a more abstract way than we are
used to today. For many purposes we prefer languages that solve a specific
modeling quest. While there are several well established modeling techniques with
a clear semantics, the purpose of the incorporated languages is more or less
fixed. Annotations like those in UML can in combination with profiles enhance
the expressiveness. However, it is difficult to build lean languages that cover
exactly those domain aspects that are required in a certain context. In
addition, normally there exist no tools that directly support those languages with
specific language constructs. To make a language easy to use, one usually needs
direct tool support. The development of tools for building graphical models was
a challenge some years ago. Nowadays it is relatively easy within environments
like Eclipse and its meta-modeling plugins. 1 Even extensions that allow a
simulation of models built with those languages are available. However, usually these
execution environments are relatively restricted and do not scale. This is due to
the fact that the execution engine has to be built separately.</p>
      <p>
        The development of a DSML and a corresponding modeling tool includes
a whole range of tasks. We will address in this contribution: (1) providing the
possibility to define an abstract syntax to allow users to build a special purpose
language, (2) providing a graphical environment to allow users to build special
language constructs for their specific language concepts (based on textual and
graphical representations), (3) providing a tool set that allows to build models
based on the previously defined languages and (4) providing a simulation
environment (especially based on reference nets [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]) that allows users to execute and
simulate their models. The presented approach to developing modeling languages
and tools (RMT approach) is extensively applied within our approach to
developing agent-oriented software based on Petri nets (P∗aose approach, [
        <xref ref-type="bibr" rid="ref13 ref17 ref3">3,13,17</xref>
        ]),
in which the mutual interplay of modeling languages is omnipresent. It is however
equally applicable to other domains. We provide a prototype, which offers the
possibility to develop modeling languages and to generate corresponding
modeling tools. The Renew Meta-Modeling Framework (RMT framework)2 was
applied in several settings. The RMT framework constitutes a further
development step of the model-driven approach, which has been already envisioned and
partly applied during the development of the Agent Role Modeler (ARM, [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]).
The ARM tool, which was developed without appropriate meta-modeling tool
support, provides the modeling facility for agent organizations and knowledge
bases.
      </p>
      <p>The remainder of this paper is structured as follows: The conceptual
background, which comprises the model-driven tool development, encompassing
metamodeling, graphical modeling, transformations and semantical issues, is
discussed with respect to the requirements and specification of our solution in
Section 2. The example presented in Section 3 demonstrates the approach and
the applications of Petri nets as well as the application of other techniques during
DSML development. Section 4 elaborates on the wider context of model-driven
development and the approach of providing transformational semantics for
modeling languages with Petri nets. In Section 5 we will summarize our results and
will give an outlook of our further research directions opened by these results.
1 Eclipse Modeling Framework, EMF, https://www.eclipse.org/modeling/emf/
2 RMT: Renew Meta-Modeling and Transformation Framework,
tools and examples: http://www.paose.net/wiki/Metamodeling</p>
    </sec>
    <sec id="sec-2">
      <title>Conceptual Approach</title>
      <p>
        As our approach to software development is based on the model-driven
construction of software systems our aim is to provide a tool chain using model-driven
techniques. We want to support the agile development of graphical modeling
languages. Therefore, we rely on the concepts of software language engineering [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]
and apply model-driven techniques to generate tools from abstract models. In the
following we elaborate on the techniques required to realize a framework based
on generating modeling tools. Renew provides the basis for our meta-modeling
framework. It serves as a graphical framework for the flexible construction of
graphical models and at the same time provides the execution and simulation
environment of Petri net models, which serve as target languages that provide the
transformational semantics for the designed languages. This approach allows for
the analysis of Petri net models and for the validation of model properties. Our
conceptual approach is based on the idea of bootstrapping the required modeling
tools using model-driven techniques. Following the concepts of software language
engineering the development of modeling languages encompasses three aspects:
abstract syntax, concrete syntax and semantics. Translating these concepts into
the area of generative tool development leads to a set of descriptions defining the
different aspects of software languages [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]: structure, constraints, representation
and behavior. The structure (abstract syntax) and the representation (concrete
syntax) of modeling languages will be addressed in the following section. The
behavior (semantics) is covered in Section 2.2.
2.1
      </p>
      <sec id="sec-2-1">
        <title>Meta-Modeling and Tool Generation</title>
        <p>In this section we elaborate on the first part of the DSML development process.
First we need to define the syntax of the new language (or technique). The
abstract syntax of a language is specified by a meta-model, which defines the
structure of the language. Our tool set, which is based on Renew, supports
the modeling of the abstract syntax directly through the technique of Concept
Diagrams (cf. [3, Chapter 12]). Concept Diagrams are simplified Class Diagrams,
which are usually used to design type hierarchies or agent ontologies (in the
context of P∗aose). In the context of this work the type hierarchies of Concept
Diagrams are utilized to model the meta-models of the designed DSML, i.e. the
abstract syntax.</p>
        <p>Additionally, in order to define the representation of the elements we also need
to define the concrete syntax. The concrete syntax, i.e. the representation of the
syntactic elements, is defined through a mapping from the syntactic element to
it’s graphical representation (representational mapping). The representational
mapping includes concrete graphical or textual syntax as well as serialization
representations. Typically, if the language should not be restricted to graphical
standard figures, the layout, concrete form, etc. has to be defined in a form close
to the implementation language. However, we provide also the possibility that
the syntactic elements may be defined directly within the Renew environment
using the graphical user interface. Each provided graphical representation is
stored as one template drawing and the representational mapping refers not to
an implementation but to a template (graphical component). Alternatively some
standard elements are provided, which can be configured in terms of stylesheets
to define the representation for the language constructs.</p>
        <p>In addition to the abstract and the concrete syntax, we need to configure
the user interface of the modeling tool that provides the modeling facility –
in the Renew environment the modeling tool is integrated as a plugin. The
configuration is done defining another mapping for task bar tool buttons and
their design together with some general information about the modeling tool,
such as the file extension or the ordering of tool buttons in the task bar.</p>
        <p>The Renew plugins that provide the modeling facility for the stylesheets
and the tool configurations are themselves meta-model based. They have been
generated – in a bootstrapping fashion – using the RMT approach.</p>
        <p>Figure 1 shows the defining artifacts of a modeling language’s syntax in the
top. These artifacts are expressed within the scope of the meta-meta-model –
the RMT meta-model – and can thus be used to generate a domain-specific
modeling tool, which then provides the possibility to design a model, using the
technique; e.g. a (domain-specific) modeling language.</p>
        <p>A modeler may use the generated tool to model, store and retrieve graphical
models (diagrams) in the syntax of the newly developed modeling language.3 For
3 In the following we will address these models as domain model or source models.
operational or analytic models, however, it is not enough to be able to provide
graphical descriptions of the models. In these cases we need to define a clear
semantics. Following the idea of the model-driven architecture (MDA) the
semantic interpretation of a source model can be defined through a transformation
into specific target models using a generator as shown in the lowermost part of
Figure 1, which references the schematic view of Petrasch et. al. [18, p. 107].</p>
        <p>We elaborate on this in the following section. But before we present the
approach to the definition of the semantics, we stress the flexibility of the given
approach, so far. The meta-modeling approach in itself offers a high degree of
flexibility. By changing (augmenting, modifying or restricting) the meta-model
we are able to quickly produce variations of modeling techniques, which may
subsequently be compared with each other (see for instance Section 3.2).
Additionally, we are able to change the representation of the modeling language by
either changing the representational mapping or by editing the graphical
components. Especially the latter can be done by someone without knowledge in the
development details and thus create his own representation.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Transforming Source Models to Target Models</title>
        <p>
          The semantics of a modeling language is defined – as semantic mapping, cf. [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]
– either through formalization, through an operationalization or through the
transformation into other models that already own a formal or an operational
semantics. As we use the Renew environment as basis for our approach, we
transform given source models to Petri net models, i.e. our target languages are
Petri nets formalisms. The RMT approach is not restricted to behavioral
modeling languages. By choosing the proper target languages, such as Reference Nets,
modeling structural properties can be performed by applying the same approach.
In Figures 1 and 2 we can identify the domain specific model (source model),
which is transformed into a target model (Platform Specific Model, PSM) within
the application domain layer (M1). The Renew environment together with its
provided Petri net formalisms serve as Platform Model (PM, compare with
Figure 1). In the context of model-driven development the source model is often
described as Platform Independent Model (PIM).
        </p>
        <p>The transformation process is depicted in Figure 2 as a schematic Petri net.
Transitions represent actions provided by either the RMT tool set (generation,
transformation, execution or analysis) or by the source model developer
(modeling). Necessary artifacts for the development of the modeling language
workflow are provided by the language developer using the RMT framework. These
artifacts comprise the syntax meta-models, the transformer and the semantic
elements provided as net components [3, Chapter 5]. Net components are Petri
net snippets that are used as patterns to be mapped by a generator and
combined to constitute the target models. In this sense the model transformation
process can be characterized as a pattern-oriented transformation following the
categorization of Petrasch et. al. [18, p. 132].</p>
        <p>Besides supporting the agile development of graphical languages the RMT
approach also provides a high level of flexibility regarding the semantic
transformation. First, the semantic targets for the syntactic elements are defined as
net components, which can be modified or exchanged easily. We are even able
to provide several target mapping sets of net components, which can be
expressed using distinct formalisms. Thus we are able to transform one source
model into multiple forms of target models. For instance, we could transform a
workflow description into a PT net for analytic examination and transform the
same source model to a colored Petri net for simulation / execution within a real
world application.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Developing a Prototype for BPMN</title>
      <p>
        In the previous section we introduced a conceptual approach to developing
modeling languages. We now show the concept in practice and demonstrate the
concrete models, which are utilized in the development process. We have chosen
to present, as example, the well-known modeling technique BPMN (Business
Process Model and Notation [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]), in order to demonstrate the presented tool
set.
      </p>
      <p>In Section 3.1 we develop a (rather simple) modeling language that
implements a subset of BPMN. We show, how model transformations can be used
to generate Petri net models, which provide formal semantics to the abstract
BPMN models. The generated Petri net models can be referred to for analyzing
a BPMN process.</p>
      <p>In a subsequent step a more specific modeling language is developed in
Section 3.2. This second language – the BPMN AIP formalism – enriches concepts
from BPMN with domain-specific elements from the context of P∗aose (see
Section 1). The intention is to demonstrate the flexibility of the RMT approach
and the appropriateness for agile, rapid and prototypical model-driven language
development.
3.1</p>
      <sec id="sec-3-1">
        <title>BPMN</title>
        <p>
          We start with a simple subset of BPMN. Since BPMN has been described
extensively in the context of modeling, meta-modeling and also in the context of
Petri nets, we do not need to go into detail about the underlying semantics. A
mapping of syntactic elements of BPMN to PT net components has been
proposed by Dijkman et. al. [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. Using these Petri net mappings we can focus on
the aspects of agile language development instead. We concluded in Section 2.1
that a modeling language is based on the specifications of abstract and concrete
(graphical) syntax.
is the visual representation of graphical constructs. These are developed
using the built-in graphical constructs of the Renew drawing framework. Each
graphical figure is stored in a separate drawing file (template) and can be used
as syntactic element for modeling later on. Another required information is a
specification of properties for the modeling tool. An example of a tool
configuration is shown in Figure 4. This model contains basic properties such as a model
name and a file extension as well as a set of tool mappings. The latter define
mappings from concepts of the meta-model (target-type) to graphical constructs
(net components). Connectors of the constructs are specified as ports, relative to
their position. All elements of the tool configuration are expressed in Semantic
Language (SL), which can be compared to Yaml or JSON and defined using the
SLEditor plugin for Renew, which provides a UML-like representation as well
as editing support for the modeler.
        </p>
        <p>Figure 5 shows the graphical components representing the syntactic elements
of the BPMN language alongside with the Renew UI, which presents the loaded
palette for the BPMN drawing tools. The graphical components are defined in
separate template drawings. The templates define the concrete syntax for the
BPMN technique. This concludes the specifications for the modeling language
and enables us to generate the plugin for the modeling tool. During the
generation process the RMT generator (automatically) prepares the images that are
used for the tool buttons on the basis of the graphical templates. The icon
images of parallel and alternative gateways where slightly modified as shown in the
encircled part of Figure 5 to better distinguish the complementary constructs of
split and join figures.</p>
        <p>Using the generated BPMN plugin we are now able to model with this new
technique using the Renew editor. Figure 6 shows a ticket workflow described
in BPMN. The process reflects the lifecycle of support tickets in a conventional
issue tracking system. Issues are created and at some point assigned to the
holder of a certain role. They can be either rejected or accepted in which case
the corresponding task will be carried out by the assignee. Later on, the task
may be discontinued (unassigned ) or completed (finish ).</p>
        <p>
          With the mapping of Dijkman et. al. [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] for the transformation to Petri nets
we are able to transform the given workflow to a PT net model. The generated
Petri net constitutes the transformational semantics of the BPMN process in
the context of the Renew simulation environment. In consequence, the resulting
model can now be executed or analyzed using for instance the Renew simulator.
3.2
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>BPMNAIP</title>
        <p>The example presented in the preceding section describes the development of
a modeling language together with a corresponding modeling tool (as Renew
plugin) following the RMT approach. Based on meta-models the approach
provides a high level of flexibility in all stages during the development of modeling
languages. This enables language developers to rapidly prototype specific
languages, evaluate them and adapt them according to their needs. To further
illustrate this flexibility, we now present a domain-specific variation of BPMN,
called BPMNAIP, which is used within the P∗aose approach.</p>
        <p>
          We use BPMNAIP to model agent interaction protocols. In contrast to Agent
Interaction Protocol Diagrams (a variation of Sequence Diagrams [3,
Chapter 13]), the BPMNAIP formalism allows to shift the focus to the internal agent
processes. The presented agent-specific extensions have been proposed by
Haustermann [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] in order to augment a subset of BPMN for the use within the P∗aose
approach. With the RMT approach it is possible to refine the BPMN language
in an agile process and develop a corresponding modeling language (BPMNAIP),
which satisfies the demands of a given domain-specific context.
        </p>
        <p>BPMNAIP extends the BPMN subset in the previous section by incoming
(drawn as white envelopes) and outgoing (black envelopes) message events and
special tasks for agent-specific operations. The dc-exchange-task represents the
synchronous or asynchronous call of an internal service. The kb-access-task serves
for accessing the agent’s internal knowledge base. To use these constructs in the
modeling tool, they have to be added to the meta-model. Figure 8 shows the
extensions of the meta-model in Figure 3. With these extensions the modeling
tool can already be used with the added constructs. The generated modeling
tool uses a standard representation and standard task bar tool buttons to allow
running early tests if none are provided by the developer. In order to define a
customized concrete syntax, analogously to the previous example, a
representation template drawn with the Renew tool, a button icon generated from the
template image and a tool mapping entry in the tool configuration as shown in
Figure 4 is sufficient.</p>
        <p>In addition to the agent-specific constructs, BPMNAIP also has a
domainspecific semantics. The semantics is based on the agent framework that is applied
in the P∗aose approach, which uses Petri nets to implement agents and the
agents’ behavior. Therefore the semantic net components for the target model
are tailored for the fitness within the used framework.</p>
        <p>In order to obtain another semantics it is possible to provide a different set
of net components. The RMT framework is able to handle different
transformation engines and multiple net component sets. For the BPMNAIP formalism the
Mulan net components by Cabac are used [3, Chapter 5].</p>
        <p>
          Figure 9 shows an adaptation of the ticket service example using BPMNAIP.
The management of the ticket status is now provided by an agent, the Ticket
Agent, which can delegate tasks to other agents. In this example the task to
export some drawing to an image is assigned to an Export Agent (as described
by Cabac et. al. [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]), which is informed about the assignment with a message.
This message results in an instantiation of the process depicted in Figure 9b.
The Export Agent checks his knowledge base if it can export the drawing and
delegates the task to an internal service, if possible. The Ticket Agent changes
the status of the ticket according to the messages he receives as answer from the
Export Agent.
        </p>
        <p>With the described semantics the two agent processes in Figure 9 are
transformed by the RMT-based BPMNAIP modeling tool into the Petri nets shown in
Figure 10. These nets are protocol net skeletons, which have to be completed by
additional implementation details in order to be runnable with the used
framework. The figure illustrates the structure of the generated nets. A part of the
net is zoomed in to exemplarily show the details of the net components. The
zoomed part refers to the internal delegation of the task and the answer to the
Ticket Agent.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Related Work</title>
      <p>
        In this publication we motivate the rapid and prototypical development of
domainspecific modeling languages. There are a number of related publications on
prototyping domain-specific languages (DSL), each focussing on different aspects or
application domains. Blunk et. al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] see the best gain for prototyping DSL as an
extension of a general purpose programming language. Sadilek et. al. [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] stress
the increasing demand for supporting agile approaches to the development of
DSML. They “argue that for prototyping a DSML on the platform independent
level, its semantics should not only be described in a transformational but also in
an operational fashion” [20, p. 63]. However, they use the Query View
Transformation (QVT) language to implement operational semantics of Petri nets, rather
than exploiting the operational semantics to formalize the semantics of a second
modeling language, as done here. Rouvoy et. al. [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] specialize on the domain of
architecture description languages (ADLs) and develop a modular framework for
prototyping ADLs based on the Scala language. The presented method
emphasizes the high degree of automation through generative methods, the automated
generation of modeling tools and also the automated transformation of abstract
models to Petri nets.
      </p>
      <p>
        Nytun et. al. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] provide a categorization for different approaches to
automated tool generation in the context of meta-modeling and DSML. The authors
examine various meta-modeling approaches according to the four categories:
structure, constraints, representation and behavior. With the RMT approach
we cover most of these aspects by utilizing concept diagrams, representational
mappings and Petri net-based target models. At the current time we do not
provide any means to define constraints, but we plan to introduce constraints in
the future.
      </p>
      <p>
        With the claim of addressing general problems of defining DSML semantics
our goal consists in developing a Petri net based framework through combining
techniques of meta-modeling with Petri nets engineering. With the Event
Coordination Notation (ECNO) Kindler [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] takes a model-driven approach, which uses
Petri net models to implement local components behavior. The collaboration of
components is defined in abstract coordination diagrams. The implementation
is based on the wide spread Eclipse Modeling Framework (EMF). In
combination with the EMF, the graphical modeling framework (GMF) can be used to
automatically generate specific modeling tools from meta-models. The idea of
generating domain-specific tools from models was adopted for this work, but we
try to take a minimalistic approach instead of overcharging the tool with
features, thus increasing complexity. The intrinsic complexity is a point of criticism
concerning meta-modeling frameworks [19, p. 14].
      </p>
      <p>
        Dijkman et. al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] show a mapping of BPMN constructs to Petri nets and
elaborate on the semantics of such transformations. On the basis of that work
there exists a tool for converting BPMN models to PNML and a tool for
converting BPMN to YAWL. With the flexible tool presented in this work the languages
can be quickly adopted and the concerns about problems in evaluating BPMN
models using Petri net semantics can be empirically investigated. Lohmann et.
al. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] provide a basis for analyzing different business process modeling
languages with respect to their realizability using Petri nets semantics for BPEL,
BPMN, EPC, YAWL. This can be a good starting point for further research
using the presented tool. The RMT framework has been applied by Möllers [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] for
the development of a modeling tool for the design and execution of Deployment
Diagrams.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>
        In this contribution we present the RMT approach, which enables us to develop
modeling languages and modeling tools by applying concepts of model-driven
development. The key aspects of this approach are the use of meta-models for
automatic tool generation and transformation of models, exploiting the formal
semantics of Petri nets. Based on our continuously developed graphical
modeling tool and Petri net simulation environment Renew (see [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]) we provide the
technical realization of the RMT approach. The RMT framework provides the
means to describe modeling languages building on the concepts of software
language engineering (cf. Section 2). The abstract syntax, concrete syntax and tool
configurations are provided as model-based specifications of the desired modeling
languages and tool behavior. The semantics is defined as transformation-based
operational semantics using Petri net formalisms as target models. With this
environment we are able to provide the representation directly within our graphical
framework, leading to appropriate language constructs, which can be designed for
special purposes that fit the needs and expectations of its users. With the RMT
approach the users are able to develop and adapt their own languages/´´modeling
techniques, define constructs based on graphical representations and finally
generate modeling tools, which empower them to draw models in domain-specific
languages.
      </p>
      <p>Depending on the chosen and intended formalism, we could even go one step
further. We are able to simulate the transformed models directly, if there exists
an operational semantics that can be mapped to the formalisms we already have
implemented within the Renew context. For experimental environments where
users want to define a special purpose language that suits exactly their current
needs we can therefore provide a powerful tool set.</p>
      <p>
        While the prototypical development of languages is already quite fast, we
now have to address the question of sustainable meta-modeling-based tools. We
have already successfully applied the tool several times within our P∗aose
approach. In this context we expect that further new modeling languages can be
developed in a prototyping approach. In the future we wish to provide the means
to support hierarchical modeling within the RMT framework. With the
Netswithin-Nets paradigm [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] the concepts to support hierarchical target models
already exist. Since the whole P∗aose approach is Petri net-based, the direct
support by simulation of target models within Renew is implicitly given. The
prototyping approach of languages empowers us to evaluate several languages in
order to improve specific frameworks that are already at hand.
      </p>
      <p>Acknowledgment We thank Dr. Daniel Moldt and the TGI group of the
Department of Informatics, University of Hamburg for the support, constructive
criticism and fruitful discussions.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Betz</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cabac</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Duvigneau</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wagner</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wester-Ebbinghaus</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Software engineering with Petri nets: a Web service and agent perspective</article-title>
          .
          <source>Transactions on Petri Nets and Other Models of Concurrency (ToPNoC</source>
          ) pp.
          <fpage>41</fpage>
          -
          <lpage>61</lpage>
          (
          <year>2014</year>
          ), http://link.springer.com/chapter/10.1007/978-3-
          <fpage>662</fpage>
          -45730-
          <issue>6</issue>
          _
          <fpage>3</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Blunk</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fischer</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <article-title>Prototyping domain specific languages as extensions of a general purpose language</article-title>
          . In: Haugen,
          <string-name>
            <given-names>O.</given-names>
            ,
            <surname>Reed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Gotzhein</surname>
          </string-name>
          ,
          <string-name>
            <surname>R</surname>
          </string-name>
          . (eds.)
          <source>System Analysis and Modeling: Theory and Practice, Lecture Notes in Computer Science</source>
          , vol.
          <volume>7744</volume>
          , pp.
          <fpage>72</fpage>
          -
          <lpage>87</lpage>
          . Springer Berlin Heidelberg (
          <year>2013</year>
          ), http://dx.doi.org/10. 1007/978-3-
          <fpage>642</fpage>
          -36757-
          <issue>1</issue>
          _
          <fpage>5</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Cabac</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Modeling Petri Net-Based Multi-Agent Applications</article-title>
          ,
          <source>Agent Technology - Theory and Applications</source>
          , vol.
          <volume>5</volume>
          . Logos Verlag, Berlin (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Cabac</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mosteller</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wester-Ebbinghaus</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Modeling organizational structures and agent knowledge for Mulan applications</article-title>
          .
          <source>Transactions on Petri Nets and Other Models of Concurrency (ToPNoC</source>
          ) pp.
          <fpage>62</fpage>
          -
          <lpage>82</lpage>
          (
          <year>2014</year>
          ), http://link. springer.com/chapter/10.1007/978-3-
          <fpage>662</fpage>
          -45730-
          <issue>6</issue>
          _
          <fpage>4</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Dijkman</surname>
            ,
            <given-names>R.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ouyang</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Semantics and analysis of business process models in BPMN</article-title>
          .
          <source>Information and Software Technology</source>
          <volume>50</volume>
          (
          <issue>12</issue>
          ),
          <fpage>1281</fpage>
          -
          <lpage>1294</lpage>
          (
          <year>2008</year>
          ), http://dx.doi.org/10.1016/j.infsof.
          <year>2008</year>
          .
          <volume>02</volume>
          .006
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Harel</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rumpe</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Meaningful modeling: what's the semantics of "semantics"</article-title>
          <source>? Computer</source>
          <volume>37</volume>
          (
          <issue>10</issue>
          ),
          <fpage>64</fpage>
          -
          <lpage>72</lpage>
          (
          <year>Oct 2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Haustermann</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>BPMN-Modelle für petrinetzbasierte agentenorientierte Softwaresysteme auf Basis von Mulan/Capa</article-title>
          . Master thesis, University of Hamburg, Department of Informatics, Vogt-Kölln Str. 30,
          <string-name>
            <given-names>D</given-names>
            <surname>-</surname>
          </string-name>
          22527
          <string-name>
            <surname>Hamburg</surname>
          </string-name>
          (Sep
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Kindler</surname>
          </string-name>
          , E.:
          <article-title>Coordinating Interactions: The Event Coordination Notation</article-title>
          .
          <source>Tech. Rep. 05</source>
          ,
          <string-name>
            <surname>DTU</surname>
          </string-name>
          Compute - Department of Applied Mathematics and Computer Science, Technical University of Denmark (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kleppe</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Software language engineering: creating domain-specific languages using metamodels</article-title>
          .
          <source>Pearson Education</source>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Kummer</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Referenznetze</surname>
          </string-name>
          . Logos Verlag, Berlin (
          <year>2002</year>
          ), http://www. logos-verlag.de/cgi-local/buch?isbn=
          <fpage>0035</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Kummer</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wienberg</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Duvigneau</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cabac</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          : Renew - User
          <source>Guide (Release 2.4.2)</source>
          . University of Hamburg, Faculty of Informatics, Theoretical Foundations Group,
          <source>Hamburg (Jan</source>
          <year>2015</year>
          ), http://www.renew.de/
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Lohmann</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Verbeek</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dijkman</surname>
          </string-name>
          , R.:
          <article-title>Petri net transformations for business processes - a survey</article-title>
          . In: Jensen,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Aalst</surname>
          </string-name>
          , W. (eds.)
          <source>Transactions on Petri Nets and Other Models of Concurrency II, Lecture Notes in Computer Science</source>
          , vol.
          <volume>5460</volume>
          , pp.
          <fpage>46</fpage>
          -
          <lpage>63</lpage>
          . Springer Berlin Heidelberg (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Moldt</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Petrinetze als Denkzeug</article-title>
          . In: Farwer,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Moldt</surname>
          </string-name>
          ,
          <string-name>
            <surname>D</surname>
          </string-name>
          . (eds.) Object Petri Nets, Processes, and Object Calculi. pp.
          <fpage>51</fpage>
          -
          <lpage>70</lpage>
          . No.
          <string-name>
            <surname>FBI-HH-</surname>
          </string-name>
          B-
          <volume>265</volume>
          /05 in Report of the Department of Informatics, University of Hamburg, Department of Computer Science, Vogt-Kölln Str. 30,
          <string-name>
            <given-names>D</given-names>
            <surname>-</surname>
          </string-name>
          22527
          <string-name>
            <surname>Hamburg</surname>
          </string-name>
          (Aug
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Möllers</surname>
            ,
            <given-names>K.S.M.</given-names>
          </string-name>
          :
          <article-title>Ein Ansatz zur Dynamisierung von Verteilungsdiagrammen anhand der Entwicklung eines Mulan-Werkzeugs</article-title>
          .
          <source>Bachelor thesis</source>
          , University of Hamburg, Department of Informatics, Vogt-Kölln Str. 30,
          <string-name>
            <given-names>D</given-names>
            <surname>-</surname>
          </string-name>
          22527
          <string-name>
            <surname>Hamburg</surname>
          </string-name>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Nytun</surname>
            ,
            <given-names>J.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Prinz</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tveit</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Automatic Generation of Modelling Tools</article-title>
          . In: Rensink,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Warmer</surname>
          </string-name>
          ,
          <string-name>
            <surname>J</surname>
          </string-name>
          . (eds.)
          <source>Model Driven Architecture - Foundations and Applications, Lecture Notes in Computer Science</source>
          , vol.
          <volume>4066</volume>
          , pp.
          <fpage>268</fpage>
          -
          <lpage>283</lpage>
          . Springer Berlin Heidelberg (
          <year>2006</year>
          ), http://dx.doi.org/10.1007/11787044_
          <fpage>21</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. OMG, Object Management Group:
          <article-title>Business Process Model and Notation (BPMN) - Version 2</article-title>
          .0.
          <issue>2</issue>
          (
          <issue>2013</issue>
          ), http://www.omg.org/spec/BPMN/2.0.
          <fpage>2</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Paose-Website</surname>
          </string-name>
          :
          <article-title>Petri Net-Based, Agent-</article-title>
          and
          <string-name>
            <surname>Organization-oriented Software</surname>
          </string-name>
          Engineering. University of Hamburg, Department of Informatics, Theoretical Foundations Group: http://www.paose.net (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Petrasch</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Meimberg</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>Model Driven Architecture: eine praxisorientierte Einführung in die MDA</article-title>
          . Heidelberg: dpunkt-Verlag (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Rouvoy</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Merle</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Rapid Prototyping of Domain-Specific Architecture Languages</article-title>
          . In: Larsson,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Medvidovic</surname>
          </string-name>
          , N. (eds.)
          <source>International ACM SIGSOFT Symposium on Component-Based Software Engineering (CBSE'12)</source>
          . pp.
          <fpage>13</fpage>
          -
          <lpage>22</lpage>
          . ACM, Bertinoro,
          <source>Italie (Jun</source>
          <year>2012</year>
          ), http://hal.inria.fr/hal-00690607
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Sadilek</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wachsmuth</surname>
          </string-name>
          , G.:
          <article-title>Prototyping visual interpreters and debuggers for domain-specific modelling languages</article-title>
          . In: Schieferdecker,
          <string-name>
            <given-names>I.</given-names>
            ,
            <surname>Hartman</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.)
          <source>Model Driven Architecture - Foundations and Applications, Lecture Notes in Computer Science</source>
          , vol.
          <volume>5095</volume>
          , pp.
          <fpage>63</fpage>
          -
          <lpage>78</lpage>
          . Springer Berlin Heidelberg (
          <year>2008</year>
          ), http: //dx.doi.org/10.1007/978-3-
          <fpage>540</fpage>
          -69100-
          <issue>6</issue>
          _
          <fpage>5</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Valk</surname>
          </string-name>
          , R.:
          <article-title>Object Petri Nets - Using the Nets-within-Nets Paradigm</article-title>
          . In: Desel,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Reisig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            ,
            <surname>Rozenberg</surname>
          </string-name>
          ,
          <string-name>
            <surname>G</surname>
          </string-name>
          . (eds.)
          <source>Advances in Petri Nets: Lectures on Concurrency and Petri Nets, Lecture Notes in Computer Science</source>
          , vol.
          <volume>3098</volume>
          , pp.
          <fpage>819</fpage>
          -
          <lpage>848</lpage>
          . Springer-Verlag, Berlin Heidelberg New York (
          <year>2004</year>
          ), http://www.springerlink.com/ openurl.asp?genre=article&amp;issn=
          <fpage>0302</fpage>
          -
          <lpage>9743</lpage>
          &amp;volume=
          <volume>3098</volume>
          &amp;spage=
          <fpage>819</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>