ObjectSquare [2003 年 7 月号]

[レポート]


第141回 ソフトウェア工学研究会 パターンワーキンググループ設立記念セミナーレポート

株式会社 オージス総研
山野 裕司
林 俊樹

去る 2003/5/23に、早稲田大学大久保キャンパスで開催された ソフトウェア工学研究会パターンワーキンググループ設立記念セミナー に参加したので、その内容についてご紹介します。

パターンワーキンググループは、日本国内におけるソフトウェアパターンの普及と共有、そして、ソフトウェア工学としてソフトウェアパターンを研究することを目的として設立されました。現在、 実践タスク 研究タスク学際タスク の三つのタスクを立ち上げて活動しています。


基調講演: パタンランゲージに何が可能か

中埜博
(株)まちづくりカンパニー・シープネットワーク

基調講演は、建築家の中埜さんによる、建築におけるパターンランゲージの使われ方の紹介でした。中埜さんは、 パターンランゲージ の生みの親、 Christopher Alexander に師事され、現在、パターンランゲージを用いた 街作り、建築をおこなわれています。

最初に、中埜さんが Christopher Alexander とともに建設にかかわった、 盈進学園東野高等学校を紹介されました。家のような教室にしてほしい という先生たちの要望を実現したために、なんとも不思議な構造の学校ができたそうです。

ソフトウェアにおけるパターンが構造を表現するものと捉えられているの に対して、建築ではユーザーとの合意形成のプロセスのための道具として使わ れています。ユーザーがどのような家や街を望んでいるのかを把握するために、 パターンランゲージを使って会話をおこない、少しづつ合意を形成していくのです。ユーザは建築の専門家ではないので、設計図を見ても、それが自分の欲 しいものかどうかわかりません。したがって、ユーザーと製作者、両方の理解できる共通言語、パターンランゲージを使うのです。このパターンランゲージを使った合意形成のプロセスは、ソフトウェアにおける要件の獲得においても使うことができそうです。

中埜さんによると、パターンランゲージですら、共通の言語として使うこ とができなかったため、今から作る家で展開されるであろう生活のストーリー を、文章で書かれた経験もあるそうです。それをもとに、ユーザに自分の欲しい家のイメージを絵に書いてもらい、設計を進めていったそうです。

中埜さんの講演はスライドをたくさん使ったすばらしいものでした。建築には門外漢の筆者でも、自分の経験に置き換えることにより、容易に理解するこ とができました。正直な話、今まで建築におけるパターンについてはまったく興味がなかったのですが、中埜さんの講演を聞いて、Christopher Alexander の本を読んでみたいと感じました。

ソフトウェアパターン入門

井上健
横河電機(株)
羽生田栄一
(株)豆蔵

まず、井上さんがソフトウェアパターンについて講演をおこなわれました。 ソフトウェアパターンとは何かという基本的なことから始まり、パターン利用 の落とし穴、今までの日本におけるパターンコミュニティの活動(JPLoP、 MensorePLoP)、そして今後の課題で終わる、短い時間ながらも、ソフトウェアパターンの全体像が見渡せる講演でした。

次は、羽生田さんによるMVCダンスの発表でした。MVC *2 とは、有名なアーキテクチャパターンの名前です。 MVCダンスの目的は、パターンのような抽象的な概念を身体で理解することです。 会場のお客さんが、Model、View、Controller それぞれの役を演じました。 Modelは自分好きな数字を、Controllerを仲介役にして、複数のView へ伝えて いきます。View は指示された回数だけ、それぞれ、ピョンピョン跳ねたり、 階段を上り下りしたり、手をたたいたりします。次に、その発展型として、 Adapter *3 が登場しました。

MVCやAdaptor以外のパターンのダンス化は今後の課題ということなので、 これからの展開が楽しみです。

形から入らないパターン活動

細谷竜一
(株)東芝

ある意味、形式を重視するパターンとは矛盾するようなタイトルですが、 大上段にかまえることなく、組織内でパターンを発見し、利用するいう活動の勧めでした。

パターンが発見されてから、公開されるまでには長い道のりがあります。最初のフェーズでは、ある特定の組織の中で、書かれ、共有され、そして、利用を繰り返すこと によりパターンが洗練されていきます。次のフェーズでは、パターンは組織外に公開され、ますます洗練されていき ます。この最初のフェーズでは、GoFのデザインパターンのように洗練された 形式化は必要ありません。公開されたパターンだけを見ていると、とても、あんなパターンは書けないと思って、尻込みしてしまいます。でも、最初は簡単 なもの、例えば名前と目的、パターンの発見者をまとめるだけでもかまいません。 組織内であれば、これだけでも十分有用です。このような活動をおこなう ためには、パターンの形式でなく、本質を理解することが重要です。

