<?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">Observable Liveness</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Jörg</forename><surname>Desel</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Fakultät für Mathematik und Informatik</orgName>
								<orgName type="institution">FernUniversität in Hagen</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Görkem</forename><surname>Kılınç</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Fakultät für Mathematik und Informatik</orgName>
								<orgName type="institution">FernUniversität in Hagen</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
							<affiliation key="aff1">
								<orgName type="institution">Universitá degli Studi di Milano-Bicocca</orgName>
								<address>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Observable Liveness</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">0A50C48817AFEE7C3B2876B79D26DD99</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-23T22:54+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>Whereas the traditional liveness property for Petri nets guarantees that each transition can always occur again, observable liveness requires that, from any reachable marking, each observable transition can be forced to fire by choosing appropriate controllable transitions; hence it is defined for Petri nets with distinguished observable and controllable transitions. We introduce observable liveness and show this new notion generalizes liveness in the following sense: liveness of a net implies observable liveness, provided the only conflicts that can appear are between controllable transitions. This assumption refers to applications where the uncontrollable part models a deterministic machine (or several deterministic machines), whereas the user of the machine is modeled by the controllable part and can behave arbitrarily.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Liveness and boundedness have turned out to be the most prominent behavioral properties of Petri nets -a Petri net is considered to behave well if it is live and bounded. This claim is supported by many publications since decades, and in particular by the nice correspondences between live and bounded behavior of a Petri net and its structure, see e.g. <ref type="bibr" target="#b3">[4,</ref><ref type="bibr" target="#b10">11]</ref>. Nowadays workflow Petri nets receive a particular interest, and with them the behavioral soundness property. However, as shown in <ref type="bibr" target="#b15">[16]</ref>, soundness of workflow nets is identical to the combination of liveness and boundedness of the net obtained by addition of a feedback place (between the final and the initial transition) to a workflow net. This way, these behavioral properties are also applied to models of processes, that have a start and an end action.</p><p>This paper concentrates on liveness, but looks at yet another scenario: Petri nets with transitions that can be observable or unobservable (silent transitions), and can be controllable or not. These nets are inspired by Petri net applications in control theory <ref type="bibr" target="#b7">[8,</ref><ref type="bibr" target="#b1">2]</ref>, but can also be seen as a generalization of Petri nets with silent transitions. We provide a notion of liveness which is tailored for Petri nets with observable and controllable transitions, or for the systems modeled by these nets. Observable liveness of a model of a software system (embedded or not) with a user interface roughly means liveness from the user's perspective.</p><p>The standard definition of liveness for traditional Petri nets reads as follows:</p><p>A transition t is live if, for each reachable marking m, there is a marking m 0 reachable from m that enables t. A net is live if all its transitions are live.</p><p>We consider Petri net models of software systems where only some activities are observable, and only a subset of these can be controlled by a user (like a vending machine, which has a user interface and an internal behavior). Our liveness notion applies to such nets, which also have observable transitions and, among them, controllable ones. This liveness notion still follows the idea that, no matter which marking m was reached, an occurrence sequence can be constructed which includes a given transition t. However, in contrast to the traditional definition, -we only consider observable transitions t (i.e., if a transition cannot be observed then we do not care about it), -we assume that instead of constructing the entire sequence, we (i.e., the user) can only control the net by choosing controllable transitions whenever they are enabled, whereas the net is always free to fire uncontrollable transitions arbitrarily. In particular, if a controllable transition is in conflict with an uncontrollable one, the controllable one might fire but cannot be enforced by the user.</p><p>This paper consists of two main parts with two different aims: In the first part of the paper we motivate observable liveness notion for observable software system models. The second part concentrates on the special case where the uncontrollable part of the considered software system behaves deterministically, that means conflict situation can only occur between two controllable transitions. We show that liveness implies observable liveness if no uncontrollable part ever is in conflict with any other transition. This assumption refers to applications where the uncontrollable part models a deterministic machine, whereas the user of the machine is modeled by the controllable part and can behave arbitrarily.</p><p>The paper is organized as follows. In Section 2, we introduce our setting and illustrate a simple example. Section 3 is devoted to basic definitions. In Section 4 , we introduce the notion of observable liveness. Section 5 discusses some properties of the new notion and relate it with the traditional liveness. Section 6 is devoted to the case of deterministic uncontrollable behavior. We finish the paper with conclusions, related work and further ideas.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">The Setting</head><p>When defining observable liveness, several design decisions had to be made. We had a particular setting of a modeled system in mind, that motivated our choices. This section aims at explicating this setting and motivating our design decisions.</p><p>The generic software system to be modeled consists of a machine (or several machines), a user interface to this machine, and perhaps of activities and conditions which do not belong to the machine. The user can observe and control all activities outside the machine, he can neither control nor observe any activities inside the machine. Concerning the user interface, there are activities that the user can only observe but not control, whereas other interface activities might be both observable and controllable.</p><p>One might argue that instead of activities, only local states of machines are observable, for example a light which can be on or off. Then, instead of observing this state, in our setting we observe the activities that cause the changes of the state. In terms of nets, instead of observing a place, we observe the (occurrences of) transitions in the pre-or post-set of the place.</p><p>Controllable activities can be those not connected to the machine or can be activities of the interface. Whereas a controllable activity outside the machine is clearly also observable, one might argue that this is not obvious for controllable interface activities. In fact, if the activity can be caused by pressing a button, the user cannot be sure that with every use of this button the activity takes place. An additional prerequisite is that the activity is enabled by the machine, whereas buttons can always be pressed. So we implicitly assume that the user sees whether a controllable transition is enabled or not and can thus distinguish activities from non-activities caused by buttons.</p><p>Assume that a user wants to enforce an observable activity a after some previous run of the system. Then, depending on what he has observed so far, he should have a strategy to control activities in such a way that eventually he can observe a. By translating activities to transitions, the same holds for the Petri net model. The strategy is formalized by a function that maps an arbitrary sequence of observable transitions to a set of controllable transitions: if a sequence was observed, then one of these controllable transitions can be fired. Since the domain of this function is infinite in general, and its co-domain finite (theoretically exponential in the number of controllable transitions, but usually linear), different sequences are mapped to the same set. We assume that the user can effectively compute this function by using, e.g., only a finite history or an automata based approach. For generality of our approach, we nevertheless consider a strategy an arbitrary function as above.</p><p>There might be states in which controllable activities and uncontrollable ones are enabled, i.e., both the machinery and the user can do something. In such a state, we cannot expect that the user is able to do his controllable activity first. This means that, in case of competition between activities, the user does not have control if not only controllable activities are involved.</p><p>For an observably live activity, we want that the user can enforce the occurrence of this activity. Therefore, we provide an appropriate behavioral model of the net. Clearly, the user can only enforce any reaction from the machine if the machine obeys some progress assumption: we do not consider runs in which an uncontrollable transition is enabled, does not occur, and is not in conflict with any other occurring transition. Progress is only assumed for controllable transitions if they are persistently chosen by the response function and moreover concurrent to uncontrollable ones.</p><p>Throughout the paper, a controllable transition is illustrated via a black filled rectangle, an observable transition is illustrated by a bold rectangle, while unobservable ones are drawn by not bold rectangles. The incoming and outgoing arcs which are not connected to any place or transition are used when only a part of a net is shown. The example net shown in Fig. <ref type="figure" target="#fig_0">1</ref> models a vending machine with coffee and tea options. The user can operate the machine by inserting a coin and using three buttons (insert coin, choose coffee, choose tea and take money back are controllable transitions). Using these controllers, the user can take coffee, take tea or take his money back. The transitions coffee comes out, tea comes out and money comes out are observable, and the user can always force these transitions to occur by using the controllable ones. In other words, each of the observable transitions in the net is observably live and so the entire net is observably live. In case that there is no more coffee or tea, the machine needs a refill operation. In this case the user has to wait until the refill operation is done. Regarding the progress assumption, the refill operation will be done since refill coffee and refill tea transitions will fire eventually, and they are not in conflict with any transitions which can disable them. Note that the entire net is not live since the unobservable part includes a transition which can only fire once (init machine). However, this behavior does not affect our notion of observable liveness since the observable transitions can still be forced to fire. Considering such a machine, observable liveness is a useful notion to express the serviceability of a machine via an interface. We can generalize this for models of all kinds of software systems with a user interface. In this case, observable liveness expresses the liveness of a software system from the user's point of view.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Basic Definitions</head><p>An (initially marked) place/transition net N consists of a finite and non-empty set of places P , a finite and non-empty set of transitions T with P \ T = ;, a set of arcs F ✓ (P ⇥ T ) [ (T ⇥ P ) and an initial marking m 0 : P ! N. For a place or transition x, we denote its pre-set by</p><formula xml:id="formula_0">• x = {y 2 P [ T | (y, x) 2 F }.</formula><p>Similarly, the post-set of x is denoted by</p><formula xml:id="formula_1">x • = {y 2 P [ T | (x, y) 2 F }.</formula><p>A marking m is an arbitrary mapping m : P ! N. It enables a transition t if each place p 2 • t satisfies m(p) &gt; 0. If it enables t then t can fire, which leads to the successor marking m 0 , defined by</p><formula xml:id="formula_2">m 0 (p) = 8 &lt; : m(p) + 1 if p 2 t • , p / 2 • t m(p) 1 if p 2 • t, p / 2 t • m(p) otherwise</formula><p>We denote this by m t ! m 0 . The set of reachable markings of the net N , R(N ), is the smallest set of markings that contains the initial marking m 0 and satisfies</p><formula xml:id="formula_3">[m 2 R(N ) ^m t ! m 0 ] =) m 0 2 R(N ).</formula><p>The There are many different fairness notions for Petri nets (and previously for other models). Our notion -often also called progress assumption -was first mentioned in <ref type="bibr" target="#b11">[12]</ref>. It is particularly obvious for partially ordered behavior notions such as occurrence nets and can now be viewed as a standard notion.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Observable Liveness</head><p>In order to give the definition of observable liveness, we first stick to observable liveness of a single transition, which apparently has to be observable, and later define observable liveness of observable place/transition nets as observable liveness of all observable transitions.</p><p>So consider a single observable transition t which might be moreover controllable or not. If the net reaches from the initial marking m 0 a marking m by the occurrence of an arbitrary occurrence sequence 0 , an agent wants to enforce transition t by selecting appropriate controllable, enabled transitions. If this is always (for each reachable marking m) possible, then we call t observably live.</p><p>From the marking m, the net first proceeds arbitrarily and autonomously, i.e., some occurrence sequence 1 without controllable transitions occur. This sequence can be a) finite and lead to a deadlock, b) finite and lead to a marking that enables controllable and uncontrollable transitions, c) finite and lead to a marking that enables only controllable transitions, d) or infinite.</p><p>For the infinite case we demand weakly fair behavior w.r.t. all uncontrollable transitions, i.e. there is progress in all concurrent parts of the net.</p><p>For cases b) and c), the agent fires a controllable transition and then proceeds as before with a next autonomous sequence 2 , and so on. This will lead to either an infinite sequence i , or eventually to case a) or case d).</p><p>Our liveness notion should express that -in case of observable livenessthere always is (at least one) controllable transition after any sequence i in case c). To formalize this, (and to avoid an infinite alternation of 8 and 9) we introduce a response function ', which delivers a set of possible controllable transitions as a response of the agent to the sequence observed so far. Notice that an observed sequence does not determine the reached marking because unobservable transitions might occur, changing the marking but not effecting the observed sequence. In turn, different observed sequences might lead to the same marking.</p><p>We call the transition t observably live if, for some such response function, we eventually observe t in the sequence created this way.</p><p>More formally, the definition reads as follows:</p><p>Definition 1. Let ' : O ⇤ ! 2 C be a response function and let m 0 0 ! m be an occurrence sequence. We call an occurrence sequence , enabled at marking m, '-maximal if it is either an infinite composition</p><formula xml:id="formula_4">= 1 t 1 2 t 2 3 t 3 . . . or a finite composition = 1 t 1 2 t 2 . . . k t k µ,</formula><p>where k 0, satisfying the following: a) All i are finite and can be empty, µ is finite or infinite. b) For each t i we have t i 2 '( 0 1 t 1 2 t 2 . . . i ), i.e., t i is a response to the sequence observed so far. c) No i contains a controllable transition (i 1), and the same holds for µ.</p><p>Only for the second variant: d) µ is weakly fair w.r.t. all non-controllable transitions. µ is moreover weakly fair w.r.t. all controllable transitions t satisfying t / 2 '( 0 0 ) for only finitely many prefixes 0 of . e) If µ is finite then all transitions enabled after are controllable and do not belong to '( 0 ) (this includes deadlocks). Lemma 1. Assume that 0 leads from m 0 to a marking m and is a '-maximal occurrence sequence enabled at m.</p><formula xml:id="formula_5">If = 1 2 and m 1 ! m 1 , then 2 is a '-maximal occurrence sequence enabled at m 1 .</formula><p>Proof. The claim follows immediately from the definition of '-maximal occurrence sequence. u t Some comments: All i in Definition 1 are finite and succeeded by a controllable transition, chosen by the response function. If we get stuck in a deadlock, this is the case of a finite µ. We do not expect that after some i only controllable transitions are enabled. Therefore, there might be situations where the user can fire a controllable transition but also the net can proceed autonomously. If liveness can only be enforced by passivity of the user in this case, the response function yields the empty set for the observed sequence.  In the net shown in Fig. <ref type="figure" target="#fig_1">2</ref>.a., after the controlled occurrence of t 1 the system can choose between t 2 and t 4 . It can even always prefer t 2 , and t 4 never occurs. Only strong fairness would imply that eventually t 4 can be observed, but our chosen notion of weak fairness does not. So t 4 is not observably live. In Fig. <ref type="figure" target="#fig_1">2</ref>.b., the net of Fig. <ref type="figure" target="#fig_1">2</ref>.a. is extended by a concurrent sequence. Our weak fairness assumption implies that the left branch proceeds even if the right stays in an infinite loop. So transition t 3 is observably live. Figure <ref type="figure" target="#fig_1">2</ref>.c. illustrates the difference between our weak fairness and the one usually used in the literature, e.g. <ref type="bibr" target="#b12">[13]</ref>. We do not expect that t 6 eventually occurs although it remains enabled at each marking reached after the occurrence of t 4 .</p><p>However, since t 5 and t 6 share the input place p 5 we do have a conflict here. So again, t 3 is observably live and t 6 is not. In the net shown in Fig. <ref type="figure" target="#fig_3">3</ref>.a, there is a conflict between t 3 and t 4 . In this situation, even if the response function ' tells us to fire t 4 after t 1 , we cannot be sure that t 4 will stay enabled since the unobservable transition t 3 might also fire. Since we cannot force t 4 to fire, t 5 is not observably live. Now we define observable liveness as follows: Definition 2. An observable transition t of an observable place/transition net is observably live if there is a response function ' t : O ⇤ ! 2 C such that, for each m 0 0 ! m, each ' t -maximal occurrence sequence enabled at m contains an occurrence of t. An observable place/transition net is observably live if all its observable transitions are observably live.</p><p>In this definition, "an occurrence of t" can be replaced by "infinitely many occurrences of t", as in the definition of traditional liveness. Theorem 1. An observable transition t of an observable place/transition net is observably live if and only if there is a response function ' t : O ⇤ ! 2 C such that, for each m 0 0 ! m, each ' t -maximal occurrence sequence enabled at m contains infinitely many occurrences of t.</p><p>Proof. Clearly we only have to prove ), because each occurrence sequence with infinitely many occurrences of t has at least one t-occurrence.</p><p>So assume observable liveness of t, i.e., a response function</p><formula xml:id="formula_6">' t : O ⇤ ! 2 C</formula><p>such that, for each m 0 0 0 ! m 0 , each ' t -maximal occurrence sequence enabled at m 0 contains an occurrence of t (notice that we replaced 0 by 0 0 and m by m 0 ).</p><p>Let m 0 0 ! m and let be a ' t -maximal occurrence sequence enabled at m. We have to show that contains infinitely many occurrences of t. By assumption we know that contains at least one occurrence of t. Let 1 be the prefix of that ends after the first occurrence of t and let</p><formula xml:id="formula_7">= 1 2 . Then m 0 0 1 ! m</formula><p>1 for some marking m 1 . This marking m 1 enables the ' t -maximal occurrence sequence</p><p>2 by Lemma 1. Again using the assumption, 2 contains an occurrence of t.</p><p>The arbitrary repetition of this argument yields arbitrarily many occurrences of t in , whence this sequence must have infinitely many t-occurrences. u t</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Properties and Relations with Traditional Liveness</head><p>In this section, we provide some properties of observable liveness and relations to traditional liveness.</p><p>Lemma 2. For each response function ' and each m 0 0 ! m, there is a 'maximal occurrence sequence enabled at m.</p><p>Proof. In order to construct a '-maximal occurrence sequence, we proceed iteratively. Assume that we constructed a finite sequence 0 , enabled at m, in accordance with a), b) and c) of Def. 1 and let m 0 ! m 0 . If m 0 enables an uncontrollable transition t or a controllable one which is in the current response set '( 0 0 ), then we append t to 0 . If there is more than one such candidate, we choose the least recently chosen such transition in order to ensure weak fairness.</p><p>If this is not possible then all transitions enabled after 0 are controllable and do not belong to '( 0 0 ), whence then 0 is a '-maximal occurrence sequence by e) of Def. ! m and assume that t is an observably live transition. There is a response function ' t such that each ' t -maximal occurrence sequence enabled at m contains an occurrence of t. So an infinite weakly fair occurrence sequence without controllable transitions which is enabled at some marking m 0 such that m 0 0 ! m 0 ! m 0 ! has to include t to be observably live. Since the sequence does not include any instance of t, t cannot be observably live.</p><p>u t Corollary 3. If an observable net without controllable transitions has an infinite and weakly fair occurrence sequence which does not include all the observable transitions then the net is not observably live. u t</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Deterministic Uncontrollable Behavior</head><p>As seen before, a live net is not necessarily observably live. The main reason is that, for proving liveness, we can always choose an appropriate occurrence sequence enabling some transition t whereas for observable liveness this choice is only possible for controllable transitions (which are not in conflict with unobservable ones) and the net behaves arbitrarily elsewhere.</p><p>In this section, we show that the situation is different if the only choices to be made are among controllable transitions. This is not an unrealistic setting; the automated part of a system often behaves deterministically (but still concurrently), whereas the user model might allow for alternatives.</p><p>Formally, deterministic behavior is given in terms of the conflict-free property, to be defined next. Intuitively, a transition is conflict-free if it is never in conflict with any other transition; if both are enabled then they are enabled concurrently. Since "never" refers to reachable markings, the definition applies to a net with an initial marking and its state space and not only to its structure. However, each two transitions that are ever in conflict necessarily share an input place which is thus forward branching. With concurrent behavior we mean that two transitions do not compete for tokens. If a place carries more than one token, one could argue that two transitions in its post-set still can occur concurrently (see <ref type="bibr" target="#b16">[17]</ref>). We take the stricter view that every two enabled transitions with a common input place (which can carry one or more tokens) are considered in conflict and not concurrent. Definition 3. A Petri net is conflict-free w.r.t. a transition u if, for each reachable marking m enabling u, every other transition v enabled at m is concurrent to u, i.e., • u \ • v = ;. Figure <ref type="figure" target="#fig_3">3</ref>.c shows a net fragment which is conflict-free w.r.t. all its unobservable transitions. Notice that there is concurrency between these transitions. Notice also that forward branching places are possible, provided every reachable marking enables at most one output transition of a branching place. The following lemma will be used frequently in the sequel. It follows immediately from the occurrence rule. Lemma 3. Assume two transitions u and v of a net, both enabled at some marking m, such that • u \ • v = ;. Then m enables u v as well as v u, and both sequences lead to the same marking.</p><p>u t</p><p>A well-known result for conflict-free nets <ref type="bibr" target="#b9">[10]</ref> is given by the following lemma. We provide a proof for the sake of self-containment, and since our lemma refers to a single conflict-free transition only.</p><p>Lemma 4. If a Petri net is conflict-free w.r.t. a transition u, and some reachable marking m enables u as well as a sequence u where u does not appear in , then m also enables the sequence u , and the occurrences of u and of u lead to the same marking.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Proof. By induction on the length of .</head><p>Base: If is the empty sequence then nothing has to be shown.</p><p>Step: Assume = v 0 . We have u 6 = v because u does not appear in . By conflict-freeness w.r.t. u and since m enables both u and v, these transitions are concurrent. Therefore, and by Lemma 3, m also enables the sequences v u and</p><formula xml:id="formula_8">v 0 u. Let m v ! m 0 .</formula><p>The induction hypothesis can be applied to the marking m 0 , enabling u and 0 u, yielding the sequence u 0 enabled at m 0 . So v u 0 is enabled at m. Again since u and v are concurrent and by Lemma 3, m also enables u v 0 , which is identical with u .</p><p>Since each transition occurs in u and in u the same number of times, and by the occurrence rule, the occurrences of these sequences lead to the same marking.</p><p>u t Lemma 5. If a Petri net is conflict-free w.r.t. a transition u, and some reachable marking m enables u as well as a sequence where u does not appear in , then m also enables the sequence u.</p><p>Proof. By induction on the length of .</p><p>Base: If is the empty sequence then nothing has to be shown.</p><p>Step: Assume = v 0 . We have u 6 = v because u does not appear in . By conflict-freeness w.r.t. u and since m enables both u and v, these transitions are concurrent. Therefore, and by Lemma 3, m also enables the sequence v u. Let m v ! m 0 . The induction hypothesis can be applied to the marking m 0 , enabling u and 0 , yielding the sequence 0 u enabled at m 0 . So v 0 u is enabled at m. We have v 0 = , which finishes the proof. u t</p><p>The following theorem constitutes the main result of this paper. It applies only to nets where the only possible conflicts occur between controllable transitions, i.e., to nets which are conflict-free w.r.t. all uncontrollable transitions. This rules out conflicts between two uncontrollable transitions as well as conflicts between controllable and uncontrollable transitions.</p><p>As a preparation, we need a couple of definitions and lemmas.</p><p>Definition 4. An occurrence sequence enabled at a marking m is called minimal towards t, where t is a transition, if ends with t, contains no other occurrence of t, and no transition in can be postponed, i.e., = 0 t, t does not occur in 0 , and cannot be divided as = µ 0 u µ 00 for some transition u, u 6 = t, such that µ 0 µ 00 is enabled at m, too.</p><p>A transition u can only occur if its input places carry tokens, and another transition v might have to occur before because it produces the token consumed by u. We then call the occurrence of v a causal predecessor of the occurrence of u. A minimal occurrence sequence towards a transition t contains one occurrence of t, its causal predecessors, the predecessors of these predecessors etc., and nothing else. In partially ordered runs, where causal dependence between transition occurrences is explicitly modeled by means of a partial order, this corresponds to a run containing the occurrence of t and all transition occurrences that precede t.</p><p>Definition 5. Given a sequence , any deletion (i.e, replacement by the empty sequence) of elements in yields a subsequence of . Its complementary sequence is the sequence obtained from by deleting all elements that appear in the subsequence.</p><p>This definition captures the case = 0 00 where 0 is a subsequence and 00 is its complementary sequence (and vice versa), but is more general. Lemma 6. Assume a conflict-free net with a reachable marking m, a transition t and an occurrence sequence enabled at m that contains an occurrence of t.</p><p>Then there exists a subsequence 0 of , enabled at m, which is minimal towards t. Moreover, if 00 is the complementary subsequence, m enables 0 00 .</p><p>Proof. Define µ as the prefix of which ends with the first occurrence of t, and let µ be the rest of . Clearly, µ is finite.</p><p>Assume that µ can be divided as µ = µ 0 u µ 00 such that µ 0 µ 00 is enabled at m and u does not occur in µ 00 . By Lemma 5, we can shift u behind µ 00 and thus obtain the sequence µ 0 µ 00 u. Still t occurs only once, being the last transition in µ 00 .</p><p>If u 1 is the rightmost transition (transition occurrence, respectively) in µ for which such a division is possible, we obtain from µ µ the sequence µ 0 1 µ 00 1 u 1 µ. Let µ 2 = µ 0 1 µ 00 1 . Now let u 2 be the rightmost transition with the same property for the sequence µ 2 and let µ 2 = µ 0 2 u 2 µ 00 2 . The same argument as above yields the sequence µ 0 2 µ 00 2 u 2 u 1 µ. Exhaustive repetition of this procedure yields smaller and smaller sequences µ i to be considered and eventually the sequence</p><formula xml:id="formula_9">µ 0 k µ 00 k u k u k i . . . u</formula><p>1 µ such that no further transition to be postponed can be found in µ 0 k µ 00 k . So this sequence is minimal towards t. By construction, it is a subsequence of , and</p><formula xml:id="formula_10">u k u k i . . . u 1 µ is the complementary subsequence. u t</formula><p>Starting with the next lemma, we additionally require 1-boundedness, i.e., we assume that no reachable marking assigns more than one token to a place. Lemma 7. Consider a 1-bounded and conflict-free Petri net with an arbitrary transition t. All initially enabled occurrence sequences which are minimal towards t lead to the same marking.</p><p>Proof. Consider two occurrence sequences µ 1 and µ 2 , both enabled at the initial marking, and both minimal towards t. We proceed by induction on the length of µ 1 .</p><p>Base: The sequence µ 1 has only one element if and only if µ 1 = t. So then t is initially enabled, and hence µ 1 = µ 2 = t.</p><p>Step: Assume that t is not initially enabled. We claim that there is an initially enabled transition u which appears in µ 1 as well as in µ 2 , i.e., µ 1 = µ 0 1 u µ 00 1 and µ 2 = µ 0 2 u µ 00 2 . When this claim is proven, we know by conflict-freeness that there are also initially enabled occurrence sequences u µ 0 1 µ 00 1 and u µ 0 2 µ 00 2 . By the induction hypothesis applied to the (new initial) marking obtained by firing u and to the sequences µ 0 1 µ 00 1 and µ 0 2 µ 00 2 , both sequences lead to the same marking, and we are finished.</p><p>So it remains to prove the claim, that some initially enabled transition occurs in µ 1 and in µ 2 . We proceed indirectly and assume the contrary. We again divide µ 2 as µ 0 2 µ 00 2 , now such that no transition of µ 0 2 occurs in µ 1 and the first transition in µ 00 2 , say v, occurs in µ 1 . By assumption, v is not initially enabled. The sequence µ 00 2 is not empty because both µ 1 and µ 2 contain t. We divide µ 1 as µ 0 1 µ 00 1 such that µ 00 1 begins with the first occurrence of v in µ 1 . Since v is not enabled initially, some place s 2 • v is initially unmarked. Since v is enabled after µ 0 1 and after µ 0 2 , s carries a token after the occurrence of µ 0 1 and after the occurrence of µ 0 2 . By conflict-freeness and since the sets of occurring transitions in µ 0 1 and µ 0 2 are disjoint, we can also fire both, i.e. µ 0 1 µ 0 2 , from the initial marking. This yields a marking with two tokens on the place s, contradicting 1-boundedness.</p><p>u t</p><p>The proof of the above lemma also shows that all minimal sequences towards t have the same length, whence these sequences are exactly the sequences with minimal length containing an occurrence of t.</p><p>Now we are ready for the main result: liveness of a 1-bounded net implies observable liveness, provided the only conflict that can appear are between controllable transitions. Although this result might seem obvious at first sight, its proof is surprisingly involved. The core argument of the proof is that, in a live Petri net, for each transition t, every reachable marking m enables an occurrence sequence m that includes an occurrence of t. If t is observable, then observable liveness requires that we can force t to occur by only providing a suitable response function ' t which controls the behavior whenever there is a conflict. So an obvious idea is to define ' t in such a way that always the next transition in m is responded, if this transition is controllable. However, ' t depends not on markings, but on observed sequences. That means, instead of t the user only knows the sequence of observable transitions of the initially enabled occurrence sequence 0 that leads to m. For this observed sequence, there might exist many sequences including unobservable transitions, and hence many different reached markings m, and so also many different occurrence sequences m . Instead of the unknown occurrence sequence 0 we consider the set of all occurrence sequences µ 0 satisfying µ 0 = 0 . Among these sequences we concentrate on the minimal ones. We will show that, if the net is 1-bounded, all these minimal occurrence sequences lead to the same marking which we call m 0 . We will moreover show that m, the marking reached by the occurrence of 0 is reachable from m 0 . However, these results only hold for conflict-free nets, and our considered net is not necessarily conflict-free. Since until now we only consider the behavior given by the observed transitions of 0 , since all controllable transitions are observable and since conflicts only appear among controllable transitions, we can transform the considered net into a conflict-free one, without spoiling the relevant behavior. By liveness (of the original net), m 0 enables an occurrence sequence containing t. First, we look at the first observable transition in . Since there are no conflicts, every occurrence sequence starting at m 0 possessing a weak fairness assumption eventually has to enable u. If u is controllable, it might be in conflict with some other transition. In this case we set ' t ( 0 = {u}) so that, if u is controllable or not, also u eventually occurs. Fortunately, the distance between this marking and a marking enabling t is smaller than the distance between m and a marking enabling t, where distance is defined in terms of the number of needed observable transitions to reach one marking from the other. So we can repeat the above considerations, this way defining ' t on the fly, until we eventually force t to occur.</p><p>Theorem 2. If a 1-bounded observable Petri net, which is conflict-free w.r.t. all uncontrollable transitions, is live, then it is observably live.</p><p>Proof. Consider a 1-bounded live observable Petri net which is conflict-free w.r.t. all uncontrollable transitions. We have to prove observable liveness, i.e., observable liveness of each observable transition t. So let t be an observable transition. To show observable liveness of t, we have to provide a response function ' t such that, for each m 0 0 ! m, each ' t -maximal occurrence sequence enabled at m eventually contains t.</p><p>The considered net is only partially conflict-free, because there might be conflicts between controllable transitions. To be able to apply the previous lemmas, we make the net conflict-free for a given initially enabled sequence µ 0 : For each observable transition v we add a fresh place s v , and an arc from s v to v. Then v can only occur when s v is marked. Now consider the sequence</p><formula xml:id="formula_11">µ 0 = v 1 v 2 . . . v k .</formula><p>For each transition v i in this sequence except the last (v k ) we add an arc from v i to s vi+1 . The place s v1 gets an initial token, the other new places remain unmarked initially.</p><p>By construction, every reachable marking of this extended net marks at most one of the new places. Since each observable transition has such a place in its preset, always at most one observable transition is enabled. Since conflicts are only possible between controllable transitions and since each controllable transition is observable, thus no conflict can appear. Therefore, this extended net is conflictfree. By construction, the new initial marking enables µ 0 in the extended net. The following claim also refers to an arbitrary initially enabled occurrence sequence µ 0 and to the net extended with the places as mentioned above. It generalizes Lemma 7:</p><p>Claim: All minimal occurrence sequences µ enabled at m 0 which satisfy µ = µ 0 lead to the same marking.</p><p>Proof of Claim: by induction on the length of µ 0 . Base: If µ 0 is empty then the only minimal sequence µ satisfying µ = µ 0 is the empty sequence.</p><p>Step: Let µ 1 , µ 2 be minimal occurrence sequences enabled at m 0 which satisfy</p><formula xml:id="formula_12">µ 1 = µ 2 = 0 . Let µ 1 = u 1 u 2 .</formula><p>. . u k and let u i be the first observable transition in µ 1 . Similarly, let µ 2 = v 1 v 2 . . . v l . Then the first observable transition v j in µ 2 satisfies u i = v j . We apply Lemma 6 to both sequences and thus obtain minimal subsequences towards u i (v j , respectively). By Lemma 7, both subsequences lead to the same marking. The induction hypothesis applies to the two complementary sequences. This ends the proof of the claim.</p><p>The unique (for a given µ 0 ) marking reached by a minimal sequence µ satisfying µ = µ 0 will be called m µ0 in the sequel. Abusing notation, we call the same marking of the original net also m µ0 , ignoring the additional places.</p><p>In the following, it will be useful to assume an arbitrary fixed total order on the set of observable transitions, i.e., if u and v are distinct observable transitions then either u v or v u.</p><p>By liveness of the original net, for each initially enabled occurrence sequence µ 0 there exists (at least one) occurrence sequence µ 0 0 ending with t which is enabled by m µ0 (in the original net). We assume that µ 0 0 has a minimal number of observable transitions among all sequences with the above property, i.e., µ 0 0 has minimal length. Among these minimal sequences we assume moreover that the first observable transition in µ 0 0 is minimal w.r.t. . Now we define ' t as follows: For each initially enabled occurrence sequence µ, we set ' t (µ) = {u} if µ 0 begins with u and u is controllable, and ' t (µ) = ; if µ 0 begins with u and u is not controllable. Notice that µ 0 contains t as its last transition and is hence not empty.</p><p>We now come back to the core of this proof and consider an arbitrary initially enabled occurrence sequence 0 which leads to a marking m. We have to show that each ' t -maximal occurrence sequence enabled at m eventually contains t.</p><p>We consider a conflict-free variant of the net as before, but instead of considering only the sequence 0 we add places according to the sequence 0 ' t ( 0 ), i.e., we allow to fire the observable transition ' t ( 0 ) after 0 . We proceed by induction on the number of observable transitions in 0 0 (which is defined above as an occurrence sequence ending with t enabled at m 0 with a minimal number of observable transitions).</p><p>Base: Assume that 0 0 = t. Then there is an occurrence sequence 0 0 , enabled at m 0 which eventually contains t (and no other observable transition). Since m is reachable from m 0 by Lemma 6, for each ' t -maximal occurrence sequence enabled at m there is a suitable prefix yielding a ' t -maximal occurrence sequence from m 0 . By conflict-freeness of the extended net and by weak fairness, each ' t -maximal occurrence sequence enabled at m 0 eventually contains t. Hence this holds in particular for those passing through m.</p><p>Step: Assume that 0 0 = u 1 u 2 . . . u k t, k 1. Arguing as in the Base case, there is an occurrence sequence 0 0 , enabled at m 0 which eventually contains u 1 (and no other observable transition). Since m is reachable from m 0 by Lemma 6, for each ' t -maximal occurrence sequence enabled at m there is a suitable prefix yielding a ' t -maximal occurrence sequence from m 0 . By conflict-freeness of the extended net and by weak fairness, each ' t -maximal occurrence sequence enabled at m 0 eventually contains u 1 . Hence this holds in particular for those passing m. So each ' t -maximal occurrence sequence enabled at m can be divided as 1 u 1 2 where 2 is again ' t -maximal, and 2 is shorter than . By the induction hypothesis, 2 contains t, and therefore so does . u t</p><p>In Fig. <ref type="figure" target="#fig_4">4</ref>, we see one net with a conflict and a conflict-free net. The net shown in Fig. <ref type="figure" target="#fig_4">4</ref>.a includes a conflict between a controllable transition and an uncontrollable transition (which is also unobservable). Although the net is live, since we cannot force t 1 to fire, both t 1 and t 3 are not observably live and so the net is not observably live. When the conflict in Fig. <ref type="figure" target="#fig_4">4</ref>.a is resolved, we get the net shown in Fig. <ref type="figure" target="#fig_4">4</ref>.b which is both live and observably live. The net shown in Fig. <ref type="figure" target="#fig_4">4</ref>.c is conflict-free w.r.t. all its uncontrollable transitions. Notice that there is a conflict between two controllable transitions t 4 and t 5 . We can choose the related controllable transition in order to observe the occurrence of any observable transitions. The only choice is ours to make, the uncontrollable part of the machine behaves deterministically. This net is both live and observably live.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7">Conclusion and Related Work</head><p>Petri nets are widely used in software engineering for modeling and verifying software systems <ref type="bibr" target="#b2">[3]</ref>. In this work, we provide a novel liveness notion which expresses the serviceability of a software system via an interface.</p><p>We considered a variant of Petri nets with observable transitions, where an observable transition can also be controllable. For further information about controllability and observability in Petri nets and using Petri nets in control theory, see <ref type="bibr" target="#b1">[2,</ref><ref type="bibr" target="#b14">15]</ref>.</p><p>In analogy to the usual definition of liveness of a Petri net, we provided a notion for observable liveness, which roughly means that a user can always enforce the occurrence of any observable transition, only by stimulating the net by choosing appropriate enabled controllable transition. Therefore it is necessary to assume that also the uncontrollable part of a net proceeds, i.e., we assume that the net behaves weakly fair. A similar notion, T -liveness, yet for different motivations, is represented in <ref type="bibr" target="#b8">[9]</ref>. One of the main differences is that only the fully controllable and observable nets are considered.</p><p>In general, liveness does not imply observable liveness and neither the opposite direction holds. This paper proves that for 1-bounded Petri nets with transitions that can be observable or additionally controllable, liveness implies observable liveness, where the latter means that control can force every transition to fire eventually from an arbitrary reachable marking -provided the net model behaves deterministically in its uncontrollable part. This control can only select enabled controllable transitions and is based only on the sequence of transitions observed so far. This way the result generalizes the obvious observation, that in a fully deterministic net a transition is live if and only if it eventually fires.</p><p>A future consideration refers to possible generalizations of our result. It clearly still holds when there is some limited nondeterminism in the uncontrolled part. For example, if two alternative uncontrollable transitions cause the same marking transformation, the result is not spoiled. More generally, we aim at defining an equivalence notion on nets, based on the respective observed behavior, which preserves observable liveness. Reduction rules, as defined e.g. in <ref type="bibr" target="#b0">[1]</ref>, <ref type="bibr" target="#b5">[6]</ref> and <ref type="bibr" target="#b3">[4]</ref> but also in many other papers, could be applied to the uncontrollable part leading to simpler but equivalent nets. However, there are obvious additional rules. For example, a rule that deletes a dead transition is sound w.r.t. the equivalence because dead uncontrollable transitions do not contribute to the observable liveness or non-liveness of the considered net.</p><p>As a future work, we plan to consider an automata approach for the implementation of the response function. The domain of the response function is defined infinite. In order to decide which controllable transitions can be fired next, an arbitrary history of observed transitions has to be considered. Often, a finite amount of the history is enough for this decision. If this is the case, an automata based approach can be used for the realization of the response function: the response then only depends on a state (of finitely many) of this automaton.</p><p>Concerning behavior, each run has an alternation between free choices of the machine (where in analysis all possibilities must be considered) and particular choices of the user. Therefore, describing the behavior with AND/OR-trees seems promising, maybe in combination with unfolding approaches. The partial order view would have obvious advantages to capture the progress assumption (that we called weak fairness) in a natural way <ref type="bibr" target="#b4">[5,</ref><ref type="bibr" target="#b13">14]</ref>.</p><p>A final remark concerns the relation to Temporal Logics. Since liveness and all reachability questions in traditional Petri nets use existential quantification on paths (of the reachability graph), and therefore require Branching Time concepts, our approach explicates reasons for desired activities, i.e., transition occurrences. More precisely, as in the discussion of liveness in this paper, we distinguish uncontrollable alternatives and controllable choices, to be able to express that a certain activity (of a user) leads to the eventual occurrence of an event, no matter how the uncontrollable activities behave (but assuming they do not refuse work at all). This is clearly a Linear Time property. So, very roughly speaking, we translate Branching Time properties to Linear Time properties, and at the same time add details about controllability and observability to the system model. Future work aims at these transformations not only in the context of liveness properties but for arbitrary properties expressed by logical formulae. A related work has been done by Haddad et al. in <ref type="bibr" target="#b6">[7]</ref>.</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. An observably live net which represents a vending machine.</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. Some example nets.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Figures 2 .</head><label>2</label><figDesc>Figures 2.a, 2.b, and 2.c illustrate the weak fairness notion employed in our definition of '-maximal occurrence sequence.In the net shown in Fig.2.a., after the controlled occurrence of t 1 the system can choose between t 2 and t 4 . It can even always prefer t 2 , and t 4 never occurs. Only strong fairness would imply that eventually t 4 can be observed, but our chosen notion of weak fairness does not. So t 4 is not observably live. In Fig.2.b., the net of Fig.2.a. is extended by a concurrent sequence. Our weak fairness assumption implies that the left branch proceeds even if the right stays in an infinite loop. So transition t 3 is observably live. Figure2.c. illustrates the difference between our weak fairness and the one usually used in the literature, e.g.<ref type="bibr" target="#b12">[13]</ref>. We do not expect that t 6 eventually occurs although it remains enabled at each marking reached after the occurrence of t 4 .</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 3 .</head><label>3</label><figDesc>Fig. 3. Example nets.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Fig. 4 .</head><label>4</label><figDesc>Fig.4. a: a net with a conflict, b: a conflict-free net, c: a net which is conflict-free w.r.t. its uncontrollable transitions.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>(after some finite initial phase, t is persistently enabled and not in structural conflict with any occurring transition). Notice that this definition is slightly weaker than the usual definition of weak fairness which only demands that t is persistently enabled. The occurrence sequence is weakly fair w.r.t. t if it is not weakly unfair w.r.t. t. By this definition, every finite occurrence sequence is weakly fair w.r.t. to all transitions.</figDesc><table><row><cell cols="5">If m 1 sequence (enabled at marking m t1 ! m 2 t2 ! m 3 t3 ! m 4 • • • , then t 1 ). If an occurrence sequence 1 t 2 t 3 t 4 . . . is called occurrence is finite, i.e.</cell></row><row><cell cols="5">= t The place/transition net is live if, for each reachable marking m and each 1 t 2 . . . t n , then we write m 1 ! m n+1 .</cell></row><row><cell cols="5">transition t, there exists a marking m 0 reachable from m that enables t. Equiv-</cell></row><row><cell cols="5">alently, it is live if and only if for each transition t and each finite occurrence</cell></row><row><cell cols="5">sequence enabled at m 0 there exists a transition sequence ⌧ such that ⌧ t is an</cell></row><row><cell cols="5">occurrence sequence enabled at m 0 . Note that in order to append two sequences,</cell></row><row><cell cols="5">the left hand one is supposed to be finite. In turn, when writing ⌧ we implicitly</cell></row><row><cell cols="3">express that is finite.</cell><cell></cell></row><row><cell cols="5">Transitions can be observable or non-observable, and they can be controllable</cell></row><row><cell cols="5">or non-controllable. We denote by O ✓ T the set of observable transitions and by C ✓ O the set of controllable ones. A place/transition net with observable and controllable transitions is called</cell></row><row><cell cols="5">observable place/transition net N = (P, T, F, m 0 , O, C). Given an occurrence</cell></row><row><cell cols="5">sequence of the place/transition net, its projection to the observable transi-</cell></row><row><cell cols="5">tions is called observable occurrence sequence. Conversely, a sequence t</cell><cell>1 t</cell><cell>2 t</cell><cell>3 . . .</cell></row><row><cell cols="5">of observable transitions is an observable occurrence sequence if and only if</cell></row><row><cell cols="3">there are finite sequences</cell><cell>0 ,</cell><cell>1 ,</cell><cell>2 , . . . of unobservable transitions such that</cell></row><row><cell>0 t</cell><cell>1 1 t</cell><cell>2 2 t</cell><cell></cell></row><row><cell></cell><cell cols="4">place/transition net is called bounded if R(N ) is finite. Equivalently, it is</cell></row><row><cell cols="5">bounded if and only if there exists a bound b such that each marking m 2 R(N ) satisfies for each place p: m(p)  b. It is called 1-bounded if this condition holds for b = 1.</cell></row></table><note>3 . . . is an occurrence sequence. An infinite occurrence sequence t 1 t 2 t 3 . . . enabled at some marking m is called weakly unfair w.r.t. some transition t if, for some k 2 N, t 1 t 2 . . . t k t is enabled at m and, for each j &gt; k, we have • t j \ • t = ;</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head></head><label></label><figDesc>By Lemma 2 there exists a ' t -maximal occurrence sequence. This implies that, for each reachable marking m, there exists an occurrence sequence which enables t, and so t is live. u t Corollary 1. An observably live net is live if all transitions are observable. u t Notice that Cor. 1 does not hold without the assumption that all transitions are observable. The shown in Fig. 3.b is not live since t 3 can never occur, but it is observably live. The converse of Prop. 1 does not hold in general. Figure 2.a, if t 4 is assumed to be connected to t 1 , shows a live net which is not observably live. However, if all transitions are controllable then liveness of t implies its observable liveness, as shown next: Proposition 2. If O = C = T then observable liveness of a transition t coincides with its liveness. Proof. By Prop. 1, we only have to show the implication (. Assume that t is live. We have to show that there is a response function ' t : O ⇤ ! 2 C such that, for each m 0 0! m, each ' t -maximal occurrence sequence enabled at m contains an occurrence of t. Since t is live, there exists an occurrence sequence 0 enabled at m such that t is enabled after 0 . . . . t i ) = {t i+1 } for i = 0, 1, . . . , k 1. Since all transitions are controllable, the unique ' t -maximal occurrence sequence consists of only controllable transitions. The i (for i = 1, 2, 3, . . .) given in Def. 1 are thus empty sequences, and so there is only one ' t -maximal occurrence sequence for each m.</figDesc><table><row><cell>Let function with ' t (t 0 0 t =</cell><cell>0 1 t</cell><cell>0 t = t</cell><cell>1 t</cell><cell>2 t</cell><cell>3 . . . t k and m</cell><cell>0</cell><cell>0</cell><cell>0 t ! . We choose any response</cell></row></table><note>1. u t Proposition 1. Each observably live transition t is live. Proof. Since t is an observably live transition there is a response function ' t such that for each m 0 0 ! m, each ' t -maximal occurrence sequence enabled at m includes t. 2 u t Corollary 2. If O = C = T , then observable liveness of a net coincides with liveness of the net. u t Proposition 3. Assume that in an observable net there is an infinite and weakly fair occurrence sequence without controllable transitions. Then each observable transition which does not appear in infinitely often is not observably live. Proof. Let m 0 0</note></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_0">PNSE'14 -Petri Nets and Software Engineering</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_1">J. Desel, G. Kılınç: Observable Liveness</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgements</head><p>The authors thank to Lucia Pomello and Luca Bernardinello for their valuable comments. This work was partially supported by MIUR and by MIUR -PRIN 2010/2011 grant 'Automi e Linguaggi Formali: Aspetti Matematici e Applicativi', code H41J12000190001.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Transformations and decompositions of nets</title>
		<author>
			<persName><forename type="first">Gérard</forename><surname>Berthelot</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Advances in Petri Nets</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">Wilfried</forename><surname>Brauer</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Wolfgang</forename><surname>Reisig</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Grzegorz</forename><surname>Rozenberg</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="1986">1986</date>
			<biblScope unit="volume">254</biblScope>
			<biblScope unit="page" from="359" to="376" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m" type="main">Introduction to Discrete Event Systems</title>
		<author>
			<persName><forename type="first">Christos</forename><forename type="middle">G</forename><surname>Cassandras</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Stephane</forename><surname>Lafortune</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2006">2006</date>
			<publisher>Springer-Verlag New York, Inc</publisher>
			<pubPlace>Secaucus, NJ, USA</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Petri nets and software engineering</title>
		<author>
			<persName><forename type="first">Giovanni</forename><surname>Denaro</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Mauro</forename><surname>Pezzè</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Lectures on Concurrency and Petri Nets</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">Jörg</forename><surname>Desel</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Wolfgang</forename><surname>Reisig</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Grzegorz</forename><surname>Rozenberg</surname></persName>
		</editor>
		<meeting><address><addrLine>Berlin Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2004">2004</date>
			<biblScope unit="volume">3098</biblScope>
			<biblScope unit="page" from="439" to="466" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Free Choice Petri Nets</title>
		<author>
			<persName><forename type="first">J</forename><surname>Desel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Esparza</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Cambridge tracts in theoretical computer science</title>
				<imprint>
			<publisher>Cambridge University Press</publisher>
			<date type="published" when="1995">1995</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">A guide to modelling and control with modules of signal nets</title>
		<author>
			<persName><forename type="first">Jörg</forename><surname>Desel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Hans-Michael</forename><surname>Hanisch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Gabriel</forename><surname>Juhás</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Robert</forename><surname>Lorenz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Christian</forename><surname>Neumair</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">SoftSpez Final Report</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">Hartmut</forename><surname>Ehrig</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Werner</forename><surname>Damm</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Jörg</forename><surname>Desel</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Martin</forename><surname>Große-Rhode</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Wolfgang</forename><surname>Reif</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Eckehard</forename><surname>Schnieder</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Engelbert</forename><surname>Westkämper</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2004">2004</date>
			<biblScope unit="volume">3147</biblScope>
			<biblScope unit="page" from="270" to="300" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">A reduction theory for coloured nets</title>
		<author>
			<persName><forename type="first">Serge</forename><surname>Haddad</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">European Workshop on Applications and Theory in Petri Nets</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">Grzegorz</forename><surname>Rozenberg</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="1988">1988</date>
			<biblScope unit="volume">424</biblScope>
			<biblScope unit="page" from="209" to="235" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Specification of asynchronous component systems with modal i/o-petri nets</title>
		<author>
			<persName><forename type="first">Serge</forename><surname>Haddad</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Rolf</forename><surname>Hennicker</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Mikaelh</forename><surname>Møller</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Trustworthy Global Computing</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">Martín</forename><surname>Abadi</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Alberto</forename><surname>Lluch</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Lafuente</forename></persName>
		</editor>
		<imprint>
			<publisher>Springer International Publishing</publisher>
			<date type="published" when="2014">2014</date>
			<biblScope unit="page" from="219" to="234" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">A survey of petri net methods for controlled discrete event systems</title>
		<author>
			<persName><forename type="first">Lawrence</forename><forename type="middle">E</forename><surname>Holloway</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Bruce</forename><forename type="middle">H</forename><surname>Krogh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alessandro</forename><surname>Giua</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Discrete Event Dynamic Systems</title>
		<imprint>
			<biblScope unit="volume">7</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="151" to="190" />
			<date type="published" when="1997">1997</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Design of t-liveness enforcing supervisors in petri nets</title>
		<author>
			<persName><forename type="first">Marian</forename><forename type="middle">V</forename><surname>Iordache</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Panos</forename><forename type="middle">J</forename><surname>Antsaklis</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Trans. Automat. Contr</title>
		<imprint>
			<biblScope unit="volume">48</biblScope>
			<biblScope unit="issue">11</biblScope>
			<biblScope unit="page" from="1962" to="1974" />
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Properties of conflict-free and persistent petri nets</title>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">H</forename><surname>Landweber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">L</forename><surname>Robertson</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">J. ACM</title>
		<imprint>
			<biblScope unit="volume">25</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="352" to="364" />
			<date type="published" when="1978-07">July 1978</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Petri nets: Properties, analysis and applications</title>
		<author>
			<persName><forename type="first">T</forename><surname>Murata</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">PNSE&apos;14 -Petri Nets and Software Engineering</title>
				<imprint>
			<date type="published" when="1989-04">April 1989</date>
			<biblScope unit="volume">77</biblScope>
			<biblScope unit="page" from="541" to="580" />
		</imprint>
	</monogr>
	<note>Proceedings of the IEEE</note>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Partial order semantics versus interleaving semantics for csp-like languages and its impact on fairness</title>
		<author>
			<persName><forename type="first">Wolfgang</forename><surname>Reisig</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 11th Colloquium on Automata, Languages and Programming</title>
				<meeting>the 11th Colloquium on Automata, Languages and Programming<address><addrLine>London, UK, UK</addrLine></address></meeting>
		<imprint>
			<publisher>Springer-Verlag</publisher>
			<date type="published" when="1984">1984</date>
			<biblScope unit="page" from="403" to="413" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<title level="m" type="main">Elements of distributed algorithms: modeling and analysis with Petri nets</title>
		<author>
			<persName><forename type="first">Wolfgang</forename><surname>Reisig</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1998">1998</date>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Understanding Petri Nets -Modeling Techniques</title>
		<author>
			<persName><forename type="first">Wolfgang</forename><surname>Reisig</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Analysis Methods</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
	<note>Case Studies</note>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Half a century after carl adam petri&apos;s ph.d. thesis: A perspective on the field</title>
		<author>
			<persName><forename type="first">Manuel</forename><surname>Silva</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Annual Reviews in Control</title>
		<imprint>
			<biblScope unit="volume">37</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="191" to="219" />
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">The application of petri nets to workflow management</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">P</forename><surname>Wil</surname></persName>
		</author>
		<author>
			<persName><surname>Van Der Aalst</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Circuits, Systems, and Computers</title>
		<imprint>
			<biblScope unit="volume">8</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="21" to="66" />
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">On causal semantics of petri nets</title>
		<author>
			<persName><forename type="first">Rob</forename><forename type="middle">J</forename><surname>Van Glabbeek</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ursula</forename><surname>Goltz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Jens-Wolfhard</forename><surname>Schicke</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">CONCUR</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">Joost-Pieter</forename><surname>Katoen</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Barbara</forename><surname>König</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2011">2011</date>
			<biblScope unit="volume">6901</biblScope>
			<biblScope unit="page" from="43" to="59" />
		</imprint>
	</monogr>
</biblStruct>

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