Presentation is loading. Please wait.

Presentation is loading. Please wait.

A SUPPORT TOOL FOR THE REACHABILITY AND OTHER PETRI NETS- RELATED PROBLEMS AND FORMAL DESIGN AND ANALYSIS OF DISCRETE SYSTEMS Department of Computers and.

Similar presentations


Presentation on theme: "A SUPPORT TOOL FOR THE REACHABILITY AND OTHER PETRI NETS- RELATED PROBLEMS AND FORMAL DESIGN AND ANALYSIS OF DISCRETE SYSTEMS Department of Computers and."— Presentation transcript:

1 A SUPPORT TOOL FOR THE REACHABILITY AND OTHER PETRI NETS- RELATED PROBLEMS AND FORMAL DESIGN AND ANALYSIS OF DISCRETE SYSTEMS Department of Computers and Informatics FEEI, Technical University of Košice, Slovak Republic Štefan HUDÁK, Štefan KOREČKO, Slavomír ŠIMOŇÁK

2 Contents PNtool overview mFDT Environment Supported Petri nets dialects PNtool modes and features PNML support Interfaces

3 PNtool overview Implemented in Java Supports four Petri nets dialects  Generalized Petri nets (GPN)  Time-basic nets (TB nets)  Evaluative Petri nets (EvPN)  Coloured Petri nets (CPN) Provides  graphical editor  simulator  formal analyser (invariants, reachability)  import/export from/to PNML  translation to/from Process algebra, B-AMN Is a part of the mFDT Environment

4 mFDT Environment Petri nets (PN) is behavior-oriented method, where the invariants of the system described can be derived automatically. B-Method (B) is model-oriented. It provides the whole development process from abstract formal specification to implementation. Process algebra (PA) views systems as processes, described in algebraic way. In PA we can deal with de/composition of systems very elegantly. multi Formal Description Technique Environment Integrates 3 formal methods with complementary features

5 Supported Petri nets dialects Generalized Petri nets (GPN) Time-basic nets (TB nets) 1) Evaluative Petri nets (EvPN) 2) Coloured Petri nets (CPN) 1) – time interval semantics introduces by Š. Hudák 2) – developed by Š. Hudák

6 Supported Petri nets dialects Generalized Petri nets Also called Place/Transition nets, “basic” type of Petri nets in PNtool Easy to understand graphical notation - oriented graph with 2 types of vertices:  Places (circles, or ellipses) – hold tokens, represent state of system  Transitions (rectangles) – their execution cause the change of state Valuable analytical properties  Automatic derivation of invariants  Reachability analysis... N=(P, T, pre, post) P={p1,p2,p3,p4} T={t} pre(p1,t) = 2, post(p1,t)=0 pre(p3,t) = 0, post(p3,t)=1 m 0 (p1)=2, m 1 (p3)=1 m 0 =(2,1,0,1) [t> m 1 =(0,0,1,4) t

7 Supported Petri nets dialects Time - basic nets Extension of GPN, incorporates the concept of the time Chronos (timestamp)  associated with each token  time when the token has been created  semantics: single value (time point) time interval Time function  associated with each transition  relation between the timestamps of removed and created tokens t max((4,8),(2,10)) = (4,10) (4,10)+1 = (5,11) 5 (5,11)

8 Supported Petri nets dialects Evaluative Petri nets Turing-powerful extension of GPN 3 sets of places :  P –alike the places in GPN (called individual variables )  P f –with associated functions over the individual variables  P e –with associated predicates over the individual variables m(p)<0 allowed for p  P  P f Transition firing depends also on non-adjacent places t1t1 P={p 1,p 2,p 3 }p 1 >0 means if m(p 1 )>0 then m(pe 1 )=1, else m(pe 1 )=0 P e ={p e1 }, P f =  2p 2 means 2* m(p 2 )

9 Supported Petri nets dialects Coloured Petri nets High-level Petri nets Each token has some value: integer, string, tuple, list of values… The same expressional and analytical power as GPN Arc expressions  specify the groups of tokens taken from and delivered to places when transitions are fired Guarding predicates  associated with transitions  additional conditions of transitions feasibility t1t1

10 PNtool modes and features Graph. editor SimulatorAnalysisPNML support Transformation GPN/TB mode  invariants 1) reachability 1)  1) to APC 1) from ACP 1) to B-AMN 1) EvPN mode  to B-AMN CPN mode  1) – GPN only

