High Level Petri Nets-Development and Software Engineering-Lecture Slides, Slides of Software Engineering

This lecture is part of lecture series for Software Engineering course. Prof. Prateek Aron delivered this lecture at Allahabad University. Its main points are: High, Level, Petri, Nets, Colour, Time, Hierarchy, Distributed, Systems, Resource, Sharing

Typology: Slides

2011/2012

Uploaded on 07/16/2012

sanaka
sanaka ๐Ÿ‡ฎ๐Ÿ‡ณ

4.6

(21)

71 documents

1 / 49

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
High-Level Petri Nets
๏‚—The classical Petri net was invented by Carl Adam Petri in 1962.
๏‚—A lot of research has been conducted (>10,000 publications).
๏‚—Until 1985 it was mainly used by theoreticians.
๏‚—Since the 80โ€™s their practical use has increased because of the
introduction of high-level Petri nets and the availability of many
tools.
๏‚— High-level Petri nets are Petri nets extended with
๏‚—colour (for the modelling of attributes)
๏‚—time (for performance analysis)
๏‚—hierarchy (for the structuring of models, DFD's)
1 COMP201 - Software Engineering
docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31

Partial preview of the text

Download High Level Petri Nets-Development and Software Engineering-Lecture Slides and more Slides Software Engineering in PDF only on Docsity!

High-Level Petri Nets

๏‚— The classical Petri net was invented by Carl Adam Petri in 1962. ๏‚— A lot of research has been conducted (>10,000 publications). ๏‚— Until 1985 it was mainly used by theoreticians. ๏‚— Since the 80โ€™s their practical use has increased because of the introduction of high-level Petri nets and the availability of many tools. ๏‚— High-level Petri nets are Petri nets extended with ๏‚— colour (for the modelling of attributes) ๏‚— time (for performance analysis) ๏‚— hierarchy (for the structuring of models, DFD's)

Why do we need Petri Nets?

๏‚— Petri Nets can be used to rigorously define a system

(reducing ambiguity, making the operations of a system

clear, allowing us to prove properties of a system etc.)

๏‚— They are often used for distributed systems (with several

subsystems acting independently) and for systems with

resource sharing.

๏‚— Since there may be more than one transition in the Petri

Net active at the same time (and we do not know which

will โ€˜fireโ€™ first), they are non-deterministic.

The Classical Petri Net Model

Another ( equivalent ) notation is to use a solid bar for the transitions: t p p p p t t We may use either notation since they are equivalent, sometimes one makes the diagram easier to read than the other.. The state of a Petri net is determined by the distribution of tokens over the places (we could represent the above state as (1,2,1,1) for (p1,p2,p3,p4))

Transition t1 has three input places (p1, p2 and p3) and two

output places (p3 and p4).

Place p3 is both an input and an output place of t1.

p p p p t COMP201 - Software Engineering 5

Transitions with Multiple

Inputs and Outputs

docsity.com

Firing

An enabled transition may fire.

Firing corresponds to consuming tokens from the input

places and producing tokens for the output places.

t2 t

Firing is atomic (only one transition fires at a time,

even if more than one is enabled)

An Example Petri Net

Creating/Consuming Tokens

COMP201 - Software Engineering 10

A transition without any input can fire at any time and

produces tokens in the connected places:

After firing 3 times.. T1 (^) T T1 T P1 (^) P P P docsity.com

Creating/Consuming Tokens

COMP201 - Software Engineering 11

A transition without any output must be enabled to fire

and deletes (or consumes) the incoming token(s):

After firing 3 times.. T1 (^) T T1 (^) T P1 (^) P P1 (^) P docsity.com

Modelling

States of a process can be modelled by tokens in places and state transitions leading from one state to another are modelled by transitions. ๏‚— Tokens can represent resources (humans, goods, machines), information, conditions or states of objects. ๏‚— Places represent buffers, channels, geographical locations, conditions or states. ๏‚— Transitions represent events, transformations or transportations.

Modelling a Traffic Light

Example: Traffic Light

rg red amber green yr gy

Two Traffic Lights

  • rg - red - amber - green
    • yr
    • gy - rg - red - amber - green - yr - gy
  • rg Two Safe Traffic Lights - red - amber - green
    • yr
    • gy - rg - red - amber - green - yr - gy
  • rg Two Safe and Fair Traffic Lights - red - yellow - green
    • yr
    • gy - rg - red - yellow - green - yr - gy - safe - safe

Exercise

๏‚— 1) Can you prove that the Petri net from the previous slide

will never allow two red lights to be shown simultaneously?