Download presentation
Presentation is loading. Please wait.
Published bySusanna Jefferson Modified over 9 years ago
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!
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.