1 Hybrid Rule Scheduling in Story Driven Modeling a tool-independent approach by Bart Meyers Principal Adviser: prof. dr. Dirk Janssens Principal Co-Adviser:

Slides:



Advertisements
Similar presentations
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Advertisements

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Eugene Syriani and Huseyin Ergin University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.
1 FOTS Stages/Thesissen MDA -Application-Oriented -Classification (conceptual/theoretical) -Tool-Oriented -Verification AOP.
CS101: Introduction to Computer programming
From Model-based to Model-driven Design of User Interfaces.
McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation, and Design Lab MPM’10 Márk Asztalos, Eugene Syriani, Manuel.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Model Transformation Lab From UML Activities to Petri nets.
Hüseyin Ergin University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.
Modeling SPARK Systems with UML Xavier Sautejeau SigAda’05 © Sodius.
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
Task-Oriented, Policy Driven Business Requirements Elicitation for Web Services Stephen Gorton Department of Computer Science, University of Leicester,
A model-driven course on Petri-Nets, Metamodels and Graph Grammars Pieter Van Gorp Hans Schippers Dirk.
Merging Models Based on Given Correspondences Rachel A. Pottinger Philip A. Bernstein.
Design Patterns for Metamodel Design Domain-Specific Modeling Workshop Portland, Oregon October 23, 2011 Hyun Cho and Jeff Gray University of Alabama Department.
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.
The new The new MONARC Simulation Framework Iosif Legrand  California Institute of Technology.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Activity Diagrams Derived from several techniques: Event diagrams of Jim Odell SDL state modeling techniques Workflow modeling Petri nets Especially useful.
Towards interoperability of Learning Activities Design: Transforming BPEL Workflows to IMS Learning Design Level A Learning Flows This work is licensed.
Meaningful Modeling: What’s the Semantics of “Semantics”? David Harel, Weizmann Institute of Science Bernhard Rumpe, Technische Universität Braunschweig.
McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani.
Use of UML and Model Transformations for Workflow Process Definitions Audris Kalnins, Valdis Vitolins University of Latvia, IMCS Baltic DB&IS '2006, July.
Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Advanced Applications Of Model-to-Model Transformation Hugo Bruneliere & Frédéric.
An Information Theory based Modeling of DSMLs Zekai Demirezen 1, Barrett Bryant 1, Murat M. Tanik 2 1 Department of Computer and Information Sciences,
Chapter 10 Architectural Design
OOPSLA 2003 DSM Workshop Diagram Definition Facilities Based on Metamodel Mappings Edgars Celms, Audris Kalnins, Lelde Lace University of Latvia, IMCS,
1 An Analytical Evaluation of BPMN Using a Semiotic Quality Framework Terje Wahl & Guttorm Sindre NTNU, Norway Terje Wahl, 14. June 2005.
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu.
The Software Product Line Architectures
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,
1 MDWE'2008, Toulouse, France, September 30, 2008 A Comparative Analysis of Transformation Engines for User Interface Development Juan Manuel González.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
SaveUML System design. System overview Possible...
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
Valdis Vitolins, Audris Kalnins, EDOC 2005 Semantics of UML 2.0 Activity Diagram for Business Modeling by Means of Virtual Machine.
Business Integration Technologies © 2006 IBM Corporation Zurich Research Laboratory - BIT Validation.
Chapter 2, Modeling with UML, Part 3 UML 2 Hightlights
Hybrid Transformation Modeling Integrating a Declarative with an Imperative Model Transformation Language Pieter Van Gorp
A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot,
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
Visual Specification of a DSL Processor Debugger Tamás Mészáros and Tihamér Levendovszky Budapest University of Technology and Economics.
ICT EMMSAD’05 13/ Assessing Business Process Modeling Languages Using a Generic Quality Framework Anna Gunhild Nysetvold* John Krogstie *, § IDI,
The UML Formal Methods for SoC Design Sorin Manolache
Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher(2009) with material from Amyot User Requirements Notation (URN)
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
Finite State Machines (FSM) OR Finite State Automation (FSA) - are models of the behaviors of a system or a complex object, with a limited number of defined.
UML Activity Diagrams.
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.
CMPSC 16 Problem Solving with Computers I Spring 2014 Instructor: Tevfik Bultan Lecture 4: Introduction to C: Control Flow.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
Finding Reusable UML Sequence Diagrams Automatically By: William N. Robinson and Han G. Woo From: IEEE Software (September/October 2004) Presented by:
Introduction to Problem Solving Programming is a problem solving activity. When you write a program, you are actually writing an instruction for the computer.
UML (Unified Modeling Language)
UML AN OVERVIEW. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
Dataflow Machines CMPE 511
SysML 2.0 Formalism: Requirement Benefits, Use Cases, and Potential Language Architectures Formalism WG December 6, 2016.
Model-Driven Analysis Frameworks for Embedded Systems
Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel
Towards Automatic Model Synchronization from Model Transformation
Constructing MDA-based Application Using Rational XDE for .NET
Presentation transcript:

