Скачать презентацию Use of UML and Model Transformations for Workflow Скачать презентацию Use of UML and Model Transformations for Workflow

8ac48513fe222f3489550e8f06eb4abf.ppt

  • Количество слайдов: 28

Use of UML and Model Transformations for Workflow Process Definitions Audris Kalnins, Valdis Vitolins Use of UML and Model Transformations for Workflow Process Definitions Audris Kalnins, Valdis Vitolins University of Latvia, IMCS Baltic DB&IS '2006, July 3 -6, Vilnius, Lithuania

Agenda ● Current workflow modeling topics Workflow definition languages ● Required aspects of workflow Agenda ● Current workflow modeling topics Workflow definition languages ● Required aspects of workflow definition MDD approach with model transformations as a novel solution in business modeling area Adjusting UML Activity Diagram for workflow definition ● BPMN diagrams as another notation for workflows ● BPMN subset, adjustments and additions Demo ● AD subset for workflow definitions, Workflow Profile for AD AD to BPMN transformation Conclusion

Current workflow modeling topics ● Workflow systems: rely on web services as an implementation Current workflow modeling topics ● Workflow systems: rely on web services as an implementation platform, converge with ERP and EAI systems, ● have become completely distributed and global, but till have to support humans in their business activities. Many different authorities: ● bunch of organizations (W 3 C, Wf. MC, OMG, OASIS, AIM, . . . ), heap of standards (UML, BPMN, BPEL, WSCI, eb. XML, . . . ). Only two of these standards provide an easy readable graphical notation for workflow processes: UML Activity Diagrams (AD) and Business Process Modeling Notation (BPMN), therefore as a proof of technique AD and BPMN have been chosen.

“Workflow complete “Workflow complete" workflow system requirements ● ● ● Adequate description of the control structure of the process – support for branching, decisions, parallelization, synchronization and loops. Possibility to model data flows and to base decisions, looping and branching on process data. Process data should support rich data structures. Possibility to define different types of tasks: a) b) c) d) ● for invocation of a workflow subprocesses, automated tasks, which are either executed by workflow engine directly (Script Task), or by some sort of automated software service (Service Task, e. g. for Web services), tasks where a human performer performs the task with the assistance of a software application (User Task), tasks which are expected to be performed without aid of the workflow system (Manual Task). Resource management – mainly, the definition and management of human task performers.

AD subset for workflow definition AD notation has a vast majority of features, most AD subset for workflow definition AD notation has a vast majority of features, most of which make no sense for workflow definition. As a suitable subset for workflow modeling the following elements are chosen : ● ● Activities and Opaque. Behaviors Call. Actions: ● Call. Behavior, Call. Operation actions Send. Signal, Accept. Event actions Object. Nodes: ● ● Activity. Parameter nodes Input and Output pins Variables with Read and Write. Variable actions Control nodes (Initial, Activity. Final, Flow. Final, Fork, Join, Decision, Merge) Control and Object Flows Activity. Partitions, Interruptible Regions, Loop Nodes Classes which have Workflow Profile (AD stereotypes) applied, are described in the format Class – Stereotype.

AD subset for workflow definition Activities and Opaque behaviors Manual actions User actions Script AD subset for workflow definition Activities and Opaque behaviors Manual actions User actions Script actions Service actions (external automated tasks – web service operations ir our case) Activity - Main. Process represents an activity which is a separate workflow process Behavior - Manual. Action, User. Action, Script. Action - stereotypes for definitions of manual, software-supported manual and automated tasks Operation - Service. Operation stereotype for web service operation

AD subset for workflow definition Call. Actions: Call. Behavior, Call. Manual, Call. Sript, Call. AD subset for workflow definition Call. Actions: Call. Behavior, Call. Manual, Call. Sript, Call. User, Call. Operation Actions Call. Behavior. Action – Call. Manual. Action, Call. Script. Action, Call. User. Action – calls to stereotyped actions Call. Operation. Action - Call. Service. Action is an automated task, which means invoking an interface of an external software component

AD subset for workflow definition Send. Signal, Accept. Event Actions Accept. Event. Action - AD subset for workflow definition Send. Signal, Accept. Event Actions Accept. Event. Action - Start. Accept. Event. Action - a new activity instance is started (create. Instance="yes" in BPEL). Interm. Aaccept. Event. Action only activates the suspended activity

AD subset for workflow definition Object. Nodes: Activity. Parameter nodes Input. Pins and Output. AD subset for workflow definition Object. Nodes: Activity. Parameter nodes Input. Pins and Output. Pins

AD subset for workflow definition Variables, Read. Variable- and Write. Variable. Actions AD subset for workflow definition Variables, Read. Variable- and Write. Variable. Actions

