• 検索結果がありません。

ソフトウェア開発プロセスのサービスモデルとその実行環境の提案と評価

N/A
N/A
Protected

Academic year: 2021

シェア "ソフトウェア開発プロセスのサービスモデルとその実行環境の提案と評価"

Copied!
8
0
0

読み込み中.... (全文を見る)

全文

(1)Vol.2010-SE-167 No.13 2010/3/18. 情報処理学会研究報告 IPSJ SIG Technical Report. 1. はじめに. ソフトウェア開発プロセスのサービス モデルとその実行環境の提案と評価 浅岡 奈津貴†. 中道 上††. 近年,ソフトウェアは大規模複雑化し,これにともないオフショア開発やアウトソ ーシングの利用によってソフトウェア開発の各作業はグローバルな分散化が進んでい る[7].グローバル化したソフトウェア開発では,複数の異なる組織がネットワークを 介して協調して開発を進めている.しかし,このような開発では組織ごとに開発モデ ルや環境が異なり,組織間の連携が困難となっている.このため,ソフトウェア開発 プロジェクトを統一的な方法で記述し,その実行と管理を行うことが困難である. 本研究では,サービス指向コンピューティング基盤[3, 4, 5, 6, 11, 12]上で統一的にソ フトウェア開発を実行するための実行可能な記述のモデルと変換方法を提案する.ソ フトウェア開発にサービス指向を適用することによって開発をサービスの組み合わせ とみなし,統一的な枠組みにそった開発プロセスを記述可能にする.また,サービス 指向に基づいたソフトウェア開発プロセスの記述を実行可能な記述に変換することに より,サービス指向コンピューティング基盤上でネットワークを介した開発の実行を 可能にする.この 2 点より,統一的なプロセス記述と開発プロセスの実行を実現する.. 青山 幹雄††. 現在,ソフトウェア開発はソフトウェアの大規模化に伴い,アウトソーシング やオフショア開発の利用によって組織を超えた開発のグローバルな分散化が進 んでいる.グローバル化したソフトウェア開発では,それぞれの企業が持つ開発 モデルに基づいた複雑なプロセス連携がネットワークを介して実行されている. このような開発では,統一的なソフトウェア開発プロセスの記述や開発の実行と 管理が困難である.本研究ではソフトウェア開発にサービス指向を適用し,開発 プロセスをサービスの連携と捉える.開発プロセスをサービス指向ソフトウェア 開発モデル(SoSD モデル)として記述し,SoSD モデルからサービス指向コンピュ ーティング基盤上で実行可能な記述に変換する方法を提案する.さらに,ソフト ウェア開発のプロセスから汎用的管理を行う作業を管理サービスとして分離す る.汎用的管理を統一的に行うために,管理サービスを開発サービスに対応づけ る管理モデルを提案する.また,例題を用いて SoSD モデルを記述し実行可能な SoSD モデルへと変換して,提案する変換方法の妥当性を示す.. 2. 問題点 大規模複雑化するソフトウェア開発の特徴と問題点を以下にあげる. (1) ネットワークを介したグローバルな分散開発 開発に必要なリソースと開発時間が増大し,その結果開発コストも増加している. そこで,ソフトウェア開発のさまざまな作業を外部に委託するオフショア開発や BPO (Business Process Outsourcing)などが行われている.このようにソフトウェア開発の各 作業がグローバルにネットワークを介して分散するグローバル化したソフトウェア開 発では複数の異なる組織がネットワークを介した成果物の交換や進捗の確認といった コミュニケーションをとりあうことで,開発を協調して進めている.しかし,これま でのソフトウェア開発プロセスではネットワーク上で連携を行うことは想定されてお らず,ネットワークを介した開発の連携に対応したプロセスモデルが求められている. (2) 統一的なソフトウェア開発プロセスの実行と管理 ソフトウェアの大規模化によって組織の構造が複雑化し,開発に複数の組織が関わ り,組織が階層的な構造を持っている.また,組織ごとに異なる開発モデルと管理モ デルを持っているため,組織間での連携の調整にかかるコストが増大している. これにより,組織間でのプロセスモデルの差異の吸収と階層化した組織のプロセス. A Service-Oriented Model of Software Process and Its Execution Environment Natsuki Asaoka† Noboru Nakamichi†† and Mikio Aoyama†† With increasing the size of software, Software Development becomes globally distributed. In Globalization of Software Development, it is hard to collaborate with software development processes based on different development model in each enterprise. And its process collaborates over the web. Thus, it is difficult to describe, execute and manage collaborated business process in a unified manner. In this article, we model software development as composed services which provide software development. Then, we propose Service-Oriented Model of Software Development (SoSD), which is a method of describing software development process as service composition and translating it to executable specification. And we suggest a management model which manages services in a unified manner in SoSD. We proof of the concept of the proposed modeling method by describing example problems.. †. 南山大学大学院 数理情報研究科 Graduate School of Mathematical Sciences and Information Engineering, Nanzan University †† 南山大学 情報理工学部 ソフトウェア工学科 Department of Software Engineering, Nanzan University. 1. ⓒ2010 Information Processing Society of Japan.

