<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Towards Verification of Connection-Aware Transaction Models for Mobile Applications</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Lars</forename><forename type="middle">M</forename><surname>Kristensen</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Western Norway University of Applied Sciences</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Gabriele</forename><surname>Taentzer</surname></persName>
							<affiliation key="aff1">
								<orgName type="institution">Phillips-Universität Marburg</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Steffen</forename><surname>Vaupel</surname></persName>
							<affiliation key="aff1">
								<orgName type="institution">Phillips-Universität Marburg</orgName>
							</affiliation>
						</author>
						<title level="a" type="main">Towards Verification of Connection-Aware Transaction Models for Mobile Applications</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">DD6FA1531DCB235A56B288C72110FAFD</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-23T22:22+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><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></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Introduction. Mobile client applications often need to execute transactions that read and write shared data sets stored on a server-side infrastructure. Examples include applications involving local payment, where concurrently running applications need access to funds from a shared account. A challenge in this scenario is that mobile devices may often loose connectivity. To avoid disruption of service, the application must be able to operate even when the mobile device is offline. This requires specialised transaction models that replicate data for offline operation and which synchronise data when coming back online.</p><p>Several conflict-free transaction models have been proposed to support such scenarios. As an example, the Escrow transaction model <ref type="bibr" target="#b1">[3]</ref> is based on a logical split of the shared data set, and can be used to for instance give a mobile application access to a restricted amount of funds on an account. Vaupel et al. <ref type="bibr" target="#b2">[4]</ref> have proposed a generic architecture that includes online and offline transaction processing, replication, synchronisation and re-integration of data and which is able accommodate different conflict-free mobile transaction models.</p><p>CPN model. Our goal is to develop a formal executable specification of the mobile transaction architecture proposed in <ref type="bibr" target="#b2">[4]</ref>. 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 <ref type="figure">1</ref> shows the CPN module of the local transaction manager on the mobile client for an example with a Debit transaction operating on a shared 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 <ref type="bibr">[1]</ref>. 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></div>		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Coloured Petri Nets: A Graphical Language for Modelling and Validation of Concurrent Systems</title>
		<author>
			<persName><forename type="first">K</forename><surname>Jensen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">M</forename><surname>Kristensen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Communications of the ACM</title>
		<imprint>
			<biblScope unit="volume">58</biblScope>
			<biblScope unit="issue">6</biblScope>
			<biblScope unit="page" from="61" to="70" />
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">The Escrow Transactional Method</title>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">O</forename><surname>Neil</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Transactions on Database Systems</title>
		<imprint>
			<biblScope unit="volume">11</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page" from="405" to="430" />
			<date type="published" when="1986">1986</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">A Generic Architecture Supporting Context-Aware Data and Transaction Management for Mobile Applications</title>
		<author>
			<persName><forename type="first">S</forename><surname>Vaupel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Wlochowitz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Taentzer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Prof. of MobileSoft&apos;</title>
		<imprint>
			<biblScope unit="volume">16</biblScope>
			<biblScope unit="page" from="111" to="122" />
			<date type="published" when="2016">2016</date>
			<publisher>ACM</publisher>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
