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

Slides:



Advertisements
Similar presentations
What is Petri nets? A bipartite graph G(V,E) – V = P U T P is the set of places (represented with circles) T is the set of transitions (represented with.
Advertisements

Recognising Languages We will tackle the problem of defining languages by considering how we could recognise them. Problem: Is there a method of recognising.
Eugene Syriani and Huseyin Ergin University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.
Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
Techniques to analyze workflows (design-time)
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Petri Nets Section 2 Roohollah Abdipur.
Based on: Petri Nets and Industrial Applications: A Tutorial
UPPAAL Introduction Chien-Liang Chen.
Hybrid Systems Presented by: Arnab De Anand S. An Intuitive Introduction to Hybrid Systems Discrete program with an analog environment. What does it mean?
Timed Automata.
LIFE CYCLE MODELS FORMAL TRANSFORMATION
IE 469 Manufacturing Systems
Discrete Interaction Design Specification Prof. Dr. Matthias Rauterberg Faculty Industrial Design Technical University of Eindhoven
Implementing Petri Net Transformations Tony Modica Implementing Petri Net Transformations using Graph Transformation Tools Enrico Biermann,
A Schedulability-Preserving Transformation of BDF to Petri Nets Cong Liu EECS 290n Class Project December 10, 2004.
1 Petri Nets H Plan: –Introduce basics of Petri Net models –Define notation and terminology used –Show examples of Petri Net models u Calaway Park model.
FunState – An Internal Design Representation for Codesign A model that enables representations of different types of system components. Mixture of functional.
12/07/2007Jiacun Wang1 SE-561 Math Foundations Petri Nets - II Dr. Jiacun Wang Department of Software Engineering Monmouth University.
Lecture 6 & 7 System Models.
Outline Chapter 1 Hardware, Software, Programming, Web surfing, … Chapter Goals –Describe the layers of a computer system –Describe the concept.
1 CPN Tools Future work. 2 Overview Language extensions Manual simulation Analysis techniques Editing Other.
ESA PetriNet: Petri Net Tool for Reliability Analysis Romaric Guillerm, Nabil Sadou, Hamid Demmou 14 Oct LAAS-CNRS.
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
PROGRAMMING LANGUAGES The Study of Programming Languages.
PETRINETS Nipun Devlekar Zauja Lahtau. PETRINETS DEFINITION : DEFINITION :  PETRINET (place/ transition net): a formal, graphical, executable technique.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
A Novel Method for Formally Detecting RFID Event Using Petri Nets SEKE 2011.
Introduction to MDA (Model Driven Architecture) CYT.
Requirements Definition and Specification. Outline Definition and specification Natural language Semi-formal techniques –Program description languages.
 Platform Independent Petri net Editor 2 (PIPE2) CS2650 Distributed Multimedia Systems Wen Xu November 23 rd, 2010.
Modeling with ordinary Petri Nets Events: Actions that take place in the system The occurrence of these events is controlled by the state of the system.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
Petri Net Markup Language (PNML) Nickolas Paladino Oct. 9, 2002 University of Central Florida.
Selected Topics in Software Engineering - Distributed Software Development.
Kurt Jensen Lars M. Kristensen 1 Coloured Petri Nets Department of Computer Science Coloured Petri Nets Modelling and Validation of Concurrent Systems.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Towards a High-Level Petri Net Type DefinitionWorkshop on Interchange Formats for Petri Nets 1/18 June 26, 2004 Towards a High-Level Petri Net Type Definition.
May 31, May 31, 2016May 31, 2016May 31, 2016 Azusa, CA Sheldon X. Liang Ph. D. Computer Science at Azusa Pacific University Azusa Pacific University,
Stochastic Activity Networks ( SAN ) Sharif University of Technology,Computer Engineer Department, Winter 2013 Verification of Reactive Systems Mohammad.
Lecture 81 Regional Automaton CS 5270 Lecture 8. Lecture 82 What We Need to Do Problem: –We need to analyze the timed behavior of a TTS. –The timed behavior.
Generalized stochastic Petri nets (GSPN)
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.
Modelling by Petri nets
Tools, Formats, & Solutions.  Survey of literature found 3 interesting ways Petri Nets are used  BioPNML – Petri Nets for Bio  GJobDL – Petri Nets.
ReNeW Reference Net Workshop Presenter Yao Sun. The ReNeW Features  High-level Petri Nets (Support Predicate)  Place/Transition Nets  Petri Nets with.
BOĞAZİÇİ UNIVERSITY DEPARTMENT OF MANAGEMENT INFORMATION SYSTEMS MATLAB AS A DATA MINING ENVIRONMENT.
Ch8. Analysis Joosung, Ko.
School of Computer Science, The University of Adelaide© The University of Adelaide, Control Data Flow Graphs An experiment using Design/CPN Sue Tyerman.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
26/04/04 Petri nets in systems biology: creation, analysis and simulation Oliver Shaw School of Computing Science.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Programming Languages and Design Lecture 2 Syntax Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Capturing Requirements. Questions to Ask about Requirements 1)Are the requirements correct? 2)Consistent? 3)Unambiguous? 4)Complete? 5)Feasible? 6)Relevant?
Review n System dynamics : A sequence of state transition n model : A set of rules for state transition System S X Y Discrete event system FSM (Automata)
Chapter – 8 Software Tools.
Petri Net based semantic engine Vivek Singh, SEECS, UCF Feb 7, 2002.
Petri-Nets and Other Models
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
CSS 496 Business Process Re-engineering for BS(CS)
KNOWLEDGE MODELING FOR PROGRAM PLANNING
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
Stochastic Activity Networks
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
Coloured Petri Nets Modelling and Validation of Concurrent Systems
Department of Computer Science Abdul Wali Khan University Mardan
Presentation transcript:

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

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

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

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

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

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

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)

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 )

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

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

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

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)

PNtool modes and features Editor and simulator in CPN mode

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)

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

PNtool modes and features Analysers - screenshot

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.

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

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

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.

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