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.

Slides:



Advertisements
Similar presentations
Eugene Syriani and Huseyin Ergin University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.
Advertisements

Withdrawal Transaction Use Case Primary Actor: Customer Pre-conditions: The customer must have a valid ATM card and PIN. Post-conditions: The customer.
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
Principles of Engineering System Design Dr T Asokan
A university for the world real R © 2009, Chapter 3 Advanced Synchronization Moe Wynn Wil van der Aalst Arthur ter Hofstede.
Based on: Petri Nets and Industrial Applications: A Tutorial
Software Design Process A Process is a set of related and (sequenced) tasks that transforms a set of input to a set of output. Inputs Outputs Design Process.
Implementing Petri Net Transformations Tony Modica Implementing Petri Net Transformations using Graph Transformation Tools Enrico Biermann,
Pieter Van Gorp, Olaf Muliawan, Hans Schippers MoTMoT.sourceforge.net.
Institute For Software Integrated Systems Vanderbilt University Applications of Model Integrated Computing to The Synchronous Language Signal Ethan Jackson.
Lecture 6 & 7 System Models.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
Software Design Processes and Management
Behaviour-Preserving Model Transformation Arend Rensink, University of Twente IPA Spring Days, 18 April 2012.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
System Models Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn Lecture 6 & 7.
Chapter 8: Modelling Interactions and Behaviour UML Activity Diagram
UML A CTIVITY D IAGRAMS 1 Dr. Hoang Huu Hanh, OST – Hue University hanh-at-hueuni.edu.vn.
Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology Favoritenstraße 9-11/188-3, 1040 Vienna,
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
An Introduction to Petri Nets Marjan Sirjani Formal Methods Laboratory University of Tehran.
Chapter 14. Activity Modeling for Transformational Systems
Valdis Vitolins, Audris Kalnins, EDOC 2005 Semantics of UML 2.0 Activity Diagram for Business Modeling by Means of Virtual Machine.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
Virtual Storytelling Adam Abonyi Daniel Balaš. Agenda 1.Introduction to virtual storytelling 2.Petri Nets 3.Our improvements in Petri Nets 4.Example.
Web Services Flow Language Guoqiang Wang Oct 7, 2002.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 UML Activity Diagrams.
Tools, Formats, & Solutions.  Survey of literature found 3 interesting ways Petri Nets are used  BioPNML – Petri Nets for Bio  GJobDL – Petri Nets.
Chapter 11 Activity Diagrams. 2 “Activity diagrams are a technique to describe procedural logic, business processes, and work flows” - M. Fowler An activity.
J.E. Rivera, D. Ruiz-González, F. López-Romero, J. Bautista, and A. Vallecillo MtATL 09 Nantes, July 09.
School of Computer Science, The University of Adelaide© The University of Adelaide, Control Data Flow Graphs An experiment using Design/CPN Sue Tyerman.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
ModTransf A Simple Model to Model Transformation Engine Cédric Dumoulin.
1 Lecture 23 – April 11, 2002 Semester end questions More about Bond agents Models and languages supporting concurrency Petri Nets.
Towards an Aspect-oriented Language Module: Aspects for Petri Nets Tim Molderez, Bart Meyers, Dirk Janssens and Hans Vangheluwe Ansymo Antwerp Systems.
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
Summer Project Marama2008 By Robert and Johnson. What is Marama? Marama is an Eclipses based toolset permits rapid specification of notational elements,
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith Vander Linden Calvin College.
 Activity diagram is basically a flow chart to represent the flow from one activity to another activity.
