<!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>Towards an Enhancement of Coarse Design Diagrams in Renew⋆</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Marcel Hansson</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Clara Dorothea von Bargen</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniel Moldt</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <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>
      <abstract>
        <p>A system can be described by agents that communicate with each other. The Paose1 approach combines this perspective with Petri nets. Mulan is a toolset that implements the Paose approach [1], extending the Petri net tool Renew2 with agent functionalities. There are a number of techniques that allow modeling use cases and interactions, some of them provided in the context of Paose. The goal of this paper is to further extend the capabilities of existing Paose techniques. For this, modeling functionalities are moved from Mulan to Renew, existing diagram types are interconnected, and the concept of refinement is presented. In the following, we describe the foundations for our work (sec. 2) and set the objectives of this paper (sec. 3). We then describe the realization (sec. 4), examine related work (sec. 5) and discuss our findings (sec. 6). Finally, we provide a summary and present possibilities for future work (sec. 7).</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Petri Nets</kwd>
        <kwd>Agent Interaction Protocols</kwd>
        <kwd>Coarse Design</kwd>
        <kwd>Refinement</kwd>
        <kwd>Coarsening</kwd>
        <kwd>PAOSE</kwd>
        <kwd>Renew</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
    </sec>
    <sec id="sec-2">
      <title>2. Foundations</title>
      <p>
        Paose is an approach that is described in detail by Cabac [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. It aims to develop executable multi-agent
systems based on agent-oriented Petri nets [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. For designing such a system, modeling techniques like
Coarse Design Diagrams (Cdds) and Agent Interaction Protocols (Aips) are used [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        Cdds allow to create an overview of a system. They are based on UML Use Case Diagrams, consisting
of actors and use cases. While the syntax is maintained, both the semantics and the perspective are
adapted. Instead of users, actors represent agent roles as part of the modeled system. Use cases represent
interactions within the modeled system, not with it [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        Aips provide an easily readable technique for modeling interactions between multiple roles that are
taken by agents [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Each Aip describes exactly one interaction, also called a conversation, that consists
of the exchanged messages and is initiated by a trigger [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        Renew is a tool originally designed to draw and simulate diferent Petri net formalisms [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The
system consists of a number of plugins that ofer diferent functionality by extending Renew [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Over
the years, Renew has evolved from being only a modeling tool to also being a software development
tool [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] that provides IDE support for various tasks [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Within the toolkit of Renew, Aips can be
expressed and transformed into Petri nets [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] based on a predefined mapping [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Objectives</title>
    </sec>
    <sec id="sec-4">
      <title>4. Realization</title>
      <p>
        In the followup of redesigning Renew (see [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]), the constant goal is to enhance its modeling capabilities.
Options to achieve this are introducing additional modeling techniques, combining existing techniques
and introducing abstraction hierarchies.
      </p>
      <p>Based on this, the functionalities of implementing Cdds in Renew, associating Aips with use cases
and introducing refinement and coarsening for Cdds were proposed. The current state of our work is
presented in section 4.</p>
      <p>As a first step, we introduced the Cdd functionality as a new plugin in Renew. For this, we copied
the original Mulan plugin and reduced it to its core features. Following the transfer, additional small
enhancements were implemented to improve the Cdd functionality, including syntax checking and
improvements regarding usability. Adding Cdds in Renew allows to further extend its functionality
and use Cdds in a more general modeling context.</p>
      <p>
        While Cdds describe what interactions are taking place[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], Aips describe the messages exchanged
between the roles within each of these interactions [1, p.95]. As our second step, we implemented tool
support to represent this relationship in the model. Renew now allows users to attach and detach zero
to n Aips to each use case within a Cdd diagram. The attached Aips of a use case can be opened as
separate drawings with a single click. Every use case with at least one attached Aip is highlighted to
show the attachment.
      </p>
      <p>Abstraction and concretion are common strategies for dealing with complexity, describing the same
system at diferent levels of detail. In the context of Petri nets, these terms are also defined as coarsening
and refinement. In our third step, we discussed how to apply these concepts to Cdds and their elements.
As a first idea on how to describe the elements in more detail, we allow marking an actor or a use case
as to be refined. The marked element can then be refined in a separate diagram. For refining one single
actor or use case, any number of actors and/or use cases can be used. The same idea can be applied in
reverse: a number of elements marked for coarsening can be represented by one abstract actor or use
case.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Related Work</title>
      <p>
        HERAKLIT is a modeling technique based on Petri nets [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. It includes composition to create a
hierarchical architecture, which served as inspiration for our ideas regarding refinement and coarsening. The
HERAKLIT approach was related to the Paose concepts in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Bringing the abstraction mechanics to
Cdds is a further step in this direction.
      </p>
      <p>
        In a more general context, the idea of abstraction and concretion was applied to use case diagrams in
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. However, these approaches do not apply the concepts to actors, and do not allow for the
use case replacements to include actors.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], the authors use sequence diagrams to describe use cases, which is similar to connecting Aips
and Cdds; however, their goal is to describe relationships between use cases.
      </p>
    </sec>
    <sec id="sec-6">
      <title>6. Discussion</title>
      <p>With the new features, the modeling capabilities of Renew are extended. While associating Aips with
use cases allows combining multiple types of diagrams, refinement and coarsening allows combining
multiple levels of abstraction within one model. Although refinement and coarsening have not yet been
implemented, the described concept provides a clear path for implementation. Both features can also be
combined. Once implemented, they allow for a model that provides navigation through diferent levels
of abstraction and diagram types.</p>
    </sec>
    <sec id="sec-7">
      <title>7. Conclusion</title>
      <p>We moved the Cdds from Mulan to Renew and enhanced them with the option to interactively attach
Aips. Additionally, we introduced the concept of refining use cases as well as actors by allowing each
element of a Cdd to be refined with an additional Cdd detailing it. Since each element can be refined by
both additional actors and use cases, internal orchestrations can be modeled. This permits visualization
of larger systems at various levels of abstraction as required.</p>
      <p>
        So far, we are refining single use cases or actors, but it should be possible to refine multiple actors
and use cases together. The guiding idea is to follow the associative composition of Fettke and Reisig
with their HERAKLIT approach [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], combined with the Heraklit Agent proposal in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>While this work mostly describes the refinement within use case diagrams and expresses coarsening
as a simple reverse operation, starting with a complex diagram and wanting to abstract or coarsen parts
of it is a diferent matter. It remains to be seen on how this can be implemented and how the context of
Petri nets can be used.</p>
      <p>Another point of interest is whether additional functionality can be transferred from Mulan to Renew,
taking domain driven design (DDD) into consideration regarding the modularization of functionality.</p>
      <p>As Renew already contains general modeling techniques like BPMN, and now allows to create use
case diagrams, further extending Renew with additional general diagram types could be considered.</p>
    </sec>
    <sec id="sec-8">
      <title>Declaration on Generative AI</title>
      <p>During the preparation of this work, the authors used DeepL and LanguageTool in order to: Grammar
and spelling check, Paraphrase and reword. After using these tool(s)/service(s), the authors reviewed
and edited the content as needed and take full responsibility for the publication’s content.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>L.</given-names>
            <surname>Cabac</surname>
          </string-name>
          ,
          <string-name>
            <surname>Modeling Petri</surname>
          </string-name>
          Net-Based
          <string-name>
            <surname>Multi-Agent</surname>
            <given-names>Applications</given-names>
          </string-name>
          , Dissertation, University of Hamburg, Germany,
          <year>2010</year>
          . URL: https://ediss.sub.uni-hamburg.de/handle/ediss/3691.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D.</given-names>
            <surname>Moldt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Wienberg</surname>
          </string-name>
          <article-title>, Multi-agent-systems based on coloured Petri nets</article-title>
          , in: P. Azéma, G. Balbo (Eds.),
          <source>Application and Theory of Petri Nets</source>
          <year>1997</year>
          ,
          <source>number 1248 in Lecture Notes in Computer Science</source>
          , Springer Verlag, Berlin Heidelberg New York,
          <year>1997</year>
          , pp.
          <fpage>82</fpage>
          -
          <lpage>101</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D.</given-names>
            <surname>Moldt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Hansson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Seifert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Ihlenfeldt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Clasen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Ehlers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Feldmann</surname>
          </string-name>
          ,
          <article-title>Enriching heraklit modules by agent interaction diagrams</article-title>
          , in: L.
          <string-name>
            <surname>Gomes</surname>
          </string-name>
          , R. Lorenz (Eds.),
          <source>Application and Theory of Petri Nets and Concurrency</source>
          , volume
          <volume>13929</volume>
          of Lecture Notes in Computer Science, Springer Nature Switzerland AG,
          <year>2023</year>
          , pp.
          <fpage>440</fpage>
          -
          <lpage>463</lpage>
          . URL: https://doi.org/10.1007/978-3-
          <fpage>031</fpage>
          -33620-1_
          <fpage>23</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>D.</given-names>
            <surname>Mosteller</surname>
          </string-name>
          , Metamodellierung für den PAOSE-Softwareentwicklungsansatz,
          <source>Master thesis</source>
          , University of Hamburg,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>D.</given-names>
            <surname>Moldt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Johnsen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Streckenbach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Clasen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Haustermann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Heinze</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Hansson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Feldmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Ihlenfeldt</surname>
          </string-name>
          ,
          <article-title>RENEW: modularized architecture and new features</article-title>
          , in: L.
          <string-name>
            <surname>Gomes</surname>
          </string-name>
          , R. Lorenz (Eds.),
          <source>Application and Theory of Petri Nets and Concurrency</source>
          , volume
          <volume>13929</volume>
          of Lecture Notes in Computer Science, Springer Nature Switzerland,
          <year>2023</year>
          , pp.
          <fpage>217</fpage>
          -
          <lpage>228</lpage>
          . URL: https: //doi.org/10.1007/978-3-
          <fpage>031</fpage>
          -33620-1_
          <fpage>12</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>P.</given-names>
            <surname>Fettke</surname>
          </string-name>
          , W. Reisig, Understanding the Digital World - Modeling
          <string-name>
            <surname>with</surname>
            <given-names>HERAKLIT</given-names>
          </string-name>
          , Springer,
          <year>2024</year>
          . URL: https://doi.org/10.1007/978-3-
          <fpage>031</fpage>
          -61898-7. doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>031</fpage>
          -61898-7.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>D.</given-names>
            <surname>Faitelson</surname>
          </string-name>
          , S. Tyszberowicz,
          <article-title>UML diagram refinement (focusing on class-</article-title>
          and
          <source>use case diagrams)</source>
          ,
          <year>2017</year>
          . doi:
          <volume>10</volume>
          .1109/ICSE.
          <year>2017</year>
          .
          <volume>73</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>E.</given-names>
            <surname>Cruz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.-J.</given-names>
            <surname>Machado</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Santos</surname>
          </string-name>
          ,
          <article-title>On the decomposition of use case diagrams for the refinement of requirements</article-title>
          ,
          <year>2014</year>
          . doi:
          <volume>10</volume>
          .1109/ICCSA.
          <year>2014</year>
          .
          <volume>54</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Almendros-Jiménez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Iribarne</surname>
          </string-name>
          ,
          <article-title>Describing use-case relationships with sequence diagrams</article-title>
          ,
          <source>The Computer Journal</source>
          <volume>50</volume>
          (
          <year>2006</year>
          )
          <fpage>116</fpage>
          -
          <lpage>128</lpage>
          . URL: https://doi.org/10.1093/comjnl/bxl053.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>