対象を認識してクラスに分類
| ||
| ||
|
人間が対象を認識するとき,その対象を妥当な「概念」の実例と判断して理解します。つまり,目の前のポチを見て,「これは犬だ」と認識するわけです。ここには,(1)環境の中からの対象をスキャニングして切り出す,(2)対象を妥当なクラスに分類し,そのうえで,(3)対象をそのクラスの実例(インスタンス)として頭の中で再認(re-presentation)する,という作業が同時進行しているわけです(図5[拡大表示])5。
ところで今まで,「モデル」や「モデリング」という言葉を定義なしに用いてきました。でも,モデルとは何を指し,その「モデルを用いて説明する」とはどういうことでしょうか。
モデルという言葉には,「模型」と「実例」という二つの意味があります。模型も実例も,ともに説明するための道具です。何を説明するかで,同じモノが模型になったり実例になったりします。つまり,模型と実例の区別は意外と複雑です。
近年の認知心理学では,対象分類のためのクラスというモデル概念と,そのクラスに属する典型的な具体例(プロトタイプ・インスタンス)とは頭の中でリンクしており,さきの(2)対象を妥当なクラスに分類する際に「対象とプロトタイプ・インスタンス」の比較が行われていることが分かっています。したがって,クラス(模型の構成要素)もそのプロトタイプ・インスタンス(典型的な実例)も,人間の認識活動の中では同様の役割を果たしています。だから区別が曖昧なのだと理解できます。そして実際,SmalltalkやJavaのようなクラスに基づくオブジェクト指向言語だけでなく,それらと同等以上の表現力をもつSelfなどのプロトタイプに基づくオブジェクト指向言語も作られています。
モノとコトの区別と命題
オブジェクト指向では現実世界に存在する物に着目してそれをオブジェクトにすればよい,とよく教科書には書いてあります。しかし,世の中は物だけで成り立っているわけではありません。人間もいますし,口座や注文といった目に見えない抽象的な対象もあります。消費税といったビジネスルール,法律,制度といったものも存在します。従って注目すべきなのは,モノではなくコトバです。
例えば,「ジェリーがトムをなぐる」「トムがジェリーになぐられる」という二つの文を比較しましょう。これらの文の意味するところはともに図6[拡大表示]のように表現できます。図6はビリヤードモデルといって,文に登場する概念要素(ボールで表現)とそれらの間の関係を,ビリヤードのボールが転がって互いに影響を与え合う様子を表現しています。この表現モデルは,現在,認知文法として注目されている理論で採用されている方式で,人間は知らず知らずのうちに,対象世界で起こっていることを,「ボールとそれらの間の相互作用」で解釈する傾向があるという認知スキーマを図式化したものです。これらのビリヤードモデルから,人間は現象を,ボールで代表されるオブジェクトの集団間の相互作用で表わす癖をもつことが見て取れるのではないでしょうか。
文によって表わされる命題は,論理分析すると,「命題=述語(項1,項2,・・・)」という構造ももちます。そのことに着目すれば,任意の命題をUMLのオブジェクト図で表現することも容易です。命題中の述語がコトに,その他の項がモノに相当すると考えれば,モノもコトもオブジェクトで表示してやればよいのです。一般に,「こと」オブジェクトがその命題の中心概念を表示し,それ以外の「もの」オブジェクトがその述語を埋める補語の役割を表示します(図7[拡大表示])。
以上から分かるように,オブジェクト指向でモデル化するその人間が解釈した限りでの対象領域の構造であり,その構造を表現するのにオブジェクトとそれらの間に定義される関連リンクやその上でやり取りされるメッセージを使うということです。
助詞「は」と「が」の違い次の二つの文を比べてください。意味の違いがわかりますか。 A. これは犬だ B. これが犬だ 最初のAでは,「これ」で指された対象が一般的な概念「犬」に属すると認識しています。いわば,「これは『犬』クラスのインスタンスだ」ということです。つまり,対象をクラスに分類して理解したことになります。 一方のBは,「これ」で指された対象でわたしは「犬」を理解するという意味です。「これこそまさに典型的な犬の実例に合致している」ということです。いわば,対象のプロトタイプによる理解といえます。 |
羽生田 栄一 Hanyuda Eiiti豆蔵 取締役会長富士ゼロックス情報システム時代にSmalltalk-80システムに触れ,オブジェクト指向に開眼。以降オブジェクト指向技術の普及に努める。オージス総研を経て2001年にオブジェクト指向技術専業ベンダーである豆蔵の代表取締役社長に就任。2003年より現職。オブジェクト指向技術関連の訳書多数。技術士[情報工学部門]。 |