Modelling with Coloured Petri Nets Søren Christensen Department of Computer Science University of Aarhus
2August 27, 2002Søren Christensen, MOCA’02 The Coloured Petri Nets group in Aarhus work with: Theory - models - basic concepts - analysis methods Tools - editing - simulation - verification Practical Use - specification - validation - verification - implementation
3August 27, 2002Søren Christensen, MOCA’02 Theory The Coloured Petri Nets formalism –Introduction of hierarchies Modelling primitives –Channels, inhibitor arcs, test arcs,... –Monitoring framework Analysis methods –Symmetry methods –Sweep-line method
4August 27, 2002Søren Christensen, MOCA’02 Tools Design/CPN ( ) –Editing, Simulation and State Space analysis CPN Tools (2003) –Editing, Simulation and State Space analysis
5August 27, 2002Søren Christensen, MOCA’02 Practical use of CP-nets More than 50 documented case stories on our web pages. A wide range of different projects with different aims, e.g.: –Protocol design and analysis –Workflow descriptions –Software design –Capture systems requirements
6August 27, 2002Søren Christensen, MOCA’02 Modelling What is a model? What are models used for? Why do we need models? How do we create models? How do we structure models?
7August 27, 2002Søren Christensen, MOCA’02 What is a model? model and modelling in painting, the use of light and shade to simulate volume in the representation of solids. In sculpture the terms denote a technique involving the use of a pliable material such as clay or wax. As opposed to carving, modelling permits addition as well as subtraction of material and lends itself to freer handling and change of intention. The technique is exemplified also by those works in cast metal and plaster that are made from the mold of a clay original. The mold is made by the process of cire perdue. The noun model is used to describe such an original and also any three-dimensional scale model for a larger or more elaborate project in architecture, landscaping, or industry. It also denotes a person or object used as an aid to representation in painting. The Columbia Encyclopaedia, Sixth Edition Abstract representation, scale model of future design
8August 27, 2002Søren Christensen, MOCA’02 What are models used for? Static Model –Modular architecture of systems –Data model –Class diagrams Dynamic Models –Behaviour of systems –Exchange of messages –State changes
9August 27, 2002Søren Christensen, MOCA’02 Why do we need models? We want to investigate properties of a system but, –The system does not exist yet –It is too dangerous to investigate the real system –It is too expensive to investigate the real system –We want to capture and test different designs –We want to learn more before finalising the systems design
10August 27, 2002Søren Christensen, MOCA’02 How do we create models? There is not a single ‘right’ way to create models! –Co-operation between different experts –Models mediate the discussions –Gradually refinement –Models can be used as ‘Prototypes’ of the system –Discarding a model is good!
11August 27, 2002Søren Christensen, MOCA’02 How do we structure models? The model should reflect the systems design –Easier to understand for domain experts –Easier to validate The model should reflect the functionality of the system –Easier to abstract from details –Easier to verify
12August 27, 2002Søren Christensen, MOCA’02 Choices specific for Coloured Petri Nets Petri Nets structure v.s. inscriptions Instances of modules v.s. folding Hierarchy v.s. expanded description Port/Socket v.s. place fusion Inscriptions v.s. declarations The possible choices depend on available tools
13August 27, 2002Søren Christensen, MOCA’02 To be successful you should: Try different alternatives Work both top-down and bottom-up Create building blocks Find a good balance between structure and inscriptions Start with the most important aspect, and then refine the model gradually
14August 27, 2002Søren Christensen, MOCA’02 CPN Tools Pre-releases exists, installed on the machines used for It is free, but you need to register Get a version from: The work will continue: –New state space tool –Integration with other tools and formalisms
15August 27, 2002Søren Christensen, MOCA’02 Coloured Petri Nets is not sufficient Capture Static aspects –Class diagrams –Data structuring –Database layout Illustrate dynamics –Message Sequence Diagrams –Domain specific graphics System dynamics is captured using CP-nets
16August 27, 2002Søren Christensen, MOCA’02 A new kind of systems Mobile systems Multi-modal systems Context dependant systems Pervasive Computing “The X Internet” [Forrester, may 2001] Executable Internet: “Intelligent applications that execute code near the user to create rich, engaging conversation via the Net”. Extended Internet: “Internet devices and applications that sense, analyse, and control the real world”.
17August 27, 2002Søren Christensen, MOCA’02 Model Driven Systems Development UML is good to model static information Dynamics of systems is of increasing importance –Pervasive Computing –Mobile, context dependant systems –Capture user requirements Centre for: “Model Driven System Development”
18August 27, 2002Søren Christensen, MOCA’02 The Coloured Petri Nets group in Aarhus - still - work with: Theory - models - basic concepts - analysis methods Tools - editing - simulation - verification Practical Use - specification - validation - verification - implementation