230 likes | 246 Views
Explore formal methods in software development through modeling languages and model transformations in this comprehensive course.
E N D
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 • Myth of Formal Methods: • exhaustive proofs • high training required • hard to comprehend • expensive • ...
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
Presentation Overview • Designing the Course • Objectives • Tool Selection • Course Description • Teaching Methods • Evaluation Methods • Course Artifacts • Link to Objectives • Lessons Learned
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
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
Presentation Overview • Designing the Course • Objectives • Tool Selection • Course Description • Teaching Methods • Evaluation Methods • Course Artifacts • Link to Objectives • Lessons Learned
Course Description >> Teaching Methods 7x 11x
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
Presentation Overview • Designing the Course • Objectives • Tool Selection • Course Description • Teaching Methods • Evaluation Methods • Course Artifacts • Link to Objectives • Lessons Learned
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 >>
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
Animation changes train location Course Artifacts >> RailRoad Editor ... ... ...
Train 2 Petri Translation: Out-Place MtoN rules Train 2 Petri Transl.: Traceability Graph Grammars (II/II) Train Animation: rewriting of abstract nodes
Presentation Overview • Designing the Course • Objectives • Tool Selection • Course Description • Teaching Methods • Evaluation Methods • Course Artifacts • Link to Objectives • Lessons Learned
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
Presentation Overview • Designing the Course • Objectives • Tool Selection • Course Description • Teaching Methods • Course Artifacts • Evaluation Methods • Link to Objectives • Lessons Learned
Best Practices Best Practices Feasibility Study Expert Supervision Start Small Work Incrementally Illustrate Applicability Examples First Problems First Lessons Learned >>
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
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
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
Thanks for your Attention Questions? pieter.vangorp@ua.ac.be http://www.fots.ua.ac.be/~pvgorp/research/ http://www.pietervangorp.com/