Software and Systems Engineering Seminar Winter 2011

Transcription

Software and Systems Engineering Seminar Winter 2011
Software and Systems Engineering Seminar
Winter 2011
Domain-specific languages in model-driven software engineering
Speaker: Valentin ROBERT
1

Research work

Industry use

Tools and standards evaluations

DSL point of view
2
3


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)
4

Identify generic, recurring business process
modelling patterns

Unify existing patterns and focus on their
expressive power

Language-independent formalism (Coloured
Petri-Net)
5

Formal description of a (business) process

Executable by a workflow management
system

In practice: directed bipartite graph of tasks
and transitions
6

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
7
8

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]
9

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
10
Diagram-based DSL
Source: van der Aalst et al., 2003 [WP]
11

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
12

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
 …
13

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
14

Exceptions
 Work Item Failure
 Deadline Expiry
 Resource Unavailability
 External Trigger
 Constraint Violation
15
16
XML Process Definition Language (2002)
XPDL
Business Process Modelling Notation
(2004)
BPMN
(2.1 - WfMC)
(1.2 – BMI
DTF)
WSBPEL
BPMI?
(2.0 - OASIS)
Business Process Execution Language
(2002)
(BMI DTF?)
Interface (mapping) between XPDL and
BPMN (????)
17
18
XML file
<Activities>
<Activity Id="153189" Name="Start Event">
Goal: exchange format for
<Implementation><No/></Implementation>
models of workflow products
<Performer>Manager</Performer>
<Priority/>
<Documentation/>
<TransitionRestrictions>
<TransitionRestriction>
<Join Type="XOR"/>
<Split Type="XOR">
<TransitionRefs><TransitionRef Id="153204"/></TransitionRefs>
</Split>
Also contains
</TransitionRestriction>
</TransitionRestrictions>
meta-data
<NodeGraphicsInfos>
<NodeGraphicsInfo LaneId="1" ToolId="Interstage BPM »
IsVisible="true" Page="1">
<Coordinates XCoordinate="317.0" YCoordinate="83.0"/>[…]
Reference: [XPDLEx]
19
<process xmlns[…]>
<import […]/>
<partnerLinks>
<partnerLink
Programming logic - BPEL
Data types - XSD
Input/Output (I/O) - WSDL
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>
Reference: [BPELEx]
20

Partner Links / Endpoints
 Identifies parties you interact with

Variables
 Data container (XSD value or WSDL message)

Assignments

Invocations
 Invokes a web-service endpoint
21
22
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 (?)
23
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)

24
STRENGHTS


Industry-accepted
standard for SOA (Oracle,
IBM, Microsoft, SAP, BEA,
Fuego, Lombardi, …)
Designed specifically for
business processes
(interacting through webservices)
WEAKNESSES


Does not support human
workflows and user
interactions (in a standard
way) -> BPEL4People and
WS-HumanTask (rolebased human tasks)
No standard modeling
notation (BPMN bindings)
25

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.
26
Reference: [Interop]
27
+ direct support
+/- partial support
Reference: Wohed et al. 2006 [BPM2BPMN]
- lack of support
28
Reference: Wohed et al. 2006 [BPM2BPMN]
29
Reference: Wohed et al. 2006 [BPM2BPMN]
30
Tool
BPMN
support
XPDL
support
WS-BPEL Commercial
support
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
Oracle BEA
X
X
X
X
Lombardi BluePrint
X
X
X
X
ProcessMaker
X
X
-
X
Open Source
X
X
31


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
32

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)
33
34

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)
35
36
[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.
37
[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
38