Programming Distributed Systems Lab Institute of Computer Science University of Augsburg Universitätsstraße 14, D-86159 Augsburg Tel.: (+49) 821/598-2174,

Slides:



Advertisements
Similar presentations
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
From Model-based to Model-driven Design of User Interfaces.
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
Transparent Robustness in Service Aggregates Onyeka Ezenwoye School of Computing and Information Sciences Florida International University May 2006.
Programmierung verteilter Systeme Lab Institut für Informatik Universität Augsburg Universitätsstraße 14, Augsburg Tel.: (+49) 821/ , Fax:
Variability Oriented Programming – A programming abstraction for adaptive service orientation Prof. Umesh Bellur Dept. of Computer Science & Engg, IIT.
Modeling Process-Oriented Integration of Services Using Patterns and Pattern Primitives Uwe Zdun and Schahram Dustdar Distributed Systems Group Institute.
The Knowledge Industry Survival Strategy (KISS) Tony Clark, Thames Valley University, London, UK Jorn Bettin, Sofismo, Switzerland.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
1/18 CS 693/793 Lecture 09 Special Topics in Domain Specific Languages CS 693/793-1C Spring 2004 Mo, We, Fr 10:10 – 11:00 CH 430.
Business Process Orchestration
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
Reuse Activities Selecting Design Patterns and Components
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,
Process-oriented System Automation Executable Process Modeling & Process Automation.
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
1 An Analytical Evaluation of BPMN Using a Semiotic Quality Framework Terje Wahl & Guttorm Sindre NTNU, Norway Terje Wahl, 14. June 2005.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
UML based dependability modeling, analysis and synthesis Proposers: TU Budapest: A. Pataricza, Gy. Csertán, I. Majzik, D. Varró PDCC Pisa: L. Simoncini,
A knowledge-based Assistant for real-time Planning and Execution of PSS Engineering Change Processes Michael Abramovici, Youssef Aidi IT in Mechanical.
1 MDWE'2008, Toulouse, France, September 30, 2008 A Comparative Analysis of Transformation Engines for User Interface Development Juan Manuel González.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
SOFTWARE DESIGN.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary Make your processes executable! A quick demonstration of the JWT project Florian.
On the Combination of Domain Specific Modeling Languages Antonio Vallecillo GISUM/Atenea Research Group ECMFA, Paris, June 2010.
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
Fuzzy Genetic Algorithm
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
ARCH-2: UML From Design to Implementation using UML Frank Beusenberg Senior Technical Consultant.
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
OOPSLA workshop on Domain-Specific Visual Languages 1 Framework for Domain-Specific Visual Languages Juha-Pekka.
1 Partial Domain Specific Models Jos WarmerOrdina Anneke KleppeUniversity of Twente OOPSLA Workshop on Domain Specific Modeling,
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
Adoption Participants in the adoption group Heiko Kern Parastoo Mohagheghi Manuel Wimmer Juha Pärssinen Juha-Pekka Tolvanen Laurent Safa Sven Braun Gerardo.
Visual Specification of a DSL Processor Debugger Tamás Mészáros and Tihamér Levendovszky Budapest University of Technology and Economics.
© Siemens AG, CT SE 2 C O R P O R A T E T E C H N O L O G Y 1 Model-Driven Development for Pluggable Collaborations Iris Groher, Stephan Bleicher, Christa.
ICT EMMSAD’05 13/ Assessing Business Process Modeling Languages Using a Generic Quality Framework Anna Gunhild Nysetvold* John Krogstie *, § IDI,
OOPSLA workshop on Domain-Specific Visual Languages 1 Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen.
SSQSA present and future Gordana Rakić, Zoran Budimac Department of Mathematics and Informatics Faculty of Sciences University of Novi Sad
Parastoo Mohagheghi 1 A Multi-dimensional Framework for Characterizing Domain Specific Languages Øystein Haugen Parastoo Mohagheghi SINTEF, UiO 21 October.
C++ for Engineers and Scientists, Second Edition 1 Problem Solution and Software Development Software development procedure: method for solving problems.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM.
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
Modeling of Service Oriented Architecture: From Business Process to Service Realization Petr Weiss and Marek Rychlý Brno University of Technology, Faculty.
Towards a framework for architectural design decision support
The Movement To Objects
Chapter 10: Process Implementation with Executable Models
Model-Driven Analysis Frameworks for Embedded Systems
TDL: The ETSI Test Description Language
TDL: The ETSI Test Description Language
Towards an Open Meta Modeling Environment
Execute your Processes
Automated Analysis and Code Generation for Domain-Specific Models
Java Workflow Tooling (JWT) Release review: JWT v0
TDL: The ETSI Test Description Language
Presentation transcript:

