Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "A model-driven course on Petri-Nets, Metamodels and Graph Grammars Pieter Van Gorp Hans Schippers Dirk."— Presentation transcript:

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 Janssens dirk.janssens@ua.ac.be Serge Demeyer serge.demeyer@ua.ac.be

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

3 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

4 4 1.Designing the Course Objectives Tool Selection 2.Course Description Teaching Methods Evaluation Methods Course Artifacts Link to Objectives 3.Lessons Learned

5 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 PropertiesTransformations

6 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) AToM 3 -advantages: self-containedness -disadvantage: non-standard Tool Selection Designing the Course >>

7 7 1.Designing the Course Objectives Tool Selection 2.Course Description Teaching Methods Evaluation Methods Course Artifacts Link to Objectives 3.Lessons Learned

8 8 Teaching Methods Course Description >> 7x11x

9 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 Evaluation Course Description >>

10 10 1.Designing the Course Objectives Tool Selection 2.Course Description Teaching Methods Evaluation Methods Course Artifacts Link to Objectives 3.Lessons Learned

11 11 Petri-Net Editor (I/II) Course Artifacts >> All thinking Ph. 1: Forks on TablePh. 2: Forks on Table Ph. 3: Forks on TablePh. 5: Forks on TablePh. 4: Forks on Table Ph. 6: Forks on Table... Ph. 1 & 5 will start eating Ph. 3: Could eat tooPh. 4: Cannot start eating!

12 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

13 13 RailRoad Editor... Course Artifacts >>... Animation changes train location

14 14 Graph Grammars (I/II)

15 15 Graph Grammars (II/II) Train Animation: rewriting of abstract nodes Train 2 Petri Transl.: Traceability Train 2 Petri Translation: Out-Place MtoN rules

16 16 1.Designing the Course Objectives Tool Selection 2.Course Description Teaching Methods Evaluation Methods Course Artifacts Link to Objectives 3.Lessons Learned

17 17 Content<>Objectives Course Description >> Modeling PropertiesTransformation 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 AToM 3 GGs Classification Papers “Beyond AToM 3 ” dq PN Models Train-to-PN Next step: tracing back analysis results Generating Editors Train Models

18 18 1.Designing the Course Objectives Tool Selection 2.Course Description Teaching Methods Course Artifacts Evaluation Methods Link to Objectives 3.Lessons Learned

19 19 Best Practices -Feasibility Study -Expert Supervision -Start Small -Work Incrementally -Illustrate Applicability -Examples First -Problems First Lessons Learned >>

20 20 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 >>

21 21 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 transformations without middleware focus -Why (b)? tool internals look beyond marketing! demand from automotive industry Lessons Learned >>

22 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

23 23 Thanks for your Attention Questions? pieter.vangorp@ua.ac.be http://www.fots.ua.ac.be/~pvgorp/research/ http://www.pietervangorp.com/


Download ppt "A model-driven course on Petri-Nets, Metamodels and Graph Grammars Pieter Van Gorp Hans Schippers Dirk."

Similar presentations


Ads by Google