(2) Vol.2010-SE-167 No.13 2010/3/18. 情報処理学会研究報告 IPSJ SIG Technical Report. BPEL4People に沿ってビジネスプロセスを記述し,WS-Human Task では人手の作業 をヒューマンタスクとしてサービス化して記述する.この 2 つの仕様を用いることに より,人手の作業と Web サービスの両方を含んだサービス指向コンピューティング基 盤上で実行可能ビジネスプロセスの記述が可能となる.. の統一的な記述を実現するためのプロセスのモデル化が必要である.また,ソフトウ ェア開発管理プロセスをネットワーク上で実行可能な記述に変換し,変換した実行可 能プロセス記述をもちいた開発の統一的な実行と管理が求められている.. 3. 関連技術 3.1 プロセスプログラミング ソフトウェア開発プロセスの形式的な記述としてプロセスプログラミング[15]が提 案された.プログラミング技術をソフトウェア開発プロセスの記述に応用し,記述し たプログラムを実行することでソフトウェア開発の実行を実現する. しかし,対象とするプロセスではネットワークを介した連携などの概念は扱われて いない. 3.2 ソフトウェア開発のビジネスプロセスメタモデル SOA(Service-Oriented Architecture)の 3 階層に基づいたソフトウェア開発のモデル化 が提案されている[14].この提案ではサービス指向に基づきソフトウェア開発をコン ピューティング空間,サービス空間,ビジネス空間の 3 階層に対応付け,ソフトウェ ア開発をモデル化している.このモデルでは,ソフトウェア開発ビジネスは下位層の ソフトウェア開発サービスの集合から構成され,ソフトウェア開発サービスはさらに 下位のコンピューティング空間のサービス実行により実現される. しかし,この研究ではソフトウェア開発プロセスを実行するための実行可能モデル についての具体的な記述や変換方法について定義されていない. 3.3 実行可能なビジネスプロセス記述言語 サービス指向コンピューティング基盤上で実行可能なサービス連携の記述形式に BPEL (Business Process Execution Language) がある.また,BPEL に人手の作業を組み 込む拡張仕様として,BPEL4People (WS-BPEL Extension for People)[1]と WS-Human Task (Web Services Human Task)[2] が策定されている(図 1). BPEL4People ビジネス プロセス定義. < ?xml …> <bpel:process …> <b4p:humanInteraction …> </b4p:humanInteraction> <bpel:partnerLinks> </bpel:partnerLinks> 処理の <bpel:variables> … 流れ </bpel:process>. 人手の作業を 呼び出す. 4. アプローチ 本研究では,以下の 3 つのアプローチによって問題の解決を試みる.アプローチの 全体像を図 2 に示す. 開発作業の連携 1. サービス指向の適用 作業= 成果物を提供するサービス 開発サービスの連携 汎用的管理を統一的な方法で実行 2. 汎用的管理の モデル化. 3. 実行可能プロセスへの 変換と実行. 本研究のアプローチ. 4.1 サービス指向ソフトウェア開発(SoSD) ソフトウェア開発では,要求分析などの人手の作業とコンパイラなどの開発ツール によるコンピュータ処理が連携している.それらの作業が様々な組織で実行され,成 果物の受け渡しにより連携している. ここで,ソフトウェア開発にサービス指向を適用し,人手の作業とコンピュータに よる処理をサービスと捉え,サービスの組み合わせと実行で実現する開発をサービス 指向ソフトウェア開発 (Service-oriented Software Development: SoSD) と呼ぶ.サービ スはプラットフォームとは独立に定義され,統一的なインタフェースを提供する. 4.2 汎用的管理を行う管理サービスの導入 ソフトウェア開発は,開発と管理から成り立っており,管理には進捗管理,リソー ス管理,コスト管理のように開発のプロセスを通して一貫して行われる,汎用的管理. WS-Human Task <?xml …>. 作業をサービス化 I/Fを提供. サービス指向基盤上でサービスを実行. 図 2. ヒューマンタスクの <htd:humanInteractions> <htd:logicalPeopleGroups> 定義 開発 作業. サービス連携による 開発のモデル化. </htd:logicalPeopleGroups> <htd:tasks> </htd:tasks> … / htd:humanInteractions>. 図 1 BPEL4People と WS-Human Task 2. ⓒ2010 Information Processing Society of Japan.

