<?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">Internal behavior reduction for partner synthesis</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Niels</forename><surname>Lohmann</surname></persName>
							<email>niels.lohmann@uni-rostock.de</email>
							<affiliation key="aff0">
								<orgName type="department">Institut für Informatik</orgName>
								<orgName type="institution">Universität Rostock</orgName>
								<address>
									<settlement> Rostock</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Internal behavior reduction for partner synthesis</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">C712848940C022707EA2C60AF0284BFE</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-19T15:57+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>Communication is a unique feature of services and allows for reusing services in different compositions. To make a statement about the correctness of a service in isolation, partner synthesis is a proven technique. It overapproximates the service's behavior in any possible composition. Unfortunately, the complexity of partner synthesis is an order of magnitude higher than that of classical model checking techniques. This paper approaches this problem by tackling one source of complex ity, namely internal behavior (also called silent or τ -transitions). By applying rules known from compositional verification, we reduce the in ternal behavior of a service while preserving its external behavior, viz. its communication protocol.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head> Introduction</head><p>Correctness plays an important role in service-oriented systems, as they in creasingly realize business processes or other important infrastructures. Because failures of a single service may affect all other participants of the composition, thorough testing or verification is of paramount importance. In previous work <ref type="bibr">[]</ref>, we argued that partner synthesis is not only an effective means to check the correctness of single services, but can also be used to synthesize communication skeletons, construct operating guidelines, generate test suites, realize interac tion models, correct choreographies, configure business processes, or synthesize adapters. Further references can be found in a survey <ref type="bibr">[]</ref>. Thereby, a part ner of a service is another service such that their composition is correct (e. g., deadlock-free, sound, or weakly terminating).</p><p>Conceptually, a partner is synthesized by first overapproximating the service's behavior in any possible composition and then removing undesired states yielding deadlocks or livelocks. Unfortunately, the complexity of the partner synthesis is exponential in the size of the service; that is, both in the number of states and the size of the interface. Even worse, the service's behavior itself can already suffer from the state space explosion problem <ref type="bibr">[]</ref>, which makes the overall complexity of partner synthesis devastating.</p><p>As partner synthesis focuses on the external behavior of a service (i. e., its communication protocol), the internal behavior is only important when internal decisions are modeled. To this end, this paper aims at reducing internal behavior of a service while preserving its external behavior. As a result, we can construct partner services with reduced effort. We therefore sketch partner synthesis in the next section. As one contribution, we also survey in Sect.  different approaches to leverage the complexity to classify our reduction. Section  provides the main contribution of this paper: We adjusted several state space reduction rules to reduce internal service behavior. To assess our approach, we implemented it and discuss in Sect.  some first experimental results and the impact of the reduction to the partner synthesis, before Sect.  concludes the paper.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head> Partner synthesis in a nutshell</head><p>We shall briefly sketch the partner synthesis approach of Wolf <ref type="bibr">[]</ref>. Given a service model, a partner cannot observe the service's state at runtime. Hence, the only information a partner can rely on are () the service model and its behavior (i. e., its state space), () its own actions from the past, and () the asynchronous messages it receives from the service or synchronizations with the service.</p><p>Consequently, a partner can only make a vague statement on the concrete state of a service, and can only guess a set of states (called knowledge) the service might be in. For instance, the initial knowledge of a partner consists of all states of the service it can reach without influence of the partner; that is, all states the service can reach by performing internal transitions (also called silent or τ -transitions) or by sending asynchronous messages to the partner. Each action of the partner results in changed knowledge. For instance, sending a message to the service may result in additionally enabled receiving transitions. After building all possible knowledges and removing "bad" knowledges; that is, knowledges which imply unwanted behavior of the composition (such as deadlocks or livelocks), the remaining graph (unless empty) can be used as a partner. The partner synthesis algorithm is implemented in two tools, Fiona <ref type="bibr">[]</ref> and Wendy [], we shall discuss later.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head> Reduction techniques for partner synthesis</head><p>There are several aspects that yield in the high complexity of the partner synthesis approach. For some of theses aspects already exist approaches to leverage the associated complexity.</p><p>State space. On source of complexity is the size of the state space of the service. Each knowledge is a subset of the service's states. Since services often employ concurrency, already this state space may be exponentially in the size of the service model. This state explosion can be fought in different fashions, and these state space reduction approaches can be classified as follows.</p><p>One idea is to reduce the original model (e. g., the Petri net or WS-BPEL process) before the calculation of the state space. The most prominent example for such an a priori reduction are Petri net reduction rules <ref type="bibr">[]</ref>. Applied to service models, these rules already allow to remove some internal behavior. However, experiments with business process models <ref type="bibr">[]</ref> show that their effect does not hardly justifies the required calculation time.</p><p>Another idea is not to generate the complete state space, but only a smaller fragment of it. An example for such an on-the-fly reduction are partial order tech niques, for instance CTL * preserving partial order reduction <ref type="bibr">[]</ref>. First experiments with such a technique implemented in the tool Fiona are promising.</p><p>Finally, state space reduction techniques can also be applied a posteriori ; that is, after the full state space is built, but before the partner synthesis. Such reduction rules <ref type="bibr">[]</ref> were already employed to reduce a characterization of all livelock-freely interaction partners [], but not for the partner synthesis itself. This shall be the contribution of this paper.</p><p>Knowledge. Once the state space is built, the number of knowledges is another source of complexity. Here, we face two problems. First, a lot of "bad" knowledges are generated, but later removed because they contain unwanted behavior. For instance, a service model may contain a deadlock which is only reached after following a certain communication protocol. To avoid such unnecessary calculation, static analysis techniques can be used to preprocess the state space and to avoiding the calculation of "bad" knowledges as early as possible <ref type="bibr">[]</ref>.</p><p>Second, not all knowledges need to be calculated in case only the existence of a partner is relevant. Such a (possibly less permissive) partner is usually much smaller. Weinberg <ref type="bibr">[]</ref> presents several partner reduction rules which turn out to be very effective during the partner synthesis of industrial service models <ref type="bibr">[]</ref>.</p><p>Representation. Finally, symbolic data structures such as binary decision dia grams [] may help to represent the state space and the knowledges in a compact manner. Early experiments <ref type="bibr">[]</ref> show that this technique known from model checking is also very effective when applied during partner synthesis.</p><p>The presented reduction techniques are modular, although they cannot be arbitrarily mixed. For instance, the tool Fiona [] generates the state space on the fly and implements partial order reduction techniques, partner reduction rules, and symbolic representation. A reimplementation of Fiona, Wendy [], generates the complete state space a priori to perform static analysis to avoid the calculation of "bad" knowledges. It also implements partner reduction rules. A case study <ref type="bibr">[]</ref> demonstrates that Wendy clearly outperforms Fiona. As Wendy does not implement any state space reductions, we shall focus on this aspect in the remainder of the paper.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head> Reduction of internal behavior</head><p>As mentioned earlier, Petri net reduction techniques are not effective enough to fight the state space reduction. Furthermore, on-the-fly reduction techniques cannot be combined with the powerful preprocessing techniques that avoid the generation of "bad" knowledge. Consequently, we shall investigate how a posteriori reduction techniques can be combined with partner synthesis.</p><p>To reduce the complexity of partner synthesis, we follow one idea: States of the service, that would always appear in the same knowledge, should be merged before the actual partner synthesis. As sketched in Sect. , this reduction particularly affects internal transitions, because -by definition -knowledge consists of those states that can be reached without interaction with the partner. Our approach takes the state space of a service model as input and constructs a reduced state space such that both the original and the reduced state space yield the same generated partner.</p><p>To achieve this goal, we employed state space reduction rules from Juan et al. <ref type="bibr">[]</ref>. These rules were defined to preserve IOT failure equivalence [], which is very closely related to the preservation of external behavior we are interested in. Figure  depicts four of these rules. Thereby, a dashed arc stands for an arbitrary number of transitions with an arbitrary label.  The rules are defined on the behavior of a service model and may appear very technical when considered in isolation. Nevertheless, the first two rules may allow the application of other rules. As special case of the third rule is when s 1 has no outgoing transitions other than the internal transition, see <ref type="bibr">Fig. (d)</ref>. Only this restricted setting is covered by a Petri net reduction rule <ref type="bibr">[]</ref>. In general, state space reduction rules allow for more reduction, because they can be applied on a simpler model and do not need to take concurrency into account. <ref type="bibr">Juan et al. []</ref> present more rules, but we refrain from a discussion of all of them. For instance, several rules deal with initial states. Furthermore, no original rule was aware of final states which are important in the area of services to distinguish desired final states from deadlocks or to detect livelocks.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Redundant parallel transitions</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head> Experimental results: effect to partner synthesis</head><p>We implemented the reduction rules described in the prior section as a component of Wendy <ref type="bibr">[]</ref>. It takes a Petri net service model as input, calls LoLA <ref type="bibr">[]</ref> to generate a state space and then iteratively applies the reduction rules until a fixed point is reached; that is, no more rules can be applied. The output is a reduced state space which is then used during the partner synthesis. The integration of the reduction component is still in an early stage of development.</p><p>As a proof of concept, we analyzed several WS-BPEL services from a con sulting company. Each process consists of around  WS-BPEL activities and models communication protocols and business processes of different industrial sectors. We translated the WS-BPEL processes into Petri nets using the compiler BPEL2oWFN implementing a feature-complete Petri net semantics <ref type="bibr">[]</ref>. Further more, the "Philosophers" service is an academic example.</p><p>Table <ref type="table" target="#tab_1"></ref> summarizes the results regarding the reduction: For most industrial models, nearly all internal transitions could be removed and the state space could be reduced dramatically. This is particularly important, because knowledges consist of subsets of these state spaces, so even a small reduction may have an exponential effect. The SMTP protocol shows, however, that the reduction is The partly devastating can be explained by the prototypic status of the implementation. Nevertheless, the runtime of the reduction can be seen as a worthwhile investment, as shown by Table <ref type="table" target="#tab_2"></ref>. We see that the synthesis times are usually much faster when the reduction is applied. Of course, we also need to take the reduction time into account. Nevertheless, only when analyzing the "Philosopher" model, the additional time does not pay off. Experiences from the implementation of Petri net reduction rules (i. e., parallel execution or index structures) may help to decrease the runtime by an order of magnitude.</p><p>More importantly, we can observe a dramatical reduction of around  % in the consumed memory. This allows us to synthesize partners for service models using a few megabytes rather than gigabytes.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head> Conclusion</head><p>Summary. In this paper, we discussed several sources of complexity of partner synthesis. We identified a large state space and in particular internal transitions as one reason partner synthesis might be intractable for larger service models. To tackle this problem, we presented a reduction technique that aims at reducing the internal behavior of service models. This technique is modular; that is, can be integrated in existing partner synthesis approaches. A prototypic integration into the partner synthesis tool Wendy [] demonstrated principal effectiveness of the reduction. We observed a dramatic decrease in memory consumption which allowed us to apply partner synthesis to models we could not analyze before. This reduced memory reduction, however, is currently traded by a suboptimal runtime of the reduction.</p><p>The approach has another advantage: it is compositional. Suppose the state space of the net is too large to be calculated. As this calculation is a prerequisite for the synthesis algorithm, no partner could be computed. The rules, however, allow for a compositional approach. That is, we can () divide the net into parts, () apply the reduction rules to the state space of each part, and () compose  We currently face a software bug when analyzing the reduced SMTP protocol model. reduced state spaces. The interested reader is referred to [] for a detailed discussion.</p><p>Lessons learnt. In retrospective, the results of this paper seem obvious and the approach straightforward. However, two questions were open in the run-up of this paper: First, little experimental results were published on the practical applicability of the reduction rules from <ref type="bibr">Juan et al. []</ref> and their effectiveness to real-life service models. Second, the exact effect of the reduction to partner synthesis was unclear. In particular, we did not foresee that reduced internal behavior could have such a positive effect on the memory consumption. Also the fact that already four reduction rules have such an effect was unclear. The "Philosophers" model further showed that much fewer knowledges need to be calculated when synthesizing partners.</p><p>We would like to point out that only a prototypic implementation and access to realistic service models allowed us to perform experiments and to answer these questions. Thereby, the modular architecture of the partner synthesis tool Wendy facilitated the integration of the reduction rules to the partner synthesis. These experiences follow the observations we described in a recent survey <ref type="bibr">[]</ref>. Both the tool Wendy [] and the experimental results are available via the Web site http://service-technology.org/live [].</p><p>Future work. In future work, several open issues need to be approached. As already pointed out, we need to improve the efficiency of the rule application. From a conceptual point of view, a combination of the presented approach and partial order reduction techniques would be promising. Partial order reduction aims at avoiding the state space explosion by not enumerating all possible orders of transitions and intermediate states. This usually results in very small and also simpler structured state spaces. This in turn should boost the applicability of the reduction rules. Finally, a look at related rules [] may allow for further reduction.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head></head><label></label><figDesc>Fig. . Reduction rules</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>Fusion of internal loops. The internal transitions between the two states s 1 and s 2 are not observable. When in either state, the other state remains reachable without influence of a partner. Consequently, both states can be merged to a new state s 12 . The internal loop is replaced by a self-loop, see Fig. (b). States linked by internal transition. s 1 and s 2 are linked by an internal transition. For each outgoing transition of s 1 exists an outgoing transition of s 2 with the same label that reaches the same state. As a result, s 2 does not restrict any behavior compared to s 1 and the states can be safely merged to a new state s 12 , see Fig. (c).</figDesc><table /><note>. As the environment cannot distinguish which transition was taken, and both transitions reach the same state s 2 , one transition can be safely removed, see Fig.(a). Note that this rule is not restricted to τ labels, but can also be applied for arbitrary communication transitions.</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head>Table  .</head><label></label><figDesc>Experimental results: effect of reduction to internal behavior</figDesc><table><row><cell></cell><cell cols="3">sizes before reduction</cell><cell cols="3">sizes after reduction</cell><cell>reduction</cell></row><row><cell>service model</cell><cell>states</cell><cell cols="5">trans. τ trans. states trans. τ trans.</cell><cell>time</cell></row><row><cell>Deliver goods</cell><cell>4,148</cell><cell>13,832</cell><cell>9,288</cell><cell>150</cell><cell>397</cell><cell>12</cell><cell>3 s</cell></row><row><cell>Car analysis</cell><cell>11,381</cell><cell>39,865</cell><cell>27,231</cell><cell>420</cell><cell>1,211</cell><cell>164</cell><cell>64 s</cell></row><row><cell>Identity card</cell><cell>14,569</cell><cell>71,332</cell><cell>66,500</cell><cell>25</cell><cell>37</cell><cell>0</cell><cell>108 s</cell></row><row><cell>Product order</cell><cell>14,990</cell><cell>50,193</cell><cell>34,159</cell><cell>504</cell><cell>1,458</cell><cell>135</cell><cell>104 s</cell></row><row><cell cols="3">SMTP protocol 26,667 110,065</cell><cell cols="3">80,137 23,381 99,304</cell><cell>70,646</cell><cell>2,101 s</cell></row><row><cell>Philosophers</cell><cell cols="5">92,206 427,312 113,023 19,683 98,415</cell><cell>0</cell><cell>7,236 s</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head>Table  .</head><label></label><figDesc>Experimental results: effect of reduction to partner synthesis</figDesc><table><row><cell></cell><cell cols="3">synthesis without reduction</cell><cell cols="3">synthesis with reduction</cell></row><row><cell>service model</cell><cell>knowledges</cell><cell>time</cell><cell cols="4">memory knowledges time memory</cell></row><row><cell>Deliver goods</cell><cell>1,376</cell><cell>3 s</cell><cell>18 MB</cell><cell>1,376</cell><cell>0 s</cell><cell>3 MB</cell></row><row><cell>Car analysis</cell><cell>1,448</cell><cell>75 s</cell><cell>368 MB</cell><cell>1,176</cell><cell>2 s</cell><cell>13 MB</cell></row><row><cell>Identity card</cell><cell>1,536</cell><cell>88 s</cell><cell>427 MB</cell><cell>1,536</cell><cell>0 s</cell><cell>2 MB</cell></row><row><cell>Product order</cell><cell>57,996</cell><cell cols="2">299 s 1,467 MB</cell><cell>53,324</cell><cell>12 s</cell><cell>75 MB</cell></row><row><cell>SMTP protocol</cell><cell>13,456</cell><cell>210 s</cell><cell>249 MB</cell><cell>-</cell><cell>-</cell><cell>-</cell></row><row><cell>Philosophers</cell><cell cols="3">481,646 4,098 s 6,078 MB</cell><cell>19,682</cell><cell>35 s</cell><cell>98 MB</cell></row><row><cell cols="7">not always effective. One reason might be that we have not implemented all</cell></row><row><cell cols="3">applicable rules of Juan et al. [] yet.</cell><cell></cell><cell></cell><cell></cell><cell></cell></row></table></figure>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Acknowledgments. The author thanks Christian Stahl for his feedback on an earlier version of this paper and for pointing out the compositionality aspect.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">From public views to private views -correctness-by-design for services</title>
		<author>
			<persName><forename type="first"></forename><surname>Aalst</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">M P V D</forename><surname>Lohmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Massuthe</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Stahl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Wolf</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">LNCS </title>
				<editor>
			<persName><forename type="first">Ws-Fm</forename><surname></surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Graph-based algorithms for Boolean function manipulation</title>
		<author>
			<persName><forename type="first"></forename><surname>Bryant</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">E</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE Trans. Computers C-</title>
				<imprint>
			<biblScope unit="page" from="" to="" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Instantaneous soundness checking of industrial business process models</title>
		<author>
			<persName><forename type="first"></forename><surname>Fahland</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Favre</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Jobstmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Koehler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Lohmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Völzer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Wolf</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">LNCS </title>
				<imprint>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
	<note>BPM </note>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">A partial order approach to branching time logic model checking</title>
		<author>
			<persName><forename type="first">R</forename><surname>Gerth</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Kuiper</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Peled</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Penczek</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="s">Inf. Comput. </title>
		<imprint>
			<biblScope unit="page" from="" to="" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Compositional verification of concurrent systems using Petri-net-based condensation rules</title>
		<author>
			<persName><forename type="first"></forename><surname>Juan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">Y T</forename><surname>Tsai</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">J P</forename><surname>Murata</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Trans. Program. Lang. Syst. </title>
		<imprint>
			<biblScope unit="page" from="" to="" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Symbolic representation of operating guide lines for services</title>
		<author>
			<persName><forename type="first">K</forename><surname>Kaschner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Massuthe</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Wolf</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Petri Net Newsletter </title>
				<imprint>
			<biblScope unit="page" from="" to="" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">A feature-complete Petri net semantics for WS-BPEL </title>
		<author>
			<persName><forename type="first">N</forename><surname>Lohmann</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">LNCS </title>
				<editor>
			<persName><forename type="first">Ws-Fm</forename><surname></surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">service-technology.org/live -replaying tool experiments in a Web browser</title>
		<author>
			<persName><forename type="first">N</forename><surname>Lohmann</surname></persName>
		</author>
		<ptr target="CEUR-WS.org" />
	</analytic>
	<monogr>
		<title level="m">CEUR Workshop Proceedings </title>
				<imprint/>
	</monogr>
	<note>BPM Demos </note>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Wendy: A tool to synthesize partners for services</title>
		<author>
			<persName><forename type="first">N</forename><surname>Lohmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Weinberg</surname></persName>
		</author>
		<ptr target="http://service-technology.org/wendy" />
	</analytic>
	<monogr>
		<title level="m">LNCS </title>
				<editor>
			<persName><forename type="first">Petri</forename><surname>Nets</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first"></forename></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">How to implement a theory of correctness in the area of business processes and services</title>
		<author>
			<persName><forename type="first">N</forename><surname>. Lohmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Wolf</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">LNCS </title>
				<imprint>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
	<note>BPM </note>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Fiona: A tool to analyze interacting open nets</title>
		<author>
			<persName><forename type="first">P</forename><surname>Massuthe</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Weinberg</surname></persName>
		</author>
		<ptr target="http://service-technology.org/fiona" />
	</analytic>
	<monogr>
		<title level="s">CEUR Workshop Proceedings</title>
		<editor>WS.</editor>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Petri nets: Properties, analysis and applications</title>
		<author>
			<persName><surname></surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Murata</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the IEEE ()</title>
				<meeting>the IEEE ()</meeting>
		<imprint>
			<biblScope unit="page" from="" to="" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">The state explosion problem</title>
		<author>
			<persName><surname></surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Valmari</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Advanced Course on Petri Nets</title>
				<imprint>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
	<note>LNCS </note>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Efficient controllability analysis of open nets</title>
		<author>
			<persName><surname></surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Weinberg</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">LNCS </title>
				<editor>
			<persName><forename type="first">Ws-Fm</forename><surname></surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Generating Petri net state spaces</title>
		<author>
			<persName><surname></surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Wolf</surname></persName>
		</author>
		<ptr target="http://service-technology.org/lola" />
	</analytic>
	<monogr>
		<title level="m">LNCS </title>
				<editor>
			<persName><forename type="first">Petri</forename><surname>Nets</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first"></forename></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Verifying livelock freedom in an SOA scenario</title>
		<author>
			<persName><surname></surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Wolf</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Wolf</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Stahl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Ott</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Danitz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ACSD </title>
				<imprint>
			<publisher>IEEE Computer Society</publisher>
		</imprint>
	</monogr>
	<note>Does my service have partners? LNCS ToPNoC</note>
</biblStruct>

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