2009年5月23日土曜日

SWE699ふりかえり

この春セメスターに履修していた3つのクラスのうち、このSWE699だけは通常のクラスと異なるものでした。リサーチクラスと呼ばれ、先生による講義ではなく、学生が順番に論文を読んできてそれをクラスで発表する、というものです。
このクラスではさらに、グループプロジェクトが課され、講義の最後の3コマはそのプロジェクトの成果発表が行われました。私は、リサーチアシスタントとして参画しているSASSYプロジェクトのプロジェクトメンバであるもう一人の学生と二人でグループプロジェクトに取り組みました。幸い、このコースの講師は同じくSASSYプロジェクトメンバであるDr.Malekだったので、SASSYプロジェクトに直接関わる内容をグループプロジェクトとして取り組むことができました。というのも、このコースのサブタイトルは「Service-Oriented Architecture Research Issues」、SASSYプロジェクトのターゲットもSOAだったからです。

このクラスではほとんどの学生が良い成績を得たのではないかと思います。みんな良い発表をしていたし、各グループプロジェクトもおおむねDr.Malekの指導下で進められたようです。私達のグループプロジェクトも良い成果が出ました。おかげで「A」をいただくことができました。

毎週3本論文を読む
このコースでは、毎回クラスの始まりにクイズがあり、その日に発表される論文約3本をちゃんと読んできたかテストされました。というわけで、ほぼ毎週3本の論文を読む必要があり、他のコースや研究活動で忙しい中、結構きつかったです。ですが、このコースの論文のチョイスは素晴らしく、ソフトウェアアーキテクチャやSOAに関する研究動向を知ることができました。

JOperaについて発表
私はコースの中盤に、JOperaについて発表しました。SASSYプロジェクトの研究活動の中で、類似研究としてJOperaの存在が注目されたので、その調査も兼ねていました。なので、私が発表した論文は当初、このコースでは予定されていなかったもので、私が無理やりお願いしてねじこみました。その結果、SASSYプロジェクトとはいくつかの相違点があり、それらを明確にすることができて良かったです。

以下が、発表した論文です。
C. Pautasso, T. Heinis, and G. Alonso. "Autonomic Execution of Service Compositions." Int'l Conf. on Web Services (ICWS 2005), Orlando, Florida, July 2005.
JOperaは、Eclipseプラグインとして実装されているSOAツール(?)で、Webサービス等の既存サービスを利用/統合したアプリケーションをグラフィカルにプログラミング可能にします。SASSYプロジェクトと同様、ツールのユーザは、アクティビティ図のようなダイアグラム描くことによりアプリケーションを組み立てます。JOperaにおけるプログラミングUIの最大の特徴は、アクティビティの制御フローとデータフローに対しそれぞれ別のビューを提供している点です。制御フロービューで、いわゆるアクティビティ図を描きつつ、データフロービューでアクティビティ間でのデータ受け渡しを記述します。このアイデアはとても効果的だと考えています。Webサービス等のサービスを統合するアプリケーションをグラフィカルに作成可能なツールとしては、BPELをターゲットとしたOracle BPEL Process ManagerやNetBeansのBPEL Designer等がありますが、BPELという言語のしばりがあるせいもあり、制御フローだけがグラフィカルでデータフローについては「変数間のマッピング」という形で定義する必要があり、わかりにくいです。

現在、SASSYプロジェクトでも、サービスを統合するアクティビティを記述するための言語/記法について、データフローの記述方法についてはまだ決着していません。JOperaが採用している、データフロー専用ビューというアプローチを有力な候補にすべきだと個人的には考えています。

グループプロジェクト
このコースのグループプロジェクトでは、上述のようにSASSYプロジェクトの研究活動を通常どおり進め、成果をそのまま流用して良かったので、気が楽でした。
現在、SASSYプロジェクトでは、上記アクティビティ言語の策定を終わらせ(議論の余地がまだまだあるものの、もうそろそろ終わらせないと次に進めない)、この春セメスターでは私は、上記言語で記述されたアクティビティモデルから実行可能な基本ソフトウェアアーキテクチャを自動生成する方法およびプロトタイプの実装に取り組みました。おおむね実装が完了し、このグループプロジェクトの成果として発表することができました。

私が取り組んでいる上記研究の詳細については、今後のエントリで少しずつ紹介させていただきます。

0 件のコメント: