La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Modelling by Petri nets

Copie: 1
Maria Pia FANTI Dipartimento di Elettrotecnica ed Elettronica Modelling by Petri nets Polytechnic of Bari, ITALY.

Presentazioni simili


Presentazione sul tema: "Modelling by Petri nets"— Transcript della presentazione:

1 Modelling by Petri nets
Maria Pia FANTI Dipartimento di Elettrotecnica ed Elettronica Polytechnic of Bari, ITALY

2 Outline What are Petri Nets? Definitions and basic concepts
Modelling with Petri Nets: main structures High level Petri nets and Timed Petri nets Conclusions

3 Petri Nets Petri Nets (PN) offer advantages because of their twofold representation: graphical and mathematical. It is a graphical and mathematical tool for the formal description of the logical interactions and the dynamics of complex systems. PN are particularly suited to model: Concurrency; Conflict; Sequencing; Synchronization; Sharing of limited resources; Mutual exclusion.

4 Petri Nets Petri Nets (PN) originated from the Phd thesis of Carl Adam Petri in 1962. A web service on PN is managed at the University of Aarhus in Denmark, where a bibliography with more that 8,500 items can be found. The main International Conference: ATPN - Application and Theory of PN Other conferences: Int. IFAC conference, IEEE SMC conference, IEEE CASE, WODES, etc.

5 Main references about definitions and properties of ordinary Petri nets
Murata T., (1989), “Petri nets: properties, analysis and applications”, IEEE Proceedings, Vol. 77, no. 4, Peterson, J.L., (1981), Petri Net Theory and the Modeling of Systems, Prentice Hall, Englewood Cliffs, NJ, USA.

6 Definitions A Petri net is a bipartite directed graph consisting of two kinds of nodes: places and transitions Places typically represent conditions within the system being modeled. They are represented by circles. Transitions represent events occurring in the system that may cause change in the condition of the system. They are represented by bars. Arcs connect places to transitions and transitions to places (never an arc from a place to a place or from a transition to a transition).

7 Definitions Input arcs are directed arcs drawn from places to transitions, representing the conditions that need to be satisfied for the event to be activated Output arcs are directed arcs drawn from transitions to places, representing the conditions resulting from the occurrence of the event

8 Definitions Input places of a transition are the set of places that are connected to the transition through input arcs Output places of a transition are the set of places to which output arcs arrive from the transition

9 Example of a PN p1 – resource idle p2 – resource busy
t1 t1 p1 p2 t2 p1 – resource idle p2 – resource busy t1 – task arrives t2 – task completes

10 Definitions More formally, a Petri net is described by the four-tuple PN=(P, T, Pre, Post) where: P is the set of places and |P|=m T is the set of transitions and |T|=n Pre: P×TN is the pre incidence matrix, that specifies the arcs directed from places to transitions Post: P×TN is the post incidence matrix, that specifies the arcs directed from transitions to places

11 Example of Petri net

12 Incidence Matrix

13 PN Definitions Tokens are dots (or integers) associated with places; a place containing tokens indicates that the corresponding condition holds Marking is a function M: PN that associates to each place a non negative number. It is a vector listing the number of tokens in each place of the net

14 PN Definitions M0 is the initial marking
A net system <PN, M0 > is a dynamical system

15 PN dynamics When input places of a transition have the required number of tokens, the transition is enabled. An enabled transition may fire (event happens) removing one or more tokens from each input place and depositing one or more tokens in each of its output place. 2 3 p1 p2 p1 t1 2 3 p1 p2 t1

16 Example of a PN p1 – resource idle p2 – resource busy p3 – user
t1 p1 p2 t2 p1 – resource idle p2 – resource busy p3 – user t1 – task starts t2 – task completes

17 Enabling condition Transition t2 is enabled at M0 because M0 Pre(.,t2). An enabled transition may fire (event happens) removing one token from each input place and depositing one token in each of its output place.

18 Firing

19 Firing It holds: M=M0+ C u Introducing the firing vector

