Towards a Methodology for Modeling with Petri Nets Christine Choppy - - PowerPoint PPT Presentation

towards a methodology for modeling with petri nets
SMART_READER_LITE
LIVE PREVIEW

Towards a Methodology for Modeling with Petri Nets Christine Choppy - - PowerPoint PPT Presentation

Towards a Methodology for Modeling with Petri Nets Christine Choppy Laure Petrucci LIPN, CNRS UMR 7030 Universit Paris 13 Villetaneuse FRANCE Towards a Methodology for Modeling with Petri Nets p.1 Motivation complex systems to model


slide-1
SLIDE 1

Towards a Methodology for Modeling with Petri Nets

Christine Choppy Laure Petrucci LIPN, CNRS UMR 7030 Université Paris 13 Villetaneuse FRANCE

Towards a Methodology for Modeling with Petri Nets – p.1

slide-2
SLIDE 2

Motivation

complex systems to model writing formal specifications is difficult

Towards a Methodology for Modeling with Petri Nets – p.2

slide-3
SLIDE 3

Motivation

complex systems to model writing formal specifications is difficult ⇒ help and guidelines required

Towards a Methodology for Modeling with Petri Nets – p.2

slide-4
SLIDE 4

Motivation

complex systems to model writing formal specifications is difficult ⇒ help and guidelines required Method proposed in [CR03]: for software development using algebraic specifications in CASL extended to dynamic systems in CASL-LTL

Towards a Methodology for Modeling with Petri Nets – p.2

slide-5
SLIDE 5

Motivation

complex systems to model writing formal specifications is difficult ⇒ help and guidelines required Method proposed in [CR03]: for software development using algebraic specifications in CASL extended to dynamic systems in CASL-LTL

➠ Develop a similar method for Petri nets

Towards a Methodology for Modeling with Petri Nets – p.2

slide-6
SLIDE 6

Outline

Running example: model train system from [BP01] Specification method principles systems specifications systems properties Applying the specification principles to the train example parts and constituent features system properties Derive a coloured Petri net Conclusion and future work

Towards a Methodology for Modeling with Petri Nets – p.3

slide-7
SLIDE 7

Train example

switch 1 switch 4 switch 2 switch 3 crossing

ST1 ST2 B3 B4 B9 B10 B1 B2 B7 B8 B13 B14 B15 B16 B5 B6 B11 B12

Towards a Methodology for Modeling with Petri Nets – p.4

slide-8
SLIDE 8

Specification method principles

Design a software item : simple dynamic system structured dynamic system data structure

Towards a Methodology for Modeling with Petri Nets – p.5

slide-9
SLIDE 9

Specification method principles

Design a software item : simple dynamic system structured dynamic system data structure A simple system item is composed of: parts: data structures constituent features: states description elementary interactions definitions

Towards a Methodology for Modeling with Petri Nets – p.5

slide-10
SLIDE 10

Property-oriented specifications

Provide: abstract structure of the specification visual presentation formal specification properties expected at this stage The model must satisfy all properties defined.

Towards a Methodology for Modeling with Petri Nets – p.6

slide-11
SLIDE 11

Simple systems

No internal components cooperating together

Towards a Methodology for Modeling with Petri Nets – p.7

slide-12
SLIDE 12

Simple systems

No internal components cooperating together Labeled Transition System where: states: relevant intermediate situations in the life of the system transitions: ability of the system to evolve from one state to another transition labels: elementary interactions

Towards a Methodology for Modeling with Petri Nets – p.7

slide-13
SLIDE 13

Constituent features and parts

Constituent features : elementary interactions types: name arguments: elements of data structures states: described by states observers name arguments: elements of data structures

  • bserved value

Towards a Methodology for Modeling with Petri Nets – p.8

slide-14
SLIDE 14

Constituent features and parts

Constituent features : elementary interactions types: name arguments: elements of data structures states: described by states observers name arguments: elements of data structures

  • bserved value

Parts : values of data structures

Towards a Methodology for Modeling with Petri Nets – p.8

slide-15
SLIDE 15

Simple systems properties

labels properties: incompatibility between elementary interactions state properties: conditions satisfied by the values returned by state

  • bservers

properties of paths from/to the state transition properties: conditions on the state observers applied to the source and target states.

Towards a Methodology for Modeling with Petri Nets – p.9

slide-16
SLIDE 16

Train specification

Physical system ⇒ state observers: information on the layout contiguous track sections tracks connected via switches train presence train direction

Towards a Methodology for Modeling with Petri Nets – p.10

slide-17
SLIDE 17

Train specification

Physical system ⇒ state observers: information on the layout contiguous track sections tracks connected via switches train presence train direction Moves ⇒ elementary interactions

Towards a Methodology for Modeling with Petri Nets – p.10

slide-18
SLIDE 18

Data structures

TRAINDATA