UML ACTIVITY DIAGRAM 1. Recap Formal Use Case diagram UML notation for use cases Examples 2.
Université Toulouse I 1 CADUI' June FUNDP Namur Implementation Techniques for Petri Net Based Specifications of Human-Computer Dialogues.
Diagnostic Information for Control-Flow Analysis of Workflow Graphs (aka Free-Choice Workflow Nets) Cédric Favre(1,2), Hagen Völzer(1), Peter Müller(2)
UML (Unified Modeling Language)
Process Mining – Concepts and Algorithms Review of literature on process mining techniques for event log data.
1 Hybrid Rule Scheduling in Story Driven Modeling a tool-independent approach by Bart Meyers Principal Adviser: prof. dr. Dirk Janssens Principal Co-Adviser:
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 UML Activity Diagrams.
ACTIVITY DIAGRAMS 《UML面向对象建模基础》.
Concurrent Systems Modeling using Petri Nets
Introduction to Control Flow Patterns and BizAgi
Activity Diagram.
State Digrams in UML: A Formal Senmatics using Graph Transformations
Graph-Based Operational Semantics
State Machine Diagrams
Productivity Tools Extensions to NetBeans IDE that make life easier
Chapter 8: Modelling Interactions and Behaviour UML Activity Diagram
Event Relation Graphs and Extensions in Ptolemy II
Behavioral Models for Software Development
Concurrent Systems Modeling using Petri Nets – Part II
Workflow Management Systems
بسمه‌تعالي فصل چهاردهم شبکه‌هاي پتري.
Petri nets refresher Prof.dr.ir. Wil van der Aalst
Constructing MDA-based Application Using Rational XDE for .NET
MDT UML2Tools 0.8 Mini-deck
An Introduction to Petri Nets
Chapter 14. Activity Modeling for Transformational Systems
Presentation transcript:

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

Transformation  Source domain: UML Activities (core elements) o standard process description language o countless editors available  Target domain: Petri nets (basic elements) o mathematical formalism o concurrent behavioural model o efficient analysis tools available

UML Activities (core) Activity Action Initial Final Fork Join Control Flow Decision Merge

Petri nets  AKA Place/Transition Nets Place Token Arc Transition

Petri nets  State = marking of places  State change: firing of a transition o enabled if all incoming places are marked o 1 token removed from each incoming place o 1 token added to each outgoing place Transition not enabled Now enabled

Petri nets  What do these Petri nets do?

LAB Executing the transformation

UML Activity  Petri net  Action  Control flow During Enter Exit

UML Activity  Petri net  Initial node  (Flow) final node

UML Activity  Petri net  Fork node  Join node

GT rules – Control Flow  Mostly straightforward LHSRHS trace We can prescribe a NAC

DEMO Simple GT rules in Viatra2 LHSRHS trace

GT rules – Action  Straightforward, but big LHSRHS We will use this graph pattern a lot more EnterExit During

GT rules – reusing patterns  Let’s reuse! LHSRHS placeOfIncomingEdge placeOfOutgoingEdge placeOfIncomingEdge placeOfOutgoingEdge EnterExit During

CODE Pattern composition in Viatra2

CODE Pattern composition in Viatra2

GT rules - Fork LHSRHS LHSRHS Fork

CODE Cooperating rules in Viatra2

Similarities  Fork Node o Create transition, trace back to fork node o Connect the placeOfIncomingEdge to transition o Connect transition to each placeOfOutgoingEdge  Join Node o Create transition, trace back to join node o Connect each placeOfIncomingEdge to transition o Connect transition to the placeOfOutgoingEdge  Flow Final Node o Create transition, trace back to final node o Connect the placeOfIncomingEdge to transition o Connect transition to each placeOfOutgoingEdge (there is none, this does nothing)

Similarities  Fork Node o Create transition, trace back to fork node o Connect the placeOfIncomingEdge to transition o Connect transition to each placeOfOutgoingEdge  Join Node o Create transition, trace back to join node o Connect each placeOfIncomingEdge to transition o Connect transition to the placeOfOutgoingEdge  Flow Final Node o Create transition, trace back to final node o Connect the placeOfIncomingEdge to transition o Connect transition to each placeOfOutgoingEdge (there is none, this does nothing)

Trick  Fork / Join / Final Node o Create transition, trace back to activity node o Connect each placeOfIncomingEdge to transition o Connect transtition to each placeOfOutgoingEdge  Let’s reuse!

LAB Transformation program

Exercise: what’s missing?

 Decision and Merge Nodes  What PN constructs should they be mapped into?  Come up with GT rules  Implement in Viatra2  Try activity_complex and activity_prb!

Offline exercise („homework”)

Where to  Extending the transformation system o Domain metamodels, importers, exporters o Native functions (calls to Java)  Advanced features o Language features: recursion, injectivity, etc. o Performance optimization o Triggers o Live synchronization o SDE integration

Additional material  o Installation o Syntax o How-tos and Examples o Learn about many other features of Viatra2  There is a new release coming up this summer, you have been using a beta version in this lab o Sorry for any hiccups it may have caused o Take it home if you wish! o The unfinished project also!