ナレッジマネジメントとしてのパターンとでもいうべきなので しょうか。パターンを書いたことのない筆者にとっては、非常に興味深い 講演でした。

ソフトウェアパターンの現状と適用経験

佐枝三郎
三井情報開発(株)

平成13年度に(社)情報サービス産業協会によっておこなわれた「ソフトウェ アパターンの実践的利用に関する調査研究」における、国内外のパターン専門家 に対するヒアリングの要約を発表されました。

ヒアリング項目の中で興味深かったものをいくつか紹介します。

ソフトウェアパターン研究の現在と未来

鷲崎弘宜、深澤良彰
早稲田大学

この講演では、パターン指向開発プロセスという考え方を軸として、これまでに行われてきたソフトウェアに関するパターンの研究例と、今後の方向性が紹介されました。

ここで述べられているパターン指向開発プロセスとは、「ソフトウェアパターンの蓄積と再利用を重視するソフトウェア開発方法」と定義されていました。そして講演では、そのプロセスの中でパターンに関するアクティビティを「抽出」、「利用」の2つに分類し、それぞれに関する手法について、これまでの様々な研究成果を発表していました。

特徴的だと感じたのは、パターン指向開発プロセスにおいては、パターンコミュニティの存在を前提とし、重要な役割を与えていることです。コミュニティはパターンの洗練と管理を行い、開発を行う組織に利用するパターンを提供する役割を担うようです。プロセスとは単にその組織内だけで閉じるものではなく、コミュニティと協調しなければならないとする視点は新鮮なものですが、果たしてその役割を担うだけのコミュニティが形成されるかどうかは、今後のワーキンググループの活動に期待したいと思います。

デザインパターンとその適用過程のモデル化

小林隆志
東京工業大学

この講演では、ソフトウェア開発においてデザインパターンの適用を、ツールによって自動化し支援する研究の成果について報告がなされました。

確かに、実際の開発においてパターンを適用する段になって、自分で構造を規定し、クラス名やメソッド名などを手作業で定義することについて、煩雑さを感じることがあります。加えて、複数のパターンを適用する場合には、誤謬が発生しやすく、自動化してくれればなぁと感じた経験があります。この報告では組み合わさったパターンの適用もツールによる支援が可能で、GoF のデザインパターンの 22 パターンまで適用できたと発表されていました。
余談ですが、唯一適用できなかったパターンは Facade パターンと推測されます。

この研究はまだ中間報告という色彩が強く、まだまだ研究はつづくようです。個人的には、MDA などを積極的に取り入れれば、より面白いものになっていくのではと思いました。

最後に

駆け足で、本セミナーの参加報告を行いましたが、いかがだったでしょうか?講演も後半に差し掛かる程に、筆者らの集中力も低下してたため、講演の詳細を網羅的にお伝えできなかったかも知れません。

このセミナーにおいて、もっとも印象的だったのは、やはり最初の基調講演でした。建築におけるパターンのあり方について、無知に等しかった筆者においては、非常に新鮮な視点を提供していただき、目から鱗という感じでした。この講演が今後のワーキンググループの方向性に大きな影響を与えることを期待しています。

最後に、このような機会を与えていただいた、ワーキンググループの方々のご尽力に、この場をお借りして感謝いたします。


脚注

*1 アットマーク・アイティの読者調査によると、現時点でソフトウェアパターン を利用している人が約30%、今後の利用を予定、検討していたり、個人的に興味が ある人が60%という結果となっています。

*2 ここでのMVCは、Webアプリケーションの文脈におけるMVC(Model2)を指していると思われます。MVC(Model2)は、アプリケーションを、ドメインに関する情報を表現するModel、表示を受け持つView、それらを制御するControllerの三つのコンポーネントに分割します。

*3 Adaptor は、あるクラスのインターフェースを、クライアントが期待している別のインターフェースに変換する時に使うGoFのデザインパターンです。

関連記事

みんなで踊ろうMVCダンス (@ITNews)

寅さんとオブジェクト指向 (@ITNews)



記事の内容を5点満点で評価してください。
1点 2点 3点 4点 5点
記事に関するコメントがあれば併せてご記入ください。

© 2003 OGIS-RI Co., Ltd.
HOME HOME TOP オブジェクトの広場 TOP