11 PNtool modes and features Graphical editor Allows to  draw,  save,  load and  modify a graph of a net. Offers specialized dialogs for place, transition and arc properties

12 PNtool modes and features Simulator Enabled transitions and the effect of a transition firing are shown directly in the editor Allows to  choose a transition to be fired  fire 1, 5 or 50 transitions randomly  go back to the previous or to the initial marking 3 simulation modes are available for TB nets:  GPN-like mode,  time point semantics mode,  time interval semantics mode. 5 (5,11)

13 PNtool modes and features Editor and simulator in CPN mode

14 PNtool modes and features Invariants-based analyser Available for GPN Computes  basic place invariants  basic transition invariants Implements  Silva method  Gaussian elimination method It is also possible to use the Adriana plug-in (D.A. Zaitsev)

15 PNtool modes and features Reachability analyser Available for GPN Implements original reachability problem solution by Š. Hudák: 1. Construction of an M w automaton for the given net N. (fully implemented, including a visualisation) 2. Creation and solving of the integer linear programming problem for M w and an examined vector q (partially implemented) M w automaton  special type of finite automaton  represents the (possibly infinite) state space of N  contains macrostates  constructed only once for a given net

16 PNtool modes and features Analysers - screenshot

17 PNML support Available for GPN and EvPN PNML  Petri Net Markup Language  XML-based interchange file format for Petri-nets New elements defined for EvPN  evpnPlace - specifies whether the given place belongs to P, Pe or Pf,  evpnArc - specifies whether a negative value of marking of the place adjacent to this arc is allowed,  relPlace - includes the name of a place, not connected to this arc, which affects the pre or post value of the arc,  capacity - specifies a capacity of the place adjacent to this arc.

18 PNtool interfaces Theoretical basis: semantics preserving translations  PN  Algebra of communicating processes (ACP) 1)  Algebra of process components (APC)  PN 1)  EvPN  B-Abstact machine notation (B-AMN) 2)  B-AMN  CPN 2) Implementation  PN  ACP: standalone tool ACP2PETRI  APC  PN: standalone tool PETRI2APC  EvPN  B-AMN: implemented in PNtool  B-AMN  CPN: partial standalone implementation 1) – defined by S. Šimoňák 2) – defined by Š. Korečko

19 PNtool interfaces: example EvPN  B-AMN MACHINE EvPNfig3 VARIABLES sv_1, sv_2, sv_3 INVARIANT sv_1:NAT & sv_2:NAT & sv_3:NAT DEFINITIONS grd1== sv_1>0 INITIALISATIONsv_1:=1 || sv_2:=2 || sv_3:=0 OPERATIONS op_1= SELECT grd1 & sv_1>=1 THEN sv_1:=sv_1 - 1 || sv_3:=sv_3 + 2*sv_2 END

20 Future work To add a PNML support for TB nets  require another extension of PNML. To implement the second step of RP algorithm To be able to load/edit/save a graph of M w automaton in PNtool  as equivalent P/T net. To use some 2D graphics framework for the graphical editor and simulator.

21 Thank you for your patience. Štefan HUDÁK Štefan KOREČKO Slavomír ŠIMOŇÁK


Download ppt "A SUPPORT TOOL FOR THE REACHABILITY AND OTHER PETRI NETS- RELATED PROBLEMS AND FORMAL DESIGN AND ANALYSIS OF DISCRETE SYSTEMS Department of Computers and."

Similar presentations


Ads by Google