Top Banner
Workflow / Process Languages Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT
38

Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

Dec 14, 2015

Download

Documents

Daphne Capshaw
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

1

Workflow / Process Languages

Software and Systems Engineering SeminarWinter 2011Domain-specific languages in model-driven software engineering

Speaker: Valentin ROBERT

Page 2: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

2

Outline

Research work

Industry use

Tools and standards evaluations

DSL point of view

Page 3: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

3

Research work

Page 4: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

4

Definitions

The business process is a series of activities occurring within a company that lead to a specific end. (wisegeek.com)

A workflow consists of a sequence of connected steps. It is a depiction of a sequence of operations, declared as work of a person, a group of persons, an organization of staff, or one or more simple or complex mechanisms. (wikipedia.com)

Page 5: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

5

Research goals

Identify generic, recurring business process modelling patterns

Unify existing patterns and focus on their expressive power

Language-independent formalism (Coloured Petri-Net)

Page 6: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

6

Workflow model

Formal description of a (business) process

Executable by a workflow management system

In practice: directed bipartite graph of tasks and transitions

Page 7: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

7

Who uses BPM solutions? Healthcare/Pharmaceuticals

Prescriptions fulfillment, administrative tasks, … Finance/Banking/Accounting

Error-free accounting, financial accuracy, … Education Government/Public Services/Human Resource

Multi-level approval processes Manufacturing

Six Sigma method Energy/Utilities Legal Services/Insurances IT Customer Relationship Management

Page 8: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

8

Trivial example (YAWL)

Page 9: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

9

Historic approach

1999: Foundation of the Workflow Pattern Initiative▪ Profesor Wil van der Aalst (Eindhoven University of

Technology)▪ Profesor Arthur ter Hofstede (Queensland University of

Technology)

20 first control-flow patterns Van Der Aalst et al. 2003 [WP]

Revision of the 20 first + 23 new control-flow patterns Russell et al. 2006 [WCFP]

Page 10: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

10

More perspectives

Control-flow patterns Describes complex workflows (sequence, parallel, multi-

threading, mutual exclusion, division and merging, synchronization, …)

Data patterns Adds data manipulation, internal/external data interaction,

data transfer and transformation, data-based routing

Resource patterns Tasks creation and allocation schemes, detours of a resource

in the middle of a task execution, and others…

Exception handling patterns Work Item Failure, Deadline Expiry, Resource Unavailability,

External Trigger, Constraint Violation

Page 11: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

11

Workflow examples

Source: van der Aalst et al., 2003 [WP]

Diagram-based DSL

Page 12: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

12

Workflow elements

Control-flow Basic▪ Sequence, Parallel, Synchronization, Exclusive Choice,

Simple Merge Advanced branching/synchronization▪ Multi-choice, Multi-merge, Threads, Discriminators, Partial

Joins Multiple instantiation of activities on triggers State-based▪ Deferred Choice, Interleaved Routing, Milestone, Critical

Sections Cancellation, Force Completion, Iteration,

Termination, Triggers

Page 13: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

13

Workflow elements

Resource Task creation▪ Direct, role-based, deferred, capability-based, history-

based, … « Push » task distribution▪ By offer, random, round-robin, shortest queue, …

« Pull » task distribution Detour▪ Delegation, escalation, deallocation, stateful/stateless

reallocation, suspension, resumption, skip, redo, pre-do Auto-start …

Page 14: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

14

Workflow elements

Data Visibility▪ Task, block, scope, multiple instance, folder, workflow,

environment Interaction (inside components)▪ Task to task, to multiple tasks (by reference, by value),

from multiple tasks External Interaction▪ From environment, to environment

Transfer (between components)▪ By value, by reference (locked, unlocked)

Data-based routing/triggers

Page 15: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

15

Workflow elements

Exceptions Work Item Failure Deadline Expiry Resource Unavailability External Trigger Constraint Violation

Page 16: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

16

Industry use

Page 17: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

17

Industry standards

XPDL(2.1 -

WfMC)

BPMN

(1.2 – BMI DTF)

WS-BPEL(2.0 -

OASIS)

BPMI?(BMI DTF?)

XML Process Definition Language (2002)

Business Process Modelling Notation (2004)

Business Process Execution Language (2002)

Interface (mapping) between XPDL and BPMN (????)

Page 18: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

18

BPMN simple example

Page 19: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

19

XPDL Example

<Activities> <Activity Id="153189" Name="Start Event"> <Implementation><No/></Implementation> <Performer>Manager</Performer> <Priority/> <Documentation/> <TransitionRestrictions> <TransitionRestriction> <Join Type="XOR"/> <Split Type="XOR"> <TransitionRefs><TransitionRef Id="153204"/></TransitionRefs> </Split> </TransitionRestriction> </TransitionRestrictions> <NodeGraphicsInfos> <NodeGraphicsInfo LaneId="1" ToolId="Interstage BPM » IsVisible="true" Page="1"> <Coordinates XCoordinate="317.0" YCoordinate="83.0"/>[…]

