ポストオブジェクト指向技術の行方

2003/8/22

左から、岸知二氏(NEC)、千葉滋氏(東京工業大学)

 8月19日から4日間に渡って、オブジェクト指向 2003 シンポジウム(主催:情報処理学会 ソフトウェア工学研究会)が開催されている。今年のメインテーマはポストオブジェクト技術。オブジェクト指向技術が現在のソフトウェア基盤技術として認知されていることを基礎とし、次世代のソフトウェア開発技術の方向性を模索する研究が発表された。パターン企画トラック委員長の羽生田栄一氏(豆蔵)が「今後10年間のソフトウェア開発の行方を提示するプログラムを組んだ」と言うように、先進的な技術議論が各トラックで目白押しの催しとなった。なお、今回取り上げられた課題は「オブジェクト指向の実践」「パターン」「ポストオブジェクト技術」「組み込みソフトウェア」「マルチベンダ相互運用」「XP」である。

 ポストオブジェクト技術の1つとして注目を浴びているアスペクト指向ソフトウェア開発のテーマには、その将来性を議論するパネル・ディスカッションのほかチュートリアルも設置され、実践に踏み込んだ研究発表が行われた。アスペクト指向プログラミング(AOP)に関するパネル・ディスカッションの議論の核は、AOPは果たして普及するのか、との問題である。AOPの代表的な言語であるAspectJは確かに、AOPの基本概念である『多数のクラスに作用する動作を、再使用可能なモジュールとしてカプセル化すること』をプログラミングの実践面で啓蒙する役割を果たしているが、言語仕様の煩雑性や標準ライブラリが活用できない点といった欠点のために、AOPの啓蒙活動が終わりを迎える段階で、ほかの強力なAOP言語に取って代わられる可能性が大きいとする議論がある。一方で、AspectJ擁護の議論も、もちろんある。Eclipseプラグインによる実用的な開発環境であり、コードのデバッグには明らかに有効な機能を持つ、さらに実際にはベンダの製品開発への応用がスタートしているといった根拠だ。

左から、一杉裕志氏(産業技術総合研究所)、小野康一氏(日本IBM)

 そもそも、AOPが登場した背景には、プログラムの動作が1つのプログラム・モジュールに収まり切らず、さらに密接に関連したプログラム・モジュールのセットにさえ収まり切らないことが多い、とのプログラミング上の問題を克服する目的がある。この問題は、オブジェクト指向プログラミング(OOP)でもうまく克服することができず、それを補完する形でAOPが誕生したとされる。つまり、オブジェクト指向プログラミングでは、クラス単位でモジュール化するのが自然だが、それぞれの典型的な責任の分担を超えて動作(例えばロギングなど)をモジュール化するには適していないとされる。このような横断的な動作をAOPの先駆者は“横断的関心(crosscutting concerns)”と定義している。

 パネル・ディカッションにおいて、このようなAOPの概念の普及について、プログラミングの現場で利用できるメカニズムの選択肢が増えることは歓迎だが、OOPに変わる存在ではなく、あくまで既存技術を前提としたメカニズムであるとの認識が大勢を占めていた。

(編集局 谷古宇浩司)

[関連リンク]
社団法人 情報処理学会 ソフトウェア工学研究会

[関連記事]
UML2.0は開発手法を反映した存在へと進化する (@ITNews)
みんなで踊ろうMVCダンス (@ITNews)
データアクセスに特化した、J2EEデザインパターンの適用例 (@ITNews)
最強の秘伝レシピ=(開発プロセス)を作れ! (@ITNews)

情報をお寄せください:



@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)