<!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 Verification of Connection-Aware Transaction Models for Mobile Applications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Lars M. Kristensen</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gabriele Taentzer</string-name>
          <email>taentzer@informatik.uni-marburg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Steffen Vaupel</string-name>
          <email>svaupel@informatik.uni-marburg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Phillips-Universität Marburg</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Western Norway University of Applied Sciences</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Applications running on mobile devices are subject to frequent changes in connectivity to back-end infrastructure. In order not to disrupt service and ensure fault-tolerant operation, transaction-oriented mobile applications must be able to operate in both online and offline mode. Recently, a generic software architecture has been proposed [4] to accommodate mobile transaction models that support offline transaction processing in conjunction with data replication, reintegration, and synchronisation. We present an initial Coloured Petri Net (CPN) [2] model of a mobile transaction system and report on the first results on verifying its behavioural correctness using model checking.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        CPN model. Our goal is to develop a formal executable specification of the
mobile transaction architecture proposed in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. In particular, we want to verify
the correctness of conflict-free transactions for a given mobile application.
Furthermore, the CPN model should reflect the architecture and make it easy to
change the set of transactions for a concrete mobile application.
      </p>
      <p>Figure 1 shows the CPN module of the local transaction manager on the
mobile client for an example with a Debit transaction operating on a shared</p>
      <p>PNSE’17 – Petri Nets and Software Engineering
In/Out Amount In/Out State</p>
      <p>CxData CxLTMState</p>
      <p>Synchronize
Synchronize</p>
      <p>Amount. The application invokes the debit transaction via the Application place.
When operating in offline mode, the transactions executed are written in a Log.
The substitution transitions Synchronise and Replicate represent the two major
operational modes that allow data to be synchronised with the server-side when
online, and conflict-free replication of data to support offline operation. The
places CtoS and StoC are used for modelling the communication between the
client-side and the server-side.</p>
      <p>
        Verification. We perform verification using explicit-state model checking, as
supported by CPN Tools [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The state space for the Escrow-based payment
transaction system with a debit transaction has 7; 174 states and 22; 202 edges
and can be generated in less than three seconds. The transaction model replicates
the amount on the account such that all mobile clients have access to an equal
amount. A key property of the application is that independently of how the
clients go online and offline, it should always be possible to return to a consistent
state in which the sum of the amounts replicated to the clients is equal to the
total amount stored on the server-side. In computation tree logic (CTL), this
property can be expressed as AG EF p, where p is a state predicate expressing
that the state is consistent with respect to the amount.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>CPN</surname>
          </string-name>
          <article-title>Tools home page</article-title>
          .
          <source>www.cpntools.org.</source>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>K.</given-names>
            <surname>Jensen</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.M.</given-names>
            <surname>Kristensen</surname>
          </string-name>
          .
          <article-title>Coloured Petri Nets: A Graphical Language for Modelling and Validation of Concurrent Systems</article-title>
          .
          <source>Communications of the ACM</source>
          ,
          <volume>58</volume>
          (
          <issue>6</issue>
          ):
          <fpage>61</fpage>
          -
          <lpage>70</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>P. O'Neil.</surname>
          </string-name>
          <article-title>The Escrow Transactional Method</article-title>
          .
          <source>ACM Transactions on Database Systems</source>
          ,
          <volume>11</volume>
          (
          <issue>4</issue>
          ):
          <fpage>405</fpage>
          -
          <lpage>430</lpage>
          ,
          <year>1986</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>S.</given-names>
            <surname>Vaupel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Wlochowitz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Taentzer. A Generic Architecture Supporting Context-Aware Data</surname>
          </string-name>
          and
          <article-title>Transaction Management for Mobile Applications</article-title>
          . In Prof. of MobileSoft'
          <volume>16</volume>
          , pages
          <fpage>111</fpage>
          -
          <lpage>122</lpage>
          . ACM,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>