a model-driven course on petri-nets, metamodels and graph grammars

23
a model-driven course on Petri-Nets, Metamodels and Graph Grammars Pieter Van Gorp [email protected] Hans Schippers [email protected] Dirk Janssens [email protected] Serge Demeyer [email protected]

Upload: elan

Post on 11-Feb-2016

39 views

Category:

Documents


0 download

DESCRIPTION

a model-driven course on Petri-Nets, Metamodels and Graph Grammars. Students can get excited about Formal Methods. Serge Demeyer [email protected]. Pieter Van Gorp [email protected]. Dirk Janssens [email protected]. Hans Schippers [email protected]. Problem. - PowerPoint PPT Presentation

TRANSCRIPT

Page 2: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

2

Myth of Formal Methods:• exhaustive proofs• high training required• hard to comprehend• expensive• ...

Page 3: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

3

Solution• Prevent spread of such myths into Industry• Variety of Courses apply Formal Modeling

- designing a distributed system: introduction to UML,- designing a compiler: advanced class diagrams, text grammars,- relational algebra,- B, Z, OCL, Hoare Logic, ...

• However: - always limited to one modeling language / formalism- no link between:

• “mathematical” languages• more human-friendly languages• source code

- students: formal methods not applicable in practical software engineering?• Therefore:

- New Model-Driven Engineering (MDE) Course- Software Development with Various Formalisms

Metamodeling and Model Transformation

Page 4: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

4

1. Designing the Course• Objectives• Tool Selection

2. Course Description• Teaching Methods• Evaluation Methods• Course Artifacts• Link to Objectives

3. Lessons Learned

Page 5: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

5

Objectives / Expected Learning Outcomes• “Based on formal specifications (logical specifications, statecharts,

Petri-Nets) the student should be able to build models expressing the intended functionality of a system, to analyse and to verify these models, and to generate a working implementation from them.”

• “The student should be able to express the intended functionality of a system from different viewpoints in different formalisms (Petri-Nets, Graph Grammars) and ensure particular properties (boundedness, consistency, ...) of such models. The student should use state-of-the-art transformation techniques (model animation, model translation and code generation) to integrate distinct models and relate them to a complete implementation. The student should experiment with metamodelling in this context, and acquire an understanding of the benefits and limitations of the 4-layer meta-data architecture.”

Designing the Course >>

khj

(Meta-)Modeling

Properties Transformations

Page 6: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

6

• DiaMeta- advantage: standard (MOF) compliant- interoperable with group's research tool- disadvantage: immature

• Tiger- advantage: “sexy” (Eclipse)- disadvantage: heavyweight, yet no MOF/EMF support (yet)

• AToM3

- advantages: self-containedness- disadvantage: non-standard

Tool SelectionDesigning the Course >>

Page 7: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

7

1. Designing the Course• Objectives• Tool Selection

2. Course Description• Teaching Methods• Evaluation Methods• Course Artifacts• Link to Objectives

3. Lessons Learned

Page 8: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

8

Teaching MethodsCourse Description >>

7x 11x

Page 9: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

9

• BlackBoard Assignments: 8

• Relaxed Deadlines- E-mail sumissions

• Incremental Assignments

- Prepared Solutions

• Assignment completion overview

• Three Evaluation Milestones

• Extra Examination:- Oral with written

preparation

EvaluationCourse Description >>

Page 10: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

10

1. Designing the Course• Objectives• Tool Selection

2. Course Description• Teaching Methods• Evaluation Methods• Course Artifacts• Link to Objectives

3. Lessons Learned

Page 11: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

11

Petri-Net Editor (I/II)Course Artifacts >>

All thinkingPh. 1: Forks on TablePh. 2: Forks on Table

Ph. 3: Forks on TablePh. 5: Forks on Table

Ph. 4: Forks on TablePh. 6: Forks on Table

......

Ph. 1 & 5 will start eating

Ph. 3: Could eat too

Ph. 4: Cannot start eating!

Page 12: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

12

Petri-Net Editor (II/II)Course Artifacts >>

Modeling a Visual Language Editor Modeling Language Structure (= metamodel)

>> as E/R or Class Diagram Modeling Concrete Syntax Some Python code required

Page 13: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

13

RailRoad Editor

...

...

Course Artifacts >>

...

Animation changes train location

Page 14: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

14Graph Grammars (I/II)

Page 15: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

15Graph Grammars (II/II)Train Animation:rewriting of abstract nodes

Train 2 Petri Transl.:Traceability

Train 2 Petri Translation:Out-Place MtoN rules

Page 16: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

16

1. Designing the Course• Objectives• Tool Selection

2. Course Description• Teaching Methods• Evaluation Methods• Course Artifacts• Link to Objectives

3. Lessons Learned

Page 17: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

17

Content<>ObjectivesCourse Description >>

Modeling Properties TransformationIntroduction

Papers, Discussion, Motivating Demo’s

C/E NetsP/T Nets

Colored Nets

PN MetamodelTrain Metamodel

SafetyDeadlocks?

PN AnimationTrain Animation

Discussion:Evaluation AToM3 GGs

Classification Papers“Beyond AToM3”

dq

PN ModelsTrain-to-PN

Next step:tracing back

analysis results

Generating Editors

Train Models

Page 18: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

18

1. Designing the Course• Objectives• Tool Selection

2. Course Description• Teaching Methods• Course Artifacts• Evaluation Methods• Link to Objectives

3. Lessons Learned

Page 19: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

19

Best Practices• Best Practices

- Feasibility Study- Expert Supervision- Start Small- Work Incrementally- Illustrate Applicability- Examples First- Problems First

Lessons Learned >>

Page 20: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

20

Planned Improvements• Planned Improvements

- Provide Tool Feedback

- Consider Alternative Tools

- Provide Integration Components• to Petri-Net Analysis Tools

- Extend Railroad Case Study

- Prepare Follow-Up Courses

Lessons Learned >>

Page 21: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

21

Industrial Relevance• Industrial Relevance

- Curriculum at University of Antwerp:• 3 Master Profiles:

- industrial, - educational,- or research profile.

• Course in BACH3 tradeoff!- Concrete alternatives:

(a) Use of UML code generator (transformations) in popular middleware context

(b) Building editors and transformationswithout middleware focus

- Why (b)?• tool internals look beyond marketing!• demand from automotive industry

Lessons Learned >>

Page 22: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

22

Conclusions• Course Format

» Conventional Lectures: Petri-Nets» Paper Discussions: MDE» AToM3 Lab Sessions

Integrated Case Study, Problems First

• Course Focus» Integration of Languages

• Course Evaluation» Content meets Objectives» BlackBoard Questionnaire: Students Excited!» Encouraging basis for other new MDE courses

Page 23: a model-driven course on  Petri-Nets, Metamodels and Graph Grammars

23

Thanks for your Attention

[email protected]

http://www.fots.ua.ac.be/~pvgorp/research/http://www.pietervangorp.com/