<!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>A Tool to Synthesize Intelligible State Machine Models from Choreography using Petri Nets?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Toshiyuki Miyamoto</string-name>
          <email>miyamoto@eei.eng.osaka-u.ac.jp</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hiroyuki Oimura</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Graduate School of Engineering, Osaka University</institution>
          ,
          <addr-line>Suita, Osaka 565-0871</addr-line>
          ,
          <country country="JP">Japan</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Application of service-oriented architecture, which builds the entire system by a combination of independent software components, to a wide variety of computer systems is expected. The problem to synthesize state machine models of the services from a communication diagram representing the overall specifications of service interaction is known as the choreography realization problem. It should be minded on automatic synthesis that software models should be simple to be understood easily by software engineers. We have proposed a method to synthesize hierarchical state machine models for the choreography realization problem in the last PNSE. In this paper, we present a prototypical tool for the method.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        In recent years, the internationalization of activities and information
technology in the enterprise has intensified competition between companies. Under
such circumstances, service-oriented architecture (SOA)[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] has been attracting
attention as the architecture of information systems in the enterprise. In SOA,
an information system is built by composing independent software units called
services.
      </p>
      <p>
        In SOA, the problem to synthesize the concrete model from an abstract
specification is known as the choreography realization problem[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In which the
abstract specification, called choreography, is defined as a set of interactions
among services, which are given in a dependency relation of messages sent and
received; the concrete model is called the service implementation which defines
the behavior of the service. This paper utilizes the communication diagram and
the state machine of UML 2.x[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] to describe the choreography and the service
implementation, respectively.
      </p>
      <p>
        Bultan and Fu formally introduced the choreography realization problem in
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. They used collaboration diagrams of UML1.x and showed some conditions
for a given choreography to be realizable. In addition, they showed a method
to represent the service implementation as the state space in which a state was
defined as a set of unsent messages, and they also showed a method to map to
a set of finite state machines. However, it is not intelligible because the number
of states increases exponentially as the number of messages increases.
? This work was supported by KAKENHI (23500045).
      </p>
      <p>PNSE’13 – Petri Nets and Software Engineering</p>
      <p>ex
service</p>
      <p>message</p>
      <p>
        Antonio et al. have experimentally evaluated the relationship between
metrics and intelligibility of the state machines by measuring time to understand
state machines[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. According to the result, state machines are intelligible the
smaller the following metrics: the number of simple states (NSS), the number of
transitions (NT), and the number of guards (NG).
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], we have proposed a method to synthesize hierarchical state machines
by using Petri nets from a choreography defined by single communication
diagram, where the method is called the CSCB method. So far, we have developed
a prototypical tool of the CSCB method and the projection method in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], and
evaluated the CSCB method on several examples. Table 1 shows the results,
and the CSCB method is better than the projection method in term of several
metrics for the intelligibility by Antonio et al. We, however, found some points
to be improved in the algorithm and the intelligibility.
      </p>
      <p>We are going to import the prototypical tool into an UML modeling tool
as a plug-in and extend the CSCB method so as to synthesize more intelligible
machines.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Antonio</given-names>
            <surname>Cruz-Lemus</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Genero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Piattini</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          :
          <article-title>Metrics for UML Statechart Diagrams</article-title>
          . In: Genero,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Piattini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Calero</surname>
          </string-name>
          , C. (eds.)
          <source>Metrics for Software Conceptual Models</source>
          , pp.
          <fpage>237</fpage>
          -
          <lpage>272</lpage>
          . Imperial College Press, London (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bultan</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fu</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          :
          <article-title>Specification of realizable service conversations using collaboration diagrams</article-title>
          .
          <source>Service Oriented Computing and Applications</source>
          <volume>2</volume>
          (
          <issue>1</issue>
          ),
          <fpage>273</fpage>
          -
          <lpage>9</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Miyamoto</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hasegawa</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>A Petri Net Approach to Synthesize Intelligible State Machine Models from Choreography</article-title>
          .
          <source>In: International Workshop on Petri Nets and Software Engineering</source>
          <year>2012</year>
          . pp.
          <fpage>222</fpage>
          -
          <lpage>236</lpage>
          (
          <year>Jun 2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. OMG:
          <article-title>Unified modeling language</article-title>
          , http://www.uml.org/
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Su</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bultan</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fu</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhao</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          :
          <article-title>Towards a theory of web service choreographies</article-title>
          .
          <source>In: Proceedings of the 4th international conference on Web services and formal methods</source>
          . pp.
          <fpage>1</fpage>
          -
          <lpage>16</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Thomas</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Service-Oriented Architecture</surname>
          </string-name>
          .
          <source>Prentice Hall</source>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>