YAWL - Tokyo 2008 - Petia Wohed

Uploaded on

YAWL - Yet Another Workflow Language - Petia Wohed (translated by Shigeaki Wakizaka)

YAWL - Yet Another Workflow Language - Petia Wohed (translated by Shigeaki Wakizaka)

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. YAWL: Yet Another Workflow Language presented by Petia Wohed SU/KTH ~もうひとつのワークフロー言語~
  • 2. 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
  • 3. Agenda
    • Introduction
    • Workflow patterns
    • YAWL concepts
    • YAWL system
    • Dynamic workflow & Exception handling
    • Current and future activities
    はじめに ワークフローパターン YAWL コンセプト YAWL の仕組み 動的ワークフロー&例外ハンドリング 今とこれから テーマ
  • 4. 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
    ワークフローって何?それでそうなるの? 業務の中の人とアプリケーションの協調をサポート フローと人 / システムの割り当ての制御を明示的に表現 利点 効率化 ( 時間、コスト ) コンプライアンス 効率的な対応
  • 5. Workflow Animation Animation by Wil van der Aalst, Vincent Almering and Herman Wijbenga ワークフローアニメーション
  • 6. 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 の制限 プロセス間通信のサポートが不十分
  • 7. 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 サービスコンポジションなど )
  • 8. The Workflow Patterns Framework
    • These perspectives follow S. Jablonski and C. Bussler’s classification from:
    • Workflow Management: Modeling Concepts, Architecture, and Implementation. International Thomson Computer Press, 1996
    time www.workflowpatterns.com プロセス内のアクティビティの整理 プロセス内のリソース定義と作業の分担 プロセス内のデータ表現とハンドリング コントロールフローパターン リソースパターン データパターン 新コントロールフローパターン 23 の新パターンと CPN 記述 ワークフローパターンフレームワーク Exception P:s Exception handling in a process CAiSE’2006 N. Russell W. van der Aalst A. ter Hofstede Jun 2006 Control-flow P:s 43
    • - 23 new patterns
    • Formalised in
    • CPN notation
    TR N. Russell A. ter Hofstede W. van der Aalst N. Mulyar Sep 2006 revised Oct 2005 Data P:s - 40 N. Russell A. ter Hofstede D. Edmond W. van der Aalst Data representation and handling in a process ER’2005 Jun 2005 Resource P:s - 43 Resource definition & work distribution in a process N. Russell W. van der Aalst A. ter Hofstede D. Edmond CAiSE’2005 Control-flow P:s 20 W. van der Aalst A. ter Hofstede B. Kiepuszewski A. Barros The ordering of activities in a process 2000 CoopIS’2000 DAPD’2003 2003
  • 9. The Workflow Patterns Framework Eva l ua t I on s time L a n g u a g e D e v e l o p m e n t: YAWL/newYAWL 評価 ワークフローパターンフレームワーク Control-flow P:s 20 2000 2003 XPDL, BPEL4WS, BPML, WSFL, XLANG , WSCI, UML AD 1.4 UML AD 2.0, BPMN COSA FLOWer Eastman Meteor Mobile I-Flow Staffware InConcert Domino Workflow Visual Workflow Forte Conductor MQSeries/Workflow SAR R/3 Workflow Verve Workflow Changengine Jun 2005 Resource P:s - 43 BPEL4WS UML AD 2.0 BPMN Staffware WebSphere MQ FLOWer COSA iPlanet jBPM OpenWFE Enhydra Shark XPDL, BPEL4WS UML AD 2.0, BPMN Staffware MQSeries FLOWer COSA jBPM OpenWFE Enhydra Shark Data P:s - 40 Oct 2005 Exception P:s Jun 2006 Staffware WebSphere MQ FLOWer COSA iPlanet XPDL 2.0, BPEL4WS 1.1, BPMN Control-flow P:s 43 Sep 2006 revised Staffware WebSphere MQ WebSphere I.D. FLOWer COSA, iPlanet SAP, Filenet Oracle BPEL jBPM, OpenWFE Enhydra Shark BPEL4WS, XPDL 2.0, UML AD 2.0 BPMN, EPC (ARIS)
  • 10. Impact of the Workflow Patterns
    • Systems inspired or directly influenced by the patterns
      • FLOWer 3.0 of Pallas Athena Ivolutia Orchestration
      • Bizagi of Vision Software OpenWFE (an open source WFMS)
      • Staffware Process Suite Zebra (an open source WFMS)
      • Pectra Technology Inc.’s tool Alphaflow (an open source WFMS)
      • Lynx Workflow by InsuraPro jBPM (a open source WFMS)
    • Use of the workflow patterns in selecting a WFMS
      • the Dutch Employee Insurance Administration Office
      • the Dutch Justice Department
    • Other
      • Pattern-based evaluations (e.g. ULTRAflow, OmniFlow, @enterprise, BPMN)
      • Citations (800+ according to Google Scholar)
      • Education (used in teaching at 10+ Universities)
    ワークフローパターンの影響 刺激を受けたり、直接考えを取り込んだり影響をうけたシステム ワークフローシステムの選択でパターンを利用 その他
  • 11. Why revisit control flow?
    • Lack of precision
      • Solution: CPN formalisation + Context conditions
    • Merging of various concepts
      • Solution: A number of patterns were split
    • Certain patterns missing
      • Solution: Addition of those patterns
    なぜコントロールフローパターンをもう一回 ? 精密さの欠如 複数のコンセプトが混在 パターン不足 CPN フォーマットとコンテキストコンディションを適用 いくつかのパターンを分散 いくつかのパターンを追加
  • 12. Approach
    • All original patterns were reviewed
    • All continue to serve a valid purpose
      • Some were retained in original form but with more explicit context conditions and detailed semantics
      • Others were subdivided along different dimensions (the most basic interpretation replaced the original pattern, the others were added)
    • New patterns were identified and included
    • Explicit evaluation criteria were added
    • Evaluations were completely revised
    アプローチ すべてのパターンをレビュー すべては明確な目的に役立ちます いくつかはオリジナルのパターンを維持していますが、コンテキストの条件や詳細な意味を追加 他のいくつかのパターンはオリジナルとは違ったわけ方になっているのもあります 新しいパターンが確立され新コントロールフローパターンに含まれています 明確な評価基準が追加されています “ 評価”については完全に以前と異なったものに修正されています
  • 13. The New Control-flow Patterns
    • Multiple Instances (MI) Patterns
    • delineate situations with multiple threads of execution in a workflow which relate to the same activity.
    • State-based Patterns
    • reflect situations which are most easily modelled in WF languages with an explicit notion of state.
    • Cancellation Patterns
    • categorise the various cancellation scenarios that may be relevant for a workflow specification.
    • Trigger Patterns
    • catalogue 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 and Synchronization Patterns
    • describe more complex branching and synchronization scenarios.
    • Iteration Patterns
    • describe various ways in which iteration may be specified.
    • Termination Patterns
    • address the issue of when the execution of a workflow is considered to be finished.
    新コントロールフローパターン 基本パターン 応用分岐パターン 繰り返しパターン 終了パターン コントロールフローの基本パターン . Wfmc 版に類似 より複雑な分岐、同期のパターンを説明 繰り返し制御が現れる複数のパターンを説明 ワークフローが終了する状態の問題について言及 複数インスタンス パターン 同一アクティビティでのマルチスレッドの描写 明確なフローの状態についての記述 状態ベースパターン ワークフロー仕様に関連あるキャンセルパターンを分類化 キャンセルパターン プロセス上で発生しうる様々なトリガー ( プロセスを進める ) の カタログ化 トリガーパターン
  • 14. Example: Cancellation Region © YAWL Foundation
    • Generalisation of Cancel Activity and Cancel Case
    • Region associated with a task
    • This region is emptied of tokens upon completion of that task.
    • Rarely fully supported (only UML 2.0 ADs through InterruptibleActivityRegion construct and YAWL)
    例 : キャンセル 例外アクティビティとキャンセル時を明確化 タスクとの関連 タスク終了時のトークンは空になります まれにサポートされています。 (UML 2.0 Ads の InterruptibleActivityRegion construct と YAWL のみ ) Cancellation: 25
  • 15. 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)
    © YAWL Foundation 複雑パターン :OR-Join “ しなければいけないときのみ待て” ・他の OR-joins をどう扱うべきか? ・フローサイクルとどう扱うか? ・他タスクとの関連はどう扱うべきか? ・未来予測 / 分析は可能?どれだけ複雑? 詳細は WEAH05 の議論を参照 Advanced: 38
  • 16. 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. Click here for a FLASH animation of General OR-Join ノンローカルな OR-Join EPCs だけでなくたくさんの WFMS でも同様です Advanced: 38
  • 17. MI without a Priori Run-Time Knowledge
    • Creation of a number of concurrently executing instances of an activity, this number is not known before invocation of the MI activity. Synchronisation of all instances created is required.
    • More advanced MI patterns address:
      • Creation of new instances on-the-fly
      • Threshold for completion (partial join)
      • Cancellation of remaining threads in case of a partial join
    推測的な ランタイム情報をもたないマルチインスタンス アクティビティ並列実行のインスタンスを複数生成、その数はアクティビティの 実行前には決められない。すべてのインスタンスの同期化は必須である 他の MI パターンでは以下のことについて言及しています: 実行時での新しい ( プロセス ) インスタンス生成 終了 ( 部分 Join) 条件についてのスレッショルド 部分 Join で残っているプロセスのキャンセル MI Patterns: 15
  • 18. Control-Flow Perspective: Evaluation 1 – BPMN 2 – UML AD 3 – BPEL コントロールフロー面での評価基準
  • 19. Data Pattern Categories
    • Data Visibility: The extent and manner in which data elements can be viewed and utilised by workflow components.
    • Internal Data Interaction: Data communication between active elements within a workflow.
    • External Data Interaction: Data communication between active elements within a workflow and the external operating environment.
    • Data Transfer: Data element transfer across the interface of a workflow component.
    • Data Routing: The manner in which data elements can influence the operation of the workflow.
    © YAWL Foundation データパターンカテゴリ データ可視性:ワークフローコンポーネントの中でどうデータ要素が表現され利用されるかについて説明 内部データ相互作用:ワークフロー内でのアクティブな要素間データのやりとりについて説明 外部データ相互作用:ワークフロー内と外部システムでのアクティブな要素間データのやりとりについて説明 データ転送:ワークフローコンポーネントを超えるデータ要素の転送について説明 データルーティング:データ要素がワークフロー上での操作でどのように影響をうけていくか記述する作法 について説明
  • 20. Data Perspective: Evaluation 1 – BPMN 2 – UML AD 3 – BPEL データ面での評価基準
  • 21. 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
    ワークフローリソースパターン ワークフロー参加者による作業の指示、人 / システムの割り当て、管理などの作法に焦点を当てています システムとリソースの両面で考えます プロセス、関連している組織が既に存在していることを仮定しています 異なるワークフローパラダイムを取り入れます リッチプロセスモデル リソースの自律 ルーティングメカニズムの代替 作業管理ファシリティ
  • 22. 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 リソースパターン分類 生成パターン:設計時でのリソース割り当て プッシュパターン:ワークフローシステムが積極的に作業を提供 プルパターン:リソース(人など)が積極的に作業をコミットする 回り道パターン:作業の流れを変える 自動スタートパターン:自動開始のパターン 可視化パターン:作業の監視性 複数リソースパターン:複数リソースにまたがる作業の割り当て
  • 23. Work Item Lifecycle created offered to a single resource offered to multiple resources allocated to a single resource suspended failed started completed R:allocate-s R:start-s R:suspend R:resume R:complete R:fail R:start R:start-m S:create S:offer-s S:offer-m S:allocate R:allocate-m 作業ライフサイクル
  • 24. Resource perspective: Evaluation 1 – BPMN, 2 – UML AD, 3 – Oracle BPEL PM (from [Mulyar 2005]) リソース面での評価基準
  • 25.
    • www.yawlfoundation.org (research)
    • www.sourceforge.net /projects/yawl (system)
    • http:// www.yawlgroup.com (consultancy)
    YAWL in the web YAWL in the web 詳細は web で。。。
  • 26. 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 年スタート 業界コラボレーション テレコム インターコンチネンタルホテルグループ とりまく環境
  • 27. 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形式 リソース面での実装も近い将来に対応。。。
  • 28. YAWL notation Composite task Multiple Instance task YAWL 記述
  • 29. General YAWL Example I YAWL サンプル
  • 30. General YAWL Example II YAWL サンプル2
  • 31. General YAWL Example III © YAWL Foundation YAWL サンプル3
  • 32. 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 でのキャンセル キャンセルについてのコンセプトはキャンセル作業、ケースを一般化すること 構文的にキャンセル領域は複数のタスクで構成され、あるタスクはキャンセルタスクと関連します 意味としてはキャンセル領域のすべてのトークン(状態)は戻される ( 移動 ) ということ
  • 33. General YAWL Example IV YAWL サンプル4
  • 34. YAWL Example with Time T represents a time-out task YAWL 時間のサンプル T はタイムアウトタスクを表しています
  • 35. The YAWL System
    • 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 システム エンジン、グラフィカルエディタ、独自 YAWL サービス 2003 年 11 月にリリースされ、 2004 年 5 月にオープンソース化 2008 年中に ver.2.0 リリース予定 旧パターンの統括的なサポート XML 利用 今は基本的なところのみサポート、 ver.2.0 で完全サポート タスクは web サービスにリンクしています SOA フォーム自動生成 動的ワークフローと例外ハンドリング 設計時の立証 永続化
  • 36.
    • The data inside of YAWL exists as many XML documents
    Native use of XML © YAWL Foundation XML の使い方 YAWL 内のデータはたくさんの XML として存在しています
  • 37.
    • The functionality of the YAWL business processing engine uses XML standards internally to perform the actions that one would expect of a Business Process System:
      • Data Validation: XML Schema
      • Transformations: XQuery
      • Decision making: XPath
    Native use of XML (2) XML の使い方 YAWL エンジンの機能は標準である XML を内部で利用します バリデーションには XMScheme データ転送には XQuery 意思決定 ( 条件分岐 ) には XPath
  • 38. Native use of XML (3): strong data typing XML の使い方:強い型タイピング
  • 39. Native use of XML (4): Transformations in Data Passing XML の使い方:データ転送
  • 40. Native use of XML (5): System Decisions 意思決定(条件分岐)
  • 41. Native use of XML (6): Generation of X f orms v © YAWL Foundation Xform 生成
  • 42. YAWL Workflow Engine Worklet Service Resource Service Web Service Invoker Service A B X E Event Log Event Log Process Repository Case Data YAWL Process Editor A A B Admin Worklist R R A B B O W Org Model Event Log Worklet Repository Exception Selection X Web Service    users Web Service Service Oriented Architecture PROM Interfaces A - Administration B - Processes E - Logging O - Org Data R - Resourcing W - Work Queue X - Exception SOA
  • 43. Control flow specification コントロールフロー仕様
  • 44. Data flow specification データフロー仕様
  • 45. Resource specification (2.0) リソース仕様 (2.0)
  • 46. YAWL resource service YAWL リソースサービス
  • 47. Case management ケース管理
  • 48. Work Item Actions ワークアイテムアクション
  • 49. Data entry for started work items データエントリ
  • 50. User Management ユーザ管理
  • 51. 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つのアプローチを採用しています: 構造 振る舞い ネット初期化
  • 52. 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 の理解は“堅い” ,“ 理想的な”ワークフロープロセスの実装に限られます プロセス柔軟性をあつかうのは難しい シンプルさを保つということはズレ(細かい本質でないこと)を無視すること ズレを正確に把握することはモデルが複雑になるということ 進化していくモデルに対応する難しさ 現実のアクティビティを表現する難しさ 例外ハンドリングでできることの限界
  • 53. 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 における順序はプロセス全体を構成するために管理されます
  • 54. Worklets
    • For each deviation that may occur, a complementary worklet for handling it may be defined, to be dynamically incorporated into a workflow execution whenever needed.
      • Worklets to handle deviations 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.
    ワークレット おきるであろうズレは worklets でハンドリングすることが定義されれば必要時にワークフロー実行時に 動的に実行されます ズレをハンドリングするには標準プロセスの構築とまったく同じ方法で行なえます 重要なのは、例外はシステムで補足され、履歴が保持されること プロセスのモデルセットは動的に裏側で行なわれます
  • 55. 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 とひもづいています アクションが動的に決定されタスクの実行に割り当てられるのはタスクの状態に基づいて行なわれます
  • 56. RDR Structure
    • An RDR Knowledge Base is a collection of simple rules conceptually arranged in a binary tree structure.
    • Each rule node may have a false (‘or’) branch and/or a true (‘exception’) branch to another rule node
      • the root node has a default rule and can have a true branch only.
    • If a rule is satisfied, the true branch is taken and the rule of the child node is evaluated
    • If it is not satisfied, the false branch is taken and its child node rule is evaluated.
    RDR 構造 RDR 知識ベースはシンプルなルールの集合で、二分木 構造 で概念レベルでアレンジされたものです 各ルールノードは他ルールノードへの false / true での分岐を保持します ルートノードはデフォルトルールを保持し true 分岐のみ保持します ルールが成立する場合、 true 分岐に遷移し、次ルールノード(子ノード ) のルールが評価されます ルールが成立しない場合、 false 分岐に遷移し、次ルールノード(子ノード ) のルールが評価されます
  • 57. RDR Structure
    • When a terminal node is reached:
      • if its rule is satisfied, then its conclusion is returned
      • if its rule is not satisfied, then the conclusion of the last rule satisfied on the path to that node is returned
    • If the conclusion returned is found to be unsuitable for a particular case instance, a new rule may be formulated and added as a new leaf node.
      • In essence, each added rule is a refinement of its parent.
    RDR 構造 ルールノードが終了ノードに到達したときに: ルールが成立した場合には結果を戻します ルールが成立しない場合には最後に成立したルールの結果を戻します 戻された結果は不適切と判断された場合には新しいルールが計算され新しくルールノードが追加されます 本質的には各追加されたルールは親ノードの洗練されたルールになります
  • 58. Simple RDR Example Root (p1) (p2) (p3) (p4) (p5) (numbers refer to photo credits page) (p6) シンプルな RDR サンプル
  • 59. Worklet Service Architecture YAWL engine A B Worklet service RDRs Logs YAWL worklist  Rules editor Worklet Specs X YAWL editor © YAWL Foundation ワークレットサービスアーキテクチャ
  • 60. 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 ルールセットを保持しています 例外がおきると: 例外タイプのルールセットを保持している場合、ワークレットサービスは指定された例外タイプを 呼び出し例外を適切にハンドリングします 例外タイプのルールセットを保持していない場合、例外は無視されます
  • 61. 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.
    ワークレットと例外 ワークレットサービス は例外ハンドリングの際にも同じルールフレームワークを利用します 例外ハンドリングの処理はワークレットの代わりに順番が制御されることがあります 例外ハンドリングの処理順序に補正を目的としたワークレット自体が含まれることもあります 例外ハンドリングの処理順序は予期せぬ例外のための順序も実行時として定義できます。 必要なときにはプロセスインスタンス内で動的に呼び出されます ワークレットでは標準プロセスと同様の方法で例外ハンドリングを構築できます 重要なのは、例外はシステムで補足され、履歴が保持されること プロセスのモデルセットは動的に裏側で行なわれます
  • 62. Exception Factors The Worklet Service can take these actions against these targets for these events 例外ファクター ワークレットサービスは以下のイベントを取得できます Ancestors All Cases Case Task Targets External Triggers Task abort Unavailable resource Timeout Constraint violation Constraints (pre & post) Events Compensate Remove Fail Complete Restart Continue Suspend Actions
  • 63. 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 item in 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‘ で定義されます フロー定義では例外ハンドラのレパートリーを保持し、実行時の状態で適切なハンドラが選択されるようになります 個々のワークフローアイテム毎に例外ハンドラを定義できます ワークレットに関連する補正むけの順序も含んでいます ワークレットは親タスクが一時停止された 場合にでも並行実行可能です
  • 64. Worklet Advantages
    • Keeps the parent model clean and simple .
    • Promotes the reuse of sub-processes in different models.
    • Allows standard processes to be used as exception handling processes , and vice versa.
    • An extensible repertoire of actions can be compiled that can be invoked as required during design and/or runtime.
    • A system may build a history of executions, providing for a learning system that can take the appropriate actions for certain contexts automatically.
    ワークレットの優位性 モデルをきれいにシンプルにできます 異なるモデルでサブプロセスが再利用できます 例外ハンドリングを標準プロセス内で利用できます 拡張可能なレパートリーは設計時、実行時に呼び出されるようにコンパイルされます 状況に応じた適切なプロセス実行を行なうために実行履歴を保持する学習システムを用意しています
  • 65. Worklet Advantages
    • A fully encapsulated sub-process allows for easier verification and modification.
    • Allows a model to evolve without the need to stop and modify the design of the whole model when an exception occurs.
    • By de-coupling the monolithic process model, models can be built that vary from loosely to tightly defined and so supports late binding of processes.
    • Allows a model to be considered from many levels of granularity .
    ワークレットの優位性 容易な立証のためのサブプロセスのカプセル化 例外発生時でもプロセスモデルの実行をとめたり修正したりすることなくモデルを進化させることができる モノリシックなプロセスモデルを疎結合にすることで、モデルは固いものからゆるいものまで定義でき 最新のプロセスモデルの動的バインディングもサポートします あらゆる粒度でモデルを構築できます
  • 66. Current and Future Activities
      • Transition 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 インテグレーション
  • 67. Thanks!
    • Questions?
  • 68. Some References
    • [AH02] W.M.P. van der Aalst and A.H.M. ter Hofstede. Workflow Patterns: On the Expressive Power of (Petri-net-based) Workflow Languages (Invited Talk). In K. Jensen, editor, Proceedings of the Fourth Workshop on the Practical Use of Coloured Petri Nets and CPN Tools (CPN 2002), volume 560 of DAIMI, pages 1-20, Aarhus, Denmark, August 2002.
    • [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
    • [AADH04] W.M.P. van der Aalst, L. Aldred, M. Dumas, and A.H.M. ter Hofstede. Design and Implementation of the YAWL System. In Proceedings of the 16th International Conference on Advanced Information Systems (CAiSE'2004). Riga, Latvia, June 2004. Springer Verlag
    • [AHEA06] Michael Adams, Arthur H.M. ter Hofstede, David Edmond, W.M.P. van der Aalst. Worklets: A Service-Oriented Implementation of Dynamic Flexibility in Workflows. In Proceedings of CoopIS’2006 (to appear), Montpellier, France, 2006.
    • [VAH06] H.M.W. Verbeek, W.M.P. van der Aalst, and A.H.M. ter Hofstede. Verifying Workflows with Cancellation Regions and OR-joins: An Approach Based on Invariants . BPM Center Report BPM-06-01, BPMcenter.org, 2006.
    • [WEAH05] M. Wynn, D. Edmond, W.M.P. van der Aalst, A.H.M. ter Hofstede. Achieving a General, Formal and Decidable Approach to the OR-join in Workflow using Reset nets. Proceedings of ATPN’2005. Miami, Florida, 2005.
    • [WAHE06] M.T. Wynn, W.M.P. van der Aalst, A.H.M. ter Hofstede and D. Edmond, Verifying Workflows with Cancellation Regions and OR-joins: An Approach Based on Reset Nets and Reachability Analysis, Proceedings of BPM 2006, Vienna, Austria, (short paper), volume 4102 of Lecture Notes in Computer Science, pages 389-394, 2006, Springer-Verlag.
    • [RAH] N. Russell, A.H.M. ter Hofstede and W.M.P. van der Aalst, newYAWL: Specifying a Workflow Reference Language using Coloured Petri Nets, in Proc of 8th Workshop and Tutorial on Practucal Use of Coloured Petri Nets and the CPN Tools, Denmark 2007