a model-driven course on petri-nets, metamodels and graph grammars pieter van gorp...
Post on 19-Dec-2015
218 Views
Preview:
TRANSCRIPT
a model-driven course on Petri-Nets, Metamodels and Graph Grammars
Pieter Van Gorppieter.vangorp@ua.ac.be
Hans Schippershans.schippers@ua.ac.be
Dirk Janssensdirk.janssens@ua.ac.be
Serge Demeyerserge.demeyer@ua.ac.be
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 Transformation
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 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
Questions?pieter.vangorp@ua.ac.be
http://www.fots.ua.ac.be/~pvgorp/research/
http://www.pietervangorp.com/
top related