1 Hybrid Rule Scheduling in Story Driven Modeling a tool-independent approach by Bart Meyers Principal Adviser: prof. dr. Dirk Janssens Principal Co-Adviser: dr. Pieter Van Gorp

2 Goal –“Bart, what have you done?” –Master’s thesis –Fujaba Days 2008 (Dresden) –GraBaTs 2009 (Zürich) –Option entrepreneurship (off topic, yet interesting)

3 Outline –Graph transformation –Graph transformation in general –Graph transformation in MoTMoT –Higher order transformation –Case study –BPMN to BPEL (GraBaTs 2009) –Implicit rule scheduling (Fujaba Days 2009) –Negative application conditions –Conclusion and future

4 Graph transformation –Transforms models –Models as graphs  graph transformation –Set of transformation rules –CRUD operations

5 Graph transformation 1.Rule selection –nondeterministic –controlled 2.Location selection –one-point –concurrent –user input 3.Rule application Input modelOutput model Rule application LHSRH S Transformation rule 2 LHSRH S Transformation rule 1Transformation rule 2 LHSRH S

6 Graph transformation with MoTMoT –Story Driven Modeling (SDM) –Story Diagrams and Story Patterns –UML compliant –Story Diagrams as Activity Diagrams –Rules as states –Control flow as transitions –Story Patterns as Class Diagrams –Rewrite nodes as classes –Links as associations –UML profile for model transformation –UML extension mechanisms: stereotypes and tagged values

7 Graph transformation with MoTMoT Pieter Van Gorp, Anne Keller, Dirk Janssens, Transformation language integration based on profiles and higher order transformations, Toulouse, France. Sept , 2008 “SDM Core language”

8 Graph transformation with MoTMoT –Abstract syntax in rules (follows metamodel) –Rule selection: controlled –Location selection: one-point Input model Rule application MetamodelOutput modelInput modelRule 1Rule 2Metamodel –Abstract syntax in rules (follows metamodel) –Rule selection: controlled –Location selection: one-point

9 Higher order transformation Input model Output model Input meta- model Output meta- model transforms to conforms to transformation model instance of conforms to transformation language model conforms to transformation language model transformation model HOT

10 BPMN to BPEL –Business processes –Business Process Modeling Notation (BPMN) –Focus on clarification –Used by domain analysts –Based on flow-charts –Graph-oriented –Business Process Execution Language (BPEL) –Focus on execution –Used by experts –Based on XML (no graphical notation) –Tree-oriented

11 BPMN to BPEL example BPMN2BPE L s s checkStock confirmOrder rejectOrder sendInvoice shipGoods e e stock_ok stock_nok request_ok returnFeedback request_nok

12 BPMN to BPEL metamodel BPMNBPEL

13 BPMN to BPEL folding algorithm –Well-structured patterns –Quasi-structured patterns

