UMLで新聞記事を読むオブジェクト指向の世界(3)

» 2003年05月21日 12時00分 公開
[河合昭男((有)オブジェクトデザイン研究所),@IT]

今回は「UMLで新聞記事を読む」というテーマです

 前回は「UMLと自然言語」というテーマで、UMLも形式言語という範疇の一種の言語であるというお話しをしました。UMLはオブジェクト指向によるモデリングのための言語ですが、オブジェクト指向は現実世界をそのままモデリングできるという特徴があります。従って、自然言語で表現できるものはそのままUMLで表現することも難しくありません。

 例として英語の5文型を取り上げ、UMLでどこまで表現できるかにチャレンジしてみました。第3文型SVOは典型的なUML2項関連で表現することができます。つまり主語・目的語がオブジェクトになり、述語はリンクになる。第2文型SVCでは補語は主語の属性になります。第4文型SVOOは、主語と直接目的語の間の2項関連および直接目的語と間接目的語間の2項関連の合成として表現することができます。第5文型SVOCのVは人間の感情や感覚的要素が大きく、オブジェクト指向で表現するのは困難です。

 今回はその続編として「UMLで新聞記事を読む」というテーマで、UMLで新聞記事の内容をどこまで表現できるかにチャレンジしてみましょう。題材として日本経済新聞の記事を取り上げます。そもそもUMLは英語圏で生まれた言語であり、英語の文章の方が合っているとは思いますが、日本語の文章もおおむね英語の5文型に当てはめて考えることができます。

モデルは『論理の結晶』

 小室直樹氏の一連のユニークな著作に「論理の方法」[*]という1冊があります。小室氏の文章はどんなテーマでも明快にすぱすぱ切ってゆき、読んでいて気持ち良いです。筆者が最近なるほど……と思ったのが、上に挙げた『モデルとは論理の結晶である』です。


[*]小室直樹、「論理の方法−社会科学のためのモデル」、東洋経済新報社、2003年4月


 前回UMLはU+M+Lすなわち統一されたモデリングのための形式言語、略して「統一モデリング言語」と呼ばれるという話をしました。

 U+M+LのMはモデリングですが、このモデルとは何でしょう。同書にもあるとおり、モデリングとは『本質的なものだけを強調して抜き出し、あとは捨て去る作業』です。この作業の結果得られるものが『論理の結晶』であるモデルです。  

 また『モデルは仮説』であり、モデルは必ずしも真理ではない。個人が頭の中に持っているモデル、あるいは組織で共有しているモデルは絶対的に正しいものではないので異なるモデルを持っている人・組織が自分のモデルを基準にして議論しても平行線をたどることもあるわけです。「相手が間違っている」のではなく「自分の仮説と相手の仮説」が異なっているにすぎません。

新聞記事をUMLで読む

 今回新聞記事をUMLでどこまで表現できるかにチャレンジしますが、新聞記事は具体例なのでクラス図ではなくオブジェクト図となります。事例が集まればパターンができると思いますが、そのときはクラス図になります。これは今後の課題です。

[例題 1]

 燃料電池車に必要な水素供給方法に関する次の記事を考えて見ましょう(日本経済新聞2004年4月5日 朝刊1面、記事からの引用を『』で示します)。

  • メインタイトル(縦書1行、Font大)『化石燃料を使わず』
  • サブタイトル1(縦書1行、Font中)『ホンダなど、水力発電活用』
  • サブタイトル2(横書2行、Font小)『燃料電池車 水素製造』

 まずこれら3つのタイトルから頭の中で文章を構築しましょう。例えば、「ホンダなどは、燃料電池車のための水素を、化石燃料ではなく水力で製造する」となります。

 このニュースが1面に掲載される理由は、主タイトル「化石燃料を使用しない」ことが画期的であったことのようです。

ALT 図1 「化石燃料使わず」タイトル

 「ホンダなどが水素を製造する」は典型的なSVOパターンで、UMLでは前回に紹介したとおりSとOの間の2項関連で、Vは関連です。

  • S:ホンダなど
  • V:製造する
  • O:水素

 サブタイトル2は「水素は燃料電池車の燃料に使用する」という意味で、水素に対する説明であり、「燃料電池車」オブジェクトと「水素」オブジェクトの間にリンクを張って「水素」側にロール名として「燃料」と記述します。

 サブタイトル1は「水力発電」により水素を製造することをいっています。この3つのタイトルから読み取れることは、水素を製造するのに従来は化石燃料によっていたのが、ホンダなどの今回の方式では水力発電によることになる、非常に画期的である、ということです。「水力発電」は製造する企業と製品の間に存在する製造法の1つと考え、関連クラスのインスタンスとして表現しました(図1)。

 ところでニュースとして一番強調したいメインタイトル「化石燃料を使用しない」はどのように表現すればよいでしょう。UMLでは図のように「化石燃料」オブジェクトがどこともつながらないで孤立していることにより使用しないことを消極的に表現しているにすぎません。関係のないものはモデルに描かないで捨て去るべきですが、それではニュースとしていいたいことが伝わりません。そこで図2のように(UMLとしてはこんな表記法はないのですが)、記事としては例えばこんな表記にしたいものです。フォントサイズも新聞記事のタイトルに合わせて変えてみました。

