ストラタジーナム メニュー

2008年6月16日月曜日

OCRESブログ 第8回 メタモデル

先日、H社で社員教育を担当されているW氏とお話をしている際、たまたま話題が、「企業が、大学に対し学生にどう言う教育をして欲しいか」、と言う内容になりました。彼はあまり多くを挙げませんでしたが,筆者の印象に残った点が1つあり、それは学生の作文能力でした。
彼は,毎年今の時期になると、新入社員が送ってくるレポート類に丹念に赤ペンを入れて返しているそうでが、なかなか大変な作業量だそうです。
筆者自身の学生時代や新入社員時代を思い出しても、あまり人の作文能力に関し大きな事は言えませんが、筆者自身の反省も踏まえ、なおかつ、OCRESの勉強にもなるような話題を一つ試みたいと思います。

多くの企業は、ホワイトカラーで入社してくる社員に対し、文章の作成能力を求めますが、これは、決して美文や名文を作成する事を要求しているのではなく、報告書や設計書など、ある程度客観性を持った簡潔で読みやすい文章を要求しています。

ところが、新入社員の方は、往々にして主観と客観がごっちゃになったレポートを作成して来て、読み手を当惑させたりします。これは、語学教育が文学中心な事や、新聞などの影響もあると思いますが、一つ大きな問題として、学生に対し、情報教育がほとんどなされていない事が問題の根底にあると思います。

筆者自身の経験ですが、メタモデリングの話をしていると、往々にして,なぜメタモデルなどを使う必要があるのか?という質問に遭遇します。メタモデルは、基本的に言語の設計図であり、そんなのはモデリングに関係ないじゃないか?という素朴な疑問が生まれるのは当然です。
このモデリング言語とモデルの関係ですが、例えて言うと、数学理論と数学記号の関係に似ています。
ニュートンの公式、F = M Aは、高校時代に習うので多くの方はご存知だと思いますが、このぐらいであれば、数式を使わなくとも自然言語を使ってこの理論を表現する事は可能でしょう。
しかしながら、この公式を使って推論を行ったり、実際の数値計算を行ったりする上で、数式を使わずに自然言語だけで表現するとなると、極めて煩雑になり、間違いの入る余地が大きくなります。また,数学理論が高度になればなるほど、数学の表現法を追加してやる必要が出てきます。さらに、UMLは数式とは異なり、単なる表記法ではなく,モデリング言語であり,言語自身がモデル化されています・・・・。と、ここまでいうと半分くらいの人は分かった気になり、残りの半分は、分かった様な分からない様な気になって,共に沈黙してしまいます。

今回は、いきなりQoSなどという抽象的なメタモデルを持ち出さず、誰もが日々行っているコミュニケーションをメタモデル化して、メタモデルの有用性とコミュニケーション理論の両方を学びましょう。

コミュニケーション理論のメタモデル

下の図は、弊社のPM教育で使っているメッセージの送信者ー受信者モデルを表した図です。







この図は、メッセージの送信者は情報を媒体(音声や文字情報など)に合わせてエンコーディングし、受信者は媒体から情報をデコーディングして情報を取り出す為に、エンコーディング、デコーディングの際に情報の変形が発生し、媒体上にはノイズが入る可能性がと言う事を示していますが、実はこの図そのものがメタモデル的表現なのです。

この図をUMLを使って表現して見ましょう。
下がメタモデル図の一例です。図中は省略してありますが、四角形はすべてメタクラスを表します。







メタクラス図

次が実際のクラス図例です。





と、ここまで書いてスペースが無くなってしまいました。
おおよそ意味は見て取れると思います。
詳しいメタモデルの説明は、次回の「組込みプレス」のOCRES講座に投稿しますので、ご興味のある方はそちらを参照してみてください。