Skip to main content
QUICK REVIEW

[論文レビュー] Cloud Process Execution Engine - Evaluation of the Core Concepts

Juergen Mangler, Gerhard Stuermer|arXiv (Cornell University)|Mar 17, 2010
Business Process Modeling and Analysis参考文献 1被引用数 7
ひとこと要約

本論文では、分散ワークフローをオーケストレーションするための軽量でドメイン特化言語(DSL)に基づくクラウドプロセス実行エンジン(WEE)を提案する。DSLは原子的アクティビティ、wait/nowaitの意味論を伴う並列実行、条件分岐、ループ、スレッドセーフティのためのクリティカルセクションをサポートし、ハンドララッパーとエンドポイントを介した外部サービス統合により、信頼性があり組み合わせ可能なクラウドプロセス管理を実現する。

ABSTRACT

In this technical report we describe describe the Domain Specific Language (DSL) of the Workflow Execution Execution (WEE). Instead of interpreting an XML based workflow description language like BPEL, the WEE uses a minimized but expressive set of statements that runs directly on to of a virtual machine that supports the Ruby language.Frameworks/Virtual Machines supporting supporting this language include Java, .NET and there exists also a standalone Virtual Machine. Using a DSL gives us the advantage of maintaining a very compact code base of under 400 lines of code, as the host programming language implements all the concepts like parallelism, threads, checking for syntactic correctness. The implementation just hooks into existing statements to keep track of the workflow and deliver information about current existing context variables and state to the environment that embeds WEE.

研究の動機と目的

  • 複雑なクラウドワークフローを明確な責任の分離を伴いながら記述可能な最小限で表現力のあるDSLを設計すること。
  • 並列処理、条件分岐、スレッドセーフなクリティカルセクションのサポートにより、分散プロセスの信頼性ある実行を実現すること。
  • ハンドララッパーとエンドポイントを介して外部サービス呼び出しを抽象化することで、ワークフロー論理とサービス実装を分離すること。
  • セマフォ保護付きクリティカルセクションを用いて、マルチスレッド実行環境における正しさと一貫性を保証すること。
  • 旅行手配のオーケストレーションという実世界の事例を用いて、ワークフロー実行エンジン(WEE)のコアコンセプトを実践的に評価すること。

提案手法

  • DSLは原子的アクティビティを定義する:ローカル計算用の manipulate-activities と、外部サービスに処理を委譲するための call-activities。
  • 並列実行は2つのバリエーションでサポートされる:wait(すべての分岐が完了するまでブロック)と nowait(いずれかの分岐が完了するとすぐに続行し、他の分岐を中止)。
  • 条件分岐制御は、保護された代替肢とオプションの otherwise パthを持つ choose 構文で実装される。
  • ループは cycle キーワードにより実装され、ワークフロー内でのトップ制御イテレーションを可能にする。
  • クリティカルセクションは、シンボリック名を伴う critical キーワードで強制され、スレッド間でセマフォを介して排他アクセスを保証する。
  • 外部サービス統合は、エンドポイント(URI)とパラメータを受け取るハンドララッパーを通じて抽象化され、ワークフロー論理とサービス実装の詳細から分離される。

実験結果

リサーチクエスチョン

  • RQ1最小限のDSLは、並列処理、分岐、ループといった複雑なクラウドワークフローのパターンを効果的に表現できるか?
  • RQ2並列ワークフロー実行におけるスレッドセーフティと一貫性を保証するメカニズムは何か?
  • RQ3ワークフローロジックとサービス呼び出しの責任の分離は、保守性と拡張性をどのように向上させるか?
  • RQ4nowait並列実行バリエーションは、分散ワークフローにおけるパフォーマンスと信頼性にどのような影響を与えるか?
  • RQ5シンボリック名付きクリティカルセクションは、分散ワークフローコンponent間での調整をどのように可能にするか?

主な発見

  • DSLは、並列実行、条件分岐、ループ、スレッドセーフなクリティカルセクションを含む、最小限の語彙で複雑なワークフローを効果的に表現できた。
  • wait および nowait の並列実行バリエーションは、柔軟な並列制御を提供し、nowait によりいずれかの分岐が成功した時点で早期完了が可能になった。
  • シンボリック名を伴うクリティカルセクションは、異なるワークフローセグメント間で共有リソースへの協調的かつ排他的なアクセスを可能にし、スレッドセーフティを確保した。
  • ハンドララッパーとエンドポイントを介した責任の分離により、ワークフロー論理がサービス実装の詳細に束縛されず、外部サービスとのシームレスな統合が実現した。
  • コンテキスト変数の使用により、ワークフロー実行全体にわたる状態管理が可能になり、エンジンが変数状態を監視した。
  • 例示されたワークフローは、コストのしきい値に基づく条件分岐を含む、旅行手配プロセスのエンドツーエンドオーケストレーションを示し、DSLの表現力と正しさを検証した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。