<!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>Integrating Verification into the Paose Approach</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Marcin Hewelt</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thomas Wagner</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>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Hamburg, Department of Informatics</institution>
        </aff>
      </contrib-group>
      <fpage>124</fpage>
      <lpage>135</lpage>
      <abstract>
        <p>The Paose approach to software engineering combines Petri nets with the paradigm of agent-orientation and utilises th e agent metaphor to structure large software systems and their development. Up until now the Paose approach only exhibited aspects of verification in a rudimentary way. This is due to the complexity of the systems to be verified on the one hand, and the expressiveness of the employed Petri net formalism of reference nets on the other hand. This contribution deals with enhancing the tool support for Paose in this regard. We present how we technically integrate the functionality of LoLA, a sophisticated verification tool, into Renew, the development and runtime environment that backs Paose. Furthermore we sketch how structural aspects of multi-agent systems developed with the agent fra mework of Mulan can be exploited for verification. The results of the integration are applied in the context of distributed network security for the Herold research project.</p>
      </abstract>
      <kwd-group>
        <kwd>Development approach</kwd>
        <kwd>Petri nets</kwd>
        <kwd>Petri net tools</kwd>
        <kwd>verification</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        In order to successfully tackle the challenges of creating large, complex software
systems, the adoption of a development approach is almost mandatory. Paose
(Petri Net-Based Agent- Oriented Software Engineering, [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]) is a sophisticated
development approach that utilises Petri nets and the multi-agent system (MAS)
metaphor to structure software systems and their development. It has been used
in a variety of projects and has proven to be suitable for developing large and
complex systems with large groups of developers.
      </p>
      <p>
        One aspect that has, up until now, been largely left out of the Paose
approach is the verification of the resulting software systems. The main challenge in
this regard is posed by the highly expressive nature of the Petri net formalism of
reference nets [
        <xref ref-type="bibr" rid="ref13">12</xref>
        ], utilised in Paose. Generally speaking, (low-level) Petri nets
offer a formal and clear way of specifying complex systems, while at the same
time retaining an intuitive and compact graphical representation. This allows
for the use of analysis techniques, which can verify certain properties of a Petri
net specification. Reachability of certain markings, boundedness of places and
liveness of transitions are just some examples of properties that can be verified
for some Petri net classes. Reference nets, however follow the nets-within-nets
paradigm. This allows tokens to be nets themselves and consequently leads to
a nested system of nets. In addition tokens can also refer to Java objects which
can be manipulated using (Java) inscriptions on the transitions. Finally
reference nets employ so-called test arcs, which allow concurrent reading access to
a resource. These features enable us, on the one hand, to use reference nets as
a full-fledged programming language to develop software sys tems. But on the
other hand classical verification algorithms can no longer be directly applied
to reference net systems. Adaptions and abstractions have to be undertaken in
order to make verification available in the context of Paose. Our current work
constitutes the first steps in this endeavour.
      </p>
      <p>
        Verification of a software system is especially important, when certain
properties of the system need to be guaranteed after deployment. Aspects, like
deadlock-freeness or boundedness, are often not just simpl e inconveniences, but
can endanger critical components. This is especially true in the case of the
Herold project [
        <xref ref-type="bibr" rid="ref18">17</xref>
        ], which researches the application of agent-or ientation in
the domain of distributed network security. In this project we employ the Paose
approach to develop a MAS for the management of network security components
(e.g. firewalls), because a MAS is capable of capturing the distributed nature of
the domain. If the deployed system contained deadlocks or interactions between
agents failed to terminate the result could endanger the entire network under
management by leaving it open to attacks. Because this has to be prevented
under all circumstances, the need for verification support is clear and the
integration of such functionality into Paose becomes a priority.
      </p>
      <p>
        The goal of the particular research presented in this contribution is to
enhance the tool support for Paose with regards to verification. The designated
tool for Paose is Renew (Reference net workshop, [
        <xref ref-type="bibr" rid="ref14">13</xref>
        ]), which was especially
developed to simulate reference nets, although it is not restricted to this
formalism. It has served as the build- and run-time environment for many software
systems using reference nets [
        <xref ref-type="bibr" rid="ref24 ref4">4, 23</xref>
        ].
      </p>
      <p>
        We have chosen to integrate an existing, external tool for verification, instead
of developing this functionality from scratch. This tool is LoLA (Low Level Net
Analyser, [
        <xref ref-type="bibr" rid="ref22">21</xref>
        ]). It provides the desired verification functionality in an efficient