20 Modelling by Petri nets: main structures Concurrency (or Parallelism)
Sequence Concurrency (or Parallelism)

21 Modelling by Petri nets: main structures Choice (non determinism)

22 Modelling by Petri nets: main structures
Synchronization

23 Modelling by Petri nets: main structures
Limited Resources

24 Modelling by Petri nets
Producer/consumer

25 Modelling by Petri nets Transmitter/receiver process

26 Modelling by Petri nets: main structures Mutual exclusion or choice

27 Alcune definizioni Insiemi di posti
t={pP Pre(p,t)>0} è l’insieme dei posti in ingresso a t t={pP Post(p,t)>0}è l’insieme dei posti in uscita da t Insiemi di transizioni p={tT Post(p,t)>0} è l’insieme delle transizioni in ingresso a p p={tT Pre(p,t)>0}è l’insieme dei delle transizioni in uscita da p

28 Reachability Analysis
A marking M’ is reachable from M if there exists a firing sequence s=t1t2..tn starting from M that results in the new marking M’ Hence: M’=M+Cu where u is the firing vector associated to s. The reachability set of a PN system <PN,M0> is the set of all markings that are reachable from its initial marking

29 Reachability Analysis
A reachability graph is a directed graph whose nodes are the markings in the reachability set, with directed arcs between the markings representing the marking-to-marking transitions The directed arcs are labeled with the corresponding transition whose firing results in a change of the marking from the original marking to the new marking 7ab15e

30 Reachability Analysis
If the reachability set is infinite then the nodes of the reachability graph are infinite in number: it is necessary to build a coverability graph. Several analysis are based on the reachability graph: behavioral analysis. By properly identifying the frontier nodes, the generation of the reachability graph involves a finite number of steps, even if the PN is unbounded. Three type of frontier nodes: terminal (dead) nodes: no transition is enabled; duplicate nodes: already generated; infinitely reproducible nodes.

31 Reachability graph

32 Structural properties
The structural properties are the properties that depend on the structure of the net and on the initial marking. Reachability Bundness Liveness Conservativeness Deadlock Analysis may be based on the rechability graph or on the state equation

33 Proprietà comportamentali (I)
Sono quelle proprietà che dipendono dalla struttura della rete e dalla marcatura iniziale Raggiungibilità Problema della raggiungibilità: data una rete marcata <N,M0>, è possibile raggiungere M da M0? Limitatezza Posto k-limitato Un posto di una rete di Petri (PN) si dice k-limitato se in tutte le marcature raggiungibili dalla rete il numero di token presenti nel posto non supera mai un valore prefissato k. Rete k-limitata e limitata Una rete si dice k-limitata se tutti i posti sono k-limitati. Una rete si dice limitata se è limitata per qualche k finito. Una rete 1-limitata si dice sana o binaria.

34 Proprietà comportamentali (II)
Una rete marcata <N,M0> è limitata se e solo se ha un insieme di raggiungibilità finito. Reversibilità: Una rete di Petri con marcatura iniziale M0 è detta reversibile se per ogni marcatura M raggiungibile da M0, M0 è raggiungibile da M.

35 Proprietà comportamentali (III)
Conservatività stretta Una rete marcata è strettamente conservativa se per ogni marcatura raggiungibile MR(N,M0) il nr. di gettoni che la rete contiene non varia: pP M(p)= pPM0 (p) Conservatività Una rete marcata è conservativa se esiste un vettore di interi positivi x tale per ogni marcatura raggiungibile M R(N,M0) vale: xTM=xTM0 Cioè il numero di gettoni pesato con x non varia. Se una rete marcata è conservativa allora essa è limitata.

36 Proprietà comportamentali (IV)
VIVEZZA Transizione quasi viva Una transizione t è quasi viva se e solo se esiste almeno una marcatura MR(N,M0) tale che t è abilitata in M. Transizione viva Una transizione t è viva se e solo se per ogni MR(N,M0) esiste M’ raggiungibile da M tale che t è abilitata in M’. Transizione morta Una transizione t è morta se e solo se non esiste MR(N,M0) tale che t è abilitata in M.

