a model-driven course on petri-nets, metamodels and graph grammars

Post on 11-Feb-2016

39 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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. - PowerPoint PPT Presentation

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 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

Questions?pieter.vangorp@ua.ac.be

http://www.fots.ua.ac.be/~pvgorp/research/http://www.pietervangorp.com/

top related