Ekkart Kindler Project in a nutshell
2 SE2: Project
Petri net Animation info
shape: train
animation: move
geometry: track1
...
«3D models»
...
+
Simple interactive
3D animation of a
system
Ekkart Kindler Outline of talk
What are Petri nets?
What do we need to add for
animating behaviour in 3D?
Some more detailed concepts!
More detailed requirements!
3 SE2: Project
Ekkart Kindler
4 SE2: Project
Petri nets: Example
semaphor
request1
critical1
idle1
request2
critical2
idle2
Ekkart Kindler
5 SE2: Project
Petri nets: Example
semaphor
request1
critical1
idle1
request2
critical2
idle2
Ekkart Kindler
6 SE2: Project
Petri nets: Concepts
Places:
Transitions:
Tokens:
Arcs:
Marking: A distribution of tokens on the places
(there may be more than one token on a place)
Ekkart Kindler
7 SE2: Project
Petri nets: Firing rule
before (must be there
and are consumed) after (are
produced)
Ekkart Kindler
8 SE2: Project
Firing rule
before (must be there
and are consumed) after (are
produced)
Other tokens might be
there (do not change)
Ekkart Kindler
10 SE2: Project
Toy train: Simple net
track1 track2
track3
track4
track5
c6.track6
track6
Ekkart Kindler
12 SE2: Project
Models for components
track track
x: signal
n1.track
x.track
x: switch
n2.track
Ekkart Kindler Outline of talk
What are Petri nets?
What do we need to add for
animating behaviour in 3D?
Some more detailed concepts!
More detailed requirements!
15 SE2: Project
Ekkart Kindler
16 SE2: Project
Animation info
Geometric information
arrangement of tracks (geometry)
Physical appearance
appearance of objects (3D model/shape)
appearance of tracks (mostly texture)
Animations
“Behaviour” of a token while on a place
Ekkart Kindler
17 SE2: Project
Animation information
x: line
shape: train
animation: move
id: 1 finished id: 1
geometry: track1
geometry:
…
line: id = track1 x1, y1, x2, y2
shape: track
…
Ekkart Kindler Outline of talk
What are Petri nets?
What do we need to add for
animating behaviour in 3D?
Some more detailed concepts!
More detailed requirements!
18 SE2: Project
Ekkart Kindler
19 SE2: Project
Animation information
x: signal
shape: train animation: move shape: sigGo
action: appear, trigger
shape: sigStop action: appear, trigger
id: 1 finished id: 1
id: 2 id: 2 <keep animation>
geometry: track2
geometry: sig1
geometry: sig1
geometry: … line: id = track2 x1, y1, x2, y2
shape: track
point id = sig1 x3, y3
finished
finished
Ekkart Kindler
22 SE2: Project
Which shape?
How do the following shapes look like?
train
sigGo
sigStop
track
The appearance of each shape is
defined in a separate models file
a reference to a VRML model for a dynamic shape
(you are free to use other models)
a profile and a texture for a static shape
Shapes corresponding to tokens:
dynamic shapes
Shapes corresponding to geometry
objects: static shapes
Ekkart Kindler
23 SE2: Project
Objective
Simple extension for equipping a Petri net model
with a 3D-visualization
Cheap way of showing a customer what a system
modelled as a Petri net would really do – for
validation purposes
Ekkart Kindler
24 SE2: Project
Task
Re-implementation of PNVis based on a
new model-based Petri net tool (the ePNK)
and with more modern development
technologies (EMF)
Ekkart Kindler Outline of talk
What are Petri nets?
What do we need to add for
animating behaviour in 3D?
Some more detailed concepts!
More detailed requirements!
(will be continued)
25 SE2: Project
Ekkart Kindler Sub tasks
Extended Petri net type for the ePNK that covers
the extensions that are needed for the animations
Graphical editor for geometries (points and lines
the ”Petri net animations” refers to)
Editor for defining the appearance of objects and
tracks (refering to external 3D-models and textures)
Simulator for the extended Petri net type that
interacts with the 3D animation engine
3D animation engine that interacts with the Petri
net simulation (and with the end user)
GUI for starting and controlling 3D animations
from a simple configuration file
26 SE2: Project
Ekkart Kindler
27 SE2: Project
Further information
SE2 project page:
http://www2.compute.dtu.dk/courses/02162/e16/
project/
Ekkart Kindler and Csaba Páles: 3D-Visualization of
Petri Net Models. In: J. Cortadella and W. Reisig
(eds.): ICATPN 2004, LNCS 3099, pp. 464–473,
Springer 2004: http://www2.compute. dtu.dk/
courses/02162/e16/project/PDF/PNVis-PN04.pdf
ePNK home page:
http://www2.compute.dtu.dk/~ekki/projects/ePNK/
Ekkart Kindler
28 SE2: Project
Weekly Schedule (roughly)
Mon Tue Wed Thu Fri
8-10 lecture
10-12 project
13-15 tutorial
15-17 project
lecture tutorial project
Ekkart Kindler The tutorials
The tutorials’ topics cover the core technologies of
the project
The main issues will be discussed and used in a
tutorial
29 SE2: Project
Ekkart Kindler Tutorials: The topics
1: Eclipse Modeling Framework (EMF)
Overview
Making models
Generating and using code
2: Building Graphical Editors (GEF / GMF) I
MVC
Modelling and generating a graphical editor
3: Building Graphical Editors (GEF / GMF) II
Advanced concepts (e.g. Listeners for updating positions)
30 SE2: Project
Ekkart Kindler The topics
4: The ePNK (overview)
Defining a new Petri net type (with features for 3D
animation)
5: 3D Visualisation and animation
Basic features of Java3D
6: Parsers and EMF
Introduction to XText
8: Overview / Advanced topics
31 SE2: Project
Ekkart Kindler Homework
Think of the task(s)
look at example (slides) make a own example
outline idea of simulator and interaction with
3D animation
what is unclear
what is missing
what are the use cases
32 SE2: Project
Ekkart Kindler Homework
What could your role in the group be
Project leader
Responsibility for a deliverable
Quality manager
Tool / technology expert
Which part (see sub-tasks) of the project does
interest you
33 SE2: Project
Ekkart Kindler Next Group Meeting
Discuss the project
what are the important terms / concepts
identify problems
formulate the task in your own words
discuss cool features ideas
Make a work plan
Assign responsibilities
34 SE2: Project