37 Proprietà comportamentali (V)
VIVEZZA Rete morta Una rete R(N,M0) è morta se ogni t è morta. Rete quasi viva Una rete R(N,M0) è quasi viva se e solo se tutte le transizioni sono quasi vive Rete viva Una rete R(N,M0) è viva se tutte le transizioni sono vive. Rete bloccante Una rete R(N,M0) è bloccante se esiste una transizione raggiungibile morta (in cui nessuna transizione è abilitata).

38 Il grafo di copertura Si vogliono caratterizzare le situazioni in cui sequenze di transizioni portano ad incrementare alcune componenti della marcatura. Si considera allora un nuovo vettore con il simbolo w che si può pensare come un simbolo di infinito. Si dice una w-marcatura di una rete un vettore M in cui una o più componenti può assumere il valore w. Per determinare se t è abilitata da una w-marcatura M>Pre(.,t) si deve tener conto che per ogni n  N vale w >n e w±n=w. Perdendo alcune informazioni sulla raggiungibilità, si costruisce il grafo di copertura.

39 Grafo di copertura 1-Si parta dalla marcatura iniziale M0 2-Si consideri una marcatura M senza etichetta 2.1 - per ogni t abilitata da M - si calcoli M’ raggiunta da M scattando t - si consideri il cammino che parte dal nodo radice e arriva a M’, se questo cammino ha un nodo M*<M’ allora si sostituisca ad M’ il nodo M’w il vettore ottenuto da M’ in cui tutte le componenti strettamente maggiori delle componenti di M’ si sostituiscono con il simbolo w - si aggiunga un arco t tra M e M’w - se esiste già un nodo M’w nel grafo si elimini il nuovo nodo e si aggiunga l’arco tra M e M’w già esistente 2.2 -si etichetti come vecchio il nodo M e si torni a 2

40 Grafo di copertura: alcune proprietà
Data una marcatura M si dice che è w-coperta da Mw se Mw(p)=M(p) per ogni p tale che Mw(p)w, tale relazione si indica con MwwM. M è raggiungibile  allora esiste nel grafo Mw che copre M. M è raggiungibile se M è un nodo del grafo. Se MR(N,M0)  esiste nel grafo un cammino orientato da M0 ad Mw, con M coperta da Mw. MR(N,M0) solo se esiste nel grafo un cammino orientato da M0 ad M.

41 Proprietà comportamentali con il grafo di copertura
Una rete marcata <N,M0> è limitata se e solo se ha un insieme di raggiungibilità finito. Si consideri la rete marcata <N,M0> ed il suo grafo di copertura: un posto p è k-limitato se e solo se per ogni M0 vale Mw(p)<k. La rete marcata è limitata se e solo se nessun nodo del grafo contiene il simbolo w (il grafo di copertura è un grafo di raggiungibilità).

42 Analisi basata sulla matrice di incidenza (I)
P-invariante Si dice P-invariante di una PN un vettore colonna x di m elementi non negativi tale che xTC=0. Tale equazione può avere infinite soluzioni: se x è un P-invariante anche kx è un P-invariante Il supporto di un P-invariante x è l’insieme dei posti corrispondenti agli elementi non-nulli di x. P-invariante a supporto minimo Un P-invariante è a supporto minimo se il suo supporto non contiene quello di nessun altro P-invariante della rete.

43 Proprietà strutturali (I)
Sono quelle proprietà che dipendono dalla struttura della rete N è strutturalmente strettamente conservativa se il vettore 1 è un p-invariante. N è strutturalmente conservativa se esiste un vettore p-invariante x il cui supporto contenga tutti i posti. Rete coperta da P-invarianti Una rete si dice coperta da p-invarianti se ogni posto della rete appartiene al supporto di almeno un p-invariante.

