モデリングとしてのオントロジと関連ツール
合意形成のツールとして活用
オントロジは、モデルとしての使い方のほかに、人と人との間で合意形成をするためのツールとして活用されています。このため、合意形成ツールとして、ソフトウエア開発上の課題に適用できるのではないか、と考えます。
経済産業省が発表した「組み込みソフトウェア産業実態調査報告書」によると、依然として、ソフトウエアの不具合の原因は、「仕様の問題」や「結合/統合の問題」が多くなっています(図3-1)。「ソフトウエア結合/統合に時間がかかる」、「不具合がたくさん発生してしまう」、といった現場の声をよく耳にします。
仕様書の記載があいまいだったり、一貫性がなかったりする場合、仕様書に使われている言葉の解釈が人により異なっている場合が少なくありません(例えば「システム状態がXXXのとき」という表現がありますが、このとき、システム状態の定義はあるのか、という問題です)。ソフトウエアの結合において、「APIの使用方法を誤解していた」といった理由や「そのような使われ方は想定していなかった」といった理由でうまく動作しない場合も同様です。
人と人の間で認識がずれてしまっていることに気付かずに開発を進めてしまったために後工程になって問題が起こる、という場合は、事前に認識を合わせることで問題を未然に防ぐことができれば、その効果は非常に大きいはずです。例えば、オントロジを構築したり、オントロジ的なアプローチを用いた概念モデルを書いたりして、認識を共有することが有効です。これらの概念だけを使って仕様書や設計書を記載することによって、認識のずれを予防できるのではないでしょうか。
図3-1: ソフトウエアにおける不具合の原因 |
オントロジ構築ツール
本記事では、日常のソフトウエア開発での活用の観点から、「法造」(開発は、大阪大学・溝口研究室)と「OntoloGear」(開発は、MetaMoJi)という、2つのツールを紹介します。
法造は、もっともメジャーで汎用的なオントロジ支援ツールです。ロール概念を扱えるところが魅力です。Webページが充実しているので、詳細はWebページを見てください。Webページでは、法造で構築したオントロジ・ライブラリも公開されています。本記事の冒頭で触れた、トップ・レベルの概念階層である上位オントロジのライブラリも参照できます。
前ページで示した図2-5は、法造で作成したものです。以下の図4-1に、法造のオントロジ作成画面を示します。図中の「p/o」は、部分を示す「part-ofリンク」を指します。図中の「a/o」は、属性を示す「attribute-ofリンク」を指します。「is-aリンク」で示した概念を階層化したうえで、p/oやa/oのリンクを用いて基本的なモデル構造を構築していきます。
法造は、扱いやすいツールです。多重継承が禁止されているほか、2重定義も防いでくれます。また、未定義の概念は、色で分かるように示してくれます。
図4-1: 「法造」を用いたオントロジの作成画面(クリックで拡大) |
一方、OntoloGearは、機能を概念化する機能オントロジに特化したツールです。機能階層構造の分析/構築に利用できます。有償のツールですが、評価版を1年間に限って無償で利用することができます。
現在のUMLによるモデル・ベース開発では、ユースケース図とユースケース記述を書いた後の工程として、より詳細な機能アーキテクチャを分析/設計する手段が不足しています。ここを補うツールでとして、OntoloGearのような機能オントロジの手法には可能性があります。
「ユースケース」→「ユースケース記述」→「OntoloGearの機能オントロジによる機能アーキテクチャ設計」、といった流れで適用すると、分析から設計への作業プロセスが、より効果的になります。図4-2は、付属サンプルを表示したOntoloGearの画面です。
図4-2: 「OntoloGear」を用いたオントロジの作成画面(クリックで拡大) |
おわりに
今回紹介した2つのツールのほかにも、たくさんのツールが存在します。これらのツールに触れることで、貴重な研究成果や、いろいろな視点のモデルに触れることができます。これをきっかけに、オントロジに興味を持ってもらえると幸いです。オントロジは、日常的なソフトウエア開発のモデリングに、新たな視点を与えてくれます。
もちろん、大部分のことはUMLでも表現できますし、OCL(Object Constraint Language: 制約記述言語)を活用すれば、UMLであっても十分な制約を記述できます。オントロジのアプローチにおいて大切なのは、対象の領域が「どのようなものか/どのようにとらえるべきか」といった考察を通し、問題の本質を理解し、それを的確にモデルにする機会が与えられることだと思います。
読者のみなさんも、ぜひ、オントロジを、その一部でもよいので試みてみてください。
- 参考文献:
- 『知の科学 オントロジー工学』(人工知能学会 編集、大阪大学 溝口理一郎 著、オーム社、2005年)
- 『オントロジー構築入門』(大阪大学 溝口理一郎 編、古崎晃司 來村徳信 笹島宗彦 溝口理一郎 共著、オーム社、2006年)
- 『広辞苑 第五版』(岩波書店)