• No results found

Feasibility Analysis Formalization

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