(3) Vol.2010-SE-167 No.13 2010/3/18. 情報処理学会研究報告 IPSJ SIG Technical Report. 作業者の割り当てを記述した WS-Human Task 文書とプロセスからサービスの呼び出 しパターンを記述したサービス呼び出し情報を加える. (3) 実行可能 SoSD モデルの実行 実行可能 SoSD モデルをサービス指向コンピューティング基盤上の実行エンジンで 実行し,様々な開発サービスを呼び出すことでソフトウェア開発を行う.開発サービ スに関連付けて実行される管理サービスを用いて進捗などの管理情報を収集し,開発 管理もサービスとして連携できる.. が存在する. 本研究では,開発と汎用的管理を分離しそれぞれ開発サービス,管理サービスと呼 ぶ.そして開発プロセスのみを SoSD モデルに記述し,実行可能なプロセス記述への 変換時に管理サービスを埋め込む方法をとる. 管理サービスが開発サービスを管理する仕組みを管理モデルとして定義し,この管 理モデルに基づいて管理サービスを付加した実行可能なプロセス記述に変換する. 4.3 実行可能なビジネスプロセス記述への変換 SoSD に基づいて作成されたソフトウェア開発プロセスをサービス指向コンピュー ティング基盤上で実行可能な記述に変換する.変換したプロセスをサービス指向コン ピューティング基盤上で実行することで,ネットワーク上でのソフトウェア開発の実 行を実現する. 本研究ではソフトウェア開発プロセスの定義とその実行可能な記述への変換とい う 2 段階に分け,段階的に変換する方法をとる.ここで,サービス指向に基づくソフ トウェア開発プロセスを SoSD モデル,実行可能なソフトウェア開発プロセスを実行 可能 SoSD モデルと呼ぶ.. ソフトウェア開発 プロセスを定義 記述. 5. サービス指向ソフトウェア開発(SoSD). SoSDモデルの設計 SoSDモデル (BPMN) 実行可能 SoSDモデルへの変換. プロセスモデルから 実行可能な記述を 生成. 実行可能 SoSDモデル (BPEL4People と WS-Human Task). 実行. SoSDの実行. 実行結果の フィードバック. 図 3 実行可能なビジネスプロセス記述への変換の流れ. 5.1 変換の流れ SoSD モデルから実行可能 SoSD モデルへの変換のプロセスを図 3 に示す. (1) SoSD モデルの設計 まず,プロセスの中からサービスを抽出し,サービス連携としてプロセスを設計す る.このプロセス設計にはビジネスプロセスとしてのソフトウェア開発に関与する経 営層や開発管理者など様々なステークホルダが参画する.そして,設計したプロセス を BPMN[13]で記述する. SoSD モデルは BPMN を用いて表現することにより,実行形式とは独立に定義できる ので,複数の組織で標準に基づいて統一的にプロセスを記述可能になる.さらに, BPMN で記述することにより視覚的にプロセス定義が表現できるので,理解が容易と なる. (2) SoSD モデルを実行可能 SoSD モデルに変換 SoSD モデルをサービス指向コンピューティング基盤上で実行可能な形式に変換する. 実行可能なサービス連携の記述形式として BPEL[9]を用いる.ここでは,コンピュ ータによるサービスと協調して人手による作業もサービスとして実行できる必要があ ることか ら,BPEL に 人手 の作業を 組み 込んだ拡 張仕 様として 標準 化されて いる BPEL4People と WS-Human Task を採用する. SoSD モデルから実行可能な SoSD に変換するために,人手の作業のサービス定義と. このモデルにより,ソフトウェア開発プロセスを SoSD モデルという形で明確に定 義し,実行可能なプロセスとして実行可能 SoSD モデルに変換してプロセスを実行す る.このモデルに基づき明確に定義したプロセスを実行することで,プロセスのモデ リングやその管理サービスを用いて取得した管理情報の分析が可能となる.さらに, この分析結果を SoSD モデルにフィードバックすることにより,プロセスの改善を行 うことができる.これは,ソフトウェア開発プロセスに継続的な改善を埋め込む PDCA サイクルを回すことが可能とし,持続的な SoSD モデル改善の仕組みを提供する. また,2 段階に分けて変換を行うことで,SoSD モデルで定義したソフトウェア開発 プロセスの再利用が可能になる.また,BPMN を用いることによってプログラミング 言語の形式で記述される実行可能 SoSD モデルの表記法を意識せずにプロセスの定義 が可能であり,技術者以外でも SoSD モデルのプロセス定義に参画できる. 5.2 サービス定義 5.2.1 Web サービスとソフトウェア開発サービスの比較 ソフトウェア開発では,要求分析などの人手の作業と開発ツールなどのコンピュー タ処理が連携している.本研究ではこれらの人手の作業とコンピュータ処理をサービ スと捉え,Web サービスの連携によってビジネスプロセスが構築されるのと同様に, ソフトウェア開発サービスの連携によってソフトウェア開発プロセスが構築されると 考える.. 3. ⓒ2010 Information Processing Society of Japan.

