<?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">On Temporal Abstractions of Web Service Protocols</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Boualem</forename><surname>Benatallah</surname></persName>
							<email>boualem@cse.unsw.edu.au</email>
							<affiliation key="aff0">
								<orgName type="department">CSE</orgName>
								<orgName type="institution">UNSW</orgName>
								<address>
									<postCode>2052</postCode>
									<settlement>Sydney</settlement>
									<region>NSW</region>
									<country key="AU">Australia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Fabio</forename><surname>Casati</surname></persName>
							<email>casati@hpl.hp.com</email>
							<affiliation key="aff1">
								<orgName type="institution">Hewlett-Packard Laboratories</orgName>
								<address>
									<postCode>94304</postCode>
									<settlement>Palo Alto</settlement>
									<region>CA</region>
									<country key="US">USA</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Julien</forename><surname>Ponge</surname></persName>
							<email>ponge@isima.fr</email>
							<affiliation key="aff2">
								<orgName type="institution" key="instit1">LIMOS</orgName>
								<orgName type="institution" key="instit2">UBP Clermont-Ferrand</orgName>
								<address>
									<country key="FR">France</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Farouk</forename><surname>Toumani</surname></persName>
							<email>ftoumani@isima.fr</email>
							<affiliation key="aff2">
								<orgName type="institution" key="instit1">LIMOS</orgName>
								<orgName type="institution" key="instit2">UBP Clermont-Ferrand</orgName>
								<address>
									<country key="FR">France</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff3">
								<orgName type="department">Faculdade de Engenharia</orgName>
								<orgName type="institution">Universidade do Porto</orgName>
								<address>
									<addrLine>ISBN 972</addrLine>
									<postCode>2005 --752-078-2</postCode>
									<country key="PT">Portugal</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">On Temporal Abstractions of Web Service Protocols</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">B939D46E76FE809C48377A0E8B900704</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-25T06:10+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/>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Web services are increasingly gaining acceptance as a framework for facilitating application-to-application interactions within and across enterprises. They provide abstractions and technologies for exposing enterprise applications as services and make them accessible programmatically through standardized interfaces. However, tools supporting service development today provide little support for high level modeling and analysis of abstractions at higher level of services stack, and in particular there is little support for protocol modeling and management. We believe that indeed protocol modeling and management will be key in supporting Web service development and interaction, and that developing formal models and a protocol algebra will have a positive impact similar to the one that the relational model and the relational algebra had in database technology.</p><p>When developing our framework for service protocols modeling, analysis, and management <ref type="bibr" target="#b0">[1,</ref><ref type="bibr" target="#b1">2]</ref>, we identified the need for representing temporal abstractions in protocol descriptions. In particular, our analysis of the characteristics and requirements of service protocols in terms of description languages, we found that, in addition to message choreography constraints, protocol specification languages need to cater for time-sensitive conversations (i.e., conversations that are characterized by temporal constraints on when an operation must or can be invoked). For example, a protocol may specify that a purchase order message is accepted only if it is received within 24 hours after a quotation has been received. In this paper, we discuss the augmentation of business protocols with specifications of temporal abstractions (called timed protocols). Then we motivate, through examples, a need for analyzing timed protocol specifications, and specifically for identifying if and under what conditions two services, characterized by certain timed protocols, can interact. Technical details are given in an extended version of this paper <ref type="bibr" target="#b2">[3]</ref> where a formal timed business protocol model is presented and operators that enable characterizing compatibility and replaceability classes for timed protocols are described.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Modeling temporal abstractions in business protocols</head><p>In our approach, business protocols are modeled as deterministic finite state machines, where the states represent the different phases in which a service may go through during its interaction with a requestor. Transitions are triggered by messages sent by the requestor to the provider or vice versa (hence, transitions are labeled with either input or output messages). As an example, Figure <ref type="figure" target="#fig_0">1</ref> shows a graphical representation of a protocol P that describes the external behavior of an order management service that allows users to buy some kinds of goods. Each transition is labeled with a message name followed by the message polarity, that is, whether the message is incoming (plus sign) or outgoing (minus sign) <ref type="bibr" target="#b3">[4]</ref>   In our previous work on protocol modeling <ref type="bibr" target="#b0">[1]</ref>, we identified that catering for temporal abstractions in protocol descriptions is an important requirement. In particular, our analysis of the characteristics and requirements of service protocols in terms of description languages, we found that, although most state transitions occur due to explicit operation invocations, there are cases in which transitions occur without an explicit invocation by requesters. We refer to these transitions as implicit transitions. The large majority of implicit transitions are due to timing issues (deadline expirations). For example, many services allow requestors to reserve a resource or to perform certain actions (invoke certain operations) only within a time window, after which these operations cannot be performed any more. For example, consider again the protocol P of Figure <ref type="figure" target="#fig_0">1</ref>. This protocol specifies that when the service enters the state Quoted, a quotation is valid only for 3 days (equal to 4320 minutes), a time interval within which the user can order the selected goods (operation order). After this period of time, the conversation moves to the final state canceled, denoting that the server has canceled the order (implicit transition expired with a temporal constraint 4320min). Note that the implicit transition expired imposes time constraints on all transitions that can be fired from state Quoted (i.e., the operations order, searchGoods and cancel), as once it fires it leads the conversation to a state from which those operations are not allowed. An analogous reasoning can be applied to transition Cancellation deadline expired.</p><p>We use the term timed busisness protocol (or timed protocol for short) to denote a business protocol whose definition contains timed transitions. The se-mantics of timed protocols is based on the notion of timed traces. For example, consider an execution of a service S that supports a protocol P of figure <ref type="figure" target="#fig_0">1</ref>. We use the expression (searchGoods(+),1) to denote the occurence of the message search-Goods at an instant t=1. t represents the elapsed time since the beginning of the execution of S. A timed trace of a protocol is then defined as a sequence of such pairs. As an example, the sequence of pairs (login(+),0) . (searchGoods(+),1) . (addToCart(+),3) . (quoteRequest(+),7) . (cancel(+),120)) is a timed trace which is compliant with the protocol P.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Compatibility and replaceability in timed protocols</head><p>This section discusses the problem and motivates the need for timed protocol analysis (and specifically compatibility and replaceability analysis). Once services are endowed with protocol specifications, protocol management operators can be identified to perform the following type of analysis: (1) compatibility analysis refers to checking if the protocol of a requestor and of a provider are compatible, that is, if conversations can take place between the services, and (2)replaceability analysis refers to checking if a service provider R can replace another service provider S from a protocol standpoint, that is, if R can support the same conversation that S supports.</p><p>For both compatibility and replaceability, we have defined classes to identify different levels of compatibility and replaceability, as well as operators that can be applied to protocol definition to asses the level of compatibility and replaceability <ref type="bibr" target="#b1">[2]</ref>. In the sequel, we discuss the novel opportunities and needs that timed protocols bring in this regard.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Compatibility in timed protocols</head><p>We present several examples related to protocol compatibility (resp., replaceability) analysis, starting from a simple case to more complex ones. Consider protocol P depicted on Figure <ref type="figure" target="#fig_0">1</ref> and its reversed protocol P' obtained from P by reversing the polarity of the messages (i.e., input messages becomes outputs and vice versa). P' can interact correctly with P in the sense that, considering a given interaction between these two protocols, whenever P' sends a message at an instant t, the protocol P could receive it and vice versa. For example, protocol P' supports the following complete timed trace: (login(-),0) . (searchGoods(-),1) . (addToCart(-),2) . (quoteRequest(-),3) . (cancel(-),4) In this trace, cancel is the only operation whose temporal availability is restricted since both P and P' have an implicit transition that is fired 4320 minutes after having entered the Quoted state. In the previous trace the cancel message is sent by P' only 1 minute after the quotation has been performed, hence the message is legal.</p><p>We now illustrate a simple example of incompatibility between two protocols. Consider a protocol P' that supports the following timed trace: (login(-),0) . (searchGoods(-),1) . (addToCart(-),2) . (quoteRequest(-),3) . (cancel(-),4350). During such an execution, P' cannot interact correctly with the protocol P of Figure <ref type="figure" target="#fig_0">1</ref>. Indeed, P' will fire the operation cancel 7347 minutes after the quotation has been performed, which is more than the 4320 minutes allowed by P (i.e., P has already moved to the Canceled state).</p><p>The previous cases were simple to check because it was sufficient to compare pairs of states locally. The following example illustrates a more complex case. Consider the protocols P and P' depicted on Figure <ref type="figure" target="#fig_1">2</ref>. Unlike the previous exam- ples, the two protocols have very different shapes. For instance, we can observe that after the execution of the operation x the protocols P and P' move, respectively, to the states s 0 and s 0 . These states do not offer the same operations (at least if we consider the operations that are defined explicitly at these two states). The state s 0 provides the operations a, b and c while the state s 0 only provides the operations a and b. Consequently, focusing compatibility checking only on these two states is not enough. Indeed the operation c for example may be available for a client interacting with this service after 240 minutes. This is due to the presence of an implicit transition i 1 that automatically leads a service to the state s 0 from which c can be fired. Note that to check if protocol P and P' are compatible we need also to consider all the states that are automatically (implicitly) reachable from a given state. In our case, checking if s 0 and s 0 are compatible implies that we also consider s 1 and s 2 since they can be reached from s 0 through i 1 and i 2 . More precisely, we need to make explicit all the operations, and their associated timing constraints, that are available at these states. For example, as given below, looking to the implicit transitions, we can derive the temporal availabilities of the operations at the states s 0 and s 0 .</p><formula xml:id="formula_0">(P) ⎧ ⎨ ⎩ a : [0min, 540min] b : [0min, 540min] c : [0min, 540min] (P ) ⎧ ⎨ ⎩ a : [0min, 240min] b : [0min, 780min] c : [240min, 540min]</formula><p>Operation a will be performed by P' during a temporal window where P is ready to accept the message fired by P'. The same is true for c. The case of b is different since it is P that sends the message. The temporal window defined by P' for receiving the related message is wider than the one used for P to send it, thus P' is ready to receive a message b fired by P. We see that conversations can take place between P and P' as the messages can be exchanged during the allowed temporal slices defined by each protocol. However the compatibility between s 0 and s 0 is not obvious since several other states have to be taken into account to get to the conclusion that a compatibility is effectively possible. However, note that compatibility is dependent on timing. In fact, not all conversations that can be generated by the client (P) can be supported by the provider (P'). If the client implementation is such that the client sends a message c right away after a message x, then it will cause the provider to respond with a fault message. Finally, the following example shows that implicit transitions can also influence the identification of final states and this naturally impacts compatibility analysis. Let's consider the 3 protocols P, P' and P" depicted on Figure <ref type="figure" target="#fig_2">3</ref>. We can observe that when interacting with P' or P", the protocol P will reach its final state after executing the operations a and b while P' and P" both remain at intermediary states (respectively, the states s 2 and s 2 ). Clearly, this is not a problem for P' as this protocol is able to automatically reach a final state from the state s 2 , and hence, its terminates correctly the conversation. Therefore, the interaction of P with P' is correct. However, P and P" are not compatible since P" remains in an intermediary state and will not be able to terminate correctly its execution (i.e., to reach a final state).</p><p>The above discussion has emphasized the need for a new compatibility class, called time-dependent compatibility. Protocols P and P' have time-dependent compatibility if they are compatible only when they exchange messages following certain time constraints. Hence, time-dependent compatibility is a kind of partial compatibility. Note that an implementation of a client may be able to read the service provider's protocol and time its interaction so that messages are sent when allowed. The discussion of such "adaptive" implementations is outside the scope of this paper, since as mentioned here we limit to protocol analysis without discussing service implementation and compliance.</p><p>Correspondingly, the discussion has also emphasized the need for operators that identify these time constraints resulting from the joint compatibility analysis of the two protocols, as shown earlier.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Replaceability in timed protocols</head><p>We now turn our attention to the replaceability problem. We will provide less examples here as the previous section has already given an indication of the issues that can arise.</p><p>Consider protocols P and P' depicted on Figure <ref type="figure" target="#fig_3">4</ref>. Like previously, the two states s 0 and s 0 do not offer directly the same operations as a is not available from s 0 while it is from s 0 for instance. Again, let's have a look at the states that are implicitely reachable from s 0 and s 0 to compute the temporal availabilities of the operations: This operation being a message reception, it does not cause a problem. Indeed, a requestor or P' does not know about c since P' does not support it. Thus, they will never attempt to fire it. Finally, P can well replace P' by looking at s 0 and s 0 .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Discussion and Conclusions</head><p>In this paper, we build upon our earlier work on service protocols modeling, analysis, and management <ref type="bibr" target="#b0">[1,</ref><ref type="bibr" target="#b1">2]</ref> to cater for temporal abstractions in business protocols. In the extended version <ref type="bibr" target="#b2">[3]</ref>, we provide a formal characterization of compatibility and replaceability classes for timed business protocols as well as operators for analyzing these classes. This work is part of a larger framework supported by a CASE tool, partially implemented, that manages the entire service development lifecycle. The objective of the framework is to provide a comprehensive methodology and platform that can facilitate large-scale interoperation of Web services and substantially reduce the service development effort.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. A sample timed business protocol P.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. Two compatible timed protocols.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 3 .</head><label>3</label><figDesc>Fig. 3. Another compatibility problem illustrated.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 4 .</head><label>4</label><figDesc>Fig. 4. A protocol P that can replace P'.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head></head><label></label><figDesc>0min, 10min], [20min, 35min] b : [0min, 40min] c : [10min, 20min] 0min, 35min] b : [0min, 35min] c : ∅ Protocol P can handle messages x, a and b from a client that is compatible with P' by looking at the temporal constraints. However P has an extra operation c.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>4 .</figDesc><table><row><cell></cell><cell></cell><cell></cell><cell></cell><cell cols="2">addToCart(+)</cell><cell>removeFromCart(+)</cell></row><row><cell>Start</cell><cell>login(+)</cell><cell>Logged</cell><cell cols="2">searchGoods(+)</cell><cell>Searching</cell></row><row><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>searchGoods(+)</cell></row><row><cell></cell><cell>cancellation</cell><cell></cell><cell></cell><cell cols="2">searchGoods(+)</cell><cell>quoteRequest(+)</cell></row><row><cell></cell><cell>deadline</cell><cell></cell><cell></cell><cell></cell></row><row><cell>Uncancellable</cell><cell>expired 2880min</cell><cell cols="2">Cancellable</cell><cell>order(+)</cell><cell>Quoted</cell></row><row><cell cols="2">deliver(−)</cell><cell></cell><cell></cell><cell cols="2">cancel(+)</cell><cell>expired 4320min</cell><cell>explicit transition</cell><cell>initial state</cell></row><row><cell>Delivered</cell><cell></cell><cell cols="2">cancel(+)</cell><cell></cell><cell>Canceled</cell><cell>implicit transition</cell><cell>final state</cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_0">In this paper, we use the notation m(+) (respectively, m(−)) to denote that m is an input (respectively, output) message.</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Web Service Conversation Modeling: A Cornerstone for e-Business Automation</title>
		<author>
			<persName><forename type="first">B</forename><surname>Benatallah</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Casati</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Toumani</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Internet Computing</title>
		<imprint>
			<biblScope unit="volume">6</biblScope>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Analysis and management of web services protocols</title>
		<author>
			<persName><forename type="first">B</forename><surname>Benatallah</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Casati</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Toumani</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Procs of ER&apos;04</title>
				<meeting>s of ER&apos;04<address><addrLine>Shanghai, China</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<author>
			<persName><forename type="first">B</forename><surname>Benatallah</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Casati</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Ponge</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Toumani</surname></persName>
		</author>
		<ptr target="http://www.isima.fr/ponge/research.shtml#TR-BCPT05a(2005" />
		<title level="m">On temporal abstractions of web services protocols</title>
				<imprint/>
	</monogr>
	<note type="report_type">Technical report</note>
	<note>extended version</note>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Protocol Specifications and Component Adaptors</title>
		<author>
			<persName><forename type="first">D</forename><surname>Yellin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Storm</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Trans. Program. Lang. Syst</title>
		<imprint>
			<biblScope unit="volume">19</biblScope>
			<biblScope unit="page" from="292" to="333" />
			<date type="published" when="1997">1997</date>
		</imprint>
	</monogr>
</biblStruct>

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