1: Consider as root node the initial marking M0for which there is an AP with I = ø and tag it new.
2: while a node tagged new exists do
3: Select a node M tagged new
4: for all t enabled at M do
5: Let M0be the marking reached from M by firing t
6: if there does not exists a node M0in the graph then
7: add a new node M0and tag it new
8: end if
9: Add an arc labelled t from M to M0
10: end for
11: Untag node M
12: end while
• L(N, M0) = L(G) - set of all possible firing sequences from M0.
We retrieved the following information from the reachability graph G.
• Marking M is reachable ↔ M is a node of G,
• σ ∈ L(N, M0) ↔ δ(M0, σ) is defined in G,
• M [σ>M0 ↔ M [t>M0 there exists a path as arc t from M to M0labelled
by σ.
As follows in the example sequence P N [0,1,0,0,0,0,1,1,0] is reachable for: M0(d0)={1,0,0,0,0,0,0,0,0} L(P N ,d0)={t1, t2, t3, t4, t5} =>
L(P N ,d0)={0, 1, 0, 0, 0, 0, 0, 0, 1}.
6.3
Feasibility Analysis Formalization
6.3.1
Single Access Pattern
We further expand the definition of access pattern Petri Net in subsection
6.2.1 to be exploited within the single pattern single service (spss) material- ization scenario. In the spss context we define a Petri Net pnap that models
access pattern ap, as a tuple < Pap, TCap, Fap, Dap, M0,ap > where:
• Pap = {PI, PO} is a set of 2 finite subsets of places where:
• Input Places subset PI = {p1, p2, ..., pn}, pn∈ I, where I is the set
6.3. Feasibility Analysis Formalization 126
• A place p ∈ Pap belongs to PI subset if and only if there
exists a directed arc from p to TC,ap.
• PO = {p1, p2, ..., pm}, pm ∈ O, where O is the set of attributes
a1...ak∈ A that defines the output interface of ap,
• A place p ∈ Pap belongs to PO subset if and only if there
exists a directed arc from TC,ap to p.
• Tc,ap is a transition that facilitates materialization call c ∈ C,
• Fap ⊆ (P × T )S(T × P ) is a set of arcs (flow relation),
• Dap = {DI, DO} is a set of 2 subsets of tokens where:
• DI = {d1, d2, ..., dn}, dn ∈ dVI where dVI is a superset of all
input value sets dV1, ...dVj mapped to the attributes in input
domain I,
• DO = {d1, d2, ..., dm}, dm ∈ dVO where dVO is a superset of
all output value sets dV1...dVj mapped to the attributes in
output domain O.
• M0,ap: PI → {0, 1, 2, 3, ..., k} is the initial marking, where k is the
number of places in PI,
• PT
T = 0 and P S
T 6= ø.
The dynamic behaviour of a Petri Net pnap is described as a change of
state according to the following transition - firing rules:
1. A transition Tc,ap is said to be enabled if each input place pn of Tc,ap is
marked with one token dn ∈ DI,
2. A firing of an enabled transition Tc,ap:
• Removes tokens dn ∈ DI from each input place pn of Tc,ap, and
adds tokens dm ∈ DO to each output place pm of Tc,ap,
• If output place pm is a duplicate of input place pn of Tc,ap that is
if both places map semantically and by type identical attributes aj, ak ∈ A, then the token dm ∈ DO is propagated to input place
6.3. Feasibility Analysis Formalization 127
A reachability property of a Petri Net pnap is defined as a sequence of firing
of transitions which would result in transforming a marking M0,ap to Mi,ap,
where Mi,ap represents the specific state in which all places in PO are popu-
lated by tokens, and the sequence of firings represents the required functional behaviour, that is a firing rule as defined above. Such state is illustrated in Figure 6.4 if firing of transition place tc0 resulted in valid values at places p1,
p2 and p3 of the top most access pattern (TheaterByPhone).
The set of all possible markings reachable for initial marking M0 of a Petri
Net pnap is called the reachability set and is denoted by Rap(M0,ap). The set
of all possible firing sequences from M0,ap is denoted by Lap(M0,ap).
Figure 6.5: Petri Net pnapreachable firing sequence with input output domain connection.
Initial marking M0,ap= {1, 0, 0, 0} reaches sequence Mi,ap = {1, 1, 1, 1} follow-
ing sequence of transition firings - Tc,ap. Rap(M0,ap) = {p0, p1, p2, p3}, while
Lap(M0,ap) = {Tc,ap} - as illustrated in Figure 6.5.
Or initial marking M0,ap = {1, 0, 0, } reaches sequence Mi,ap = {0, 1, 1}
Figure 6.6: Petri Net pnapreachable firing sequence.
following sequence of transition firings - Tc,ap. Rap(M0,ap) = {p1, p2}, while
Lap(M0,ap) = {Tc,ap} - as illustrated in Figure 6.6.
An unboundedness property of a pnap is derived from the definition
of boundedness where a Petri net is said to be k-bounded if the number of tokens in any place p, where p ∈ Pap, is always less or equal to k (k is non-
6.3. Feasibility Analysis Formalization 128
M0, M ∈ Rap(M0). Thus, a Petri net pnap is said to be unbounded if there
is a place p ∈ Pap that can hold an arbitrarily large number of tokens, as in
Petri net example in Figure 6.7 where places p0 and p1 are unbounded.
Figure 6.7: Petri net that is unbounded.
6.3.2
Multiple Access Patterns
We further expand the definition of access pattern Petri net in subsection
6.2.1 to be exploited within the multi pattern multi service (mpms) ma- terialization scenario. In the mpms context we define a Petri Net pnmp
that models a combination of multiple access patterns mp, as a tuple < P Nmp, CPmp, Tc,mp, Pmp, Dmp, M0,mp >, where:
• P Nmp = {pnap1, pnap2, ..., pnapn} is a set of all Petri nets that model
access patterns contained in mp net,
• CPmp ⊆ CP , where CP is a set of connection patterns, and CPmp is a
subset of all connection patterns connecting access patterns in mp net,
• Tc,mp = {tc,mp1, tc,mp2, ..., tc,mpn} is a finite set of transitions that facili-
tate the interactions between pnapn ∈ P Nmp as enabled by connection
patterns in CPmp,
• Dmp = {Dap1, Dap2, ..., Dapn} is a set of tokens that includes token sets
of all access patterns in mp net,
• Pmp = {Pap1, Pap2, ..., Papn} is a superset of all place sets of all access
patterns in mp net,
• M0,mp: Pmp → {0, 1, 2, 3, ..., k} is the initial marking in the domains of
6.3. Feasibility Analysis Formalization 129
• P T
T = 0 and P S
T 6= ø.
The dynamic behaviour of a Petri Net pnmp is described as a change of
state according to the following transition - firing rules:
1. A transition T cmp is said to be enabled if place p ∈ Papn that matches
aap,Iof cpmp ∈ CPmp is marked with one token dap ∈ Dapn,
2. A firing of an enabled transition Tcmp copies tokens dap ∈ Dapn from
each output place pof Papn ∈ Pmp that matches aap,Iof cpmp∈ CPmp, to
each input place p ∈ Papn that matches aap,Oof cpmp.
A reachability property of a Petri Net pnmp is defined as in section 6.3.1
and expanded to all Petri Nets pnap that participate in pnmp.
The set of all possible markings reachable for initial marking M0
of a Petri Net pnmp is called the reachability set and is denoted by
Rmp(M0,mp). The set of all possible firing sequences from M0,mp is de-
noted by Lmp(M0,mp). The set of all access pattern Petri nets from
M0,mp is denoted Pmp(M0,mp). Figure 6.8 depicts a reachable solu-
Figure 6.8: MPMS Net reachable solution. Figure 6.9: Unbounded MPMS Net Places.
tion where the initial marking M0,mp = {1, 0, 0, 0, 0, 0, 0} reaches se-
quence Mi,mp = {1, 1, 1, 0, 1, 1, 1} following sequence of transition firings -
Tcap1, tcmp1, Tcap2. Rmp(M0,mp) = {p0, p1, p2, p3, p4, p5, p6}, while firing se-
quence Lap(M0,mp) = {Tcap1, tcmp1, Tcap2} and the set of access patterns is
Pmp(M0,mp) = {pnap1, pnap2}.
An unboundedness property of a Petri Net pnmp is defined as in section