XML file

Also containsmeta-data

Reference: [XPDLEx]

Goal: exchange format for models of workflow products

Page 20: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

20

BPEL Hello World example<process xmlns[…]>

<import […]/><partnerLinks><partnerLink name="printService" partnerLinkType="print:printLink" partnerRole="printService"/></partnerLinks><variables><variable name="hello_world" messageType="print:PrintMessage" /></variables><assign><copy><from><literal>Hello World</literal></from><to>$hello_world.value</to></copy></assign><invoke partnerLink="printService" operation="print" inputVariable="hello_world" />

</process>

Programming logic - BPELData types - XSDInput/Output (I/O) - WSDL

Reference: [BPELEx]

Page 21: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

21

BPEL elements

Partner Links / Endpoints Identifies parties you interact with

Variables Data container (XSD value or WSDL message)

Assignments

Invocations Invokes a web-service endpoint

Page 22: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

22

Tools and standards evaluations

Page 23: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

23

BPMN

STRENGHTS

Designed to be flexible

Seems to support much of the Workflow Patterns

The new version should add semantics and interoperability (via a standard meta-model)

WEAKNESSES

Providing flexibility implies no formal execution semantics (?)

Page 24: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

24

XPDL

STRENGHTS

Current mainstream interchange standard

Supports human workflows

WEAKNESSES

Lacks formal execution semantics (transactions, faults, …)

Not flexible enough to successfully cover BPMN (and BPMN vendor-specific extensions)

Ambiguous interpretations of the standard

Only partial mapping to BPEL (missing contructs + ambiguities)

Page 25: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

25

BPEL

STRENGHTS

Industry-accepted standard for SOA (Oracle, IBM, Microsoft, SAP, BEA, Fuego, Lombardi, …)

Designed specifically for business processes (interacting through web-services)

WEAKNESSES

Does not support human workflows and user interactions (in a standard way) -> BPEL4People and WS-HumanTask (role-based human tasks)

No standard modeling notation (BPMN bindings)

Page 26: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

26

BPMN vs. BPEL?

Much debate around their unification BPMN is more businessperson-friendly, BPEL

requires more knowledge, someone would lose something.

Keeping the same model during the whole process (modeling + execution) would be good, but…

… separating them allows the model to evolve while it is being executed with no issue (hot process migration?).

The same BPMN model will produce different BPEL behaviors depending on the vendor interpretation.

Page 27: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

27

Problem?

Reference: [Interop]

Page 28: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

28

Workflow Patterns Support

Reference: Wohed et al. 2006 [BPM2BPMN]

+ direct support +/- partial support - lack of support

Page 29: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

29Reference: Wohed et al. 2006 [BPM2BPMN]

Page 30: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

30Reference: Wohed et al. 2006 [BPM2BPMN]

Page 31: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

31

A lot of tools

Tool BPMN support

XPDL support

WS-BPEL

support

Commercial

Open Source

Adobe LiveCycle X X X X

Appian Enterprise X X X X

Bonita & Orchestra X X X X

Enhydra Shark X X X X

Fujitsu Interstage BPM

X X X X

Global 360 BOS X X ? X

IBM FileNet BPM X X X X

Intalio X X X

Oracle BEA X X X X

Lombardi BluePrint X X X X

ProcessMaker X X - X

Page 32: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

32

I mean… a lot! XPDL implementations: ADVANTYS WorkflowGen, Amazonas Workflow, Arachnea

EverSuite, Appian Enterprise, Ascentn AgilePoint Server, Aspose'sAspose.Workflow, Assetlink Corporation, BOC ADONIS, BEA Systems, Brein VB's InProces, Bonita, ProEd Workflow Editor, Canto CanFlow, CapeVisions, CHALEX BPM Framework, ComActivity, Cordys BPMS, COSA Designer, Cubetto Toolset, Eclaire Group LynxFlow Designer, EMC Documentum ApplicationXtender Workflow, EMC Documentum Process Suite, Enhydra Shark, Enhydra JaWE, First Trace’s Kinnosa Workflow, FinantixStudio FXS, Fujitsu Interstage BPM (i-Flow), FileNet Business Process Manager, Global 360 Business Optimzation Server (BOS), HOGA.PL'S intraDok, IBM FileNet Business Process Manager, IDS Scheer Business Architect, iGrafx, Interwoven WorkRoute MP, Infinity Process Engine, Infor (formerly SSA Global), ITP-Commerce Design, jawFlow, Jenz & Partner's BPEdit, KAISHA-Tec's ActiveModeler Avantage, Lombardi's Blueprint, Metoda S.p.A OpenMet BPMF, Mono-sys's Tigris BPM, Nautica, Open Business Engine, OpenPages Governance Platform, Openwork, Oracle 9i Warehouse Builder, Pentaho's B1 Platform, Projekty Bankowe Polsoft's BPB Workflow, proLOGIT BPR Business Process Reporter, QualiWare, R-Data's E-SOD, Rodan Systems OfficeObjects Workflow, Savvion, Simprocess from CACI, Software AG's Crossvision BPM, SpeechCycle's LevelOne virtual CSR platform, TIBCO iProcess Suite, Together Workflow Editor, Transware Ambassador, Unisys, Vignette Process Workflow Modeler, W4's W4 BPM Suite, WfMOpen, Workflow::Wfmc, Zynium's Byzio