(4) Vol.2010-SE-167 No.13 2010/3/18. 情報処理学会研究報告 IPSJ SIG Technical Report. そこで,Erl によって提案されている SOA/Web サービスの条件[4]として挙げられて いるうちの 7 項目について,ソフトウェア開発サービスに対応付ける(表 1). この結果から,ソフトウェア開発サービスが満たすべき条件を明確にし,ソフトウ ェア開発プロセスを構成するソフトウェア開発サービスの定義を行う.. 一致している必要がある.これらの成果物は開発者や組織間で,成果物として扱う合 意が取れている必要がある. (2) 検証可能性(Verifiable) サービスの入出力である成果物がサービスの仕様に従っているという正当性を検 証可能な必要がある. これらの特性を満たした成果物を入出力とする作業や処理がサービスとなり得る. 本研究では具体的なサービス定義の指標や定義方法は定義しない. このサービス定義の成果物に関する情報は,開発サービスの連携によってプロセス を表現する BPMN,WS-Human Task によって行われる人手の作業によるサービス定義, Web サービスによるコンピュータ処理の定義の間で関連付けがとれている必要がある. 5.3 管理モデル 5.3.1 開発サービスの管理 管理サービスがソフトウェア開発サービスの管理を行うためには,開発サービスが 提供するインタフェース情報のみでは不十分である.そこで,開発サービスに管理の ためのメタインタフェースを付与する.ここで,メタインタフェースとはあるサービ スのもつインタフェースを開示するためのインタフェースである.メタインタフェー スを付加することで,個々の開発サービスがもつ内部情報提供インタフェースを取得 できる.これにより管理サービスは,特定の開発サービスに依存しない統一的な方法 による管理情報の取得が可能になる. 管理サービスは開発サービスのメタインタフェースを用いて開発サービス内の管 理情報を取得する. 管理サービスは汎用的管理を行うことを想定しており,メタインタフェースを用い て取得する情報は開発サービスのプロセスによらない,進捗,コスト,リソースなど のインタフェースとする.メタインタフェースから進捗取得インタフェース,コスト 取得インタフェース,リソースインタフェースを取得し,それらのインタフェースか ら得られる情報を利用して管理を行う.管理サービスは開発サービスと並行に実行す る.並行実行により,開発のプロセスに沿った管理が可能になる. 5.3.2 管理サービスの連携 開発サービスと管理サービスを並行実行すると,管理サービスは開発のプロセスと 連動する同一のプロセスを持つ必要がある.この管理サービスを利用し,管理プロセ スを作成する. あるプロセスの管理サービスの入力は,前のプロセスの予定と実績になり,そのプ ロセスの管理サービスの出力は,管理の結果である予定と実績を出力する.また,管 理サービスは実行途中に,開発サービスのメタインタフェースを用いて管理情報を取 得する.汎用的管理では,進捗,コスト,リソースの 3 つについて管理を行う.この ことから,管理の対象が 3 つ存在する.. 表 1 Web サービスの条件をソフトウェア開発サービスに適用 SOA/Web サービス. 条件 再利用性. ソフトウェア開発サービス. ある機能を実行する operation の集ま. ソフトウェア開発において意味のある. り.再利用可能となる意味のある機能. 機能を提供. を提供 インタフェー サービスのエンドポイント,オペレー. エンドポイント(サービスを提供する. スが契約によ ション,入出力メッセージによりイン. 組織),オペレーション,サービスの入. り定義. タフェースを定義. 出力によりインタフェースを定義. 疎結合. サービス間に依存関係がなく,独立し. ソフトウェア開発サービス間に依存関. て実行可能. 係がなく,独立して実行可能. 実装やロジッ インタフェースのみで相互運用可能. クの隠蔽. Web サービスによって実装の隠蔽. 組み合わせ可 より価値の高いサービスとなるよう他 能. のサービスと組み合わせ可能. サービス内の作業の詳細やミドルウェ アが隠蔽されるように設計 ソフトウェア開発サービスを組み合わ せることでソフトウェア開発プロセス が実現可能. 自. 律. サービスはそれ自体で実行が完結し,. 特定の組織内で実行が完結し,他のサ. 他から実行の支援がなくても実行可能. ービスの支援がなくても実行可能. 5.2.2 サービスに求められる特性. 開発サービスはサービス指向の観点から,ソフトウェア開発において意味(価値) を持ち,独立性を保った単位で提供される必要がある.そこで,ソフトウェア開発に おいて独立して実行可能であり,まとまった作業単位となって開発工程を隠蔽できる ものを開発サービスとする.これらの工程は,ドキュメントやデータなどを入力とし て受け取り,出力としてなんらかのドキュメントやデータなどの成果物を生成する. このことから,SoSD ではサービスのインタフェースはプロセスの成果物とする. そこで,サービスのインタフェースとなる成果物には以下の 2 つの特性が求められる. (1) 可観測性(Observable) SoSD ではサービスを組み合わせることによってソフトウェア開発プロセスを作成 するので,サービスのインタフェース情報に含まれる成果物は,契約などの条件下で 外部に公開可能であり,サービスの外部から観測可能な必要がある. また,他のサービスと組み合わせるために,サービス間で受け渡す成果物の概要が. 4. ⓒ2010 Information Processing Society of Japan.