and accessible way. This contribution presents the technical and conceptual
enhancements to Paose and Renew, especially the integration of LoLA.
      </p>
      <p>
        Concerning related work, we researched other verification tools prior to
choosing LoLA for the integration. These tools included Netlab (see [
        <xref ref-type="bibr" rid="ref19 ref9">8, 18</xref>
        ])
and Maria (see [
        <xref ref-type="bibr" rid="ref16">15</xref>
        ]). Netlab offers functionality to edit, simulate and
analyse place/transition nets. Analysis functions include computation of S- and
Tinvariants and the reachability/coverability graphs of a given net. Maria (The
Modular Reachability Analyzer) employs algebraic system nets. For verification
functionality it features reachability analysis and LTL model checking. Both
Netlab and Maria are sophisticated verification tools, which provide extensive
techniques. In the end, we chose LoLA since it provides comprehensive
verification functionality, is quite efficient and its integration is straight-forward.
      </p>
      <p>The paper is structured in the following way. Section 2 discusses the
technical aspects of the integration of LoLA into Renew. Section 3 then discusses,
how this integration can conceptually be used within Paose. Finally Section 4
summarises and concludes the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Technical Integration</title>
      <p>
        Renew, the Reference Net Workshop, is a high-level Petri net editor and
simulator created at the University of Hamburg. It is described in [
        <xref ref-type="bibr" rid="ref14">13</xref>
        ] and was
developed alongside the reference net formalism [
        <xref ref-type="bibr" rid="ref13">12</xref>
        ]. It supports multiple
formalisms, including the aforementioned reference nets, workflow nets [
        <xref ref-type="bibr" rid="ref23 ref6 ref8">7, 22</xref>
        ] and
place/transition nets. With regards to verification it provides a type and
syntax check when editing nets and some effort has been made to support external
verification tools (e.g. [
        <xref ref-type="bibr" rid="ref17">16</xref>
        ]).
      </p>
      <p>
        LoLA, the Low Level Petri Net Analyser, is a verification tool for
place/transition and coloured nets described, for example, in [
        <xref ref-type="bibr" rid="ref22">21</xref>
        ]. It is based
on state space exploration exploiting state-of-the-art re duction techniques and
has a high standing in industry and academia, see e.g. [
        <xref ref-type="bibr" rid="ref11 ref15 ref7">6, 14, 10</xref>
        ] for recent
applications. Functionality includes the creation of useful additional information
about nets, such as reachability and coverability graphs, and the verification of
deadlock-freeness, reachability of markings, non-deadne ss of transitions, state
predicates, CTL formulas and other properties.
      </p>
      <p>In order to use LoLA within the Renew tool, we implemented an export from
Renew nets to the textual net representation that LoLA requires. Figure 1 gives
an example of a simple Renew net and the corresponding textual LoLA net file,
as generated by the presented Renew plugin.</p>
      <p>Renew nets consist of an unsorted set of figure objects, each of which
represents one net element1. The figures of a net can be accessed by means of
a Java enumeration, which is processed to generate the representation LoLA
understands. In order to do so, we have to identify the places, the transitions
(together with their pre- and post-set) and the initial mark ing of the net2. These
are extracted from the Renew net and written into a new file that complies with
the LoLA syntax.</p>
      <p>The export of Renew nets is restricted to those concepts that can be
expressed within LoLA. Therefore we employ the following projection, which strips
some semantic information from the reference net. We first need to ignore all
inscriptions on places, transitions and arcs (type declarations, guards, synchronous
channels, Java code and variables), except for names of places and transitions.
1 Net elements in this context are not only transitions, places and tokens, but
everything in the net drawing, including inscriptions, names and comments.
2 We can restrict ourselves to only these three, because, for now, we are only using the
P/T-net functionality of LoLA. However, we continue to work on mapping Renews’
type declarations to LoLAs’ specification format for high-l evel nets, which allows the
declaration of sorts and operations. These can later on be referred in the verification
requests.</p>
      <p>Then we need to treat object and net tokens (i.e. tokens that represent Java
objects or itself nets) as black tokens, wherever they appear. Finally we need to
replace test arcs (which are bidirectional) with normal arcs leading to and from
the elements involved.</p>
      <p>Additionally we have implemented the possibility to annotate verification
tasks inside a Renew net. The corresponding text figures are written into
separate files, since LoLA requires them to be independent from the textual net
representation3.</p>
      <p>Verification tasks for LoLA can be defined in two ways in the Renew tool.
