ObjectSquare [1999 年 4 月号]

[Happy Squeaking!!]


4.自分を変えるオブジェクト

4.1 「世界観」把握のためのメタモデリング


ソフトウェアを「現実世界の問題をコンピュータによって解決するもの」とすると、複雑な現実世界を、何らかの形で、より単純化されたものとしてモデリングする必要が出てきます。

例えば、私達は、今まで現実世界を見る方法としてオブジェクト指向を選択してきました。オブジェクト指向の立場に立つことで、私達は、現実世界をオブジェクト指向的にモデリングしていくことができます。つまり現実世界は「クラス」や「インスタンス」といったモデル要素から成り立つと考え、その考えを元に「犬」や「ポチ」といった実際のモデル要素を見出していきます。

ところが、ここで立場を変えて「データ中心」の考えに立つとしましょう。
データ中心では世界を構成するものは「エンティティ」と「リレーション」です。したがって現実世界はこれらのモデル要素の集まりから成り立つようになります。「犬」はクラスでなくエンティティとして認識され、結果として「ワンとなく」といった犬の振る舞いは意味のないものとみなさます。

このように、私達が何らかの現実世界をモデリングするには、何がおおもとのモデル要素となるかを規定しているものが必要です。モデル要素の背後にあり、モデル要素が何かを定めている、いわば「モデルのモデル」(メタモデル)です。この「モデルのモデル」が変われば、私達が世界を把握する単位もまるで変わってしまいます。世界に関するもののとらえかた「世界観」が変われば、見える世界も違うものになるということです。
こうした「背後で意味を与えてくれているもの」が不安定だと、様々な世界構成要素の存在が危ぶまれてしまいます。例えば「資本主義」と「社会主義」は、経済世界に対する異なる世界観をそれぞれ表しています。資本主義の世界では、A社は株式会社として成り立っていましたが、社会主義世界に移った場合には、そのままでは操業していくことが困難です。また江戸時代の「封建制」で確かに存在した武士は、現在の平成の「民主制」の世では、自称武士ということはできても、社会の枠組みにはまった存在としてはありえないものです。なぜなら、個々の世界構成要素が存在するためのそもそもの枠組みが違っているからです。

「メタモデリング」とは、モデリングを行なう際にこうした混乱が起こらないように「そもそも何がモデル要素となるのか」をしっかりと定めることです。

単純な問題を扱うだけであれば、「メタモデル」はもはや「自明の利」であり、あえて着目されることもありませんでした。しかし、現在では、ソフトウェアが取り扱う問題は、非常に複雑化し、「メタモデル」なしでの現実の適切な分析(モデリング)は、難しいものになりつつあります。


© 1999-2001 OGIS-RI Co., Ltd.

Prev.

Index

Next