Albert Strange 29 ft Gaff Yawl 1920 - Sandeman Yacht Company
YAWL - Tokyo 2008 - Petia Wohed
-
Upload
john-mettraux -
Category
Technology
-
view
3.888 -
download
2
description
Transcript of YAWL - Tokyo 2008 - Petia Wohed
a university for the worldrealR
© 2008, www.yawlgroup.org
YAWL:Yet Another Workflow
Language
presented by
Petia Wohed
SU/KTH
~もうひとつのワークフロー言語~
a university for the worldrealR
2© 2008, www.yawlgroup.com
Acknowledgement
• This presentation uses slides prepared by the following people:– Wil van der Aalst, TUE & QUT
– Michael Adams, QUT
– Lachlan Aldred, QUT
– Arthur ter Hofstede, QUT
– Massimiliano de Leoni, Università di Roma
– Chun Ouyang, QUT
– Marcello La Rosa, QUT
– Nick Russell, TUE
– Petia Wohed, SU/KTH
– Moe Wynn, QUT
以下の方々に確認いただいています
a university for the worldrealR
3© 2008, www.yawlgroup.com
Agenda
• Introduction
• Workflow patterns
• YAWL concepts
• YAWL system
• Dynamic workflow & Exception handling
• Current and future activities
はじめに
ワークフローパターン
YAWL コンセプト
YAWL の仕組み
動的ワークフロー&例外ハンドリング
今とこれから
テーマ
a university for the worldrealR
4© 2008, www.yawlgroup.com
Setting the scene –Workflow: What and Why?
• Support for coordination of humans and applications in performing business activities
• Explicit representation of control flow dependencies and resourcing strategies
• Benefits:– Improved efficiency (time, cost)– Compliance– Improved responsiveness
ワークフローって何?それでそうなるの?
業務の中の人とアプリケーションの協調をサポート
フローと人 / システムの割り当ての制御を明示的に表現
利点
効率化 ( 時間、コスト )
コンプライアンス
効率的な対応
a university for the worldrealR
5© 2008, www.yawlgroup.com
Workflow Animation
Animation by Wil van der Aalst, Vincent Almering and Herman Wijbenga
ワークフローアニメーション
a university for the worldrealR
6© 2008, www.yawlgroup.com
Problems in the field of Workflow/BPM
• Lack of commonly accepted conceptual foundations
• Lack of proper formal foundations (this despite the amount of buzz …)
• No lack of proposed standards …
• Tools are typically hard to use, expensive and not easily integrated
• Lack of support for processes that need to change on-the-fly
• Lack of proper support for exceptions
• Limited support for design time analysis (verification and validation)
• Resource perspective particularly underwhelming
• Insufficient support for inter-process communication
問題点
代表的な概念ファウンデーションの欠如
公式なファウンデーションの欠如
標準の欠如?
ツールが難しい、高い、連携が簡単ではない
実行時に変更されるプロセスが未対応
業務例外のサポートが未対応
プロセス設計時における verify と validate の制限
プロセス設計時における verify と validate の制限
プロセス間通信のサポートが不十分
a university for the worldrealR
7© 2008, www.yawlgroup.com
Workflow Patterns Initiative
• Started in 1999, joint work TU/e and QUT
• Objectives:– Identification of workflow modelling scenarios and solutions
– Benchmarking• Commercial Workflow products (MQ/Series Workflow, Staffware, etc)
• Open Source Workflow products (jBPM, OpenWFE, Enhydra Shark)
• Proposed standards for web service composition (BPML, BPEL)
• Process modelling languages (UML, BPMN)
– Foundation for selecting workflow solutions
• Home Page: www.workflowpatterns.com
• Primary publication:– W.M.P. van der Aalst, A.H.M. ter Hofstede, B. Kiepuszewski, A.P. Barros, “Workflow
Patterns”, Distributed and Parallel Databases 14(3):5-51, 2003.
• Evaluations of commercial offerings, research prototypes, proposed standards for web service composition, etc
ワークフローパターンイニシアティブ
目的
ワークフローモデリングのシナリオと提案の確立
ワークフローでの提案を行なうファウンデーション
公刊
評価、調査 ( 提案された web サービスコンポジションなど )
a university for the worldrealR
8© 2008, www.yawlgroup.com
Exception P:s
Exception handlingin a process
CAiSE’2006
N. RussellW. van der AalstA. ter Hofstede
Jun 2006
Control-flow P:s 43
- 23 new patterns - Formalised in CPN notation
TR
N. RussellA. ter HofstedeW. van der AalstN. Mulyar
Sep 2006
revised
Oct 2005
Data P:s - 40
N. RussellA. ter HofstedeD. EdmondW. van der Aalst
Data representationand handling in aprocess
ER’2005
Jun 2005
Resource P:s - 43
Resource definition & work distribution in a process
N. RussellW. van der AalstA. ter HofstedeD. Edmond
CAiSE’2005
The Workflow Patterns Framework
time
These perspectives follow S. Jablonski and C. Bussler’s classification from:Workflow Management: Modeling Concepts, Architecture, and Implementation. International Thomson Computer Press, 1996
Control-flow P:s 20
W. van der AalstA. ter HofstedeB. KiepuszewskiA. Barros
The ordering of activities in a process
2000
CoopIS’2000 DAPD’2003
2003
www.workflowpatterns.com
プロセス内のアクティビティの整理プロセス内のリソース定義と作業の分担プロセス内のデータ表現とハンドリング
コントロールフローパターン リソースパターン データパターン
新コントロールフローパターン
23 の新パターンと CPN 記述
ワークフローパターンフレームワーク
a university for the worldrealR
9© 2008, www.yawlgroup.com
The Workflow Patterns Framework
EvaluatIons
Control-flow P:s 20
2000 2003
XPDL, BPEL4WS, BPML, WSFL, XLANG, WSCI, UML AD 1.4 UML AD 2.0, BPMN
COSAFLOWer Eastman MeteorMobileI-Flow Staffware InConcert
Domino WorkflowVisual WorkflowForte Conductor MQSeries/Workflow SAR R/3 Workflow Verve WorkflowChangengine
Jun 2005
Resource P:s - 43
BPEL4WS UML AD 2.0BPMN
Staffware WebSphere MQFLOWerCOSAiPlanetjBPMOpenWFEEnhydra Shark
XPDL, BPEL4WSUML AD 2.0, BPMN
StaffwareMQSeriesFLOWerCOSAjBPMOpenWFEEnhydra Shark
Data P:s - 40
Oct 2005
Exception P:s
Staffware WebSphere MQFLOWerCOSAiPlanet
XPDL 2.0,BPEL4WS 1.1, BPMN
time
L a n g u a g e D e v e l o p m e n t: YAWL/newYAWL
評価
ワークフローパターンフレームワーク
a university for the worldrealR
13© 2008, www.yawlgroup.com
The New Control-flow Patterns
• Multiple Instances (MI) Patternsdelineate situations with multiple threads of execution in a workflow which relate to the same activity.
• State-based Patternsreflect situations which are most easily modelled in WF languages with an explicit notion of state.
• Cancellation Patternscategorise the various cancellation scenarios that may be relevant for a workflow specification.
• Trigger Patternscatalogue the different triggering mechanisms appearing in a process context.
• Basic Control-flow Patterns
capture elementary aspects of control-flow (similar to the concepts provided by the WFMC).
• Advanced Branching andSynchronization Patternsdescribe more complex branching and synchronization scenarios.
• Iteration Patternsdescribe various ways in which iteration may be specified.
• Termination Patternsaddress the issue of when the execution of a workflow is considered to be finished.
新コントロールフローパターン
基本パターン
応用分岐パターン
繰り返しパターン
終了パターン
コントロールフローの基本パターン . Wfmc 版に類似
より複雑な分岐、同期のパターンを説明
繰り返し制御が現れる複数のパターンを説明
ワークフローが終了する状態の問題について言及
複数インスタンスパターン
同一アクティビティでのマルチスレッドの描写
明確なフローの状態についての記述
状態ベースパターン
ワークフロー仕様に関連あるキャンセルパターンを分類化
キャンセルパターン
プロセス上で発生しうる様々なトリガー ( プロセスを進める ) のカタログ化
トリガーパターン
a university for the worldrealR
15© 2008, www.yawlgroup.com
A (Very) Complex CF Pattern:The General OR-Join
• Basically: Wait only if you have to
• Problems:– How should you treat other OR-joins?
– How do you deal with cycles?
– How do you treat decomposed tasks?
– Is an analysis of the future possible? How complex will it be?
(for a detailed discussion see [WEAH05] and work by Kindler et al)
Advanced: 38
© Y
AW
L F
ou
nd
atio
n
複雑パターン :OR-Join
“ しなければいけないときのみ待て”
・他の OR-joins をどう扱うべきか?・フローサイクルとどう扱うか?・他タスクとの関連はどう扱うべきか?・未来予測 / 分析は可能?どれだけ複雑?
詳細は WEAH05 の議論を参照
a university for the worldrealR
16© 2008, www.yawlgroup.com
Non-local semantics of Gen. OR-Join ("bus driver semantics")
Not only in EPCs but also in many
WFM systems: Domino Workflow,
Eastman, MQ Series, etc.
Advanced: 38
Click here for a FLASH animation of General OR-Join
ノンローカルな OR-Join
EPCs だけでなくたくさんのWFMS でも同様です
a university for the worldrealR
21© 2008, www.yawlgroup.com
Workflow Resource Patterns
• Focus on the manner in which work is offered to, allocated to and managed by workflow participants
• Consider both the system and resource perspectives
• Assume the existence of a process model and related organisational model
• Take into account differing workflow paradigms:
– richness of process model (esp. allocation directives)– autonomy of resources– alternate routing mechanisms– work management facilities
ワークフローリソースパターン
ワークフロー参加者による作業の指示、人 / システムの割り当て、管理などの作法に焦点を当てています
システムとリソースの両面で考えます
プロセス、関連している組織が既に存在していることを仮定しています
異なるワークフローパラダイムを取り入れます
リッチプロセスモデル
リソースの自律
ルーティングメカニズムの代替
作業管理ファシリティ
a university for the worldrealR
22© 2008, www.yawlgroup.com
Resource Patterns Classes
• Creation patterns: design-time work allocation directives
• Push patterns: workflow system proactively distributes work items
• Pull patterns: resources proactively identify and commit to work items
• Detour patterns: re-routing of work items
• Auto-start patterns: automated commencement
• Visibility patterns: observability of workflow activities
• Multiple resource patterns: work allocation involving multiple participants or resources
Click here for a FLASH animation of Delegation Pattern
リソースパターン分類
生成パターン:設計時でのリソース割り当て
プッシュパターン:ワークフローシステムが積極的に作業を提供
プルパターン:リソース(人など)が積極的に作業をコミットする
回り道パターン:作業の流れを変える
自動スタートパターン:自動開始のパターン
可視化パターン:作業の監視性
複数リソースパターン:複数リソースにまたがる作業の割り当て
a university for the worldrealR
23© 2008, www.yawlgroup.com
Work Item Lifecycle
created
offered to a single resource
offered tomultiple
resources
allocatedto a singleresource
suspended
failed
started completed
R:allocate-s
R:start-s
R:suspend R:resume
R:completeR:fail
R:start
R:start-m
S:create
S:offer-s
S:offer-m
S:allocate
R:allocate-m
作業ライフサイクル
a university for the worldrealR
25© 2008, www.yawlgroup.com
www.yawlfoundation.org (research)
www.sourceforge.net/projects/yawl (system)
http://www.yawlgroup.com (consultancy)
YAWL in the webYAWL in the web 詳細は web で。。。
a university for the worldrealR
26© 2008, www.yawlgroup.com
YAWL Overview• Collaboration between TU/e and QUT
• Based on Workflow Patterns Initiative
• YAWL: 2002 – newYAWL: 2007
• System development– Open source (currently LGPL)– Governed by YAWL Foundation– Industry collaboration
• M2 Investments – first:telecom • Intercontinental Hotels Group (till 2007)
• Main publication– [AH05] W.M.P. van der Aalst and A.H.M. ter Hofstede. YAWL: Yet
Another Workflow Language, Information Systems 30(4):245-275, 2005
YAWL 概要
TU/e と QUT のコラボレーション
ワークフローパターンイニシアティブに基づいています
YAWL 2002年から始まって , 新 YAWL が 2007年スタート
業界コラボレーション
テレコム
インターコンチネンタルホテルグループ
とりまく環境
a university for the worldrealR
27© 2008, www.yawlgroup.com
YAWL Highlights• YAWL
– Based on the (old) control-flow patterns– Extends Petri nets– Formalisation of control flow perspective– Verification– Dynamic workflow– Exception handling
• YAWL System– Open source– Service oriented architecture– Production class
• newYAWL– Direct support for:
• 41 out of 42 control flow patterns (missing: implicit termination)• 38 out of 40 data patterns (and the other two, passing by reference, partially)• 38 out of 43 resource patterns (missing: patterns related to case handling)
– Formalisation in CPN– Implementation of its resource perspective in system (due in the near future …)
YAWL ハイライト
旧コントロールフローパターンに基づいていますペトリネットを拡張
コントロールフローの形式化立証
動的ワークフロー例外ハンドリング
オープンソースSOA製品レベル
パターンサポート
CPN形式
リソース面での実装も近い将来に対応。。。
a university for the worldrealR
28© 2008, www.yawlgroup.com
YAWL notation
Composite task Multiple Instance task
YAWL 記述
a university for the worldrealR
29© 2008, www.yawlgroup.com
General YAWL Example I
register
flight
hotel
car
pay
YAWL サンプル
a university for the worldrealR
30© 2008, www.yawlgroup.com
General YAWL Example II
register
flight
hotel
car
pay
YAWL サンプル2
a university for the worldrealR
31© 2008, www.yawlgroup.com
General YAWL Example III
register do_itinerary_segment
pay
register_itinerary_segment
flight
hotel prepare_payment_information
car
© Y
AW
L F
ou
nd
atio
n
YAWL サンプル3
a university for the worldrealR
32© 2008, www.yawlgroup.com
Cancellation in YAWL
• The concept of cancellation region generalises the cancel activity and cancel case patterns
• Syntactically, a cancellation region consists of a number of tasks and places (possibly including implicit ones!) part of the same composite task and attached to a so-called cancellation task (also part of the same composite task).
• Semantically, upon completion of the cancellation task all tokens in the cancellation region (or in decompositions of tasks in that region etc) are removed.
YAWL でのキャンセル
キャンセルについてのコンセプトはキャンセル作業、ケースを一般化すること
構文的にキャンセル領域は複数のタスクで構成され、あるタスクはキャンセルタスクと関連します
意味としてはキャンセル領域のすべてのトークン(状態)は戻される (移動 ) ということ
a university for the worldrealR
33© 2008, www.yawlgroup.com
General YAWL Example IV
register do_itinerary_segment
pay
cancel
booking_in_progress
YAWL サンプル4
a university for the worldrealR
35© 2008, www.yawlgroup.com
• Engine, Graphical Editor, Custom YAWL Services
• First release November 2003, Open Sourced in May 2004
• Release 2.0 planned for Mid 2008
• Perspectives:– Control-flow: comprehensive support for original patterns– Data: using XML technologies– Resource: fairly basic currently, comprehensive support in 2.0
– Operational: tasks can be linked to web services
• Service-oriented architecture• Automated form generation• Support for dynamic workflow and exception handling• Support for design time verification• Persistence (thanks to M2 Investments/first:telecom)
The YAWL System The YAWL システム
エンジン、グラフィカルエディタ、独自 YAWL サービス
2003年 11月にリリースされ、 2004年 5月にオープンソース化
2008年中に ver.2.0 リリース予定旧パターンの統括的なサポート
XML 利用
今は基本的なところのみサポート、 ver.2.0 で完全サポート
タスクは web サービスにリンクしていますSOA
フォーム自動生成
動的ワークフローと例外ハンドリング
設計時の立証
永続化
a university for the worldrealR
42© 2008, www.yawlgroup.com
YAWL Workflow Engine
Worklet Service
Resource Service
Web Service
Invoker Service
A B X
E
Event Log
Event LogProcess
Repository
Case Data
YAWL Process Editor
A A B
Admin Worklist
R R
A BB
O
W
Org Model Event Log
Worklet Repository
Exception SelectionX
Web Service users Web
Service
Service Oriented Architecture
PROM
Interfaces
A - AdministrationB - ProcessesE - LoggingO - Org DataR - ResourcingW - Work QueueX - Exception
SOA
a university for the worldrealR
43© 2008, www.yawlgroup.com
Control flow specification コントロールフロー仕様
a university for the worldrealR
44© 2008, www.yawlgroup.com
Data flow specification データフロー仕様
a university for the worldrealR
45© 2008, www.yawlgroup.com
Resource specification (2.0) リソース仕様(2.0)
a university for the worldrealR
46© 2008, www.yawlgroup.com
YAWL resource service YAWL リソースサービス
a university for the worldrealR
47© 2008, www.yawlgroup.com
Case management ケース管理
a university for the worldrealR
48© 2008, www.yawlgroup.com
Work Item Actions ワークアイテムアクション
a university for the worldrealR
49© 2008, www.yawlgroup.com
Data entry for started work itemsデータエントリ
a university for the worldrealR
50© 2008, www.yawlgroup.com
User Management ユーザ管理
a university for the worldrealR
51© 2008, www.yawlgroup.com
Verification
• Design time analysis of YAWL specifications
• Important due to long-lived nature of workflows
• Highly complex (both algorithmically and computationally)
• Almost never supported by commercial or open source systems
• YAWL environment supports three approaches:
– Structural– Behavioural– Reset nets
立証
YAWL 仕様のプロセス設計時による分析
ワークフローの長時間という特質からくる重要さ
高い複雑さ(アルゴリズム面、計算面)
ほとんどの商用 / オープンソースの製品ではサポートされていない
YAWL環境では以下の3つのアプローチを採用しています:
構造
振る舞い
ネット初期化
a university for the worldrealR
52© 2008, www.yawlgroup.com
Dynamic Workflow and Exception Handling:Workflow Limitations• Uptake of WfMS is limited to implementation of rigid and/or idealised
workflow processes.
• Reason: WfMSs have difficulty dealing with process flexibility:
• Keeping it simple means ignoring deviations
• Capturing deviations means complex models
– difficulty evolving with the work practices they model
– difficulty representing “real-world” activities
– limited exception handling capabilities
動的ワークフローと例外ハンドリング:ワークフローの制約
WFMS の理解は“堅い” ,“ 理想的な”ワークフロープロセスの実装に限られます
プロセス柔軟性をあつかうのは難しい
シンプルさを保つということはズレ(細かい本質でないこと)を無視すること
ズレを正確に把握することはモデルが複雑になるということ
進化していくモデルに対応する難しさ
現実のアクティビティを表現する難しさ
例外ハンドリングでできることの限界
a university for the worldrealR
53© 2008, www.yawlgroup.com
Introducing Worklets
• A worklet is a small, self-contained, complete workflow process which handles one specific action (task) in a larger, composite activity (process).
•
• Each task of a process instance may be linked to an extensible repertoire of worklets, one of which is contextually chosen at runtime to carry out the task.
• The repertoire is dynamically constructed as different approaches to completing a task are developed, derived from the context of each process instance.
• A sequence of worklets may be chained to form an entire workflow process.
Worklets とは
Worklets は小さく、自分だけで動作し、ワークフロープロセスを管理できます(大きく、複雑なアクティビティにある特定の作業(タスク)も扱えます )
各プロセスインスタンスのタスクは Worklets の拡張可能なレパートリーに関連づいています。それらのうちのひとつは実行時に前後関係からタスク間の関連が決定します。
異なるフロー(タスクを終了するための)が設計されるときに動的にレパートリーが構築されます
Worklets における順序はプロセス全体を構成するために管理されます
a university for the worldrealR
55© 2008, www.yawlgroup.com
Worklet Selection• Each worklet is a representation of a particular situated action, the runtime selection of which relies on the relevant
context of each case instance, derived from case and historical data.
• The worklet selection process is achieved through the use of modified Ripple Down Rules (RDR).
• Each task in a process may be associated with a particular RDR set from which are referenced a repertoire of worklets.
• One will be dynamically selected and assigned to perform the task at runtime, based on the particular context of the task.
ワークレット選択
各ワークレットはあるアクション ( 作業の単位)を表したもので、実行時のアクションの選択は実行時の状況、履歴データから決定されます
そのアクションの決定には RippleDownRules(RDR) が利用されます
各タスクはワークレットのレパートリーから参照される RDR とひもづいています
アクションが動的に決定されタスクの実行に割り当てられるのはタスクの状態に基づいて行なわれます
a university for the worldrealR
60© 2008, www.yawlgroup.com
Worklet Exception Service
• The Worklet Service also provides support for exception handling.
• Each specification may have a separate RDR rule set defined for each type of possible process exception.
• When an exception occurs:
– If a process has a rule set defined for that exception type, the worklet service will handle the exception by invoking an appropriately selected exception handling process
– If there is no associated rule set, the exception is simply ignored.
ワークレット例外サービス
ワークレットサービスは例外ハンドリングもサポートします
各仕様は実行可能なプロセスのための RDR ルールセットを保持しています
例外がおきると:
例外タイプのルールセットを保持している場合、ワークレットサービスは指定された例外タイプを呼び出し例外を適切にハンドリングします
例外タイプのルールセットを保持していない場合、例外は無視されます
a university for the worldrealR
61© 2008, www.yawlgroup.com
Worklets & Exceptions• The Worklet Service uses the same rules framework for selecting exception
handlers as it does for worklet substitutions
• For exceptions, a discrete exception handling sequence is selected instead of a single worklet
– The exception sequence may contain a worklet to run as a compensatory process
• Exception Handling sequences can be defined 'on-the-fly' for unexpected exceptions, which will then be dynamically incorporated into an instance of that workflow process whenever needed.
– Worklets to handle exceptions are constructed in exactly the same way as those for standard processes.
• Importantly, the method used to handle an exception is captured by the system, and so a history is recorded for future instantiations.
– In this way, the process model-set undergoes a dynamic natural evolution.
ワークレットと例外
ワークレットサービスは例外ハンドリングの際にも同じルールフレームワークを利用します
例外ハンドリングの処理はワークレットの代わりに順番が制御されることがあります
例外ハンドリングの処理順序に補正を目的としたワークレット自体が含まれることもあります
例外ハンドリングの処理順序は予期せぬ例外のための順序も実行時として定義できます。必要なときにはプロセスインスタンス内で動的に呼び出されます
ワークレットでは標準プロセスと同様の方法で例外ハンドリングを構築できます
重要なのは、例外はシステムで補足され、履歴が保持されること
プロセスのモデルセットは動的に裏側で行なわれます
a university for the worldrealR
62© 2008, www.yawlgroup.com
Exception Factors
Targets
Task
Case
All Cases
Ancestors
Events
Constraints (pre & post)
Constraint violation
Timeout
Unavailable resource
Task abort
External Triggers
Actions
Suspend
Continue
Restart
Complete
Fail
Remove
Compensate
The Worklet Service can take these actions against these targets for these events
例外ファクター
ワークレットサービスは以下のイベントを取得できます
a university for the worldrealR
63© 2008, www.yawlgroup.com
Exception Handlers• Exception handling sequences are defined using the 'exception handling primitives‘
• A specification can have a repertoire of handlers for each exception type - the appropriate handler will be chosen contextually at runtime
– For item-level exceptions, each itemin the specification has its own repertoire of handlers
• A sequence can contain any number of compensation primitives, each associated with a worklet.
– Worklets can run in parallel with the parent task, or while the parent is suspended
例外ハンドラ
例外ハンドリングの順序は‘ exception handling primitives‘ で定義されます
フロー定義では例外ハンドラのレパートリーを保持し、実行時の状態で適切なハンドラが選択されるようになります
個々のワークフローアイテム毎に例外ハンドラを定義できます
ワークレットに関連する補正むけの順序も含んでいます
ワークレットは親タスクが一時停止された場合にでも並行実行可能です
a university for the worldrealR
66© 2008, www.yawlgroup.com
Current and Future ActivitiesTransition of YAWL 2.0 Beta version to YAWL 2.0 version
– Case studies (e.g. Film & TV industry) – YAWL4Film– Simulator– Inter-process communication– Configurable reference models– Visualization framework for work list presentation– Declarative workflows
– BPMN2YAWL plug-in– YAWL to OpenWFEru – by John Mettraux
今とこれから
YAWL Beta から YAWL2.0 version にむけて
事例
シミュレータ
プロセス間相互通信
設定可能な参照モデル
ワークリストのビジュアル化
宣言的ワークフロー
BPMN2YAWL プラグイン
OpenWFE-ru の YAWL インテグレーション
a university for the worldrealR
67© 2008, www.yawlgroup.com
Thanks!
• Questions?