(5) Vol.2010-SE-167 No.13 2010/3/18. 情報処理学会研究報告 IPSJ SIG Technical Report. (3) BPEL に管理サービスを付加 管理サービスを付加した BPEL のうち,開発サービスに並行で実行される管理サー ビスを付加する.並行処理は BPEL の flow 要素を用いて記述し,管理サービスは開発 サービスと同様 empty 要素で記述する. (4) 管理サービスを付加した BPEL を BPEL4People に変換 人手で実行するサービスを WS-Human Task に基づきヒューマンタスクとしてサー ビスの定義を行い,WS-Human Task 文書として記述する.また,BPEL4People プロセ スからヒューマンタスクを呼び出す呼び出しのパターンをサービス呼び出し情報とし て記述する.コンピュータ処理によって実現されるサービスは Web サービスとして提 供されており,プロセスから呼び出すためにその WSDL 文書を取得する. 管理サービスを付加した BPEL に,WS-Human Task 文書とサービス呼び出し情報, WSDL 文書を加え,BPEL4People (実行可能 SoSD モデル) に変換する.. プロセスベースの管理ではプロセスの進行とともに管理対象の管理を行う.このた め,管理対象ごとに管理のプロセスが発生すると考える.管理サービスの連携によっ て,ソフトウェア開発プロセスの管理を行うサービス指向ソフトウェア開発管理モデ ルを図 4 に示す. 管理サービスを用いた管理プロセスでは,管理対象の数と同じく 3 つの管理プロセ スが生成される.この管理モデルを利用することで,管理対象を増やす場合にメタイ ンタフェースを増やすことで汎用的管理と同じように管理プロセスを生成することが 可能である.管理モデルの使用によって,メタインタフェースを用いたソフトウェア 開発の統一的な管理が可能となる. 開発プロセス. 管理プロセス 進捗管理 の実行. メタインタフェース 管理情報の インタフェースを開示 管理サービス. 開発サービス 開発. 進捗. 進捗 コスト リソース. コスト. 開発サービス. コスト管理 の実行. プロセス記述 (BPMN). リソース管理 の実行. 実行可能プロセス (BPEL). 管理サービス付 実行可能プロセス (BPEL). 実行可能プロセス (BPEL4People). リソース 管理の実行. SoSDモデルから 実行可能記述に 変換. 三つのプロセスを 並行に実行. 開発の実行. 図 4. 管理サービス. 管理サービスの連携. 管理サービス を付加. 人手の作業部分 を変換. 図 5 SoSD モデルから実行可能 SoSD モデルへの変換. 6. 実行可能プロセスへの変換. 7. 変換ツールのプロトタイプ実装. 本研究では,SoSD モデルを BPMN で記述し,実行可能 SoSD モデルは BPEL4People と WS-Human Task で記述する.SoSD モデルから実行可能 SoSD モデルへの変換の流 れを図 5 に示す. (1) SoSD モデル(BPMN)の記述 ソフトウェア開発を成果物の連携として捉え,様々な作業の中から開発サービスを 決定する.開発サービスのみでソフトウェア開発プロセスを構成し,SoSD モデルを BPMN で記述する.BPMN 図では,サービスはアクティビティとして記述する. (2) BPMN から BPEL に変換 Eclipse 3.4.2 と BPMN2BPEL plug-in[10]を用いて,SoSD モデルを BPEL に変換する. BPMN で記述されたサービス (アクティビティ) を Web サービスとする.この時点で はアクティビティはすべて BPEL の empty 要素として記述される.. 変換ツールのプロトタイプを Eclipse 上に実装した.処理の流れを図 6 に示す.Java を用いて実装し,開発規模は 3 クラス 599 行となった. (1) 管理サービスの付加 入力として受け取った BPEL に,開発サービスと並行で実行されるように管理サー ビ ス を 付 加 し た BPEL を 出 力 す る . こ の 変 換 は XML/DOM 変 換 を 用 い て MgmtServiceCreator として実装した. (2) 実行可能プロセスへの変換 BPEL 文書,サービス定義,インタフェース情報,サービス呼び出し文書を入力と して受け取り,BPEL を BPEL4People に変換して出力する. プロセス連携に人手の作業で実現されるサービスが含まれる場合には,人手の作業. 5. ⓒ2010 Information Processing Society of Japan.