14 Folding algorithm example s s checkStock confirmOrder rejectOrder sendInvoice shipGoods e e stock_ok stock_nok request_ok returnFeedback request_nok s s checkStock confirmOrder rejectOrder compTask1 e e stock_ok stock_nok request_ok returnFeedback request_nok s s checkStock confirmOrder rejectOrder sendInvoice shipGoods e e stock_ok stock_nok request_ok returnFeedback request_nok map(sendInvoice) flow map(shipGoods) s s checkStock confirmOrder rejectOrder compTask1 e e stock_ok stock_nok request_ok returnFeedback request_nok s s checkStock confirmOrder rejectOrder compTask1 e e stock_ok stock_nok request_ok returnFeedback request_nok s s checkStock rejectOrder compTask2 e e stock_ok stock_nok request_ok returnFeedback request_nok map(compTask1) sequence map(confirmOrder ) s s checkStock rejectOrder compTask2 e e stock_ok stock_nok request_ok returnFeedback request_nok s s checkStock rejectOrder compTask2 e e stock_ok stock_nok request_ok returnFeedback request_nok s s checkStock rejectOrder compTask2 e e stock_ok stock_nok request_ok returnFeedback request_nok s s checkStock rejectOrder compTask2 e e stock_ok stock_nok request_ok returnFeedback request_nok s s checkStock rejectOrder compTask2 e e stock_ok stock_nok request_ok returnFeedback request_nok s s checkStock compTask3 e e request_ok returnFeedback request_nok map(compTask2 ) switch map(rejectOrder ) s s checkStock compTask3 e e request_ok returnFeedback request_nok s s checkStock compTask3 e e request_ok returnFeedback request_nok s s compTask4 e e request_ok returnFeedback request_nok map(compTask3) sequence map(checkStock) s s compTask4 e e request_ok returnFeedback request_nok s s compTask4 e e request_ok returnFeedback request_nok s s compTask5 e e map(compTask4) switch map(returnFeedback) s s compTask5 e e Success!

15 BPMN to BPEL transformation 1.Create new BPEL container 2.Perform patterns (first try the well-structured patterns) 3.Is the remaining BPMN trivial? –no: quit 4.Reconstruct mappings to build structure of BPEL model

16 BPMN to BPEL Story Diagram Keep folding using all patterns until they all fail But the well-structured have priority over the quasi-structured CLEAR READABLE MODULAR New language constructs for nondeterministic scheduling

17 Implicit rule scheduling in SDM –At the level of Story Diagrams –Syntax: how does the reader know what we mean? –Additional language constructs for nondeterminism –motmot.transprimitiveND tag –nextPriority stereotype –Semantics: how does MoTMoT know what we mean? –Convert the Story Diagram to SDM Core language –preserve the behavior! –Higher order transformation

18 Transforming BPMN2BPEL HO T Conform to the SDM Core language

19 Implicit rule scheduling in SDM –What exactly does nondeterminism mean? –Choose random, but how? –Evaluate rules until one matches –Try one rule and return whether it matched –Keep matching until all the rules fail to match –Keep matching until one rule fails to match –... (depends on the context)  variants are analyzed and categorized according termination criteria and repetition criteria –Variants can be added by creating a prototype

20 Prototypes –Application Condition –Example “Keep matching until all rules failed” Follows some conventions

21 Higher order transformation 1.Load all available prototypes 2.Transform nextPriority transitions 3.Transform motmot.transprimitiveND states 1.Choose the right prototype according to the application conditions 2.Copy the prototype into the Story Diagram 3.Create a state and transitions for each reference –For a Story Pattern: create a motmot.transprimitive state –For a Story Diagram: create a link state with a method call

22 Negative application conditions –At the level of Story Patterns –Match the pattern and fail to match the NAC –A NAC is an additional constraint for matching a rule –New language construct: NAC package –Will be converted to SDM Core language using a HOT

23 NAC example BPMN2BPE L s s task 1 task 2 task 3 e e –BPMN2BPEL: merge activity into sequence Correct, but not very readable Add activities to surrounding sequences

24 NAC example –Match a sequence

25 NAC example –If one of the tasks src or tgt is a sequence, merge –Add control link to last activity (the one without an outgoing link)

26 NAC example {motmot.constraint=!merge_NAC(lastActivity)} merge_NAC Story Diagram merge_NAC-pattern Story Pattern HO T

27 Conclusion –Two new useful language constructs –Implicit rule scheduling –Negative application conditions –2 nd place award in the GraBaTs 2009 offline contest –Two techniques –Higher order transformation –Prototypes –Tool independence –Modularity

28 Conclusion –Lots of other language extensions possible –Multi objects –Optional graph elements –Maybe clauses –Transitive closure

29 Future –“Bart, what are you going to do?” –IWT research proposal –Preparation of courses –MODELS 2009 workshop paper (with Eugene) –BPMN to BPEL paper (with Pieter)