A model-driven course on Petri-Nets, Metamodels and Graph Grammars Pieter Van Gorp...

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]
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    215
  • download

    0

Transcript of A model-driven course on Petri-Nets, Metamodels and Graph Grammars Pieter Van Gorp...

Page 1: A model-driven course on Petri-Nets, Metamodels and Graph Grammars Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

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

Pieter Van [email protected]

Hans [email protected]

Dirk [email protected]

Serge [email protected]

Page 2: A model-driven course on Petri-Nets, Metamodels and Graph Grammars Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

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 Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

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 Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

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 Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

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 Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

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 Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

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 Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

8

Teaching MethodsCourse Description >>

7x 11x

Page 9: A model-driven course on Petri-Nets, Metamodels and Graph Grammars Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

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 Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

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 Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

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 Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

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 Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

13

RailRoad Editor

...

...

Course Artifacts >>

...

Animation changes train location

Page 14: A model-driven course on Petri-Nets, Metamodels and Graph Grammars Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

14Graph Grammars (I/II)

Page 15: A model-driven course on Petri-Nets, Metamodels and Graph Grammars Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

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 Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

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 Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

17

Content<>ObjectivesCourse Description >>

Modeling Properties Transformation

Introduction

Papers, Discussion, Motivating Demo’s

C/E Nets

P/T Nets

Colored Nets

PN Metamodel

Train Metamodel

Safety

Deadlocks?

PN Animation

Train 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 Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

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 Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

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 Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

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 Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

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 Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

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 Pieter Van Gorp pieter.vangorp@ua.ac.be Hans Schippers hans.schippers@ua.ac.be Dirk.

23

Thanks for your Attention

[email protected]

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

http://www.pietervangorp.com/