(6) Vol.2010-SE-167 No.13 2010/3/18. 情報処理学会研究報告 IPSJ SIG Technical Report. をヒューマンタスクとして定義する WS-Human Task 文書と定義したヒューマンタス クのインタフェース情報が記述された WSDL 文書を入力として必要とする.また,プ ロセス連携に Web サービスで実現されるサービスが含まれる場合には,Web サービス のインタフェース情報が記述された WSDL 文書を入力として必要とする.さらに,こ れらのサービス定義がプロセスに固有かどうかにより,プロセスからサービスを呼び 出す方法が異なる.そこで,呼び出し方法を記述したサービス呼び出し文書を入力と して与える. この変換を Java と XML/DOM 変換を用いて Bpel2b4p として実装した[12].. たサービスの連携としてこのコード変更と単体試験プロセスを,SoSD モデルを BPMN を用いて記述する.各アクティビティの成果物を表 2 に, それらのアクティ ビティをサービスと捉えてプロセスを記述した SoSD モデルを図 7 に示す. 表 2 アクティビティの成果物. サービス WS-Human Task 定義. アクティビティ. 入力. 出力. コード変更要求. 変更許可. 変更要求. コード変更. 変更要求. ソースコード. コンパイル. ソースコード. オブジェクトコード. 単体試験. オブジェクトコード. 試験結果. インタフェース WSDL 定義 プロセス記述. BPEL. (1) 管理サービスの付加 BPEL 管理サービスを 付加したプロセス記述 (2) BPEL4Peopleへの変換 実行可能な プロセス記述. BPEL. 4People. 図 6. 人手の作業の 呼び出し箇所を変換. Webサービスの 呼び出し箇所 を変換. サービスの 埋め込み 方法を指定. 人手の作業によって実現される サービスの呼び出し情報 インタフェース 定義. WSDL. Webサービスによって実現される サービスの呼び出し情報 XML サービス 呼び出し文書 サービスがプロセス固有かどうか によって呼び出し方法を変更. 変換ツールの処理の流れ. 8. 例題. 図 7 コード変更と単体試験プロセスの SoSD モデルの記述. ソフトウェア開発プロセスモデリングのための例題[8]のプロセスを参考に,コード 変更とその関連するモジュールの単体試験作業に対して SoSD を適用する. 8.1 コード変更と単体試験プロセス このプロセスは(1)コード変更要求,(2)コード変更,(3)コンパイル,(4)単体試験, の 4 つのアクティビティから構成される. 8.2 SoSD の適用 各アクティビティの入出力のうち,サービスとして求められる特性を満たした成果 物を明確にし,アクティビティのうちサービスとするものを定義する.ここで定義し. 記述した SoSD モデルの BPMN 記述から BPEL を生成し,ツールを用いて BPEL の 開発サービスに並行で実行される管理サービスを付加する(図 8). 次に,人が行う作業をサービスとして WS-Human Task 文書で定義する.この文書で は作業を行う組織の定義やタスクの作業者を指定する.この例ではコード変更要求, コード変更,単体試験が人手で行う作業とした.WS-Human Task 文書の一部を図 9 に 示す.さらに,BPEL4People ではこれらのサービス定義がプロセスに固有かそうでな いかにより,プロセスからサービスを呼び出す方法が異なるため,呼び出し方法を記. 6. ⓒ2010 Information Processing Society of Japan.

