Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

1 Programming Distributed Systems Lab Institute of Computer Science University of Augsburg Universitätsstraße 14, D-86159 Augsburg Tel.: (+49) 821/598-2174, Fax: -2175 URL: http://www.informatik.uni-augsburg.de/vs Generation of Workflow Code from DSMs Stephan Roser, Florian Lautenbacher, and Bernhard Bauer

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

3 © Stephan Roser, 20073 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

4 © Stephan Roser, 20074 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

5 © Stephan Roser, 20075 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

6 © Stephan Roser, 20076 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

7 © Stephan Roser, 20077 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 2 1 2 Common process modelling format (b) I

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

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

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

11 © Stephan Roser, 200711 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): http://sourceforge.net/projects/wf-codegen

12 © Stephan Roser, 200712 Thank you for attention!


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

Similar presentations


Ads by Google