/faculteit technologie management DEMO CPN-tools Ronny Mans Eindhoven University of Technology, Faculty of Technology Management, Department of Information.

Slides:



Advertisements
Similar presentations
1 Analysis of workflows : Verification, validation, and performance analysis. Wil van der Aalst Eindhoven University of Technology Faculty of Technology.
Advertisements

Using the Crosscutting Concepts As conceptual tools when meeting an unfamiliar problem or phenomenon.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
Chapter 10 Introduction to Arrays
Software Requirements Engineering
CSI 3120, Exception handling, page 1 Exception and Event Handling Credits Robert W. Sebesta, Concepts of Programming Languages, 8 th ed., 2007 Dr. Nathalie.
Kurt Jensen Lars M. Kristensen 1 Coloured Petri Nets Department of Computer Science Coloured Petri Nets Kurt Jensen & Lars Michael Kristensen (Edited by.
Banker’s Algorithm Implementation in CPN Tools Michal Žarnay Department of Transportation Networks University of Žilina, Slovakia.
/faculteit technologie management CPN 2006 Modeling Business Processes with CPN R.S. Mans.
Performance Analysis and Monitoring Facilities in CPN Tools Tutorial CPN’05 October 25, 2005 Lisa Wells.
Application of Coloured Petri Net for Agent Control and Communication in the ABAsim Architecture Antonín Kavička University of Pardubice, Czech Republic.
/faculteit technologie management CPN 2005 Business Process Redesign at a Mental Healthcare Institute: A Coloured Petri Net Approach M.H. Jansen-Vullers.
Building Industrial-Sized Models and Performance Analysis Lisa Wells CPN Workshop 2004 CPN Tools Tutorial, Session 3 October 8, 2004.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
1 CS/CPE 426 Senior Projects Chapter 21: State Machines Chapter 22:Advanced State Machines [Arlow and Neustadt 2005] March 24, 2009.
Future Plans for CPN Tools - General. 2 Plans for CPN Tools CPN’0624-Oct-2006 Version plans Improvements for current marking feedback Support for.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Petri Nets An Overview IE 680 Presentation April 30, 2007 Renata Kopach- Konrad.
Computer Systems & Architecture Lesson Software Product Lines.
1 Exception and Event Handling (Based on:Concepts of Programming Languages, 8 th edition, by Robert W. Sebesta, 2007)
Chapter 5: Modeling Systems Requirements: Events and Things
PETRINETS Nipun Devlekar Zauja Lahtau. PETRINETS DEFINITION : DEFINITION :  PETRINET (place/ transition net): a formal, graphical, executable technique.
REFACTORING Lecture 4. Definition Refactoring is a process of changing the internal structure of the program, not affecting its external behavior and.
A Novel Method for Formally Detecting RFID Event Using Petri Nets SEKE 2011.
PROGRAMMING IN VISUAL BASIC.NET VISUAL BASIC BUILDING BLOCKS Bilal Munir Mughal 1 Chapter-5.
Invitation to Computer Science, Java Version, Second Edition.
Lecture Set 5 Control Structures Part D - Repetition with Loops.
5 Systems Analysis and Design in a Changing World, Fourth Edition.
Python – Part 1 Python Programming Language 1. What is Python? High-level language Interpreted – easy to test and use interactively Object-oriented Open-source.
Kurt Jensen Lars M. Kristensen 1 Coloured Petri Nets Department of Computer Science Coloured Petri Nets Modelling and Validation of Concurrent Systems.
Knowledge Modeling, use of information sources in the study of domains and inter-domain relationships - A Learning Paradigm by Sanjeev Thacker.
Kurt Jensen Lars M. Kristensen 1 Coloured Petri Nets Department of Computer Science Coloured Petri Nets Modelling and Validation of Concurrent Systems.
Virtual Storytelling Adam Abonyi Daniel Balaš. Agenda 1.Introduction to virtual storytelling 2.Petri Nets 3.Our improvements in Petri Nets 4.Example.
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.
5 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
MIPS coding. slt, slti slt $t3, $t1, $t2 – set $t3 to be 1 if $t1 < $t2 ; else clear $t3 to be 0. – “Set Less Than.” slti $t3, $t1, 100 – set $t3 to be.
Petri nets refresher Prof.dr.ir. Wil van der Aalst
Petri Nets Invented by Carl Adam Petri in 1962 Concurrent systems with timing problems  Synchronization, race problem, deadlock A petri net consists of.
/faculteit technologie management PN-1 مهندسی مجدد فرآیندهای تجاری بخش دوم: مدلسازی فرآیندها به کمک Petri nets.
1 OUTPUT ANALYSIS FOR SIMULATIONS. 2 Introduction Analysis of One System Terminating vs. Steady-State Simulations Analysis of Terminating Simulations.
School of Computer Science, The University of Adelaide© The University of Adelaide, Control Data Flow Graphs An experiment using Design/CPN Sue Tyerman.
Scientific Debugging. Errors in Software Errors are unexpected behaviors or outputs in programs As long as software is developed by humans, it will contain.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
E 74 Measuring Speed. E74: Measuring Speed Target: Measure the speed of a rolling cart using time and distance Do now: Take out your E74 Write up. Procedure.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
/faculteit technologie management PN-1 مهندسی مجدد فرآیندهای تجاری بخش دوم: مدلسازی فرآیندها به کمک Petri nets.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
Chapter 6 Testing and running a solution. Errors X Three types Syntax Logic Run-time.
Software Design and Development Development Methodoligies Computing Science.
Project management. Software project management ■It is the discipline of planning, organizing and managing resources to bring about the successful completion.
Requirements Specification
Concurrent Systems Modeling using Petri Nets
Profiling based unstructured process logs
Introduction to Programming for Mechanical Engineers (ME 319)
Topics Introduction to Repetition Structures
Iterative design and prototyping
Microsoft Access Illustrated
Important terms Black-box testing White-box testing Regression testing
Important terms Black-box testing White-box testing Regression testing
Stochastic Activity Networks
Tutorial 19 - Microwave Oven Application Building Your Own Classes and Objects Outline Test-Driving the Microwave Oven Application Designing.
Petri nets refresher Prof.dr.ir. Wil van der Aalst
Petri nets refresher Prof.dr.ir. Wil van der Aalst
Abstract Types Defined as Classes of Variables
Presentation transcript:

/faculteit technologie management DEMO CPN-tools Ronny Mans Eindhoven University of Technology, Faculty of Technology Management, Department of Information Systems, P.O.Box 513, NL-5600 MB, Eindhoven, The Netherlands.

/faculteit technologie management 2 Outline –Introduction to CPN Tools Building a net Time, Hierarchy and Color Analysis Simulation –Single run, replications –Monitors –Net for DCT case

/faculteit technologie management 3 Classical Petri net Simple process model –Just three elements: places, transitions and arcs. –Graphical and mathematical description. –Formal semantics allows for analysis.

/faculteit technologie management 4 Limitations of classical Petri nets Inability to test for zero tokens in a place. Models tend to become large. Models cannot reflect temporal aspects No support for structuring large models, cf. top-down and bottom-up design High level Petri nets in CPN –Color –Time –Hierarchy

/faculteit technologie management 5 CPN (Colored Petri nets) CPN is the language developed by Kurt Jensen. CPN supports the extensions with time, color and hierarchy. CPN is based on standard ML. CPN is supported by Design/CPN and CPN Tools. For more information:

/faculteit technologie management 6 Simulations Simulations of CP-nets are run for many reasons: –Debugging –Analysis of system behavior (performance or functional) –Presentation of a model to project team –Communication with external programs The usefulness of the simulations is heavily dependent on the flexibility and functionality of the simulator. –Access to simulation information –Stopping simulations

/faculteit technologie management 7 Accessing simulation information It is often useful to be able to exchange information between the CPN simulator and external processes or files. Code segments can be added to transitions for: –Reading and writing in files –Calculating some performance measures –Sending and receiving information from external processes

/faculteit technologie management 8 Controlling a simulation Simulation stop criteria –Number of steps executed –Dependent on model time –Dependent on markings or transitions

/faculteit technologie management 9 Common functionality These controlling and accessing activities share a common pattern: If certain conditions are fulfilled, then do something. –If transition T occurs, then save information in a file. –If there are no tokens on place P, then stop the simulation. –If model time is greater than C, then calculate the average number of tokens on place P.

/faculteit technologie management 10 Problems when simulating Problems controlling and accessing simulation information: –Cannot access marking information. –Net structure may have to be changed to obtain desired functionality. –If multiple transitions need to be inspected, then code segments must be duplicated. –Code segments cannot be disabled. –Only low-level support, which is difficult to use.

/faculteit technologie management 11 Monitors in CPN Tools monitor (verb) to watch, keep track of, or check, usually for a special purpose Merriam-Webster’s Collegiate Dictionary A monitor is a mechanism that is used to observe, inspect, control or modify a simulation of a CP-net. Important characteristics of monitors: –They can inspect the states and events of a simulation, and take appropriate actions based on the observations. –There is an explicit separation between monitoring the behavior of a net, and modeling the behavior of the system.

/faculteit technologie management 12 Levels of monitors Standard monitors –Very easy to define –Do not require users to write any code Parameterized monitors –Similar to standard monitors, but slightly more flexible, and require some programming User-defined monitors –Very flexible, but require more programming

/faculteit technologie management 13 Monitoring subnets A monitor can inspect markings and occurring transitions, with variable bindings, during a simulation –Zero or more places –Zero or more transitions Monitors are activated after simulation steps –After every simulation step, if no transitions are monitored –After every relevant transition has occurred

/faculteit technologie management 14 Data Collector monitors Mark Size (used on places) List Length Data Collector(used on places) Count Transition (used on transitions) Generic Data Collector (used on subnets)

/faculteit technologie management 15 Breakpoint monitors Place Content(used on places) Transition Enabled(used on transitions) Generic Breakpoint(used on subnets)

/faculteit technologie management 16 Other monitors Write in file (used on subnets) User defined (used on subnets)

/faculteit technologie management 17 Monitoring functions –Initialization function Called once before a simulation –Predicate function Called after simulation steps –Observation function Called when predicate function returns true Extracts relevant data from the model –Action function Does something appropriate with the observed value –Stop function Called once after a simulation

/faculteit technologie management 18 Questions?