a model-driven course on petri-nets, metamodels and graph grammars
DESCRIPTION
a model-driven course on Petri-Nets, Metamodels and Graph Grammars. Students can get excited about Formal Methods. Serge Demeyer [email protected]. Pieter Van Gorp [email protected]. Dirk Janssens [email protected]. Hans Schippers [email protected]. Problem. - PowerPoint PPT PresentationTRANSCRIPT
a model-driven course on Petri-Nets, Metamodels and Graph Grammars
Pieter Van [email protected]
Hans [email protected]
Dirk [email protected]
Serge [email protected]
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 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• Teaching Methods• Evaluation Methods• Course Artifacts• Link to Objectives
3. 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 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
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 >>
7
1. Designing the Course• Objectives• Tool Selection
2. Course Description• Teaching Methods• Evaluation Methods• Course Artifacts• Link to Objectives
3. Lessons Learned
8
Teaching MethodsCourse Description >>
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
EvaluationCourse 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
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!
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
RailRoad Editor
...
...
Course Artifacts >>
...
Animation changes train location
14Graph Grammars (I/II)
15Graph Grammars (II/II)Train Animation:rewriting of abstract nodes
Train 2 Petri Transl.:Traceability
Train 2 Petri Translation:Out-Place MtoN rules
16
1. Designing the Course• Objectives• Tool Selection
2. Course Description• Teaching Methods• Evaluation Methods• Course Artifacts• Link to Objectives
3. Lessons Learned
17
Content<>ObjectivesCourse Description >>
Modeling Properties TransformationIntroduction
Papers, Discussion, Motivating Demo’s
C/E NetsP/T Nets
Colored Nets
PN MetamodelTrain Metamodel
SafetyDeadlocks?
PN AnimationTrain Animation
Discussion:Evaluation AToM3 GGs
Classification Papers“Beyond AToM3”
dq
PN ModelsTrain-to-PN
Next step:tracing back
analysis results
Generating Editors
Train Models
18
1. Designing the Course• Objectives• Tool Selection
2. Course Description• Teaching Methods• Course Artifacts• Evaluation Methods• Link to Objectives
3. Lessons Learned
19
Best Practices• Best Practices
- Feasibility Study- Expert Supervision- Start Small- Work Incrementally- Illustrate Applicability- Examples First- Problems First
Lessons Learned >>
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 >>
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 >>
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
Thanks for your Attention
http://www.fots.ua.ac.be/~pvgorp/research/http://www.pietervangorp.com/