35
Software Engineering 2 Project presentation Ekkart Kindler

Software Engineering 2 (02162)

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Software Engineering 2 Project presentation

Ekkart Kindler

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

9 SE2: Project

Example: Toy train

Ekkart Kindler

10 SE2: Project

Toy train: Simple net

track1 track2

track3

track4

track5

c6.track6

track6

Ekkart Kindler

11 SE2: Project

Models for components

track

x: semicircle

track

x: line

Ekkart Kindler

12 SE2: Project

Models for components

track track

x: signal

n1.track

x.track

x: switch

n2.track

Ekkart Kindler

13 SE2: Project

Signal: Detailed model

track

stop

x: signal

go

Ekkart Kindler

14 SE2: Project

Switch: Detailed model

track

track x: switch

left right

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

20 SE2: Project

Screenshot

38

Ekkart Kindler More fancy version

21 SE2: Project

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

Ekkart Kindler Deliverables

35 SE2: Project