<!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>Modeling State Transitions with Colored Petri Nets?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Rowland Pitts</string-name>
          <email>rpitts@gmu.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>George Mason University</institution>
          ,
          <addr-line>Fairfax Virginia</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Modeling state-dependent systems can quickly become unwieldy as the number of states and transitions increase. This paper introduces a reusable approach to modeling state transitions that results in simpler models and allows designers to focus on a design's functional behavior rather than the details of state transition. Introduction A signi cant challenge associated with modeling state transitions, in both UML and CPN, is that the complexity of the models tends to grow exponentially [1]. E orts to model state transition behavior typically result in one-to-one conversions of UML elements into arcs, transitions and places [4, 1], resulting in complex and unweildy models. This paper introduces an approach to modeling state transitions that results in simpler models and allows designers to focus on functional behavior rather than the details of state transition. A reusable component is modeled in CPN Tools [2]. Related Research Andre, Benmoussa and Choppy proposed a formalization of UML state machines using Colored Petri Nets [1]. Meghzili, Chaoui, Strecker and Kerkouche presented an approach to transforming State Machine Diagrams into CPN models, and proved certain structural properties in the transformation [3]. Pettit and Gomaa described an approach to systematically map state dependent objects and their corresponding state charts from UML into CPN [4]. This work di ers from others in that state transition behavior is abstracted into a reusable CPN component that de nes state transitions and their associated actions in metadata, requiring no complex network de nition. Modeling State Transitions UML is the de facto standard for modeling systems [1], but it is not executable. Petri nets are executable, however models of state transitions become increasingly complex because they are typically modeled using an explicit one-to-one correspondence with the State Transition Diagram. CPN's hierarchical capabilities facilitate the building of models bene ting from abstraction and separation of concerns. The functional behavior associated</p>
      </abstract>
      <kwd-group>
        <kwd>State Transition Executable Modeling Colored Petri Net</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Event</title>
      <p>1`"Insert Disk" @10 +++
EVENT 1`"Play" @20 +++
1`"Next" @30 +++
1`"Prev" @40 +++
1`"Pause" @50 +++
1`"Pause" @60
1`"OFF"
Current</p>
      <p>State
STATE
All</p>
      <p>Trans</p>
      <p>TRANS</p>
    </sec>
    <sec id="sec-2">
      <title>CD Player</title>
      <p>State Machine
1`[{s="OFF", e="Insert Disk", n="READY"},
{s="READY", e="Play", n="PLAYING"},
{s="READY", e="Eject", n="OFF"},
{s="PLAYING", e="Eject", n="OFF"},
{s="PLAYING", e="Next", n="PLAYING"},
{s="PLAYING", e="Prev", n="PLAYING"},
{s="PLAYING", e="Pause", n="PAUSED"},
{s="PAUSED", e="Pause", n="PLAYING"},
{s="PAUSED", e="Eject", n="OFF"}]
with processing events, issuing actions, and changing state can therefore be
encapsulated within a reusable CPN, allowing the supported event-driven state
changes to be de ned in dynamically programmable meta data. In other words,
rather than de ne a new net for each state driven scenario, each new scenario
can simply be programmed into the reusable state machine. Figure 1 depicts the
external view of the reusable state machine, with events and transitions de ned
to model a CD player.</p>
      <p>Conclusions and Future Work The approach simpli es modeling in a number
of ways. For example, the reusable State Machine eliminates the the need to
explicitly de ne the state transition relationships with a massive number of arcs
and transitions. The designer need only de ne the transition data, and then
focus on the functional aspects of their design.</p>
      <p>This paper addresses state transitions in only the most general sense. That
is where the modeling complexity is rst and most apparent. The incorporation
of the Entry, Exit and Do actions associated with each state results in similar
complexity, and early e orts to model them using the same simpli ed approach
described above show similar improvements. Therefore, the main future work
includes incorporating transitional actions.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Andre</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benmoussa</surname>
            ,
            <given-names>M.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Choppy</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Formalising concurrent uml state machines using coloured petri nets</article-title>
          .
          <source>Formal Aspects of Computing</source>
          <volume>28</volume>
          (
          <issue>5</issue>
          ),
          <volume>805</volume>
          {845 (Sep
          <year>2016</year>
          ). https://doi.org/10.1007/s00165-016-0388-9
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>CPN</given-names>
            <surname>Tools</surname>
          </string-name>
          <article-title>website</article-title>
          (May
          <year>2020</year>
          ), http://cpntools.org
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Meghzili</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chaoui</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Strecker</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kerkouche</surname>
          </string-name>
          , E.:
          <article-title>On the veri cation of uml state machine diagrams to colored petri nets transformation using isabelle/hol</article-title>
          . In: 2017
          <source>IEEE International Conference on Information Reuse and Integration (IRI)</source>
          . pp.
          <volume>419</volume>
          {
          <issue>426</issue>
          (Aug
          <year>2017</year>
          ). https://doi.org/10.1109/IRI.
          <year>2017</year>
          .63
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Pettit</surname>
            ,
            <given-names>R.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gomaa</surname>
          </string-name>
          , H.:
          <article-title>Modeling state-dependent objects using colored petri nets</article-title>
          .
          <source>In: Proceedings of Workshop on Modelling of Objects</source>
          , Components, and Agents. pp.
          <volume>105</volume>
          {
          <fpage>120</fpage>
          . University of Aarhus, Denmark (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>