(7) Vol.2010-SE-167 No.13 2010/3/18. 情報処理学会研究報告 IPSJ SIG Technical Report. 述したサービス呼び出し情報を作成する.また,コンパイルは Web サービスで実現さ れているとし,プロセスから呼び出しを行うためにその WSDL を取得する.. これらの情報を入力としてツールを用いて BPEL4People を生成した(図 10).. 図 10 変換された BEPL4People(実行可能 SoSD モデル) 図8. BPMN から変換され管理サービスを付加した BPEL. 9. 評価 9.1 SoSD に基づくソフトウェア開発プロセスの妥当性 SoSD を用いてソフトウェア開発のサービスを標準的なインタフェース記述言語 によって定義し,サービスの連携という統一的なモデルに基づいたソフトウェア開発 プロセスの記述が可能となる. 9.2 実行可能 SoSD モデルへの変換方法の妥当性 プロトタイプを用いて BPEL4People と WS-Human Task に基づいた,サービス指向 コンピューティング基盤上でネットワークを介したソフトウェア開発プロセスを実行 可能な記述に変換できることを確認した. 9.3 管理モデル導入の妥当性 付加した管理サービスを連携させることにより,ソフトウェア開発プロセスと並 行に実行される管理プロセスを生成可能な管理モデルを提案した.この管理モデルに よって,管理サービスはメタインタフェースを用いた統一的な方法で開発サービスの 管理が可能になる. 9.4 プロトタイプの評価 管理サービスの付加を行った後で,サービスをヒューマンタスクもしくは Web サー. 図 9 WS-Human Task 定義(XML 文書) 7. ⓒ2010 Information Processing Society of Japan.