44 T-invariante Si dice T-invariante di una rete un vettore colonna y di dimensione n soluzione della seguente equazione Cy=0 ovvero M=M0+Cy=M0 Un T-invariante indica che se fosse possibile fare scattare ogni transizione del supporto di y, tante volte quante indicate da y, la rete tornerebbe alla marcatura iniziale.

45 Analisi basata sulla matrice di incidenza (I)
Sia <N, M0> una PN e sia X=x1 x2…xk la matrice formata dalle colonne dei p-invarianti xi per i=1,…,k. L’insieme X-invariante di <N, M0> è IX(N,M0)={MNm | XT M=XT M0 Ovvero l’insieme dei vettori M tali che xiT M=xiT M0 per ogni xi Vale: R(N,M0)PR(N,M0) IX(N,M0)

46 ANALISI MEDIANTE EQUAZIONE DI STATO
Insieme di raggiungibilità di <N, M0> R(N,M0)={MNm | sT* : M0[s>M Ovvero l’insieme delle marcature che possono essere raggiunte dalla marcatura iniziale. Insieme potenzialmente raggiungibile di <N, M0> PR(N,M0)={MNm | yNn : M=M0+Cy Ovvero l’insieme dei vettori M per cui esiste y che soddisfa l’equazione di stato Vale: R(N,M0)PR(N,M0) L’insieme PR(N,M0) può aiutare a verificare la raggiungibilità di una marcatura. Ad esempio se l’equazione M=M0+Cy non ammette soluzione allora M non è raggiungibile.

47 Classi di reti di Petri Una PN è detta:
Ordinaria se ogni arco ha molteplicità unitaria cioè Pre(p,t)=0 o =1 e Post(p,t)=0 o =1 . Pura se per ogni posto p e t vale Pre(p,t)Post(p,t)=0, cioè se la rete non contiene alcun cappio. Ristretta se è pura e ordinaria. Una macchina di stato è una rete ordinaria in cui ogni transizione ha esattamente un arco in ingresso ed un arco in uscita. Un grafo marcato è una rete ordinaria in cui ogni posto ha esattamente un arco in ingresso ed uno in uscita.

48 Powerful modeling tools: Timed Petri Nets (TPN)
For performance and dependability analysis it is necessary to introduce the duration of the events associated with PN transitions. The structures to extend the PN by time are different. Delay times can be associated with places, transitions or arcs. Typically time is associated with timed transitions.

49 Powerful modeling tools: Timed Petri Nets (TPN)
Firing in 3 phases: 1- tokens are removed from the input places, 2- the delay time associated with the transition elapses, 3- tokens are deposed in the output place. Firing in one phase: tokens arrive in the input place, enable the transition and stay in the place for the delay time associated with the transition. If at the end of the delay time the transition is enabled, then the transition fires. In this case conflicts are solved.

50 Classification of timed transitions
Immediate transition : transition fires as soon as it is enabled, the associated delay time is equal to zero. Deterministic timed transitions: the delay associated with the transition is deterministic and usually constant (black box). Stochastic timed transition : a stochastic variable is associated to the delay q with a known distribution function (white box) If q has exponential distribution f(q)=le-lq, then the average delay time is 1/l.

51 Server semantic Infinite server: each transition represents a server that can perform infinite parallel operations. q q Single server: each transition represents a server that can perform only one operation at a time. q 3q Multiple server: each transition represents a server that can perform k operations at a time.

52 Transition memory Total memory: transition remembers that it has been previously enabled. Abilitation memory: transition remembers just the actual enabling t1 q2<q1<2q2 q1 t3 t2 q2 q3 example

53 Evoluzione dinamica Una transizione ti è abilitata da Mj se per ogni pP si ha MjPre(.,ti). Il grado di abilitazione ai(j) di ti abilitata da Mj è il più grande numero intero k tale che Mj kPre(.,ti). Ad ogni transizione ti sono associati, all’istante tj, ai(j) orologi, ogni orologio viene inizializzato ogni volta che la transizione viene abilitata, ai valori indicati dalla temporizzazione. Detto oi il più piccolo degli orologi associati a ti, esso rappresenta il tempo che deve passare a partire dall’istante attuale, prima del prossimo scatto di ti, se ti non viene disabilitata prima che trascorra il tempo oi.

54 Evoluzione dinamica: serventi infiniti, memoria di abilitazione
All’istante tj la TPN abbia la marcatura Mj e per ogni ti siano noti i valori minimi oi degli orologi associati. Determinare o*=mini[oi] sia t* la transizione corrispondente Il tempo avanza tj+1=tj+o* la nuova marcatura è Mj+1=Mj+C(.,t*) Gli orologi vengono aggiornati: Se ai(j+1)< ai(j) allora sono scartati gli ai(j)-ai(j+1) orologi con i valori più alti, gli altri sono diminuiti di o* Se ai(j+1)>ai(j) allora ai(j+1)-ai(j) orologi vengono aggiunti a ti, gli altri sono diminuiti di o*.

55 Reti di Petri temporizzate: TPN
Le strutture di temporizzazione per estendere le reti di Petri sono molte: i tempi di ritardo possono essere associati a posti, transizioni o archi. Caso più frequente: temporizzazione associata alle transizioni. Scatto in 3 fasi: 1-le marche sono prelevate dal posto di ingresso, 2- trascorre il tempo associato alla transizione, 3-le marche sono depositate nel posto di uscita. Scatto atomico: le marche arrivano nel posto di ingresso, abilitano la transizione e vi rimangono il tempo di ritardo associato alla transizione. Se al termine del ritardo la’abilitazione sussiste la transizione scatta. Soluzione semplice dei conflitti.

56 Classifica delle transizioni temporizzate
Transizione immediata: scatta appena è abilitata, ad essa è associato ritardo nullo. Transizione deterministica: ad essa è associato un ritardo deterministico di solito costante. Transizione stocastica: al ritardo q è associata una variabile aleatoria con funzione di distribuzione di probabilità nota. Se q ha distribuzione esponenziale f(q)=le-lq il tempo medio di ritardo è pari a 1/l.

57 Evoluzione dinamica Una transizione ti è abilitata da Mj se per ogni pP si ha MjPre(.,ti). Il grado di abilitazione ai(j) di ti abilitata da Mj è il più grande numero intero k tale che Mj kPre(.,ti). Ad ogni transizione ti sono associati, all’istante tj, ai(j) orologi, ogni orologio viene inizializzato ogni volta che la transizione viene abilitata ai valori indicati dalla temporizzazione. Detto oi il più piccolo degli orologi associati a ti, esso rappresenta il tempo che deve passare a partire dall’istante attuale, prima del prossimo scatto di ti, se ti non viene disabilitata prima che trascorra il tempo oi.

58 Evoluzione dinamica: serventi infiniti, memoria di abilitazione
All’istante tj la TPN abbia la marcatura Mj e per ogni ti siano noti i valori minimi oi degli orologi associati. Determinare o*=mini[oi] sia t* la transizione corrispondente Il tempo avanza tj+1=tj+o* la nuova marcatura è Mj+1=Mj+C(.,t*) Gli orologi vengono aggiornati: Se ai(j+1)< ai(j) allora sono scartati gli ai(j)-ai(j+1) orologi con i valori più alti, gli altri sono diminuiti di o* Se ai(j+1)>ai(j) allora ai(j+1)-ai(j) orologi vengono aggiunti a ti, gli altri sono diminuiti di o*.

59 Grafo Marcato temporizzato (GMT)
Un grafo marcato temporizzato è una rete ordinaria in cui ogni posto ha esattamente un arco in ingresso ed uno in uscita. Un grafo marcato temporizzato fortemente connesso (GMTFC) è un GMT con le seguenti proprietà: La rete è fortemente connessa, ovvero esiste un cammino orientato da un qualunque nodo ad ogni altro nodo, quindi ogni posto ed ogni transizione appartengono ad un ciclo orientato. La struttura di temporizzazione se deterministica è costituita da sequenze di ritardi costanti.

60 Analisi delle prestazioni
Un modello utilizzato per la determinazione delle prestazioni è il GMT ed il GMTFC. In un GMT il numero di marche in ogni ciclo rimane costante per ogni sequenza di scatto. Tempo di ciclo: Il tempo di ciclo di una transizione C(ti) di una transizione ti di una GMT è definito sulla base del suo k.mo tempo di scatto tik C(ti)=limk→∞ tik/k In una GMT tutte le transizioni appartenenti ad un ciclo gj hanno il medesimo tempo di ciclo Cg, definito come il rapporto tra la somma dei tempi di ritardo delle transizioni che formano gj e il numero delle marche che circolano in esso, ossia: Cgj=somma dei ritardi associati alle transizioni/ somma delle marcature dei posti del ciclo In una GMTFC in condizioni stazionarie tutte le transizioni hanno lo stesso tempo di ciclo dato da C=max Cgj, Che identifica il massimo fra I tempi di ciclo di tutti I cicli elementari della GMTFC, ovvero tutte le transizioni hanno a regime frequenza di scatto l=1/C

61 Main advantage of the Petri net modeling: linear algebraic structure
While the state of a DES is non numerical the state of a Petri net is a vector The model of an machine that may fails:

62 Main advantage of the Petri net modeling: linear algebraic structure
We can express qualitative specification numerically: the two machines can not work simultaneously M(p2)+M(p5)1

63 Powerful modeling tools: High Level (colored) Petri Nets
In standard PN tokens are indistinguishable entities. The semantics of the model does not allow to follow the behavior of an individual token through the PN. High Level PN overcome this limitation by assigning to each individual token an attribute (color). Places, arcs and transitions can have functions and guards depending on the colors.

64 Powerful modeling tools: timed Petri Nets
For performance and dependability analysis it is necessary to introduce the duration of the events associated to PN transitions. Hence Petri nets are extended by associating time with the firing of transitions, resulting in timed Petri nets. Deterministic timed transitions are typically represented by black boxes t1 t2 2 s

65 Stochastic Petri Nets (SPN)
A special case of timed Petri nets are stochastic Petri nets where the firing times are considered random variables. A special case of stochastic Petri net (SPN) is where the firing times are exponentially distributed. The marking process is mapped into a continuous time Markov chain with state space isomorphic to the reachability graph of the PN. Stochastic timed transitions are represented by boxes

66 From PN to CTMC: A Simple Example

67 The Continuous and Hybrid Petri Net Models
Hybrid Petri nets are an extension of PN able to model the coexistence of discrete and continuous variables. Main advantages: increasing computational efficiency for simulation, reducing the dimension of the state space, defining optimization problems of polynomial complexity Places, transitions and arcs are partitioned in two groups: discrete places and transitions handing discrete tokens (as in standard PN); continuous places and transitions handling continuous quantities.

68 Hybrid Petri Nets tap

69 Main references Ajmone Marsan, G. Balbo, G. Conte, S. Donatelli, G.Franceschini, Modeling with Generalized Stochastic Petri Nets. J. Wiley & sons, Great Britain, 1996. K. Jensen, Colored Petri nets: basic concepts, analysis methods and practical use. Vol. 1, New York Springer, 1992, Vol. 2, New York Springer, 1995. Balduzzi, F., Giua, A., Menga, G., Modelling and Control with First Order Hybrid Petri Nets. IEEE Transactions on Robotics and Automation, vol. 4, no. 16, H. Alla and R. David, “Continuous and hybrid Petri nets”, Journal of Circuits, Systems and Computers, vol. 8, no. 1, pp , 1998. Silva, M., Recalde, L., On the Fluidification of Petri Nets: from Discrete to Hybrid and Continuous Models. Annual Reviews in Control, vol. 28, no. 2,


Scaricare ppt "Modelling by Petri nets"

Presentazioni simili


Annunci Google