BPEL engines: ActiveVOS, Apache ODE, BizTalk Server, iBolt Server, jBPM, Open ESB, Oracle BPEL Process Manager, OW2 Orchestra, Parasoft BPEL Maestro, Petals BEPL Engine, SAP Exchange Infrastructure, Virtuoso Universal Server, Websphere Process Server

Page 33: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

33

YAWL

Yet Another Workflow Language By the « Workflow Patterns » team

YAWL vs. (WS-)BEPL BPEL is an industry standard, YAWL has only

one implementation. Both have static analysis tools (based on Petri

nets, Process Algebra, Finite State Machine). YAWL provides support for human tasks. YAWL supports all Workflow Patterns. (BEPL

2.0 reduces the gap)

Page 34: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

34

DSL Point of view

Page 35: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

35

DSLs

Three DSLs maintained by three organisms, with three goals (sometimes overlapping) Serialization and interoperability issues Expressiveness issues (vendors extend the

standards, impossibility of full interoperability) Domain Specific Meta-Language for domain

concepts? (Business Process Definition Metamodel, by the OMG)

Target issues (businessperson-friendly WYSIWYG solutions vs. IT savvy flexibility)

Page 36: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

36

Questions

?

Page 37: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

37

References

[BPELEx]Antony Miguel. WS-BPEL 2.0 Tutorial. Tutorial – Basic BPEL. 2005. http://www.eclipse.org/tptp/platform/documents/design/choreography_html/tutorials/wsbpel_tut.html

[BPM2BPMN]P. Wohed, W. M. P. van der Aalst, M. Dumas, A.H.M. ter Hofstede, and N. Russell.  On the Suitability of BPMN for Business Process Modelling. In Proceedings 4th International Conference on Business Process Management (BPM 2006), LNCS

[BPMN2BPEL]Chun Ouyang, Marlon Dumas, Arthur H. M. ter Hofstede, and Wil M. P. van der Aalst. 2006. From BPMN Process Models to BPEL Web Services. In Proceedings of the IEEE International Conference on Web Services (ICWS '06). IEEE Computer Society, Washington, DC, USA, 285-292. DOI=10.1109/ICWS.2006.67 http://dx.doi.org/10.1109/ICWS.2006.67

[Interop]Keith Swenson. Collaborative Planning & Social Business. The BPMN-XPDL-BPEL value chain. 2006. http://social-biz.org/2006/05/26/bpmn-xpdl-and-bpel/

[WCFP]N. Russell, A.H.M. ter Hofstede, W.M.P. van der Aalst, and N. Mulyar. Workflow Control-Flow Patterns: A Revised View. BPM Center Report BPM-06-22, BPMcenter.org, 2006.

Page 38: Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

38

References

[WDP]N. Russell, A.H.M. ter Hofstede, D. Edmond, and W.M.P. van der Aalst. Workflow Data Patterns. QUT Technical report, FIT-TR-2004-01, Queensland University of Technology, Brisbane, 2004.

[WP]W. M. P. van der Aalst, A. H. M. ter Hofstede, B. Kiepuszewski, and A. P. Barros. 2003. Workflow Patterns. Distrib. Parallel Databases 14, 1 (July 2003), 5-51. DOI=10.1023/A:1022883727209 http://dx.doi.org/10.1023/A:1022883727209

[WRP]N. Russell, A.H.M. ter Hofstede, D. Edmond, and W.M.P. van der Aalst. Workflow Resource Patterns. BETA Working Paper Series, WP 127, Eindhoven University of Technology, Eindhoven, 2004.

[XPDLEx]Keith Swenson. XPDL.org. XPDL BPMN Example 1. 2008. http://www.xpdl.org/nugen/p/xpdlbpmnexample1/

[YAWL]W. M. P. van der Aalst and A. H. M. ter Hofstede. 2005. YAWL: yet another workflow language.Inf. Syst. 30, 4 (June 2005), 245-275. DOI=10.1016/j.is.2004.02.002 http://dx.doi.org/10.1016/j.is.2004.02.002