(8) Vol.2010-SE-167 No.13 2010/3/18. 情報処理学会研究報告 IPSJ SIG Technical Report. ビスで置き換えることにより,管理サービスの変換も開発サービスと同じ手法で可能 である. また,本稿では,ヒューマンタスクの定義は人が WS-Human Task 文書を直接記述し ているが,今後 WS-Human Task 文書を記述するためのツールでの支援が望まれる. 参考文献 1) A. Agrawal, et al., WS-BPEL Extension for People (BPEL4People), Ver. 1.0, Jun. 2007. 2) A. Agrawal, et al., Web Services Human Task (WS-Human Task), Ver. 1.0, Jun. 2007. 3) 青木 利晴 (監修),Web サービスコンピューティング,電子情報通信学会, 2005. 4) T. Erl, Service-Oriented Architecture, Prentice Hall, 2005. 5) D. Box, et al., Simple Object Access Protocol (SOAP) 1.1, Ver. 1.1, May. 2000, http://www.w3.org/TR/2000/NOTE-SOAP-20000508/. 6) E. Christensen, et al., Web Services Description Language (WSDL) 1.1, Ver.1.1, Mar. 2001. http://www.w3.org/TR/wsdl, 7) J. D. Herbsleb and D. Moitra, Global Software Development, IEEE Software, Vol. 18, No. 2, Mar./Apr., 2001, pp. 16-20. 8) M. I. Kellner, et al., Software Process Modeling Example Problem, Proc. of 6 th ISPW, Oct. 1990, IEEE Computer Society, pp. 19-29, [篠田 陽一 ほか (訳), ソフトウェアプロセスモデリングのための 例題, 情報処理, Vol. 36, No. 5, May 1995, pp.385-391]. 9) D. Jordan, et al., Web Services Business Process Execution Language Version 2.0, Ver. 2.0, Apr. 2007, http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.pdf. 10) Lgbanuelos, bpmn2bpel, Jun. 2008, http://code.google.com/p/bpmn2bpel/. 11) 丸山 宏 ほか, XML と Java による Web アプリケーション開発, ピアソン・エデュケーション, 1999. 12) B. McLaughlin, Java & XML, O’Reilly & Associates, 2000, [須賀 祐治 ほか(訳), Java & XML, オライリー・ジャパン, 2002]. 13) Object Management Group, Business Process Model and Notation (BPMN) 1.2, http://www.omg.org/spec/BPMN/1.2/PDF/, Ver. 1.2, Jan. 2009. 14) 大原 晋吾,ほか, サービス指向に基づくソフトウェア開発モデル化方法論の提案, 第 163 回 ソフトウェア工学研究会, Mar. 2009, pp. 249-256. 15) L. Osterweil, Software Processes are Software too, Proc. ICSE 1987, IEEE Computer Society, Mar. 1987, pp. 2-13.. 10. 今後の課題 SoSD モデル(BPMN)から実行可能 SoSD モデル(BPEL4People)に変換する際,ヒュー マンタスクに対する作業者とその割り当ては WS-Human Task 文書で定義を行ってお り,BPMN で記述しているスイムレーンの情報などを BPEL4People に利用できていな い.そこで,スイムレーン情報によってヒューマンタスクの作業者を決定するなど, BPMN から BPEL4People と WS-Human Task への変換を支援するツールが必要である. また,現在の管理サービスでは汎用的な管理のみを対象としており,管理の中でも 開発サービスの管理情報の取得のみが可能である.この取得した管理情報を用いて, 開発サービスになんらかの変更を加える方法について今後検討する必要がある. さらに,開発サービスの管理モデルとして管理サービスを連携させる管理プロセス を提案したが,本稿では管理プロセスの生成方法は定義していない.今後,実行可能 な管理プロセスの生成方法を検討する.. 11. まとめ 本研究では,ソフトウェア開発にサービス指向を適用し,ソフトウェア開発プロセ スをサービスの集合体と捉えた.そして,サービス指向ソフトウェア開発(SoSD)モデ ルを BPMN で記述し,この SoSD モデルからサービス指向コンピューティング基盤上 で実行可能な BPEL4People と WS-Human Task を用いた実行可能 SoSD モデルへの変換 方法を提案した.これにより,サービスの組み合わせによるモデルに基づいた統一的 なソフトウェア開発プロセスの記述と,SOA 基盤上での開発プロセスの実行が可能に なった.これにより,明確に定義したプロセス記述の実行をモニタリングや分析が可 能となり,ソフトウェア開発プロセスに PDCA サイクルを回し持続的なプロセス改善 の仕組みを提供する. また,開発サービスに汎用的管理を行う管理サービスを関連付け,管理サービスの 連携によって管理プロセスが作成される管理モデルを提案した.この管理モデルによ り,SOA 基盤上で管理サービスの連携によって管理対象ごとに進捗管理,コスト管理, リソース管理といった開発と並行で行われる管理プロセスの生成方法を提案した. 例題を用いて SoSD モデルを記述し実行可能な SoSD モデルへと変換して,提案す る変換方法の妥当性を示した.. 8. ⓒ2010 Information Processing Society of Japan.

(9)

図  1 BPEL4People と WS-Human Task

参照

関連したドキュメント

チューリング機械の原論文 [14]

(ページ 3)3 ページ目をご覧ください。これまでの委員会における河川環境への影響予測、評

LLVM から Haskell への変換は、各 LLVM 命令をそれと 同等な処理を行う Haskell のプログラムに変換することに より、実現される。

解析モデル平面図 【参考】 修正モデル.. 解析モデル断面図(その2)

環境への影響を最小にし、持続可能な発展に貢

第2章 環境影響評価の実施手順等 第1

と発話行為(バロール)の関係が,社会構造(システム)とその実践(行

原子力規制委員会 設置法の一部の施 行に伴う変更(新 規制基準の施行に 伴う変更). 実用発電用原子炉 の設置,運転等に