A model-driven course on Petri-Nets, Metamodels and Graph Grammars Pieter Van Gorp Hans Schippers Dirk.

Slides:



Advertisements
Similar presentations
Issue 134 Metamodel for OWL 2 Peter Haase, Elisa Kendall, Boris Motik, Evan Wallace.
Advertisements

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Budapest University of Technology and EconomicsDagstuhl 2004 Department of Measurement and Information Systems 1 Towards Automated Formal Verification.
LIFE CYCLE MODELS FORMAL TRANSFORMATION
Professor John Hosking, Dean of Engineering and Computer Science Models, Modelling, MBSE.
Designing Instructionally Sound Courses Kristina Leonardo, Senior Consultant Blackboard, Inc. April 14, 2005.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Software Reliability CIS 640 Adapted from the lecture notes by Doron Pelel (
Programming Distributed Systems Lab Institute of Computer Science University of Augsburg Universitätsstraße 14, D Augsburg Tel.: (+49) 821/ ,
Formal Techniques in Software Engineering Universiteit AntwerpenIntroduction 1.1 Formal Techniques in Software Engineering 3de BAC Informatica Chapter.
Modeling Process-Oriented Integration of Services Using Patterns and Pattern Primitives Uwe Zdun and Schahram Dustdar Distributed Systems Group Institute.
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
Pieter Van Gorp, Olaf Muliawan, Hans Schippers MoTMoT.sourceforge.net.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani.
Data Structures and Programming.  John Edgar2.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Bridging the chasm between MDE and the world of compilation Nondini Das 1.
An Approach and Tool for Synchronous Refactoring of UML Diagrams and Models Using Model-to-Model Transformations Hafsteinn Þór Einarsson Helmut Neukirchen.
Xactium xDSLs Run Models Not Code Tony Clark
Requirements Expression and Modelling
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
Zheng Lu, Abdulhadi Shoufan, Guido Rößling 8th European Workshop on Microelectronics Education
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
Curriculum development A brief guide to the construction of relevant curricula.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
AToM 3 : A Tool for Multi- Formalism and Meta-Modelling Juan de Lara (1,2) Hans Vangheluwe (2) (1) ETS Informática Universidad Autónoma de Madrid Madrid,
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
UDM An Infrastructure for Implementing Domain-Specific Modeling Languages Endre Magyari, Arpad Bakay, Andras Lang, Tamas Paka, Attila Vizhanyo, Aditya.
Information System Development Courses Figure: ISD Course Structure.
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
1 OCL Tools Supervised by Prof. Daniel Amyot May Khalil Nadia Spido Submitted to Professor Daniel Amyot in partial fulfillment of the requirements for.
CS206 System Analysis and Design Note 1 By ChangYu 1 Course Information Lecturer NameCHANG YU Web sitewww.chuhai.edu.hk/changyu/
Hybrid Transformation Modeling Integrating a Declarative with an Imperative Model Transformation Language Pieter Van Gorp
1 © 1999 Microsoft Corp.. Microsoft Repository Phil Bernstein Microsoft Corp.
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
Model Checking and Model-Based Design Bruce H. Krogh Carnegie Mellon University.
Develop Project Charter
A common meta-model for the interoperation of tools with heterogeneous data models ECMFA 2010 Third Workshop on Model-Driven Tool & Process Integration.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Formal Methods.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
SSQSA present and future Gordana Rakić, Zoran Budimac Department of Mathematics and Informatics Faculty of Sciences University of Novi Sad
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Whole Test Suite Generation. Abstract Not all bugs lead to program crashes, and not always is there a formal specification to check the correctness of.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
1 Sobah Abbas Petersen Adjunct Associate Professor, NTNU Researcher, Sintef TDT4252 Modelling of Information Systems Advanced Course TDT4252,
1 Budapest University of Technology and Economics Department of Measurement and Information Systems Budapest University of Technology and Economics Fault.
1 The Software Engineering Education at CSULA Jiang Guo Jose M. Macias June 4, 2010.
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
Advanced Programing practices
SysML v2 Formalism: Requirements & Benefits
State Digrams in UML: A Formal Senmatics using Graph Transformations
Daniel Amyot and Jun Biao Yan
Scenarios In System Development
Department of Computer Science Abdul Wali Khan University Mardan
Software Architecture & Design
Presentation transcript:

a model-driven course on Petri-Nets, Metamodels and Graph Grammars Pieter Van Gorp Hans Schippers Dirk Janssens Serge Demeyer

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 PropertiesTransformations

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) AToM 3 -advantages: self-containedness -disadvantage: non-standard Tool Selection Designing 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 Methods Course Description >> 7x11x

9 BlackBoard Assignments: 8 Relaxed Deadlines - sumissions Incremental Assignments -Prepared Solutions Assignment completion overview Three Evaluation Milestones Extra Examination: -Oral with written preparation Evaluation Course 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 thinking Ph. 1: Forks on TablePh. 2: Forks on Table Ph. 3: Forks on TablePh. 5: Forks on TablePh. 4: Forks on Table Ph. 6: Forks on Table... Ph. 1 & 5 will start eating Ph. 3: Could eat tooPh. 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

14 Graph Grammars (I/II)

15 Graph 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<>Objectives Course Description >> Modeling PropertiesTransformation 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 AToM 3 GGs Classification Papers “Beyond AToM 3 ” dq PN Models Train-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 -Feasibility Study -Expert Supervision -Start Small -Work Incrementally -Illustrate Applicability -Examples First -Problems First Lessons Learned >>

20 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 -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 transformations without 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?