They can either be added directly as unconnected text figures, using the LoLA
Syntax (e.g. the “ANALYSE MARKING . . . ” text in Figure 1, whic h corresponds
to the task of checking if the specified marking is reachable) or, more comfortably,
as a special inscription for the concerning element. For example, the inscription
of the place place1 in Figure 1 stating “ASSERT BOUNDED” is automatically
translated into a verification task to check the boundedness of the place. The
latter is more convenient for the user, since it does not require him to keep track
of the names of the net elements for verification.
3 It is also possible to add some verification tasks directly to the net file. Another
viable alternative is to provide the tasks to LoLA as streams.</p>
      <p>Providing LoLA functionality with the exported nets from within Renew is
handled by calling LoLA externally and feeding the results back into Renew.
There are other options how to integrate LoLA, however missing insight into the
internal workings of LoLA we were not able to implement them yet. The work
on this is still ongoing.</p>
      <p>Now that we have outlined how LoLA was technically integrated into Renew
we can proceed to discuss in which ways the functionality is used. Apart from
simply being able to specify nets and manually exporting and verifying them,
we have decided to provide a more convenient tool set for the Renew user to
access the functionality. Therefore we implemented a plugin for Renew that
offers the described export capabilities and aggregates some of the functionality
offered by LoLA into a graphical view, which makes it comfortably accessible
in the Renew context. The work on this plugin is still ongoing. Some features
have already been implemented while others are considered work-in-progress.</p>
      <sec id="sec-2-1">
        <title>On-the-fly check for transitions and places:</title>
        <p>The plugin provides the means to check the transitions and places of a net
currently being drawn. It will check if transitions are dead and places are
bounded. Dead transitions and unbounded places will be marked in the net
drawing, so the user can revise the relevant parts of the net.</p>
      </sec>
      <sec id="sec-2-2">
        <title>Net c“hecklist:”</title>
        <p>The plugin offers a kind of checklist for a net. In this checklist the properties
of quasi-liveness, reversibility, deadlock freedom, exis tence of home
markings and boundedness are displayed. For now, for each of these properties
an indicator is given (either positive or negative), but the checklist can be
extended to supply additional information, such as concrete home markings
or witness paths. In Figure 2 we included a screenshot of the net checklist
that shows the result we obtained for the net on the left.</p>
      </sec>
      <sec id="sec-2-3">
        <title>Reachability/coverability graphs: Work-in-progress</title>
        <p>The plugin will provide a window in which the reachability and coverability
graphs of the net currently being drawn are displayed. This creation of the
graphs is initiated manually by the user.</p>
        <p>Marking editor: Work-in-progress</p>
        <p>The plugin will provide an editor for entering a specific marking for the
current net. The fields of the editor are updated to display all current places.
The user can enter the tokens of each place and then check the marking
for example for its reachability (from the initial marking or a second
marking input into the plugin window), coverability or status as a home state.</p>
        <p>Feedback is immediately given to the user within the plugin window.</p>
      </sec>
      <sec id="sec-2-4">
        <title>CTL formula editor: Work-in-progress</title>
        <p>Similar to the marking editor, the plugin will provide the means to input a
CTL formula for the current net, which can then be checked directly from
within Renew.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Conceptual Integration into Paose approach</title>
      <p>
        Applying Petri nets for software engineering (SE) is a common practice
(see e.g. [
        <xref ref-type="bibr" rid="ref20">19</xref>
        ]). Nonetheless the Paose approach developed at the theoretical
foundations group (TGI) in Hamburg is quite unique, in that it combines Petri
nets with the paradigm of agent-orientation to build softwa re systems. We first
give a short introduction to the Paose approach and then discuss the role of
verification. Finally we show how the results of the technical integration presented
in this paper can be applied to the verification of multi-agen t systems (MAS).
3.1
      </p>
      <sec id="sec-3-1">
        <title>Petri net agents</title>
        <p>
          Paose employs concepts from agent-orientation to structure soft ware systems on
four different levels, which together form the Mulan architecture (Multi- agent
nets, see [
          <xref ref-type="bibr" rid="ref21">20</xref>
          ]). Agents are active, goal-oriented and autono mous software
components that only communicate by means of asynchronous messages. They are
situated in a logical environment, called platform, that allows for agent
migration, facilitates message transport and provides a service registry. The behaviour
of agents is autonomous, so unlike function calls, agents choose how to answer to
a received message (if at all). For the concrete handling of a message the agent
executes a protocol4 from his knowledge base, which constitutes a repository of
known behaviours and data.
        </p>
        <p>Each of the four levels is realised with reference nets, with higher levels