Programming Distributed Systems Lab Institute of Computer Science University of Augsburg Universitätsstraße 14, D Augsburg Tel.: (+49) 821/ , Fax: URL: Generation of Workflow Code from DSMs Stephan Roser, Florian Lautenbacher, and Bernhard Bauer

© Stephan Roser, Agenda Context Challenges of Workflow Code Generation Model & Code Generation Framework Case Study Summary

© Stephan Roser, Context AgilPro project (Agile Business Processes for ERP)  Modelling tool allowing DSMs for process-oriented application domains  Generation and execution of environment workflows AgilPro modelling tool provides  multiple concrete syntaxes, for example one that especially suits the ERP domain  multiple views on the DSM, e.g. business view and a technical view Workflow Generation and Execution  Generation of executable workflow code (BPEL) for the AgilPro integration framework and process engine  Model and code generation framework

© Stephan Roser, Modelling with AgilPro AgilPro metamodel  Combines best practice of existing process modelling languages  Graph-based as most business process languages  Rests upon the UML 2 activities  Extended with e.g. functions from ARIS or data and events similar to BPMN AgilPro support for DSLs  DSLs through the definion model templates  Model templates  consist of predefined model elements  contain information about the application domain and (concrete) syntax  become automatically part of AgilPro modeller’s modelling palette  complete together with the AgilPro metamodel the specific DSL  Examples:  data types or applications with specific (execution) information  icons from the ERP domain

© Stephan Roser, Workflow Code Generation Objectives  Be only concerned with parts of the solution that are specific to the usage scenario (especially the aspects of the domain)  Reuse of existing generation solutions with minimal effort Challenges  Decouple code generation from the format of the input models  e.g. UML activities, BPDM, PIM4SOA, AgilPro  Many DSLs cannot be executed on current process engines as they are. Complex graph transformation algorithms translate higher-level process models to workflow executable code.  Block-structured control flow graph (SESEs) for e.g. BPEL needed  Soundness tests (deadlocks, livelocks, etc. in the workflow)  Depending on the process execution environment the code generation has to encode complex invocation patterns  This include knowledge about the respective workflow execution engine  Example: one invoke vs. multiple invokes, assigns, etc. per action

© Stephan Roser, Model & Code Generation Framework Two types of information and technology  Related to process modelling and workflow execution  Specific to the application domain (ERP, CRM, financial services, etc.) common process modelling format DSL specific process format Process Transformer and Optimizer II Adapter for DSL Process Models I Code and Model Generation Templates IV Process Visitor III

© Stephan Roser, Workflow Code Generation (I)Adapter makes code generation independent of process input format (II)Process transformer implements complex graph transformation (III&IV) Use of templates supports easy development of generation solutions from examples 1 1 DSL specific process format (a) transform common process graph 1 2 (c) II... traverse standard process graph & apply code generation templates (d) III & IV create common process model Common process modelling format (b) I

© Stephan Roser, Case Study create common process model (b) (a)

© Stephan Roser, Case Study transform common process graph create common process model (a) (c) (b)

© Stephan Roser, Case Study traverse standard process graph & apply code generation templates transform common process graph create common process model (a) (c) (b) (d)

© Stephan Roser, Summary Decouple components that depend on the domain from components that deal with computational aspects Combine the advantages of visitor-based approaches, template-based approaches, and graph transformation techniques  The visitor allows to generate the workflow code in the sequence that is given by the process’s control flow  The templates can be derived from examples  For the components that realize the process transformer and optimizer one is free in the choice of an implementation technology Benefits of the generation framework  makes it possible for people with no or little experience in code generation and graph transformation to produce workflow code at reasonable time (days instead of weeks or months)  Fosters reuse of generation solutions  can be applied to any DSL that is concerned with process description Download (Nov. ’07):

© Stephan Roser, Thank you for attention!