(57)【要約】【課題】モデルベース開発のための従来のモデリング装置は、モデル情報に含まれる「ノート」を用いたコメントをソースコードから利用することができない。【解決手段】モデリング装置に、注釈モデル解析手段および注釈ソース生成手段をもつモデルコンパイル手段を設けた。前記モデルコンパイル手段が、モデル情報またはソースコードに含まれる注釈情報を参照後、前記参照した注釈情報に関連する関連注釈情報をソースコードまたはモデル情報に付加するようにする。【選択図】  図１
2011034419.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアの構造、または動作をモデル記述言語で記述したモデル情報を表示、または編集するモデル情報表示編集手段と、
前記モデル情報を管理するモデル情報管理手段と、
前記モデル情報とソースコードを変換するモデルコンパイル手段と
を有するソフトウェアのモデリング装置において、
前記モデルコンパイル手段が、
モデル情報またはソースコードに含まれる注釈情報を参照後、
前記参照した注釈情報に関連する関連注釈情報をソースコードまたはモデル情報に付加することを特徴とするモデリング装置。
【請求項２】
請求項１記載のモデリング装置において、
前記モデルコンパイル手段が、
前記モデル情報をモデル記述言語の文法に対応して解析し注釈情報を参照する注釈モデル解析手段をもつモデル解析手段と、
参照した注釈情報をプログラミング言語の文法に対応した注釈情報として生成する注釈ソース生成手段をもつソースコード生成手段と
を有することを特徴とするモデリング装置。
【請求項３】
請求項１記載のモデリング装置において、
前記モデルコンパイル手段が、
前記ソースコードをプログラミング言語の文法に対応して解析し注釈情報を参照する注釈ソース解析手段をもつソースコード解析手段と、
参照した注釈情報をモデル記述言語の文法に対応した注釈情報として生成する注釈モデル生成手段をもつモデル生成手段と
を有することを特徴とするモデリング装置。
【請求項４】
請求項２記載のモデリング装置において、
前記注釈モデル解析手段がモデル記述言語の文法の特定の記述ルールに対応して記載された注釈情報を参照することを特徴とするモデリング装置。
【請求項５】
請求項３記載のモデリング装置において、
注釈ソース解析手段がプログラミング言語の文法の特定の記述ルールに対応して記載された注釈情報を参照することを特徴とするモデリング装置。
【請求項６】
ソフトウェアの構造、または動作をモデル記述言語で記述したモデル情報を表示、または編集するモデル情報表示編集手段と、
前記モデル情報を管理するモデル情報管理手段と、
前記モデル情報とソースコードを変換するモデルコンパイル手段と
を有するソフトウェアシステムのシステム構築方法において、
前記モデルコンパイル手段が、
モデル情報またはソースコードに含まれる注釈情報を参照後、
前記参照した注釈情報に関連する関連注釈情報をソースコードまたはモデル情報に付加することを特徴とするソフトウェアシステムのシステム構築方法。
【請求項７】
請求項６記載のソフトウェアシステムのシステム構築方法において、
前記モデルコンパイル手段が、
前記モデル情報をモデル記述言語の文法に対応して解析し注釈情報を参照する注釈モデル解析手段をもつモデル解析手段と、
参照した注釈情報をプログラミング言語の文法に対応した注釈情報として生成する注釈ソース生成手段をもつソースコード生成手段と
を有することを特徴とするソフトウェアシステムのシステム構築方法。
【請求項８】
請求項６記載のソフトウェアシステムのシステム構築方法において、
前記モデルコンパイル手段が、
前記ソースコードをプログラミング言語の文法に対応して解析し注釈情報を参照する注釈ソース解析手段をもつソースコード解析手段と、
参照した注釈情報をモデル記述言語の文法に対応した注釈情報として生成する注釈モデル生成手段をもつモデル生成手段と
を有することを特徴とするソフトウェアシステムのシステム構築方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はソフトウェア構築方法に関するものであり、特にモデリング手法を用いたソフトウェアの開発手法（モデルベース開発手法）を適用したソフトウェアシステムの構築をおこなうモデリング装置およびシステム構築方法に関するものである。
【背景技術】
【０００２】
従来から、Ｕｎｉｆｉｅｄ  Ｍｏｄeｌｉｎｇ  Ｌａｎｇｕａｇｅ（ＵＭＬ）(登録商標)などのモデル記述言語を用いたモデルベース開発手法によるソフトウェアの設計・実装がソフトウェアの開発に利用されている。また、このようなモデリング手法を用いたソフトウェア開発をおこなうためのツールとして、ＵＭＬツールなどのモデリング装置（モデル開発ツール）が提供されている。
【０００３】
モデルを用いたソフトウェア開発においては、モデルからソースコードを生成する時には不要となるが、開発者が理解可能であるという点からモデル情報としては有用な、文字・文章などによる注釈などの注釈情報をモデルに付加することができる。例えば、ＵＭＬを用いたモデリングでは前記注釈情報を付加するためのモデル要素として「ノート」が定義されている。また特許文献１では、複数の開発者がモデル開発を並行して進める状況を想定した、複数のモデリング装置での「ノート」の共有方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２７７６７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般的には、モデルベース開発では、モデル設計時に「ノート」を用いて記載した注釈情報はソースコード生成時には不要な情報として破棄（無視）される。これはソースコードで記述すべき処理に対して注釈情報は何ら影響を及ぼさない情報であるという観点から妥当である。
【０００６】
しかし、モデル情報に含まれる「ノート」に記載された注釈情報をソースコードからも利用することが出来れば、設計時に記載した注釈情報をソースコード上の「コメント」として使用することが可能となり、モデルを用いたソフトウェアの開発をおこなう利用者にとって有用である。
【０００７】
本発明の目的は、モデル情報に含まれる注釈の情報がソースコードから利用できないという課題の解決と、ソースコードの注釈の情報がモデルから利用できないという課題の解決にある。
【課題を解決するための手段】
【０００８】
ソフトウェアの構造、動作や振舞いをモデル記述言語で記述したモデル情報を作成・表示するモデル表示編集手段、モデル表示編集手段が生成したモデル情報を保持・管理するモデル情報管理手段、モデル情報管理手段が保持するモデル情報をプログラミング言語で記述したソースコードに変換、あるいはソースコードをモデル情報に変換するモデルコンパイル手段をもつモデリング装置において、
モデルコンパイル手段がもつ、モデル情報をモデル記述言語の文法に則って解析するモデル解析手段に注釈モデル解析手段を設けた。さらにソースコード生成手段に注釈ソース生成手段を設けた。またソースコード情報をプログラミング言語の文法に則って解析するソースコード解析手段に注釈ソース解析手段を設けた。さらにモデル生成手段に注釈モデル生成手段を設けた。
【０００９】
若しくは、前記構成を他の表現にて説明すると、ソフトウェアの構造、または動作をモデル記述言語で記述したモデル情報を表示、または編集するモデル情報表示編集手段と、前記モデル情報を管理するモデル情報管理手段と、前記モデル情報とソースコードを変換するモデルコンパイル手段とを有するソフトウェアのモデリング装置において、前記モデルコンパイル手段が、モデル情報またはソースコードに含まれる注釈情報を参照後、前記参照した注釈情報に関連する関連注釈情報をソースコードまたはモデル情報に付加するようにする。
【００１０】
また、前記モデルコンパイル手段が、前記モデル情報をモデル記述言語の文法に対応して解析し注釈情報を参照する注釈モデル解析手段をもつモデル解析手段と、参照した注釈情報をプログラミング言語の文法に対応した注釈情報として生成する注釈ソース生成手段をもつソースコード生成手段とを有するようにする。
【００１１】
また、前記モデルコンパイル手段が、前記ソースコードをプログラミング言語の文法に対応して解析し注釈情報を参照する注釈ソース解析手段をもつソースコード解析手段と、参照した注釈情報をモデル記述言語の文法に対応した注釈情報として生成する注釈モデル生成手段をもつモデル生成手段とを有するようにする。
【００１２】
また、前記注釈モデル解析手段がモデル記述言語の文法の特定の記述ルールに対応して記載された注釈情報を参照するようにする。
【００１３】
また、注釈ソース解析手段がプログラミング言語の文法の特定の記述ルールに対応して記載された注釈情報を参照ようにする。
【発明の効果】
【００１４】
本発明のモデリング装置により、モデル情報として記述された注釈情報をソースコードとして利用可能となる。またソースコードとして記述された注釈情報をモデル情報として利用可能となる。
【００１５】
以上、注釈として記載された情報をモデル・ソースコード間で流用可能とすることで、モデル設計時に記載した注釈情報をソースコードから参照可能となり、ソフトウェア開発時の品質向上・開発効率向上などの効果が期待できる。
【００１６】
また、ソースコード作成・修正時の注釈をモデル情報から参照可能となりモデリング装置の使い勝手が向上する。
【図面の簡単な説明】
【００１７】
【図１】モデリング装置の構成の一実施例を示す機能ブロック図
【図２】作成するモデル情報の例
【図３】生成するソースコードの例
【図４】入力するソースコードの例
【図５】生成するモデル情報の例
【図６】作成するモデル情報の例
【図７】生成するソースコードの例
【図８】従来のモデリング装置の構成を示す機能ブロック図
【図９】従来生成されるモデル情報の例
【図１０】入力するソースコードの例
【図１１】生成するモデル情報の例
【発明を実施するための形態】
【実施例１】
【００１８】
以下本発明の一実施例を、図１から図３および図８、９を用いて説明する。
【００１９】
図１は本発明のモデリング装置の構成を示す機能ブロック図、図２は本実施例のモデリング装置１０１が処理可能なモデル情報の例、図３は本実施例のモデリング装置１０１が生成するソースコードの例である。また図８は従来のモデリング装置の構成を示す機能ブロック図、図９は従来のモデリング装置８０１が生成するソースコードの例である。
【００２０】
図１において、１０１はモデル情報の設計およびソースコードへの変換をおこなうモデリング装置、１０２はモデル情報を記録するモデル情報管理手段、１０３はモデル情報の生成・修正・削除をおこなうモデル表示編集手段、１０４はモデル情報をソースコードに変換するモデルコンパイル手段、１０７は、モデル情報をＵＭＬなどのモデル記述言語に則って解析するモデリング解析手段、１１０はモデリング解析手段の解析結果に基づいてソースコードを生成するソースコード生成手段、１０９は注釈モデル解析手段（以下ノート解析手段と記載）、１１１は注釈ソース生成手段（以下、コメント生成手段と記載）、１１６は注釈ソース解析手段（以下、コメント解析手段と記載）、１１３は注釈モデル生成手段（以下ノート生成手段と記載）、１０６はモデルコンパイル手段全体を制御するコンパイル制御手段、１０５はモデリング装置１０１を利用する利用者とモデリング装置とのインタラクションを表示・入力操作のかたちで提供するグラフィック・ユーザ・インターフェース手段（ＧＵＩ手段）である。
【００２１】
図２は本実施例のモデリング手段で作成するモデル情報の例を示す図である。図２において２０１はモデル情報全体を示すもので、本実施例ではクラス図を示す。２０２・２０８はモデル要素である「クラス」、２１２はモデル要素である「ノート」を示す。
【００２２】
図３は本実施例のモデリング装置が作成したモデル情報から生成するソースコードの例を示す図である。図３において３４０はクラス要素２０２から生成するソースコードを、３５０はクラス要素２０８から生成するソースコードを示す。
【００２３】
以下本実施例の動作を図１から図３を用いて説明する。モデリング装置１０１の利用者はＧＵＩ手段１０５とモデル表示編集手段１０３を用いて所望のモデル情報を入力・作成する。作成したモデル情報１１７はモデル情報管理手段１０２に記憶される。なお、以上のモデル情報作成処理は従来のモデリング装置で提供されているものであり、処理の詳細に関しては特に記載しない。
【００２４】
ノート解析手段１０９は、モデル解析手段１０７が提供するモデル情報１１７をモデル記述言語の文法に則って「クラス」・「ノート」など個々のモデル要素に分類したモデル解析結果を用いて、モデル要素のなかから「ノート」と該当する「ノート」が対象とする「クラス」に関する情報を取得する。
【００２５】
コメント生成手段１１１はノート解析手段１０９が取得したモデル情報１１７に含まれるモデル要素である「ノート」を取得し、個々の「ノート」をプログラミング言語の文法に則った「コメント」記述に変換する。変換方法としては「ノート」に記載されている文字情報である注釈情報(以下では、単に注釈と称する)を抽出し、この注釈をプログラミング言語の「コメント」記法に従ったソースコードとして該当する「クラス」のソースコードの先頭に生成する。
【００２６】
作成されたモデル情報１１７を図２に示す。モデルコンパイル手段１０４はモデル情報１１７をモデル情報管理手段１０２から取得し、モデル解析手段１０７とノート解析手段１０９でモデリング記述言語に則った解析をおこなう。モデル解析手段１０７はモデル情報１１７から、クラス要素である２０２・２０８、各クラス要素のクラス名情報２０３、２０９、属性情報２０４、２０５、２１０、操作情報２０６、２１１、クラス間の関係を規定するリンク情報２０７を解析により取得する。ノート解析手段１０９はノート要素２１２、ノート要素とクラス間の関係を規定するリンク情報２１３を解析により取得する。
【００２７】
モデル解析手段１０７が解析したモデル情報は、ソースコード生成手段１１０でソースコードに変換される。変換されたソースコードを図３に示す。図３において３４０はクラス要素２０２とノート要素２１２から生成されたソースコード、３５０はクラス要素２０８から生成されたソースコードを示す。ソースコード３４０において、３０２、３０３、３０４、３０５、３０６、３０７、３１２はクラス要素２０２、クラス名情報２０３とリンク情報２０７から生成する。３０８は操作情報２０６から、３０９、３１０、３１１は属性情報２０４、２０５から生成する。同様にソースコード３５０において、３２０、３２１、３２２、３２３、３２４、３２５、３２９はクラス要素２０８、クラス名情報２０９とリンク情報２０７から生成する。３２６は操作情報２１１から、３２７、３２８は属性情報２１０から生成する。
【００２８】
またソースコード３４０において、３０１はソースコード生成手段のコメント生成手段１１１によってノート要素２１２とリンク情報２１３から生成する。
【００２９】
以上本実施例によれば、モデル情報に「ノート」として記載された注釈を、関連するクラス要素に対応するソースコードの「コメント」として付加可能となり、注釈をモデル情報からソースコードに転記し利用することが可能となる。
【実施例２】
【００３０】
以下本発明の他の一実施例の動作を図１、図４、図５で説明する。
【００３１】
図１は先の実施例と類似の構成をもつモデリング装置、図４は本実施例のモデリング装置１０１が処理可能なソースコードの例、図５は本実施例のモデリング装置１０１が生成するモデル情報の例である。
【００３２】
図１において、１１４はＣ＋＋などプログラミング言語の文法に則ったソースコードの解析を行うソースコード解析手段、１１２はソースコード解析手段１１４が出力する解析情報に基づいてモデル情報を生成するモデル生成手段である。図１の他の構成手段に関しては先の実施例の対応する機能と同等の機能をもつものとする。
【００３３】
図４は本実施例のモデリング装置が処理可能なソースコードの例を示す図である。図４において４４０・４５０はそれぞれ「クラス」を定義している。
【００３４】
図５は本実施例のモデリング手段で作成するモデル情報の例を示す図である。図５において５０２・５０８はモデル要素である「クラス」、５１２はモデル要素である「ノート」を示す。
【００３５】
以下本実施例の動作を、図１を用いて説明する。図１において、モデルコンパイル手段１０４はＧＵＩ制御手段１０５を用いて、モデリング装置に取り込むソースコード４０１・４０２を指定する。
【００３６】
コメント解析手段１１６は、ソースコード解析手段１１４が提供するソースコード１１８をプログラミング言語の文法に則って「クラス」・「コメント」など個々の要素に分類したソースコード解析結果を用いて、ソースコードの要素のなかから「コメント」と該当する「コメント」が対象とする「クラス」に関する情報を取得する。
【００３７】
ノート生成手段１１３はコメント解析手段１１６が取得したソースコード１１８に含まれる要素である「コメント」を取得し、個々の「コメント」をモデル記述言語の文法に則った「ノート」記述に変換する。変換方法としては「コメント」に記載されている文字情報である注釈を抽出し、この注釈をモデル記述言語の「ノート」記法に従ったモデル情報として該当する「クラス」との関連付けをおこない生成する。
【００３８】
ソースコード解析手段１１４は、ソースコード４４０のクラス情報４０１、４０２、４０３、４０４、４０５、４１１、操作情報４０７、属性情報４０８、４０９、４１０を解析により取得する。ソースコード解析手段１１４は同様にソースコード４５０のクラス情報４２１、４２２、４２３、４２４、４２５、４２６、４３０、操作情報４２７、属性情報４２９を解析により取得する。更にソースコード解析手段１１４の注釈ソース解析手段１１６（コメント解析手段と記載）はコメント４２０を解析により取得する。
【００３９】
モデル生成手段１１２はソースコード４４０を解析した結果であるクラス情報から、モデル情報５０１のクラス情報５０２、５０３を生成する。同様にソースコード４４０の属性情報からもモデル情報５０１の属性情報５０４、５０５、ソースコード４４０の操作情報からモデル情報５０１の操作情報５０６を生成する。同様にソースコード４５０を解析した結果であるクラス情報からモデル情報のクラス情報５０８、５０９を生成する。同様にソースコード４５０の属性情報からモデル情報５０１の属性情報５１０、ソースコード４５０の操作情報からモデル情報５０１の操作情報５１１を生成する。
【００４０】
さらにモデル生成手段１１２の注釈モデル生成手段１１３（ノート生成手段と記載）は、コメント解析手段１１６の解析結果から、モデル情報のノート要素５１２、ノート要素とクラス間の関係を規定するリンク情報５１３を生成する。
【００４１】
以上本実施例によれば、モデルコンパイル手段１０４によってソースコードに「コメント」として記載された注釈を、モデル情報の「ノート」としてモデル情報で利用可能な注釈として取り込み可能となり、モデル情報の信頼性が向上し、モデリング装置の使い勝手が向上する。
【００４２】
さらにソースコードに記載された注釈と、モデル情報に記載された注釈を共通化可能とすることで、ソースコードと対応するモデル情報の関係を容易に理解可能となりモデリング装置を利用したモデル開発の効率向上が可能となる。
【実施例３】
【００４３】
以下本発明の他の一実施例の動作を図１、図６、図７で説明する。
【００４４】
図１は先の実施例と類似の構成をもつモデリング装置、図６は本実施例のモデリング装置１０１が処理可能なモデル情報の例、図７は本実施例のモデリング装置１０１が生成するソースコードの例である。
【００４５】
図１において、１０７は、モデル情報をＵＭＬなどのモデル記述言語に則って解析するモデリング解析手段、１１０はモデリング解析手段の解析結果に基づいてソースコードを生成するソースコード生成手段である。図１の他の構成手段に関しては先の実施例の対応する機能と同等の機能をもつものとする。
【００４６】
図６は本実施例のモデリング手段で作成するモデル情報の例を示す図である。図６において６０１はモデル情報全体を示すもので、本実施例ではクラス図を示す。６０２・６０８はモデル要素である「クラス」、６１２・６１３はモデル要素である「ノート」を示す。
【００４７】
図７は本実施例のモデリング装置が作成したモデル情報から生成するソースコードの例を示す図である。図７において７４０はクラス要素６０２から生成するソースコードを、７５０はクラス要素６０８から生成するソースコードを示す。
【００４８】
以下本実施例の動作を図１、図６、図７を用いて説明する。モデリング装置１０１の利用者はＧＵＩ手段１０５とモデル表示編集手段１０３を用いて所望のモデル情報を入力・作成する。作成したモデル情報１１７はモデル情報管理手段１０２に記憶される。
【００４９】
作成されたモデル情報１１７を図６に示す。モデルコンパイル手段１０４はモデル情報１１７をモデル情報管理手段１０２から取得し、モデル解析手段１０７とノート解析手段１０９でモデリング記述言語に則った解析をおこなう。モデル解析手段１０７はモデル情報１１７から、クラス要素である６０２・６０８、各クラス要素のクラス名情報６０３、６０９、属性情報６０４、６０５、６１０、操作情報６０６、６１１、クラス間の関係を規定するリンク情報６０７を解析により取得する。ノート解析手段１０９はノート要素６１２、６１４、ノート要素とクラス間の関係を規定するリンク情報６１３・６１５を解析により取得する。
【００５０】
モデル解析手段１０７が解析したモデル情報は、ソースコード生成手段１１０でソースコードに変換される。変換されたソースコードを図７に示す。図７において７４０はクラス要素６０２とノート要素６１２から生成されたソースコード、７５０はクラス要素６０８から生成されたソースコードを示す。ソースコード７４０において、７０３、７０４、７０５、７０６、７０７、７０８、７１３はクラス要素６０２、クラス名情報６０３とリンク情報６０７から生成する。７０９は操作情報６０６から、７１０、７１１、７１２は属性情報６０４、６０５から生成する。同様にソースコード７５０において、７２０、７２１、７２２、７２３、７２４、７２９はクラス要素６０８、クラス名情報６０９とリンク情報６０７から生成する。７２６は操作情報６１１から、７２７、７２８は属性情報６１０から生成する。
【００５１】
また本実施例のモデル解析手段１０７の注釈モデル解析手段１０９（ノート解析手段と記載）はモデル情報に含まれる「ノート」に記載された文字列情報の内、文字列の先頭が「//」であるものを抽出し、それ以外の「ノート」は抽出しない。本実施例においては、ノート要素６１２は解析の結果「ノート」として抽出されるが、ノート要素６１４は「ノート」として抽出されない。以上のノート解析結果をもとにソースコード生成手段１１０の注釈ソース生成手段１１１（コメント生成手段と記載）はソースコード７４０の７０１、７０２をコメント要素として生成する。
【００５２】
以上、本実施例によればモデル情報の「ノート」として記載した注釈を、記載方法に応じて選択的にソースコードのコメント情報として生成可能となり、モデル情報とソースコードで共有する注釈を選択的に指定可能となり、モデリング装置の使い勝手が向上する。
【００５３】
なお本実施例では、モデル情報の「ノート」に記載する注釈を、その記載方法でソースコードの「コメント」として生成するものとしないもののいずれかとして指定することにより、選択的にソースコードの「コメント」を生成する構成としたが、逆にソースコードの「コメント」に記載する注釈を、その記載方法でモデル情報の「ノート」として生成するものとしないもののいずれかとして指定することにより、選択的にモデル情報の「ノート」を生成するモデルコンパイル手段をもつ構成のモデリング装置も可能である。
【実施例４】
【００５４】
以下本発明の他の一実施例の動作を図１、図１０、図１１で説明する。
【００５５】
図１は先の実施例と類似の構成をもつモデリング装置、図１０は本実施例のモデリング装置１０１が取得可能なソースコードの例、図１１は本実施例のモデリング装置１０１が生成可能なモデル情報の例である。
【００５６】
図１において、１１４は、ソースコードをプログラミング言語に則って解析するソースコード解析手段、１１２はソースコード解析手段の解析結果に基づいてモデル情報を生成するモデル生成手段である。図１の他の構成手段に関しては先の実施例の対応する機能と同等の機能をもつものとする。
【００５７】
図１０は本実施例のモデリング装置が取得可能なソースコードの例を示す図である。図１０において１０４０、１０５０は「クラス」を定義するソースコードを示す。
【００５８】
図１１は本実施例のモデリング手段で作成するモデル情報の例を示す図である。図１１において１１０１はモデル情報全体を示すもので、本実施例ではクラス図を示す。１１０２・１１０８はモデル要素である「クラス」、１１１２はモデル要素である「ノート」を示す。
【００５９】
以下本実施例の動作を図１、図１０、図１１を用いて説明する。図１において、モデルコンパイル手段１０４はＧＵＩ制御手段１０５を用いて、モデリング装置に取り込むソースコード１０４０・１０５０を指定する。
【００６０】
コメント解析手段１１６は、ソースコード解析手段１１４が提供するソースコード１１８をプログラミング言語の文法に則って「クラス」・「コメント」など個々の要素に分類したソースコード解析結果を用いて、ソースコードの要素のなかから「コメント」と該当する「コメント」が対象とする「クラス」および「クラス」に含まれる属性を取得する。
【００６１】
ノート生成手段１１３はコメント解析手段１１６が選別したソースコード１１８に含まれる要素である「コメント」を取得し、個々の「コメント」をモデル記述言語の文法に則った「ノート」記述に変換する。変換方法としては「コメント」に記載されている文字情報である注釈を抽出、特定の「クラス」に関連する注釈を統合し、この注釈をモデル記述言語の「ノート」記法に従ったモデル情報として該当する「クラス」との関連付けをおこない生成する。
【００６２】
ソースコード解析手段１１４は、ソースコード１０４０のクラス情報１００１、１００２、１００３、１００４、１００５、１０１１、操作情報１００７、属性情報１００８、１００９、１０１０を解析により取得する。ソースコード解析手段１１４は同様にソースコード１０５０のクラス情報１０２１、１０２２、１０２３、１０２４、１０２５、１０２６、１０３１、操作情報１０２７、属性情報１０３０を解析により取得する。更にソースコード解析手段１１４の注釈ソース解析手段１１６（コメント解析手段と記載）はコメント１０２０・１０２９を解析により取得し、同じ「クラス」に属するコメントを１つの注釈として統合する。
【００６３】
なお、本実施例においてはコメント解析手段１１６で「コメント」を統合する際に、統合元のモデル・モデル要素が識別可能な情報を付加している。付加した情報は図１１のノート要素１１１２において、「ClassB:」(１行目)および「attributeB1:」(５行目)となる。
【００６４】
モデル生成手段１１２はソースコード１０４０を解析した結果であるクラス情報から、モデル情報１１０１のクラス情報１１０２、１１０３を生成する。同様にソースコード１０４０の属性情報からもモデル情報１１０１の属性情報１１０４、１１０５、ソースコード１０４０の操作情報からモデル情報１１０１の操作情報１１０６を生成する。同様にソースコード１０５０を解析した結果であるクラス情報からモデル情報のクラス情報１１０８、１１０９を生成する。同様にソースコード１０５０の属性情報からモデル情報１１０１の属性情報１１１０、ソースコード１０５０の操作情報からモデル情報１１０１の操作情報１１１１を生成する。
【００６５】
さらにモデル生成手段１１２の注釈モデル生成手段１１３（ノート生成手段と記載）は、コメント解析手段１１６の解析結果から、モデル情報のノート要素１１１２、ノート要素とクラス間の関係を規定するリンク情報１１１３を生成する。
【００６６】
以上、本実施例によればソースコードの「コメント」として記載した注釈を、同じモデル要素に関する注釈を統合したモデル情報の「ノート」として生成可能となり、モデル情報とソースコードで共有する注釈を柔軟に指定可能となり、モデリング装置の使い勝手が向上する。
【００６７】
以上の各実施例のモデリング装置では、モデル情報としてＵＭＬのクラス図を使用したが、モデル情報はＵＭＬで記載可能なシーケンス図など他のモデル情報、あるいは状態遷移表などＵＭＬ以外のモデリング言語で定義されるモデル情報でもよく、モデリング装置が利用するモデリング言語に関しては特にこれを限定しない。
【００６８】
また以上の各実施例のモデリング装置では、ソースコードを生成するプログラミング言語としてＣ＋＋を想定したが、Ｃ／Ｊａｖａ（登録商標）など他のプログラミング言語で規定されるソースコードを生成するモデリング装置も可能であり、プログラミング言語は特にこれを限定しない。
【００６９】
また以上の各実施例ではモデル情報をモデリング装置を用いて作成する構成としたが、作成済みのモデル情報をモデリング装置に取り込んで利用する構成も可能であり、モデル情報の作成方法は特にこれを限定しない。
【００７０】
また以上の各実施例では、ソースコードをモデリング装置が毎回新たに生成する構成としたが、既にあるソースコードにモデル情報から生成されるソースコードを追記など反映する構成も可能であり、ソースコード情報の生成方法は特にこれを限定しない。
【００７１】
本発明の注釈モデル解析手段、注釈ソース解析手段、注釈モデル生成手段および注釈ソース生成手段をもつモデルコンパイル手段により、モデル情報として記述された注釈をソースコードとして利用可能となる。またソースコード情報として記述された注釈をモデル情報として利用可能となる。
【００７２】
以上本発明により、注釈の情報をモデル・ソースコード間で流用可能となることで、モデル設計時に記載した注釈をソースコードから参照可能となる。
【符号の説明】
【００７３】
１０１  モデリング装置
１０２  モデル情報管理手段
１０３  モデル表示編集手段
１０４  モデルコンパイル手段
１０７  モデル解析手段
１０８  クラス解析手段
１０９  ノート解析手段
１１０  ソースコード生成手段
１１１  コメント生成手段
１１２  モデル生成手段
１１３  ノート生成手段
１１４  ソースコード解析手段
１１６  コメント解析手段
【図１】
2011034419.tif 000003
【図２】
2011034419.tif 000004
【図３】
2011034419.tif 000005
【図４】
2011034419.tif 000006
【図５】
2011034419.tif 000007
【図６】
2011034419.tif 000008
【図７】
2011034419.tif 000009
【図８】
2011034419.tif 000010
【図９】
2011034419.tif 000011
【図１０】
2011034419.tif 000012
【図１１】
2011034419.tif 000013