a modeldriven course on PetriNets Metamodels and Graph
- Slides: 23
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 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 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) 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 • Teaching Methods • Evaluation Methods • Course Artifacts • Link to Objectives 3. Lessons Learned
8 Course Description >> Teaching Methods 7 x 11 x
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 • 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. 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 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 . .
Graph Grammars (I/II) 14
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 • 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 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 • Teaching Methods • Course Artifacts • Evaluation Methods • Link to Objectives 3. Lessons Learned
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 - 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 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 » 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. ac. be/~pvgorp/research/ http: //www. pietervangorp. com/
- Course title and course number
- Building with bricks
- Course interne course externe
- Wait-for graph
- Spectral graph theory applications
- Bridge graph
- Networks and graphs circuits paths and graph structures
- Weights and measure training
- Holder and holder in due course difference
- Prc-137 hf radio
- Holder in due course example
- Which is a holder in due course?
- Occupational health and safety course outline
- Ap world history course and exam description
- Course 2 chapter 1 ratios and proportional reasoning
- Parallel and distributed computing course outline
- Ptit safe driving and awareness course
- Occupational health and safety course outline
- Course 2 contemporary india and education
- Course 2 contemporary india and education
- Course 2 contemporary india and education
- Content based syllabus example
- Weathr today
- Temperate climate zone plants