AD subset for workflow definition Control nodes: Initial, Activity. Final, Flow. Final, Fork, Join, AD subset for workflow definition Control nodes: Initial, Activity. Final, Flow. Final, Fork, Join, Decision, Merge

AD subset for workflow definition Control and Object Flows AD subset for workflow definition Control and Object Flows

AD subset for workflow definition Activity. Partitions, Interruptible Regions, Loop Nodes Partition - Performer AD subset for workflow definition Activity. Partitions, Interruptible Regions, Loop Nodes Partition - Performer represents a performer of a manual or user action Loope. Node - For. Each with heavyweight extension – new For. Each. collection association for loop iterator.

Fragment of the AD metamodel source of model transformation yellow – original classes orange Fragment of the AD metamodel source of model transformation yellow – original classes orange - stereotypes

BPMN subset for workflow definition Similarly to the AD, BPMN also has unnecessary redundancy. BPMN subset for workflow definition Similarly to the AD, BPMN also has unnecessary redundancy. Therefore as a suitable subset the following elements (which have natural semantics and mapping to BPEL) were chosen: All types of Activities User, Service, Manual, Script Tasks, Embedded and Independent Subrpocesses, Loop. Activity Receive and Send Tasks for receiving and sending messages in non-interrupt situations Start and Events, Timer. Intermediate and Intermediate. Events, attached to the boundary of an Activity ("interrupt construct") All kinds of Gateways Properties and property Assignments While the implicit BPMN metamodel is quite acceptable, the BPMN graphical notation lacks some important elements. Therefore for some elements new graphical notation is introduced.

BPMN subset for workflow definition Following the BPMN style the following elements are used BPMN subset for workflow definition Following the BPMN style the following elements are used in model, but are not shown graphically: Input/output Messages for tasks (analogs to AD pins), Implementation related aspects (e. g. , service operation, URI). Dropped elements: Intermediate events other than timer and "interrupt construct", Data Objects, Message. Flows BPMN Property it is not sufficient for modeling rich data structures, therefore BPMN is supplemented with UML Class diagram similarly to AD.

BPMN subset for workflow definition All types of Activities: User, Service, Manual, Script, Send, BPMN subset for workflow definition All types of Activities: User, Service, Manual, Script, Send, Receive Tasks Independent Subprocess, Loop. Activity Task type is shown as task icon: Hand – manual, ”S” – script, arrows – service, hand+arrows – user task, loop – loop activity Task performers are shown in another compartment

BPMN subset for workflow definition All types of Activities: Receive and Send Tasks for BPMN subset for workflow definition All types of Activities: Receive and Send Tasks for receiving and sending messages in noninterrupt situations Convex flag – Send task, concave flag – Receive task Similarly to AD, data join criteria are shown as Annotations (an analog to Notes in AD)

BPMN subset for workflow definition All types of Activities: Embedded subproces for interrupt construction BPMN subset for workflow definition All types of Activities: Embedded subproces for interrupt construction

BPMN subset for workflow definition Start, End Events, Timer. Intermediate Event, and Intermediate. Events, BPMN subset for workflow definition Start, End Events, Timer. Intermediate Event, and Intermediate. Events, attached to the boundary of an Activity ("interrupt construct")

BPMN subset for workflow definition Properties and Assignments Property is shown as a rectangle BPMN subset for workflow definition Properties and Assignments Property is shown as a rectangle containing name: type Assignment is shown as a thick arrow

BPMN subset for workflow definition All kinds of Gateways BPMN subset for workflow definition All kinds of Gateways

BPMN subset for workflow definition Sequence Flows BPMN subset for workflow definition Sequence Flows

BPMN Metamodel Target for model transformation (subtypes for events are not shown) BPMN Metamodel Target for model transformation (subtypes for events are not shown)

Transformation as effective solution for AD to BPMN mapping Though graphical presentation looks similar, Transformation as effective solution for AD to BPMN mapping Though graphical presentation looks similar, transformation is not trivial due to conceptual differences between AD and BPMN: Pattern part For. Each loop Loop variable . . . Loop body Action (create) part Rule with Pattern . . . More about MOLA: Tomorrow (July 5) 13. 00, Session 4 A (Research Track, Room 1: Auditorium 03), Simple and Efficient Implementation of Pattern Matching in MOLA Tool

Demo Demo

Conclusion ● ● ● When there is no single standards (for languages, techiques and Conclusion ● ● ● When there is no single standards (for languages, techiques and platforms), only model driven development (MDD) approach with model transformations permits to use all the notations (the most appropriate one for each case). For model transformations precise modeling language semantics is necessary. As it was shown with UML AD and BPMN, standards should be adjusted and profiled. Metamodel-based generic modeling tools for MDD approach is of high demand, however there is no adequate industry support for that. Therefore development of new generation of metamodel-based and model transformation-ready tool is started at UL IMCS.

Questions and Answers Questions and Answers