1 / 23

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

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

elan
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Problem • 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 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. Presentation Overview • Designing the Course • Objectives • Tool Selection • Course Description • Teaching Methods • Evaluation Methods • Course Artifacts • Link to Objectives • Lessons Learned

  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 togenerate a working implementation from them.” “The student should be able to express the intendedfunctionality of a system from different viewpoints indifferent 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) tointegrate distinctmodels and relatethem to a completeimplementation. The student should experiment withmetamodelling in this context, and acquire an understandingof the benefits and limitations of the 4-layer meta-data architecture.” (Meta-) Modeling Properties Transformations Designing the Course >> khj

  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 Designing the Course >> Tool Selection

  7. Presentation Overview • Designing the Course • Objectives • Tool Selection • Course Description • Teaching Methods • Evaluation Methods • Course Artifacts • Link to Objectives • Lessons Learned

  8. Course Description >> Teaching Methods 7x 11x

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

  10. Presentation Overview • Designing the Course • Objectives • Tool Selection • Course Description • Teaching Methods • Evaluation Methods • Course Artifacts • Link to Objectives • Lessons Learned

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

  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. Animation changes train location Course Artifacts >> RailRoad Editor ... ... ...

  14. Graph Grammars (I/II)

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

  16. Presentation Overview • Designing the Course • Objectives • Tool Selection • Course Description • Teaching Methods • Evaluation Methods • Course Artifacts • Link to Objectives • Lessons Learned

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

  18. Presentation Overview • Designing the Course • Objectives • Tool Selection • Course Description • Teaching Methods • Course Artifacts • Evaluation Methods • Link to Objectives • Lessons Learned

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

  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 Antwerp: • 3 Master Profiles: • industrial, • educational, • or research profile. • Course in BACH3 tradeoff! • Concrete alternatives: • Use of UML code generator (transformations) in popular middleware context • 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 • AToM3 Lab SessionsIntegrated 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. Thanks for your Attention Questions? pieter.vangorp@ua.ac.be http://www.fots.ua.ac.be/~pvgorp/research/ http://www.pietervangorp.com/

More Related