Title: Coloured Petri Nets and Education
1Coloured Petri Nets and Education
- Søren Christensen
- Department of Computer Science
- University of Aarhus
- Denmark
4th Advanced Course on Petri Nets 2003,
Eichstätt, Germany
2This presentation aims to give you
- Suggestions for general questions when preparing
courses - Suggestions for subjects
- Examples of different kinds of courses related to
Coloured Petri Nets - Pointer to examples of material, i.e., slides,
examples, tools,... - Courage to try it when you get home!
3General Questions to guide the planning of the
course
- Who is the Audience?
- 1st year Students, Software Engineers, ...
- Why should they learn about Coloured Petri Nets?
- A tool to solve problems
- An example of an interesting formalism
- What is the most important focus?
- General understanding
- Concrete methods and tools for a specific problem
4General Questions to guide the planning of the
course (2)
- How should the subject be presented?
- Level of Detail
- Exercise / Lectures
- Historical / Thematic
- Bottom Up / Top Down
- Practical limitations
- Available time, tools, and other resources
5Coloured Petri Nets, a wide area, you need to
focus
6High-level Petri Nets, Special Concerns
- Net Structure
- Top Down
- Inscription Language
- Bottom Up
- How to find the right level of abstraction
- Examples of models from the same application
areas
7Examples of course activities
- Coloured Petri Nets as a tool in teaching
Distributed Systems and Network protocols - Coloured Petri Nets as a tool in teaching Process
Modelling - Systems Design for Software Engineers
- Coloured Petri Nets Two Part Course
- Introduction and Workshop Participation
- Either State Space Methods or modeling project
- Projects Theory, Tools and Applications
8Coloured Petri Nets as a tool in
teachingDistributed Systems and Network protocols
- 2. or 3. year Computer Science students
- 60-100 students
- Has been given in a number of variations during
the last 10 years - The aim is to give the students a tool to
understand and discuss protocols and algorithms
in distributed systems - Informal introduction
- 6 hours of lecture tool demo reading
exercises - Jensen Vol. 1 (pages 1-55 and 89-106)
- Examples
- Standard Networking book, but many examples
translated to CP-nets - Work with tools
- Small exercises, partial nets
- Larger mandatory exercise
- http//www.daimi.au.dk/dDistSik/ (In Danish)
9Coloured Petri Nets as a tool in teaching Process
Modelling
- 1. year Technology Management Students
- Around 200 students
- Very comprehensive notes
- Basic Concepts of Classical Petri Nets
- Application of Classical Petri Nets
- Extending Classical Petri Nets by Adding Color
and Time A Gentle Introduction - Coloured Petri Nets The Language
- Hierarchical Petri Nets
- http//tmitwww.tm.tue.nl/staff/wvdaalst/courses/pm
/pm.html
10Systems Design for Software Engineers
- Software Engineers
- 2-6 Software Engineers
- Intense short course, 2 2 2 days
- Specially tailored for a company
- Introduction tool demo using prepared example
that the Software Engineers know from their
ordinary work - The Practitioner's Guide to Coloured Petri Nets
- Work with tools
- Small exercises, partial nets
- More models of the same system
11Coloured Petri Nets Two Part Course
- 4. year Computer Science Students
- Part 1 Introduction and Workshop Participation
- Introduction to the areas needed to read and
understand the papers accepted for the CPN
workshop - Groups of students read, review and present
papers - Participate in the CPN workshop
- Part 2 Either State Space Methods or Modeling
project
12Projects Theory, Tools and Applications
- Short Student projects
- Many smaller projects typically related to the
course - Master Thesis projects
- PhD projects
13Subjects for Master Thesis
- Modular State Spaces in Design/CPN
- Routing in mobile ad-hoc networks
- Analysis of GSM Handovers using Coloured Petri
Nets - I/O Efficient State-Space Storage
- Distributed Methods for Computation and Analysis
of a Coloured Petri Net State Space - Modelling of interactive, event based multimedia
systems using Coloured Petri Nets - On-the-fly LTL Model Checking in Design/CPN
- Internal Network Security - Defending the Network
from the Inside - Automatic Code Generation from Coloured Petri
Nets - Coloured Petri Nets and State Space Reduction
Methods - Design and Analysis of a Bus Scheduling System by
Means of Coloured Petri Nets - Interval Timed Coloured Petri Nets
14PhD thesis subjects
- Coloured Petri Nets - a Pragmatic Formal Method
for Designing and Analysing Distributed Systems - State Space Methods for Coloured Petri Nets
- Performance Analysis using Coloured Petri Nets
- Facilitating the Practical Use of Coloured Petri
Nets - The Symmetry Method for Coloured Petri Nets -
Theory, Tools, and Practical Use - Sweeping the State Space - A Sweep-Line State
Space Exploration Method
15Repository of Presentations
- General
- Applications
- State Spaces
- Place Invariants
- Tools
- http//www.daimi.au.dk/CPnets/slides/
16Introductory Papers that we often use
- L.M. Kristensen, S. Christensen, K. Jensen The
Practitioner's Guide to Coloured Petri Nets.
International Journal on Software Tools for
Technology Transfer, 2 (1998), Springer Verlag,
98-132. - Keywords Introduction to CP-nets, Simulation,
State spaces, Occurrence graphs, CP-nets with
time, Hierarchical CP-nets, Tool support,
Application, General. - Comments This paper provides a comprehensive
road map to the practical use of CP-nets and the
Design/CPN tool. The paper is self-contained and
does not assume any prior knowledge of Petri nets
and CP-nets nor any experience with the
Design/CPN tool. - K. Jensen A Brief Introduction to Coloured Petri
Nets. In E. Brinksma (ed.) Tools and Algorithms
for the Construction and Analysis of Systems.
Proceeding of the TACAS'97 Workshop, Enschede,
The Netherlands 1997, Lecture Notes in Computer
Science Vol. 1217, Springer-Verlag 1997, 203-208.
- Keywords Introduction to CP-nets, General.
- Comments A very brief introduction to CP-nets
and their analysis methods. - K. Jensen An Introduction to the Practical Use
of Coloured Petri Nets. In W. Reisig and G.
Rozenberg (eds.) Lectures on Petri Nets II
Applications, Lecture Notes in Computer Science
vol. 1492, Springer-Verlag 1998, 237-292. - Keywords Introduction to CP-nets, Simulation,
State spaces, Condensed state spaces, Occurrence
graphs, CP-nets with time, Hierarchical CP-nets,
Tool support, Application, General. - Comments A good introduction to the practical
use of CP-nets and the CPN tools. - K. Jensen An Introduction to the Theoretical
Aspects of Coloured Petri Nets. In J.W. de
Bakker, W.-P. de Roever, G. Rozenberg (eds.) A
Decade of Concurrency, Lecture Notes in Computer
Science vol. 803, Springer-Verlag 1994, 230-272. - Keywords Introduction to CP-nets, Formal
definition, Dynamic properties, State spaces,
Occurrence graphs, Place invariants, General. - Comments A good introduction to the theoretical
aspects of CP-nets. - http//www.daimi.au.dk/kjensen/papers_books/rec_p
apers_books.htmlintro_cpn_papers
17Coloured Petri Nets - Modelling and Analysis
- To cope with the complexity of modern computing
systems, it becomes more and more crucial to be
able to debug and test the central parts of
system designs before implementation starts. One
way to do this is to build a prototype. Another
and faster way is to build a model. This allows
the designer to inspect the model and in this way
learn about the behaviour of the system. This is
similar to an architect who builds a scaled model
of a new building to inspect and discuss its
properties before the construction starts. - Coloured Petri Nets is a modelling language that
allows the user to build models that can be
executed by a computer. In this way it is
possible to make simulations which illustrates
the behaviour of the system in selected
scenarios. Having constructed a CPN model, it is
also possible to apply a number of mathematical
analysis methods to prove that the system design
possesses certain properties, e.g. absence of
deadlock and functional correctness. Finally, the
CPN model can be used to predict and improve the
efficiency of the system, e.g., the speed at
which it operates. Coloured Petri Nets are used
to model systems in which communication,
synchronisation and resource sharing are crucial,
e.g. communication protocols and other software
for distributed systems. - The course introduces the theory and practice
behind Coloured Petri Nets, its analysis methods,
and tool support. The students are expected to
build a number of small models and investigate
these by means of simulation and formal analysis
methods. Although the examples will be small,
they will be large enough to illustrate the main
ideas and problems. Hence, they are a good
foundation for students who later need to build
models in their future job as system designers.