ALT 図2 「化石燃料使わず」タイトルのイメージ

 さて、次に記事内容に入ってゆきます。『ホンダ、太平洋セメントグループ、昭和電工と鹿児島大、国連大学などの産学グループは、鹿児島県屋久島に水素ステーションを建設し……』。

 まず前半の産学グループですが、これはUMLでは集約関係で表現することができます。

 後半の「産学グループは水素ステーションを建設する」はSVOパターンです。

  • S:産学グループ
  • V:建設する
  • O:水素ステーション

 「屋久島」は「水素ステーション」の説明なのでリンクを張って「屋久島」のロールを「場所」とします(図3)。

ALT 図3 「化石燃料使わず」記事内容

 記事の続き『……水力で製造した水素を燃料電池車に供給する実験を月内に始める』。 

 この文章の前半を「水素ステーションは水力により水素を製造する」と補足して読み替え、「水力発電」を「水素ステーション」と「水素」の関連クラスのインスタンスと考えます。

 次の「水素を燃料電池車に供給する」に主語はありません。「水素」と「燃料電池車」にリンクを張り、「水素」側にロール名として「燃料」と記述します。

 「化石燃料を使用しない」はこの図3では孤立していますが、図2のような拡張形式にして強調したいところです。

[例題 2]

 30秒で充電できるという有機ラジカル電池開発の記事です(日本経済新聞2004年4月2日朝刊17面)。

  • メインタイトル(縦書1行、Font大)『新電池30秒で充電』
  • サブタイトル1(横書1行、Font中)『携帯音楽機器なら80時間駆動』
  • サブタイトル2(横書2行、Font小)『NECが開発』

 まずメインタイトル「新電池」をオブジェクトとし、「30秒で充電」は新電池に充電時間という属性を設け、その値が30秒であると考えました。

 サブタイトル1は「新電池で携帯音楽機器を駆動すると80時間使用できる」と補足して読み替えます。80時間は新電池それ自身の属性でもなければ携帯音楽機器の属性でもなく、両者の関連クラスのインスタンス属性と考えました。

 サブタイトル2は「NECは新電池を開発した」と補足して読み取り、SVOパターンとしました(図4)。

ALT 図4 「新電池30秒で充電」タイトル

 次に記事内容に入ってゆきます。『……デジタルカメラや携帯型MDプレーヤーなどに使われているニッケル水素電池と同程度の電気を蓄えられるうえ、1時間前後かかっている充電時間を約30秒に短縮できる』。

 ここで新たに「ニッケル水素電池」が出てきました。この充電時間という属性の値を1時間とします。2種類の電池オブジェクトが出てきましたが、まとめて「電池」というクラスを作成し、充電時間という属性を持たせます。

 「同程度の電気を蓄えられる」という部分は駆動時間が同じ80時間と考え、関連クラスのインスタンスで表現します(図5)。

ALT 図5 「新電池30秒で充電」記事内容

 今回は前回の「UMLと自然言語」の続編として、UMLで新聞記事の内容を表現するとどうなるかにチャレンジしてみました。わずか2つの記事しか取り上げなかったので、ここから一般論を述べることはまったく無謀ですが、著者の感想として新聞記事に書かれている内容はある程度UMLで表現することは可能です。新聞記事が書籍と大きく異なるのは、取り上げられるものが「ニュース」であることです。その記事がなぜニュースになるかというと、何か普通ではない出来事を扱っているからです。この「普通でない」あるいは「いかに優れているか」がうまく表現できませんでした。例題1では地球温暖化防止という観点で、例題2では充電時間短縮という点で従来の方式や製品と比較して優れているわけですが。

 とはいえ、UMLの適用可能範囲とその限界が垣間見えたと思います。意外と何にでも使えそうですね。ただし現段階ではUMLで書いて何がメリットかという議論にまでは踏み込めません。それはこれからゆっくりと考えていきたいと思います。

 次回は今回の方向でもう少し考えを進めたいと思います。バックログとして次のようなテーマを考えています。

  • プラトンvs.アリストテレス ……ものの本質はどこにある?
  • 西洋哲学vs.東洋哲学 ……西洋人の発想と日本人の発想
  • 分析vs.設計、科学vs.工学、自然vs.人工
  • 機能要求vs.非機能要求、UML vs.パターン言語
  • 名前のない品質 ……パターン言語とは?
  • ビジネスvs.情報システム ……モデリングとは?

プロフィール

河合昭男(かわいあきお)

 大阪大学理学部数学科卒業、日本ユニシス株式会社にてメインフレームのOS保守、性能評価の後、PCのGUI系基本ソフト開発、クライアント/サーバシステム開発を通してオブジェクト指向分析・設計に携わる。

 オブジェクト指向の本質を追究すべく1998年に独立後、有限会社オブジェクトデザイン研究所設立、理論と実践を目指し現在に至る。

 ビジネスモデリング、パターン言語の学習と普及を行うコミュニティ活動に参画。著書『まるごと図解 最新オブジェクト指向がわかる』(技術評論社)、『まるごと図解 最新UMLがわかる』(技術評論社)。『UML Press』(技術評論社)、『ソリューションIT』(リックテレコム)ほかの専門誌に多数執筆。ホームページ「オブジェクト指向と哲学」。



「オブジェクト指向の世界」バックナンバー

[そのほかの参考文献]
▼「明解UML−オブジェクト指向&モデリング入門」
▼(河合昭男・中桐紀幸、秀和システム、2004月3月20日)


Copyright © ITmedia, Inc. All Rights Reserved.