ST2 ST1 B16 B3 B2 B1 ... TrainPresence none TrainDirection anticlockwise clockwise TrainDirection TrackSection crossing Switch switch1 switch2 switch3 switch4

Towards a Methodology for Modeling with Petri Nets – p.11

slide-19
SLIDE 19

Constituent features

TRAINDATA BASIC DATA (state observers) (elementary interactions)

TRAIN

switched(List[TrackSection], List[TrackSection], Switch, TrainDirection) where TrainTrack is an auxiliary type defined as Pair[TrainPresence, TrackSection] connected(TrackSection, TrackSection, TrainDirection)

LIST, PAIR ...

STATE HISTORY train_present(TrackSection, TrainPresence, History) changeTrackSec(TrainTrack, TrainTrack, History) : State

Towards a Methodology for Modeling with Petri Nets – p.12

slide-20
SLIDE 20

STATE & HISTORY

spec STATE = sort State;

  • p

initial : State; %% There is an initial state end

Towards a Methodology for Modeling with Petri Nets – p.13

slide-21
SLIDE 21

STATE & HISTORY

spec STATE = sort State;

  • p

initial : State; %% There is an initial state end spec HISTORY = STATE then type History ::= initial | __.__(History; State);

  • p

last : History → State; vars h : History; s : State; axioms last(initial) = initial; last(h.s) = s; end

Towards a Methodology for Modeling with Petri Nets – p.13

slide-22
SLIDE 22

State properties

connected(B1,B2,anticlockwise) connected(B2,B1,clockwise) switched((ST1,B1),(B3),switch1,clockwise) switched((B1),(B3,B4,B5),switch1,clockwise) switched((B3),(ST1,B1),switch1,anticlockwise) switched((B3,B4,B5),(B1),switch1,anticlockwise) train_present(B1,none,initial)

Towards a Methodology for Modeling with Petri Nets – p.14

slide-23
SLIDE 23

changeTrackSec properties

pre-conditions post-conditions

  • as usual

incompatibility: simultaneous moves from a same train cannot occur

Towards a Methodology for Modeling with Petri Nets – p.15

slide-24
SLIDE 24

Associated Petri net

state observers ⇒ places, initial marking elementary interactions ⇒ transitions train presence ⇒ place colours pre-, post-conditions ⇒ arcs

Towards a Methodology for Modeling with Petri Nets – p.16

slide-25
SLIDE 25

Coloured Petri Net

B1 none TrainPresence B3 1‘t anticlockwise TrainPresence B4 none TrainPresence B9 1‘t clokwise TrainPresence B10 TrainPresence 1‘t clockwise B7 none TrainPresence B8 none TrainPresence B13 none TrainPresence B14 none TrainPresence B2 TrainPresence 1‘t anticlockwise B15 TrainPresence 1‘t anticlockwise B16 none TrainPresence t1 t3 t10 t8 t6 t11

color TrainDirection = with clockwise | anticlockwise; color TrainPresence = union t:TrainDirection + none;

switch4 switch3 switch2 switch1 TrainPresence ST1 none ST2 none TrainPresence B5 none TrainPresence B6 none TrainPresence B11 none TrainPresence B12 none TrainPresence crossing sidetrack1 sidetrack2 t anticlockwise t clockwise t anticlockwise t clockwise

Towards a Methodology for Modeling with Petri Nets – p.17

slide-26
SLIDE 26

Conclusion

provide guidelines to specify simple systems using CPNs simple systems subparts: data structures → e.g. colours state decription features →layout, place colours elementary interactions → transitions firing specify expected properties [CR03] method applies to other formal languages

Towards a Methodology for Modeling with Petri Nets – p.18

slide-27
SLIDE 27

Conclusion & Future work

provide guidelines to specify simple systems using CPNs simple systems subparts: data structures → e.g. colours state decription features → layout, place colours elementary interactions → transitions firing specify expected properties [CR03] method applies to other formal languages extend the approach to structured systems including communication mechanisms between modules properties verification complex case study

Towards a Methodology for Modeling with Petri Nets – p.18

slide-28
SLIDE 28

References

[BP01] G. Berthelot and L. Petrucci. Specification and validation of a concurrent system: An educational

  • project. 3(4):372–381, 2001.

[CR03] C. Choppy and G. Reggio. Towards a Formally Grounded Software Development Method. Technical Report DISI–TR–03–35, DISI, Università di Genova, Italy, 2003. Available at

✂ ✄ ☎ ☎
✂✝✆ ✞ ✟✡✠ ✟ ✆ ☛ ☞ ✟✡✌ ✍ ✆ ✟ ✁ ☎ ✂ ✍ ✎ ✠ ✏ ☞ ☎ ✑ ✍ ✌ ✌ ✟ ✏ ✒ ☎ ✓ ✔ ✏ ✂ ✂ ✕ ✑ ✍ ✌ ✌ ✟ ✏ ✖✗ ✘ ✆ ✂ ✞
  • .

Towards a Methodology for Modeling with Petri Nets – p.19