embedding the lower ones as net tokens. In this way a platform contains
references to agent nets, which, in turn, hold references to protocol nets. Due to the
4 The term does not refer to a communication protocol that encompasses several
agents, but rather stands for a specification of a specific behaviour of an agent.
operational semantics of reference nets, a modelled multi- agent system can be
simulated directly.</p>
        <p>
          Being an exhaustive SE-approach Paose also encompasses techniques for the
specification of interactions between agents, for the definition of ontologies and
for the definition of agent roles and knowledge bases, all of which are fully
supported by internally and externally developed tools. A model for the development
process, as well as an agile method and facilities for the automatic generation of
nets and documentation are available. However, we will not go into detail here,
but refer the reader to [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] for a complete, detailed presentation of the Paose
approach.
3.2
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>Role of Verification</title>
        <p>Up until the research presented here, the Paose approach did not include
formal verification, but instead relied on the sophisticated type and syntax
checking offered by Renew. Because the ontology of a multi-agent application is
transformed into a Java type hierarchy, the Renew tool can provide the
developer with type checking for ontology objects. The same is true for the
metaontology describing platforms, agents, services and messages among other
Mulan-relevant objects.</p>
        <p>
          An additional feature at least partially fills the role of verification. During the
development process the multi-agent application can be sim ulated and inspected
thoroughly, and can even be modified on the fly during a simulation run [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. All
these measures reduce the cost of development, as they make the process less
error-prone.
        </p>
        <p>
          This contribution addresses the afore-mentioned shortcom ing of Paose, by
providing “classical” Petri net verification. However, we t ailor the functionality to
the specific context of Paose. Due to the Turing completeness of reference nets
[
          <xref ref-type="bibr" rid="ref12">11</xref>
          ] the properties of liveness and boundedness, among others, are undecidable
and thus the problem of general verification has not been tackled before. We have
come to realise that although no general verification can be achieved, interesting
properties can be validated to some degree. To make reference nets suitable
for verification with the LoLA plugin, we employ the projection described in
Section 2, which replaces object and net tokens with black tokens and strips
away certain inscriptions e.g. Java calls.
        </p>
        <p>It needs to be examined what assertions can be made about the original net.
One can observe that if a transition is activated in the original net, it is also
activated in the projection5. On the other hand, if a transition in the projected
net is not activated, it will not be activated under any circumstances in the
original net. So we can conclude that if a deadlock occurs in the projected net,
it also occurs in the original one. The opposite does not hold true however.
5 There is a minor exception to this. In the case where several transitions are
connected to the same place with a test arc, they can fire concurrently in the original
net. Because test arcs are replaced by usual arcs, this no longer can happen in the
projected net.</p>
        <p>
          We will now detail how the LoLA plugin can play an important role in
supporting the development of multi-agent systems by utili sing the structure of
Mulan nets for verification.
We claim that the reference nets used in the Paose context exhibit some
structural features that make them well suited for verification. For this we have to
take a more detailed look at the utilised net systems. Agent and platform nets
are fixed, this means all agents and platforms share a common structure, while
application specific functionality is added through protocol nets and the
knowledge base (and application specific infrastructure). While agent and platform
nets need to be live, it is essential for protocol nets to terminate, i.e. to reach a
terminal state. Some groundwork on this topic has been presented in [
          <xref ref-type="bibr" rid="ref10">9</xref>
          ].
        </p>
        <p>
          Figure 3 illustrates the typical form of a protocol net used in Mulan.
Structurally speaking, protocol nets start and end with a transition, which
synchronises with the embedding agent net. The initial synchronisation causes the newly
instantiated protocol net to be put on a special place in the agent net, dedicated
for ongoing conversations. Messages an agent receives can be directly passed to
an ongoing conversation, if their type matches the type expected in the protocol
net. The final synchronisation removes the instance of the protocol net from the
conversation place, once it is finished (meaning it reached its terminal state).
In this way, it is essentially a workflow net [
          <xref ref-type="bibr" rid="ref23">22</xref>
          ]. Using this perspective the
closure of the workflow net would be provided by the agent, which is capable of
re-instantiating the protocol/workflow.
        </p>
        <p>While a conversation is ongoing, agents send and receive messages in their
corresponding protocol nets that together form the conversation. The platform
net is also involved in the conversation, because it routes the message to its
destination. Deadlock-freeness and thus termination can only be verified under the
assumption that the communication partners and the message transport service
behave well. On the other hand, stripping the inscriptions from the protocol net,
one can verify deadlock-freeness of the projected protocol net independently of
its environment. Using the LoLA tool in combination with the existing type
check we can enhance verification in cases where alternative behaviours are
chosen according to message content (which is the standard case).</p>
        <p>Some other verification tasks for multi-agent systems sprin g to mind and will
be the focus of future work:
– Do agents possess matching protocols so that they can communicate?
Given two, or more, agents this task can determine if they possess matching
protocols. This means that an outgoing message in one agent’ s protocol
has to correspond to an incoming message in another agents’ p rotocol. In
terms of practical implementation this boils down to matching the outgoing
message as a type to the incoming message as a type, possibly by merging
the protocol nets.
– Does an agent have required protocols to be embedded on a platform?
While similar to the previous task, this task is a bit more general. Instead of
explicitly matching a number of agents for communication, this task
determines if an agent possesses the required functionality (i.e. protocols) needed
to be active on a specific platform. This task is more comprehensive and
complex, since it addresses further aspects concerning functionality, not just
communication. In practical terms, more nets have to be matched and
certain assumptions about the content of protocols (for example through type
matching) have to be verified.
– Is the overall communication structure deadlock-free?</p>
        <p>Another related task is to check the overall interaction and communication
structure of the multi-agent application for deadlocks. Ta king the agent
interactions into account we could generate a simplified net version of the
overall communication, assuming that the internal workings of the agents
are correct and do not deadlock. The check would then again be confined
to the messages and their types, but instead of having a particular set of
agents and protocols in the focus, it would examine the overall multi-agent
application.</p>
        <p>
          These last points dealing with the orchestration of protocol nets illustrates
the intimate relation between protocol nets in the Mulan architecture and open
nets of [
          <xref ref-type="bibr" rid="ref25">24</xref>
          ]. Open nets are used in the context of service synthesis, composition
and orchestration and are supported by an exhaustive tool suite6 that includes
LoLA. Therefore we started our investigation into verification tools with LoLA
and plan to extend it to other tools from the suite.
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>We have presented a way to make use of an existing tool as a plugin for Renew
and how the Paose approach profits from this integration. The technical
real6 Available online as open source from http://service-techn ology.org/.
isation was easily achieved due to the flexible plugin mechanisms provided by
Renew. So far we have used the tool to check for very basic properties, but as
was advocated in Section 3, we are working on applying it to multi-agent
systems. Conceptually we gain enhanced tool support for Paose, making it easier
to develop functioning-as-designed multi-agent applicat ions.</p>
      <p>Concerning future work, the efforts of enhancing Renew and Paose with
the help of LoLA are still ongoing. We are looking at further ways of extending
the functionality of the LoLA plugin for Renew and are researching additional
areas of our multi-agent systems for verification, as was out lined in Section 3.3.
As for the technical aspects, a promising avenue of work is to also incorporate
the support for sorts and operations offered by LoLA into the plugin. This will
improve the modelling effort for verification and, in turn, make using LoLA
within Renew more comfortable.</p>
      <p>
        From a practical point of view, we will use the results we have obtained
within the Herold research project7. Herold deals with distributed network
security and the management of network security components (see [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] for more
information). The complex processes within the project, coupled with the critical
nature of the application domain, require the use of verification techniques in
order to ensure correct execution of the produced multi-age nt system. The LoLA
plugin will play an invaluable role for the verification aspects of the project.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Simon</given-names>
            <surname>Adameit</surname>
          </string-name>
          , Tobias Betz, Lawrence Cabac, Florian Hars, Marcin Hewelt, Michael Köhler-Bußmeier, Daniel Moldt, Dimitri Popov, Jos e Quenum, Axel Theilmann, Thomas Wagner, Timo Warns, and
          <string-name>
            <given-names>Lars</given-names>
            <surname>Wüstenberg</surname>
          </string-name>
          .
          <article-title>Herold - agentoriented, policy-based network security management</article-title>
          .
          <source>In Future Security, 5th Security Research Conference</source>
          , Berlin,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Lawrence</given-names>
            <surname>Cabac</surname>
          </string-name>
          .
          <article-title>Modeling Petri NetB-ased MultiA-gent Applications</article-title>
          , volume
          <volume>5</volume>
          <source>of Agent Technology - Theory and Applications</source>
          . Logos Verlag, Berlin,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Lawrence</given-names>
            <surname>Cabac</surname>
          </string-name>
          , Till Dörges, Michael Duvigneau, Christine Reese, and
          <string-name>
            <surname>Matthias</surname>
          </string-name>
          Wester-Ebbinghaus.
          <article-title>Application development with Mulan. I n Daniel Moldt</article-title>
          , Fabrice Kordon, Kees van Hee,
          <string-name>
            <surname>José-Manuel Colom</surname>
          </string-name>
          , and Rémi Basti de, editors,
          <source>Proceedings of the International Workshop on Petri Nets and Software Engineering (PNSE'07)</source>
          , pages
          <fpage>1451</fpage>
          -
          <lpage>59</lpage>
          , Siedlce, Poland,
          <year>June 2007</year>
          .
          <article-title>Akademia Podla ska</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Lawrence</given-names>
            <surname>Cabac</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Michael</given-names>
            <surname>Duvigneau</surname>
          </string-name>
          , Michael Köhler, Kolja Lehmann, Daniel Moldt, Sven Offermann, Jan Ortmann, Christine Reese, Heiko Rölke, and
          <string-name>
            <given-names>Volker</given-names>
            <surname>Tell</surname>
          </string-name>
          .
          <article-title>PAOSE Settler demo</article-title>
          .
          <source>In First Workshop on HighL-evel Petri Nets and Distributed Systems (PNDS)</source>
          <year>2005</year>
          ,
          <string-name>
            <surname>Vogt-Kölln Str</surname>
            . 30,
            <given-names>D</given-names>
          </string-name>
          <string-name>
            <surname>-</surname>
          </string-name>
          22527 Hamburg,
          <year>March 2005</year>
          . University of Hamburg, Department of Computer Science.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. Lawrence Cabac, Daniel Moldt, and
          <string-name>
            <given-names>Jan</given-names>
            <surname>Schlüter</surname>
          </string-name>
          .
          <article-title>Adding runtime net manipulation features to MulanViewer</article-title>
          . In 15. Workshop Algorithmen und Werkzeuge für Petrinetze,
          <source>AWPN'08</source>
          , volume
          <volume>380</volume>
          <source>of CEUR Workshop Proceedings</source>
          , pages
          <fpage>879</fpage>
          -
          <lpage>2</lpage>
          . Universität Rostock,
          <year>September 2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <article-title>7 The Herold project is funded by the German Federal Government, through its Ministry of Education and Research (Grant No</article-title>
          .
          <year>01BS0901</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Sebastian</given-names>
            <surname>Hinz</surname>
          </string-name>
          , Karsten Schmidt, and
          <string-name>
            <given-names>Christian</given-names>
            <surname>Stahl</surname>
          </string-name>
          .
          <article-title>Transforming BPEL to Petri nets</article-title>
          . In
          <string-name>
            <surname>Wil M. P. van der Aalst</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Benatallah</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Casati</surname>
          </string-name>
          , and F. Curbera, editors,
          <source>Proceedings of the Third International Conference on Business Process Management (BPM</source>
          <year>2005</year>
          ), volume
          <volume>3649</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>2202</fpage>
          -
          <lpage>35</lpage>
          , Nancy, France,
          <year>September 2005</year>
          . Springer-Ve rlag.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Thomas</given-names>
            <surname>Jacob</surname>
          </string-name>
          .
          <article-title>Implementierung einer sicheren und rollenbasierten Workflowmanagement-Komponente für ein Petrinetzwerkzeug</article-title>
          .
          <source>Diplom a thesis</source>
          , 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>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Stephan</given-names>
            <surname>Kleuker</surname>
          </string-name>
          .
          <article-title>Formale Modelle der Softwareentwicklung</article-title>
          .
          <article-title>ModelC-hecking ,</article-title>
          <string-name>
            <surname>Verifikation</surname>
          </string-name>
          , Analyse und Simulation. Vieweg+Teubner, Wiesbaden,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Michael</given-names>
            <surname>Köhler</surname>
          </string-name>
          , Daniel Moldt, and
          <string-name>
            <given-names>Heiko</given-names>
            <surname>Rölke</surname>
          </string-name>
          .
          <article-title>Liveness preserving composition of behaviour protocols for Petri net agents</article-title>
          .
          <source>Report of the research program: Act in Social Contexts FBI-HH-M-316/02</source>
          , University of Hamb urg, Department of Computer Science,
          <year>June 2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          10.
          <string-name>
            <surname>Milos</surname>
            <given-names>Krstic</given-names>
          </string-name>
          , Eckhard Grass, and
          <string-name>
            <given-names>Christian</given-names>
            <surname>Stahl</surname>
          </string-name>
          .
          <article-title>Request-driven GALS technique for wireless communication system</article-title>
          .
          <source>In Proceedings of the 11th IEEE International Symposium on Asynchronous Circuits and Systems</source>
          , pages
          <fpage>768</fpage>
          -
          <lpage>5</lpage>
          , Washington, DC, USA,
          <year>2005</year>
          . IEEE Computer Society.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          11.
          <string-name>
            <given-names>Olaf</given-names>
            <surname>Kummer</surname>
          </string-name>
          .
          <article-title>Undecidability in object-oriented Petri n ets</article-title>
          .
          <source>Petri Net Newsletter</source>
          ,
          <volume>59</volume>
          :
          <fpage>182</fpage>
          -
          <lpage>3</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          12.
          <string-name>
            <given-names>Olaf</given-names>
            <surname>Kummer</surname>
          </string-name>
          . Referenznetze. Logos Verlag, Berlin,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          13.
          <string-name>
            <surname>Olaf</surname>
            <given-names>Kummer</given-names>
          </string-name>
          , Frank Wienberg,
          <string-name>
            <given-names>Michael</given-names>
            <surname>Duvigneau</surname>
          </string-name>
          , Michael Köhler, Daniel Moldt, and
          <string-name>
            <given-names>Heiko</given-names>
            <surname>Rölke</surname>
          </string-name>
          . Renew - the
          <source>Reference Net Workshop</source>
          . In Eric V eerbeek, editor,
          <source>Tool Demonstrations. 24th International Conference on Application and Theory of Petri Nets (ATPN</source>
          <year>2003</year>
          ).
          <source>International Conference on Business Process Management (BPM</source>
          <year>2003</year>
          ), pages
          <fpage>991</fpage>
          -
          <lpage>02</lpage>
          . Department of Technology Management, Technische Universiteit Eindhoven,
          <source>Beta Research School for Operations Management and Logistics</source>
          ,
          <year>June 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          14.
          <string-name>
            <surname>Niels</surname>
            <given-names>Lohmann</given-names>
          </string-name>
          , Oliver Kopp, Frank Leymann, and
          <string-name>
            <given-names>Wolfgang</given-names>
            <surname>Reisig</surname>
          </string-name>
          .
          <article-title>Analyzing BPEL4Chor: Verification and participant synthesis</article-title>
          .
          <source>In Marlon Dumas and Reiko Heckel</source>
          , editors,
          <source>Web Services and Formal Methods</source>
          , volume
          <volume>4937</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>466</fpage>
          -
          <lpage>0</lpage>
          . Springer-Verlag,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          15.
          <string-name>
            <given-names>Marko</given-names>
            <surname>Mäkelä</surname>
          </string-name>
          . Maria:
          <article-title>Modular reachability analyser for algebraic system nets</article-title>
          .
          <source>In Proceedings of the 23rd International Conference on Applications and Theory of Petri Nets, ICATPN</source>
          <volume>0</volume>
          '
          <issue>2</issue>
          , pages
          <fpage>4344</fpage>
          -
          <lpage>44</lpage>
          . Springer-Verlag,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          16.
          <string-name>
            <surname>Marco</surname>
            <given-names>Mascheroni</given-names>
          </string-name>
          , Thomas Wagner, and
          <string-name>
            <given-names>Lars</given-names>
            <surname>Wüstenberg</surname>
          </string-name>
          .
          <article-title>Verifying reference nets by means of hypernets: A plugin for Renew</article-title>
          . In Michael Duvigneau and Daniel Moldt, editors,
          <source>Proceedings of the International Workshop on Petri Nets and Software Engineering</source>
          , PNSE'10,
          <string-name>
            <surname>Braga</surname>
          </string-name>
          , Portugal , number FBI-HH-B-
          <volume>294</volume>
          /10 in Bericht, pages
          <fpage>395</fpage>
          -
          <lpage>4</lpage>
          ,
          <string-name>
            <given-names>Vogt-Kölln</given-names>
            <surname>Str</surname>
          </string-name>
          . 30,
          <string-name>
            <given-names>D</given-names>
            <surname>-</surname>
          </string-name>
          22527
          <string-name>
            <surname>Hamburg</surname>
          </string-name>
          , June 2010. University of Hamburg, Department of Informatics.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          17.
          <string-name>
            <surname>Daniel</surname>
            <given-names>Moldt</given-names>
          </string-name>
          , Michael Köhler-Bußmeier, Axel Theilmann , Simon Adameit, Tobias Betz, Lawrence Cabac, Florian Hars, Marcin Hewelt, Dimitri Popov, José Quenum, Thomas Wagner, Timo Warns, and
          <string-name>
            <given-names>Lars</given-names>
            <surname>Wüstenberg</surname>
          </string-name>
          .
          <article-title>Modelling distributed network security in a Petri net and agent-based app roach</article-title>
          .
          <source>In Jürgen Dix and Witteveen Cees</source>
          , editors,
          <source>Multiagent System Technologies. 8th German Conference, MATES 2010</source>
          ,Leipzig, Germany,
          <source>September 272-8</source>
          ,
          <year>2010</year>
          . Proceedings, volume
          <volume>6251</volume>
          <source>of Lecture Notes in Artificial Intelligence</source>
          , pages
          <fpage>2092</fpage>
          -
          <lpage>20</lpage>
          , Berlin Heidelberg New York,
          <year>September 2010</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          18.
          <string-name>
            <given-names>Philipp</given-names>
            <surname>Orth</surname>
          </string-name>
          and
          <string-name>
            <given-names>Dirk</given-names>
            <surname>Abe</surname>
          </string-name>
          .
          <article-title>Rapid Control Prototyping petrinetzbasierter Steuerungen mit dem Tool NETLAB</article-title>
          . atA-utomatisierungstechnik ,
          <volume>54</volume>
          , Issue:
          <volume>5</volume>
          :
          <fpage>222</fpage>
          -
          <lpage>227</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          19.
          <string-name>
            <given-names>Wolfgang</given-names>
            <surname>Reisig</surname>
          </string-name>
          .
          <article-title>Petri nets in software engineering</article-title>
          . In W. Brauer,
          <string-name>
            <given-names>W.</given-names>
            <surname>Reisig</surname>
          </string-name>
          , and G. Rozenberg, editors,
          <source>Petri Nets: Applications</source>
          and Relationships to Other
          <source>Models of Concurrency</source>
          , volume
          <volume>255</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>629</fpage>
          -
          <lpage>6</lpage>
          . Springer,
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          20.
          <string-name>
            <given-names>Heiko</given-names>
            <surname>Rölke</surname>
          </string-name>
          .
          <source>Modellierung von Agenten und Multiagentensystemen - Grund lagen und Anwendungen</source>
          , volume
          <volume>2</volume>
          <source>of Agent Technology - Theory and Applications</source>
          . Logos Verlag, Berlin,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          21.
          <string-name>
            <given-names>Karsten</given-names>
            <surname>Schmidt. LoLA: A Low Level</surname>
          </string-name>
          <article-title>Analyser</article-title>
          . In Mogens Nielsen and Dan Simpson, editors,
          <source>Application and Theory of Petri Nets</source>
          <year>2000</year>
          : 21st International Conference, ICATPN 2000, Aarhus, Denmark, Proceedings, volume
          <volume>1825</volume>
          <source>of Lecture Notes in Computer Science</source>
          , pages
          <fpage>4654</fpage>
          -
          <lpage>74</lpage>
          . Springer-Verlag,
          <year>June 2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          22.
          <string-name>
            <surname>Wil M. P. van der Aalst</surname>
          </string-name>
          .
          <article-title>Verification of workflow nets</article-title>
          .
          <source>In Pierre Azéma and Gianfranco Balbo</source>
          , editors,
          <source>ICATPN</source>
          , volume
          <volume>1248</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>4074</fpage>
          -
          <lpage>26</lpage>
          . Springer,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          23.
          <string-name>
            <given-names>Thomas</given-names>
            <surname>Wagner</surname>
          </string-name>
          .
          <article-title>Prototypische Realisierung einer Integration von Agenten und Workflows</article-title>
          .
          <source>Diploma 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>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          24.
          <string-name>
            <given-names>Karsten</given-names>
            <surname>Wolf</surname>
          </string-name>
          .
          <source>Does my service have partners? Transactions on Petri Nets and Other Models of Concurrency</source>
          ,
          <volume>2</volume>
          :
          <fpage>1521</fpage>
          -
          <lpage>71</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>