a modeldriven course on PetriNets Metamodels and Graph

  • Slides: 23
Download presentation
a model-driven course on Petri-Nets, Metamodels and Graph Grammars Serge Demeyer Pieter Van Gorp

a model-driven course on Petri-Nets, Metamodels and Graph Grammars Serge Demeyer Pieter Van Gorp Hans Schippers pieter. vangorp@ua. ac. be hans. schippers@ua. ac. be serge. demeyer@ua. ac. be Dirk Janssens dirk. janssens@ua. ac. be

2 Myth of Formal Methods: • exhaustive proofs • high training required • hard

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

3 Solution • Prevent spread of such myths into Industry • Variety of Courses

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 1. Designing the Course • • Objectives Tool Selection 2. Course Description •

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

5 Designing the Course >> Objectives / Expected Learning Outcomes • “Based on formal

5 Designing the Course >> 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 Transformations of a(Meta-) system from different Properties viewpoints in different formalisms Modeling. Graph Grammars) and ensure particular properties (Petri-Nets, (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. ” khj

6 Designing the Course >> Tool Selection • Dia. Meta - advantage: standard (MOF)

6 Designing the Course >> Tool Selection • Dia. Meta - advantage: standard (MOF) compliant - interoperable with group's research tool - disadvantage: immature • Tiger - advantage: “sexy” (Eclipse) - disadvantage: heavyweight, yet no MOF/EMF support (yet) • ATo. M 3 - advantages: self-containedness - disadvantage: non-standard

7 1. Designing the Course • • Objectives Tool Selection 2. Course Description •

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

8 Course Description >> Teaching Methods 7 x 11 x

8 Course Description >> Teaching Methods 7 x 11 x

9 Course Description >> Evaluation • • Black. Board Assignments: 8 Relaxed Deadlines -

9 Course Description >> Evaluation • • Black. Board Assignments: 8 Relaxed Deadlines - • E-mail sumissions Incremental Assignments - • • • Prepared Solutions Assignment completion overview Three Evaluation Milestones Extra Examination: - Oral with written preparation

10 1. Designing the Course • • Objectives Tool Selection 2. Course Description •

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

11 Course Artifacts >> Petri-Net Editor (I/II) Ph. 5: on Forks on Table Ph.

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

12 Course Artifacts >> Petri-Net Editor (II/II) Modeling a Visual Language Editor Modeling Language

12 Course Artifacts >> Petri-Net Editor (II/II) Modeling a Visual Language Editor Modeling Language Structure (= metamodel) >> as E/R or Class Diagram Modeling Concrete Syntax Some Python code required

13 Course Artifacts >> Rail. Road Editor Animation changes train location . .

13 Course Artifacts >> Rail. Road Editor Animation changes train location . .

Graph Grammars (I/II) 14

Graph Grammars (I/II) 14

Graph Grammars (II/II) Train Animation: rewriting of abstract nodes Train 2 Petri Translation: Out-Place

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

16 1. Designing the Course • • Objectives Tool Selection 2. Course Description •

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

17 Course Description >> Content<>Objectives Modeling Properties Transformation Introduction Papers, Discussion, Motivating Demo’s C/E

17 Course Description >> Content<>Objectives Modeling Properties Transformation Introduction Papers, Discussion, Motivating Demo’s C/E Nets P/T Nets Colored Nets Safety Deadlocks? PN Metamodel Train Metamodel Next step: tracing back analysis results PN Models Train Models Discussion: Evaluation ATo. M 3 GGs Generating Editors PN Animation Train-to-PN Classification Papers “Beyond ATo. M 3”

18 1. Designing the Course • • Objectives Tool Selection 2. Course Description •

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

19 Lessons Learned >> Best Practices • Best Practices - Feasibility Study Expert Supervision

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

20 Lessons Learned >> Planned Improvements • Planned Improvements - Provide Tool Feedback -

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

21 Lessons Learned >> Industrial Relevance • Industrial Relevance - Curriculum at University of

21 Lessons Learned >> Industrial Relevance • Industrial Relevance - Curriculum at University of Antwerp: • 3 Master Profiles: - industrial, - educational, - or research profile. • Course in BACH 3 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

22 Conclusions • Course Format » Conventional Lectures: Petri-Nets » Paper Discussions: MDE »

22 Conclusions • Course Format » Conventional Lectures: Petri-Nets » Paper Discussions: MDE » ATo. M 3 Lab Sessions Integrated Case Study, Problems First • Course Focus » Integration of Languages • Course Evaluation » Content meets Objectives » Black. Board Questionnaire: Students Excited! » Encouraging basis for other new MDE courses

23 Thanks for your Attention Questions? pieter. vangorp@ua. ac. be http: //www. fots. ua.

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