(57)【要約】【課題】シーケンス図から機械的にタスクオントロジーを生成すること。【解決手段】情報抽出部４により、ＸＭＩ形式のシーケンス図のファイルからタグ情報を基にアクター／オブジェクト、メッセージ及びメッセージの順番に関する情報を抽出し、タスクアクティビティ決定部５により、抽出したメッセージに関する情報から形態素解析によりタスクアクティビティを決定し、is-achieved-by構造決定部６により、抽出したメッセージの順序とアクター／オブジェクトとの関係からis-achieved-by構造を決定し、タスクコンテキストロール決定部７により、タスクアクティビティに対応するタスクコンテキストロール用の形式を記述したタスクアクティビティ辞書３を用いて、各タスクアクティビティの入出力となるタスクコンテキストロールを決定する。【選択図】図３
2008059276.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアに関わるシステムの振る舞いを、当該システムに含まれるアクター／オブジェクト間における、処理内容を表す動詞を含むメッセージの時系列的なやりとりで表現したシーケンス図に関し、当該シーケンス図を構成する複数のメッセージ間の関係を、メッセージに含まれる処理内容を表す動詞であるタスクアクティビティについて一のタスクアクティビティがより下位の複数のタスクアクティビティの組み合わせによって達成されることを表すis-achieved-by構造で表現するタスクオントロジーを生成する装置であって、
ＸＭＩ形式のシーケンス図のファイルからタグ情報を基にアクター／オブジェクト、メッセージ及びメッセージの順番に関する情報を抽出する手段と、
抽出したシーケンス図中のメッセージを形態素解析してタスクアクティビティを決定する手段と、
抽出したシーケンス図中のメッセージの順番とアクター／オブジェクトとの関係からis-achieved-by構造を決定する手段と、
タスクアクティビティに対応するタスクコンテキストロール用の形式を記述したタスクアクティビティ辞書を用いて、各タスクアクティビティの入出力となるタスクコンテキストロールを決定する手段とを備えた
ことを特徴とするシーケンス図のオントロジー生成装置。
【請求項２】
コンピュータを、請求項１に記載のシーケンス図のオントロジー生成装置を構成する各手段として機能させるためのプログラム。
【請求項３】
ソフトウェアに関わるシステムの振る舞いを、当該システムに含まれるアクター／オブジェクト間における、処理内容を表す動詞を含むメッセージの時系列的なやりとりで表現したシーケンス図に関し、当該シーケンス図を構成する複数のメッセージ間の関係を、メッセージに含まれる処理内容を表す動詞であるタスクアクティビティについて一のタスクアクティビティがより下位の複数のタスクアクティビティの組み合わせによって達成されることを表すis-achieved-by構造で表現するタスクオントロジーをコンピュータを用いて生成する方法であって、
当該コンピュータは、
ＸＭＩ形式のシーケンス図のファイルからタグ情報を基にアクター／オブジェクト、メッセージ及びメッセージの順番に関する情報を抽出し、記憶手段に記憶するステップと、
記憶手段からシーケンス図中のメッセージに関する情報を読み出し、形態素解析してタスクアクティビティを決定し、再度記憶手段に記憶するステップと、
記憶手段からシーケンス図中のアクター／オブジェクト、メッセージ及びメッセージの順番に関する情報を読み出し、メッセージの順番とアクター／オブジェクトとの関係からis-achieved-by構造を決定し、記憶手段に記憶するステップと、
記憶手段からis-achieved-by構造を読み出し、タスクアクティビティに対応するタスクコンテキストロール用の形式を記述したタスクアクティビティ辞書を用いて、各タスクアクティビティの入出力となるタスクコンテキストロールを決定するステップとを実行する
ことを特徴とするシーケンス図のオントロジー生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラム等のソフトウェアの開発工程において作成されたシーケンス図のオントロジーを生成するための技術に関する。
【背景技術】
【０００２】
一般に、ソフトウェアの開発は、要求分析、設計、実装、テスト、移行等のフェーズ（工程）に分類され、ソフトウェアの開発者は、それぞれの工程において、開発対象のソフトウェアをそれぞれの役割に分かれて開発する。
【０００３】
要求分析とは、ソフトウェアを作りたいと考えている者（要求者）の考えを汲み取り、その要求を満たすためには、ソフトウェアがどのような機能を備えるべきか分析する。また、設計では、分析して導き出された機能を実現（提供）するには、ソフトウェアがどのような構成をしていて、どのようにふるまう必要があるのかを検討する。
【０００４】
上記の要求分析／設計では、文章だけではなく、図を用いてソフトウェアが管理する情報等の静的な側面とソフトウェアの動作等の動的な側面とを表現する、モデリングという手法が用いられている。そのモデリングのための言語として、ＵＭＬ（Unified Modeling Language）が提案されている。
【０００５】
ＵＭＬでは、クラス図、オブジェクト図、パッケージ図、ユースケース図、コラボレーション図、ステートチャート図、アクティビティ図、コンポーネント図、配置図の９種類の図を定義しているが、そのうち、ソフトウェア開発で使われる頻度が高い図として、シーケンス図がある。
【０００６】
ところで、新規にソフトウェアを開発する際、既存のソフトウェアの開発工程において作成されたソフトウェア資産を再利用できれば、作業を効率的に進めることができると考えられる。そして、既存のソフトウェア資産を再利用する場合、新規に開発しようとしているソフトウェアに対し、より類似度の高いソフトウェア資産を利用することが好ましい。また、ソフトウェアの品質を高めるには、ソフトウェア開発の各工程に携わる開発者の間で意思の疎通を図ることが重要であると考えられる。
【０００７】
しかしながら、シーケンス図は、ソフトウェアに関わるシステムの振る舞い（動作）を、当該システムに含まれるアクター／オブジェクト間における、処理内容を表す動詞を含むメッセージの時系列的なやりとりで表現するため、そのままではシーケンス図に描かれている内容の類似度を計算することはできない。また、シーケンス図に描かれている内容の解釈は、ソフトウェアの開発者の主観や経験等に依存してしまうため、シーケンス図に描かれている内容を正確に（客観的に）理解し、ソフトウェア開発の各工程に携わる開発者の間で意思の疎通を図ることは難しい。
【０００８】
そこで、シーケンス図に描かれている内容の類似度を計算可能として既存のソフトウェアの開発工程において作成されたシーケンス図を再利用したり、当該シーケンス図に描かれている内容を正確に（客観的に）理解したりするには、シーケンス図をオントロジー、特にシステムの振る舞いを計算機（コンピュータ）が処理し易いＯＷＬ（Web Ontology Language）の形式で表現できるタスクオントロジーを用いて表現することが効果的であると考えられる。
【０００９】
タスクオントロジーについては、is-achieved-by構造で表現されるものが、その構築方法であるＡＦＭ（Activity-First Method）に関して非特許文献１に記載されている。
【００１０】
図１を用いてis-achieved-by構造について説明する。
【００１１】
図１では、処理内容を表す動詞であるタスクアクティビティＴが、同じく処理内容を表す動詞である、より下位の複数のタスクアクティビティＴ１，Ｔ２，Ｔ３の組み合わせによって達成されることを表している。この時、タスクアクティビティＴを達成するタスクアクティビティＴ１，Ｔ２，Ｔ３は時系列的に実行される、即ちＴ１，Ｔ２，Ｔ３の順番で実行されるものとする。また、タスクアクティビティには入出力となるパラメータがあり、これをタスクコンテキストロールと呼び、タスクアクティビティＴの入力及び出力となるタスクコンテキストロールＲ１及びＲ２をそれぞれ、図示するように定義する。同様に全てのタスクアクティビティにタスクコンテキストロールを定義し、連続するタスクアクティビティ間については、図中のＲ３，Ｒ４のように、時系列的に１つ前のタスクアクティビティの出力となるタスクコンテキストロールと時系列的に１つ後のタスクアクティビティの入力となるタスクコンテキストロールとを一つで表現して定義する。
【００１２】
しかし、このタスクオントロジーの構築方法では、人手により処理しなくてはならない部分があり、機械的に構築することができないため、前述したシーケンス図の再利用に直ちに適用することは困難であった。
【００１３】
一方、業務を支援するシステムであるＯＳＳ（Operation Support System）を開発する際のシーケンス図をオントロジーで表現し、オントロジー間の類似度を用いることで、既存のモデルを再利用を実現し、新規のＯＳＳモデルを作成する時間を短縮することを可能とする提案が非特許文献２に記載されている。
【００１４】
しかしながら、この提案でも、シーケンス図を機械的にオントロジーの形式にする具体的な方法が示されておらず、前述したシーケンス図の再利用に直ちに適用することはできなかった。
【非特許文献１】石川誠一、久保成毅、古崎晃司、來村徳信、溝口理一郎、「タスク・ドメインロールに基づくオントロジー構築ガイドシステムの設計と開発」、人工知能学会論文誌、１７巻、５号、２００２年、pp.585-597
【非特許文献２】堀内信吾、井上正輝、佐藤正崇、吉田寛、井上貴司、杉本悟、山村哲哉、「オントロジーを用いたＯＳＳモデルの再利用」、電子情報通信学会技術研究報告ＴＭ２００５−４２（２００６−１）、Ｖｏｌ．１０５、Ｎｏ．５２７、２００６年１月１２日発行
【発明の開示】
【発明が解決しようとする課題】
【００１５】
前述したように、ソフトウェア開発を行う際に、既存のモデルを再利用して新しいモデルを作成する取り組みがあるが、前述した従来の技術では、既存のモデルの解釈が開発者の主観や経験等に依存してしまうため、再利用を実現することが難しい。既存のモデルを客観的に解釈でき、再利用できようにするため、本発明では、
（１）既存のモデルの一つであるシーケンス図から機械的にタスクオントロジーを生成する、
ことを課題とする。そして、この際、更に
（１−１）シーケンス図上のあるアクター／オブジェクトから複数のアクター／オブジェクトへのメッセージを含むシーケンス図に対応させる、
（１−２）シーケンス図を構成する各メッセージの対象となる情報もオントロジーに組み込む、
ことを課題とする。
【課題を解決するための手段】
【００１６】
本発明では、前記課題を解決するため、ソフトウェアに関わるシステム全体の振る舞いを、当該システムに含まれるアクター／オブジェクト間における、処理内容を表す動詞を含むメッセージの時系列的なやりとりで表現したシーケンス図に関し、当該シーケンス図を構成する複数のメッセージ間の関係を、メッセージに含まれる処理内容を表す動詞であるタスクアクティビティについて一のタスクアクティビティがより下位の複数のタスクアクティビティの組み合わせによって達成されることを表すis-achieved-by構造で表現するタスクオントロジーを生成する装置であって、ＸＭＩ形式のシーケンス図のファイルからタグ情報を基にアクター／オブジェクト、メッセージ及びメッセージの順番に関する情報を抽出する手段と、抽出したシーケンス図中のメッセージを形態素解析してタスクアクティビティを決定する手段と、抽出したシーケンス図中のメッセージの順番とアクター／オブジェクトとの関係からis-achieved-by構造を決定する手段と、タスクアクティビティに対応するタスクコンテキストロール用の形式を記述したタスクアクティビティ辞書を用いて、各タスクアクティビティの入出力となるタスクコンテキストロールを決定する手段とを備えたことを特徴とするシーケンス図のオントロジー生成装置、そのプログラム及び方法を提案する。
【００１７】
前記構成によれば、シーケンス図のファイルから抽出したメッセージ名よりタスクオントロジーのタスクアクティビティを決定でき、また、シーケンス図のファイルから抽出したメッセージの順序とアクター／オブジェクトとの関係からタスクオントロジーのis-achieved-by構造を決定でき、さらにタスクアクティビティ辞書を用いて、各タスクアクティビティの入出力となるタスクコンテキストロールを決定できるため、シーケンス図から機械的にタスクオントロジーを生成することが可能となる。
【発明の効果】
【００１８】
本発明によれば、シーケンス図を正確に把握することを目的として、シーケンス図に対するオントロジーを効率的に構築することが可能となる。シーケンス図から類似度計算可能なオントロジーに変換して、再利用の為にシーケンス図を構成する処理（タスク）の順序関係などタスク構造を明確にでき、人による主観が入らない為、シーケンス図に対してユニークにオントロジーを構築できる。また、アクター／オブジェクト名とは無関係にis-achieved-by構造を決定することから、あるアクター／オブジェクトから複数のアクター／オブジェクトに対してメッセージを有するシーケンス図に対してもオントロジー化できる。この結果、シーケンス図の再利用を促進して効果的なソフトウェア開発の実現に貢献でき、シーケンス図の正確な理解を助けるオントロジーを作成するのにかかる手間を省き高品質なソフトウェア開発に貢献できる。
【発明を実施するための最良の形態】
【００１９】
本発明で対象とするシーケンス図は、シーケンス図中の各メッセージが一筆書きの形で各アクター／オブジェクトをつないでおり、且つシーケンス図中の各メッセージを等しい長さの線、各アクター／オブジェクトを点とみなした時に構成される折れ線が閉曲線を構成し、この折れ線を適切に配置すると囲む面積が０であるものとする。具体的には図２の（ａ）（ｂ）（ｃ）に示すようなシーケンス図を対象とする。
【００２０】
図３は本発明の実施の形態にかかるシーケンス図のオントロジー生成装置、ここでは周知のコンピュータ上に実現した例を示すもので、コンピュータにおけるハードディスク等の記憶装置によって実現される抽出情報記憶部１、is-achieved-by構造記憶部２及びタスクアクティビティ辞書（記憶部）３と、コンピュータにおけるＣＰＵ、メモリ等とともに記録媒体に記録されて提供されあるいは通信回線を介して伝送されて提供されコンピュータにおけるハードディスク等の記憶装置にインストールされた所定のプログラムによって実現される情報抽出部４、タスクアクティビティ決定部５、is-achieved-by構造決定部６及びタスクコンテキストロール決定部７とからなっている。
【００２１】
抽出情報記憶部１は、情報抽出部４３によって抽出された、シーケンス図中のアクター／オブジェクト、メッセージ及びメッセージの順番に関する情報、詳細にはアクター名、アクターＩＤ、オブジェクト名、オブジェクトＩＤからなるアクター／オブジェクト情報、メッセージ名、メッセージＩＤ、メッセージの送信元（のアクター／オブジェクトの）ＩＤ、メッセージの送信先（のアクター／オブジェクトの）ＩＤ、メッセージの順番からなるメッセージ情報、当該シーケンス図名（ダイアグラム名）からなるダイアグラム情報を記憶する。なお、メッセージ名については、その後、タスクアクティビティ決定部５によりタスクアクティビティに書き換えられる。
【００２２】
is-achieved-by構造記憶部２は、is-achieved-by構造決定部６によって決定されたis-achieved-by構造に関する情報（詳細については後述する）を記憶する。
【００２３】
タスクアクティビティ辞書３は、図４に示すような、タスクアクティビティに対応するタスクコンテキストロール用の形式（の文字列）を記述して（記憶して）いる。タスクコンテキストロール用の形式とは、動詞がサ変動詞であれば動詞の終止形から「する」を取り除いた形であり、それ以外の動詞では各動詞の連用形とする。
【００２４】
なお、この辞書は、タスクオントロジーを生成しようとするシーケンス図に現れることが予想される様々なタスクアクティビティについて予め自然言語処理ツール等を用いて作成したものでも、実際にタスクアクティビティ決定部５によって決定されたタスクアクティビティについてその時点で自然言語処理ツール等を用いて作成したものでも良い。
【００２５】
また、日本語の文章を、意味を成す最小単位である形態素に解析する自然言語処理ツールとして「形態素解析システム茶筌」（”形態素解析システム茶筌”、［ｏｎｌｉｎｅ］、Powered by Ruby 1.8.4 and Amrita.、Founded by NAIST Computational Linguistics Lab.、［平成１８年８月２１日検索］、インターネット＜ＵＲＬ：http://chasen.naist.jp/hiki/ChaSen/＞参照）があり、これは電子的に記述された日本語の文章を入力として、名詞／動詞／助詞などの品詞情報を付加して形態素に分解（解析）する。この際、動詞がどのような活用形（未然形、連用形など）になっているかも判定できる。
【００２６】
情報抽出部４は、ソフトウェアの統合開発環境などでＵＭＬのシーケンス図を保存する際に用いられるＸＭＩ（XML Metadata Interchange）形式で記述されたシーケンス図のファイルからタグ情報を基にアクター／オブジェクト、メッセージ及びメッセージの順番に関する情報を抽出、詳細にはＸＭＩの規格で定められた図５に示すタグ情報を手がかりとして、アクター名、アクターＩＤ、オブジェクト名、オブジェクトＩＤ、メッセージ名、メッセージＩＤ、メッセージの送信元（のアクター／オブジェクトの）ＩＤ、メッセージの送信先（のアクター／オブジェクトの）ＩＤ、メッセージの順番、当該シーケンス図名（ダイアグラム名）を抽出し、抽出情報記憶部１に記憶する。
【００２７】
タスクアクティビティ決定部５は、抽出情報記憶部１から前記抽出したメッセージに関する情報、正確にはメッセージ名を読み出し、これを前述した自然言語処理ツール等を用いて形態素解析して当該メッセージに含まれる処理内容を表す動詞であるタスクアクティビティを決定し、再度、抽出情報記憶部１に記憶する。
【００２８】
is-achieved-by構造決定部６は、抽出情報記憶部１からシーケンス図中のアクター／オブジェクト、メッセージ及びメッセージの順番に関する情報に関する情報を読み出し、メッセージの順序とアクター／オブジェクトとの関係からis-achieved-by構造を決定し、is-achieved-by構造記憶部２に記憶する（詳細な動作については後述する）。
【００２９】
タスクコンテキストロール決定部７は、is-achieved-by構造記憶部２からis-achieved-by構造を読み出し、タスクアクティビティ辞書３を用いて、各タスクアクティビティの入出力となるタスクコンテキストロールを決定する（詳細な動作については後述する）。
【００３０】
図６は本発明装置全体の処理動作の概要を示す流れ図である。
【００３１】
まず、情報抽出部４は、タスクオントロジーを生成しようとするシーケンス図のＸＭＩ形式のファイルが入力されると、前述したタグ情報を手がかりとして、アクター名、アクターＩＤ、オブジェクト名、オブジェクトＩＤ、メッセージ名、メッセージＩＤ、メッセージの送信元（のアクター／オブジェクトの）ＩＤ、メッセージの送信先（のアクター／オブジェクトの）ＩＤ、メッセージの順番、当該シーケンス図名（ダイアグラム名）を抽出し、抽出情報記憶部１に記憶する（ｓ１）。
【００３２】
次に、タスクアクティビティ決定部５は、抽出情報記憶部１からメッセージ名を読み出し、これを前述した自然言語処理ツール等を用いて形態素解析し、図７に示すフローに従って当該メッセージ名に含まれる処理内容を表す動詞であるタスクアクティビティを決定し、再度、抽出情報記憶部１（の当該メッセージ名が記憶されていたエリア）に記憶し、これを全てのメッセージ名について繰り返す（ｓ２）。
【００３３】
次に、is-achieved-by構造決定部６は、抽出情報記憶部１からシーケンス図中のアクター／オブジェクト、メッセージ及びメッセージの順番に関する情報に関する情報を読み出し、メッセージの順序とアクター／オブジェクトとの関係から、図８に示すフローに従ってis-achieved-by構造を決定し、is-achieved-by構造記憶部２に記憶する（ｓ３）。
【００３４】
即ち、まず、各メッセージ（正確にはタスクアクティビティ）を時系列的（メッセージの順番）に並べる（ｓ１１）。次に、最初のメッセージの送信元のアクター又はオブジェクトのレベルを０に設定、正確には当該最初のメッセージの送信元のアクター又はオブジェクトのレベルが０であるという情報をis-achieved-by構造記憶部２に記憶する（ｓ１２）。図９はシーケンス図におけるアクター又はオブジェクトのレベル及びメッセージの方向を説明するための例を示すもので、この例ではアクター／オブジェクトＡがレベル０に設定される。
【００３５】
次に、レベル０のアクター又はオブジェクトを基準に、他のアクター又はオブジェクトのレベルを、レベル０から何回のメッセージで到達するかを数えて設定、正確には当該他のアクター又はオブジェクトのレベルに関する情報をis-achieved-by構造記憶部２に記憶する（ｓ１３）。図９の例では、アクター／オブジェクトＢがレベル１、アクター／オブジェクトＣがレベル２、アクター／オブジェクトＤがレベル３に設定される。
【００３６】
次に、各メッセージに対して、図９のメッセージａやｂのようにレベルの値が大きくなる方向をレベルが上がる方向、反対に、図９のメッセージｄやｆのようにレベルの値が小さくなる方向をレベルが下がる方向とし、レベルが上がる方向に向いているメッセージ（図９の例では、メッセージａ，ｂ，ｃ）のタイプをＵＰ、下がる方向に向いているメッセージ（図９の例では、メッセージｄ，ｆ，ｇ）のタイプをＤＯＷＮ、レベルが変わらない（送信元と送信先が同じ）メッセージ（図９の例では、メッセージｅ）のタイプをＳＥＬＦと設定、正確には当該各メッセージ（タスクアクティビティ）のタイプ（ＵＰ／ＤＯＷＮ／ＳＥＬＦ）に関する情報をis-achieved-by構造記憶部２に記憶する（ｓ１４）。
【００３７】
そして、is-achieved-by構造の最上位より、時系列順のメッセージを処理する。即ち、時系列順にメッセージを抽出し（ｓ１５）、そのタイプについて判定し（ｓ１６）、タイプがＵＰの場合は、配下に当該メッセージに対応するタスクアクティビティを追加して、そのタスクアクティビティに移動し、追加したタスクアクティビティの配下に同じ名前を持つタスクアクティビティを追加する（ｓ１７）。また、メッセージのタイプがＤＯＷＮの場合は、配下にタスクアクティビティを追加して、上位のタスクアクティビティに移動する（ｓ１８）。また、メッセージのタイプがＳＥＬＦの場合は、配下にタスクアクティビティを追加する（ｓ１９）。
【００３８】
これらを全てのメッセージに対して繰り返して行い（ｓ２０）、最後に、新たに作成するis-achieved-by構造の最上位のタスクアクティビティ名として当該シーケンス図名（ダイアグラム名）からなるダイアグラム情報、即ち<UML:Diagram>の属性の値を設定し（ｓ２１）、得られたis-achieved-by構造に関する情報、具体的には各タスクアクティビティ名、各タスクアクティビティの階層、各タスクアクティビティの階層内での順番、各タスクアクティビティのつながりのある上位タスクアクティビティ、に関する情報をis-achieved-by構造記憶部２に記憶する（ｓ２２）。
【００３９】
次に、タスクコンテキストロール決定部７は、is-achieved-by構造記憶部２からis-achieved-by構造に関する情報を読み出し、タスクアクティビティ辞書３を用いて、図１０に示すフローに従い、is-achieved-by構造の最上位のタスクアクティビティから下位のタスクアクティビティに向かって各タスクアクティビティの入出力となるタスクコンテキストロールを決定する（ｓ４）。
【００４０】
即ち、まず、is-achieved-by構造の最上位のタスクアクティビティの入力となるタスクコンテキストロールを、『「未」＋「タスクアクティビティのタスクコンテキストロール用の形式」＋「状態」』とする（ｓ３１）。同様に、is-achieved-by構造の最上位のタスクアクティビティの出力となるタスクコンテキストロールを、『「タスクアクティビティのタスクコンテキストロール用の形式」＋「済状態」』とする（ｓ３２）。図１１はタスクコンテキストロールの決定のようすを説明するための例を示すもので、この例では最上位のタスクアクティビティの入力及び出力となるタスクコンテキストロールはそれぞれ「未変更状態」及び「変更済状態」となる（図１１のパターン（a））。
【００４１】
次に、１つ下位の階層のアクティビティを全て取り出し（ｓ３３）、さらにその中から上位のアクティビティが共通するアクティビティを取り出す（ｓ３４）。そして、そのうち時系列的に１番目のタスクアクティビティの入力となるタスクコンテキストロールを、その共通する上位のタスクアクティビティの入力となるタスクコンテキストロールと同一とし（ｓ３５）、時系列的に最後のタスクアクティビティの出力となるタスクコンテキストロールを、その共通する上位のタスクアクティビティの出力となるタスクコンテキストロールと同一とする（ｓ３６）。図１１の例では、時系列的に１番目のタスクアクティビティ「確認する」の入力となるタスクコンテキストロールは「未変更状態」となり、時系列的に最後のタスクアクティビティ「通知する」の出力となるタスクコンテキストロールは「変更済状態」となる（図１１のパターン（b））。
【００４２】
また、各タスクアクティビティ間のタスクコンテキストロールを、『「時系列的に１つ前のタスクアクティビティのタスクコンテキストロール用の形式」＋「済未」＋「時系列的に１つ後のタスクアクティビティのタスクコンテキストロール用の形式」＋「状態」』とする（ｓ３７）。図１１の例では、タスクアクティビティ「確認する」とタスクアクティビティ「変更する」との間のタスクコンテキストロールは「確認済未変更状態」となる（図１１のパターン（c））。
【００４３】
これをその階層内の全てのタスクアクティビティについて同様に繰り返し行い（ｓ３８）、さらにこれらを最下位の階層まで繰り返し行い（ｓ３９）、タスクオントロジーを出力する（ｓ４０）。
【実施例１】
【００４４】
ＰＯＮ（Passive Optical Network）の装置であるＯＬＴ（Optical Line Terminal）の属性の変更に関するシーケンス図からタスクオントロジーを生成する場合を考える。この機能をシーケンス図で表したものを図１２に示す。また、このシーケンス図をEnterprise Architect （ＥＡ）によりＸＭＩファイルで出力したものを図１３に示す。
【００４５】
このＸＭＩファイルを読み込んで、シーケンス図に関する情報を抽出する。
【００４６】
アクターに関する情報は図１３中のアの部分から値を取得する。ここからアクターとして「オペレータ」というものが存在し、XMI ID（ＸＭＩのオブジェクトとしてのＩＤ）が「EAID F6869752 2355 4691 98AA F484D02C5382」であること（図１４の２行目）を取得できる。オブジェクトについても同様に値を取得し、まとめると図１４に示すようになる。
【００４７】
メッセージに関する情報は図１３中のイの部分から値を取得する。ここからメッセージとして「確認する」というものが存在し、XMI IDが「EAID 4C7F135A BC80 4887 976B 4AE811D29424」であり、XMI IDが「EAID F6869752 2355 4691 98AA F484D02C5382」のオブジェクト又はアクターからXMI IDが「EAID 275B59A2 F124 4fc8 8D36 AFB5850944D6」のオブジェクト又はアクターへのメッセージであり、メッセージとして「１」番目に現れるものであること（図１５の２行目）を取得する。このようにしてメッセージ情報を取得し、さらに前述した「茶筌」を利用して形態素解析によりメッセージ名をタスクアクティビティに書き換えてまとめたものを図１５に示す。
【００４８】
次に、オントロジーが何の機能を表現しているかを表す、ダイアグラムに関する情報は図１３中のウの部分から値を取得して、「ＯＬＴ変更」の機能を表していることを読み取る。そして、図１６に示すようになる。
【００４９】
これらの情報を基に、図８で説明した処理によりアクターやオブジェクトのレベルを決定すると、図１７に示すようになる。また、図８で説明した処理により最初の「確認する」というメッセージ（タスクアクティビティ）はレベル０のアクターである「オペレータ」からレベル１のオブジェクトである「ＯＳＳサーバ」に送られているので、「ＵＰ」タイプのメッセージとなる。同様に処理を進め、メッセージのタイプを図１８に示すように決定し、is-achieved-by構造を決定する。
【００５０】
さらに、図１９に示すようなタスクアクティビティ辞書を用いて、タスクコンテキストロールを定義する。例えば、「ＯＬＴ変更」の入力となるタスクコンテキストロールは、「ＯＬＴ変更」というタスクアクティビティのタスクコンテキストロール用の形式が「変更」であるので、「未変更状態」となる。また、「送信する」というタスクアクティビティと「確認する」というタスクアクティビティとの間のタスクコンテキストロールは、各タスクアクティビティのタスクコンテキストロール用の形式が「送信」「確認」であることより、「送信済未確認状態」となる。このようなタスクコンテキストロールを図１０で説明したように決定していく。
【００５１】
手順に従って処理した結果を、本手法を具備したツールにより表示させると、図２０に示すようになる。これにより、ＥＡで作成された図１２のシーケンス図に対応するオントロジーを機械的に構築することが可能となる。これにより、オントロジー構築を効率的且つ客観的に作成でき、より多くのシーケンス図に関する知識を蓄積できる。
【図面の簡単な説明】
【００５２】
【図１】is-achieved-by構造の説明図
【図２】本発明の適用対象シーケンス図の一例を示す図
【図３】本発明の実施の形態にかかるシーケンス図のオントロジー生成装置の構成図
【図４】タスクアクティビティ辞書の一例を示す図
【図５】本発明が抽出対象とするＸＭＩ形式のタグ情報を示す図
【図６】本発明装置全体の処理動作の概要を示す流れ図
【図７】タスクアクティビティの決定手順を示す流れ図
【図８】is-achieved-by構造の決定手順を示す流れ図
【図９】シーケンス図におけるアクター又はオブジェクトのレベル及びメッセージの方向の説明図
【図１０】タスクコンテキストロールの決定手順を示す流れ図
【図１１】タスクコンテキストロールの決定のようすを示す図
【図１２】実施例１にかかるシーケンス図を示す図
【図１３】図１２のシーケンス図に対応するＸＭＩファイルを示す図
【図１４】図１２のシーケンス図に対応するアクター／オブジェクト情報を示す図
【図１５】図１２のシーケンス図に対応するメッセージ情報を示す図
【図１６】図１２のシーケンス図に対応するダイアグラム情報を示す図
【図１７】図１２のシーケンス図に対応するアクター／オブジェクトのレベルを示す図
【図１８】図１２のシーケンス図に対応するタスクアクティビティのタイプを示す図
【図１９】タスクアクティビティ辞書の他の例を示す図
【図２０】図１２のシーケンス図に対応するタスクオントロジーを示す図
【符号の説明】
【００５３】
１：抽出情報記憶部、２：is-achieved-by構造記憶部、３：タスクアクティビティ辞書（記憶部）、４：情報抽出部、５：タスクアクティビティ決定部、６：is-achieved-by構造決定部、７：タスクコンテキストロール決定部。
【図１】
2008059276.tif 000003
【図２】
2008059276.tif 000004
【図３】
2008059276.tif 000005
【図４】
2008059276.tif 000006
【図５】
2008059276.tif 000007
【図６】
2008059276.tif 000008
【図７】
2008059276.tif 000009
【図８】
2008059276.tif 000010
【図９】
2008059276.tif 000011
【図１０】
2008059276.tif 000012
【図１１】
2008059276.tif 000013
【図１２】
2008059276.tif 000014
【図１３】
2008059276.tif 000015
【図１４】
2008059276.tif 000016
【図１５】
2008059276.tif 000017
【図１６】
2008059276.tif 000018
【図１７】
2008059276.tif 000019
【図１８】
2008059276.tif 000020
【図１９】
2008059276.tif 000021
【図２０】
2008059276.tif 000022