"XMI形式で表現された仕様情報を、データと、そのデータが受ける制約の名称と、その制約の内容を表す参照データとの関連づけによって記述する形式仕様表現の仕様情報に変換する仕様作成支援装置であって、XMI形式の仕様情報を読み込む読込手段と、XMI形式の仕様情報における、属性情報と子要素の関係に基づいて、XMI形式における構造を保ったまま前記形式仕様表現に変換した表現である機械的変換仕様情報に変換するXMI変換手段と、前記形式仕様表現の仕様情報のテンプレートと、前記機械的変換仕様情報におけるデータの値を前記テンプレートのいずれの部分に代入するかを記述した変換ルールとを記憶した記憶する記憶手段と、前記仕様情報のテンプレートと前記変換ルールとに基づいて、前記機械的変換仕様情報を形式仕様表現の仕様情報に変換するモデル図変換手段と、を備える仕様作成支援装置。前記テンプレートおよび前記変換ルールのいずれもが、前記形式仕様表現の仕様情報として記述されている、請求項1に記載の仕様作成支援装置。前記XMI変換手段は、XMI形式の仕様情報におけるタグ要素の属性情報を、タグ要素を表すデータに対する制約属性の参照データに変換し、XMI形式の仕様情報におけるタグ要素の子要素を、タグ要素を表すデータに対する制約構成の参照データに変換し、各タグ要素について再帰的に、属性情報と子要素の変換を実行する、請求項1または2に記載の仕様作成支援装置。前記仕様情報のテンプレートは、データ毎に取り得る制約の候補および、制約毎に取り得る参照データの候補を記述したものである、請求項1~3のいずれかに記載の仕様作成支援装置。前記変換ルールは、変換対象とする機械的変換仕様情報におけるデータを、前記テンプレートにおける制約の候補または参照データの候補のいずれに対応付けるかを記述しており、前記モデル図変換手段は、前記変換ルールにおいて変換対象として記述された前記機械的変換仕様情報におけるデータの制約値の参照データが、前記テンプレートにおける制約の候補または参照データの候補と一致する場合に、前記制約値の参照データを前記制約または参照データとして形式仕様表現の仕様情報に変換する、請求項4に記載の仕様作成支援装置。XMI形式で表現された仕様情報を、データと、そのデータが受ける制約の名称と、その制約の内容を表す参照データとの関連づけによって記述する形式仕様表現の仕様情報に変換する仕様作成支援方法であって、変換の最終結果である前記形式仕様表現の仕様情報のテンプレートと、変換の途中結果である機械的変換仕様情報におけるデータの値を前記テンプレートのいずれの部分に代入するかを記述した変換ルールとを記憶した記憶する記憶手段を有するコンピュータが、XMI形式の仕様情報を読み込む読込工程と、XMI形式の仕様情報における、属性情報と子要素の関係に基づいて、XMI形式における構造を保ったまま前記形式仕様表現に変換した表現である機械的変換仕様情報に変換するXMI変換工程と、前記仕様情報のテンプレートと前記変換ルールとに基づいて、前記機械的変換仕様情報を形式仕様表現の仕様情報に変換するモデル図変換工程と、を実行する、仕様作成支援方法。前記テンプレートおよび前記変換ルールのいずれもが、前記形式仕様表現の仕様情報として記述されている、請求項6に記載の仕様作成支援方法。前記XMI変換工程では、XMI形式の仕様情報におけるタグ要素の属性情報を、タグ要素を表すデータに対する制約属性の参照データに変換し、XMI形式の採用上におけるタグ要素の子要素を、タグ要素を表すデータに対する制約構成の参照データに変換し、各タグ要素について再帰的に、属性情報と子要素の変換を実行する、請求項6または7に記載の仕様作成支援方法。前記仕様情報のテンプレートは、データ毎に取り得る制約の候補および、制約毎に取り得る参照データの候補を記述したものである、請求項6~8のいずれかに記載の仕様作成支援方法。前記変換ルールは、変換対象とする機械的変換仕様情報におけるデータを、前記テンプレートにおける制約の候補または参照データの候補のいずれに対応付けるかを記述しており、前記モデル図変換工程では、前記変換ルールにおいて変換対象として記述された機械的変換仕様情報におけるデータの制約値の参照データが、前記テンプレートにおける制約の候補または参照データの候補と一致する場合に、前記制約値の参照データを前記制約または参照データとして形式仕様表現の仕様情報に変換する、請求項9に記載の仕様作成支援方法。ここで、UML表現と新形式仕様表現との間でフォーマット変換を行う際に、UMLXMIで表現された構造をそのまま取り込むのではなく、設計情報として重要な意味を持つ項目の抽出に重点を置いた変換を行うことが、設計情報の見やすさの観点から好ましい。そこで、本発明では、XMI表現からデータを取り込む際に、ユーザが設定した項目を重点的に抽出し適切な構造として取り込むことを可能とする技術を提供することを目的とする。上記の課題を解決するために、本発明に係る仕様作成支援装置は、XMI形式で表現された仕様情報を、データと、そのデータが受ける制約の名称と、その制約の内容を表す参照データとの関連づけによって記述する形式仕様表現の仕様情報に変換する仕様作成支援装置であって、XMI形式の仕様情報を読み込む読込手段と、XMI形式の仕様情報における、属性情報と子要素の関係に基づいて、XMI形式における構造を保ったまま前記形式仕様表現に変換した表現である機械的変換仕様情報機械的変換結果に変換するXMI変換手段と、前記形式仕様表現の仕様情報のテンプレート類型と、前記機械的変換仕様情報におけるデータの値を前記テンプレートのいずれの部分に代入するかを記述した変換ルールとを記憶した記憶する記憶手段と、前記仕様情報のテンプレートと前記変換ルールとに基づいて、前記機械的変換仕様情報を形式仕様表現の仕様情報に変換するモデル図変換手段と、を備える。このように、XMI形式の仕様情報をまずXMI形式の構造を保ったまま機械的に形式仕様表現に取り込み、そこからテンプレートと変換ルールを用いて最終的な形式仕様表現の仕様情報へと変換することで、ユーザが設定した項目のみを取り出すことができる。また、変換結果もテンプレートによって定義された構造となるため、ユーザにとって見やすい仕様情報を作成することができる。本発明において、前記テンプレートおよび前記変換ルールのいずれもが、前記形式仕様表現の仕様情報として記述されている、ことも好ましい。このように、テンプレートや変換ルールを形式仕様表現の仕様情報として記述することで、テンプレートや変換ルールを機械的変換仕様情報と統一的な方法により取り扱うことができる。また、本発明において、前記XMI変換手段は、XMI形式の仕様情報におけるタグ要素の属性情報を、タグ要素を表すデータに対する制約属性の参照データに変換し、XMI形式の仕様情報におけるタグ要素の子要素を、タグ要素を表すデータに対する制約構成の参照データに変換し、各タグ要素について再帰的に、属性情報と子要素の変換を実行する、ことも好ましい。このような変換を行うことで、XMI形式の仕様情報を、その構造をそのままに保ちつつ形式仕様表現の仕様情報機械的変換仕様情報に変換することができる。また、本発明において、前記仕様情報のテンプレートは、データ毎に取り得る制約の候補および、制約毎に取り得る参照データの候補を記述したものである、ことが好ましい。また、本発明において、前記変換ルールは、変換対象とする機械的変換仕様情報におけるデータを、前記テンプレートにおける制約の候補または参照データの候補のいずれに対応付けるかを記述しており、前記モデル図変換手段は、前記変換ルールにおいて変換対象として記述された機械的変換仕様情報におけるデータの制約値の参照データが、前記テンプレートにおける制約の候補または参照データの候補と一致する場合に、前記制約値の参照データを前記制約または参照データとして形式仕様表現の仕様情報に変換する、ことも好ましい。このように、変換ルールを定義することで、XMI形式の仕様情報における任意のデータを、テンプレートにおける任意の位置に配置して変換することができる。テンプレートと変換ルールを、変換対象のXMI形式の仕様情報に応じて設計することで、このXMI形式の仕様情報のうち、設計情報や仕様情報として重要な意味を持つ要素のみを取り出して形式仕様表現に変換することができる。本発明は、上記手段の少なくとも一部を含む仕様作成支援装置として捉えることができる。また、これらの処理を行う仕様作成支援方法、さらには、これらの方法をコンピュータにおいて実現するためのプログラムとして捉えることもできる。上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。本発明によれば、XMI表現の仕様情報を取り込んで形式仕様表現に変換する際に、ユーザが設定した項目を重点的に抽出して、適切な構造の形式仕様表現とすることが可能となる。<1.形式表現>1-1作図要素まず初めに本発明者らが開発を進めている新しい形式表現手法について説明する。本形式表現は、作成や理解を容易とするために図形として表現される。形式仕様記述図で用いられる図形要素は、データ、制約ラベル、制約線、参照線の4つである。本形式仕様記述では、データと、そのデータが受ける制約の名称と、その制約の内容を表す参照データの関連づけによって仕様情報が記述される。データデータは、状態条件処理などを表す数値文字記号である。形式仕様記述図では、データは図1Aに示すようにデータ名が内部に書かれた実線の矩形として表現される。データとデータは下記の制約を介して接続される。制約制約は、あるデータに対して説明する視点を与え、その視点で見た場合の具体的な内容として別データを参照する。形式仕様記述図では、制約は図1Bに示すように制約名が内部に書かれた角括弧として表現される。制約線制約線は、データと、そのデータに付加される制約とを結ぶものである。形式仕様記述図では、制約線は図1Cに示すように実線の矢印として表現される。矢印側にはデータが接続され、矢印のない方に制約が接続される。参照線参照線は、制約と、その制約の内容であるデータとを結ぶものである。形式仕様記述図では、参照線は図1Dに示すように実線として表現される。図2は本形式表現によって表した仕様の例である。ここでは、車載カメラ映像処理の仕様を定義している。ここでは、車載カメラで映像を撮影し、輪郭を抽出して元の画像に合成して表示する処理を想定している。この車載カメラ映像処理は、その構成として、カメラ輪郭抽出輪郭合成モニタを有することが表現されている。また、カメラは、結果としてカメラ画像を出力し、その処理時間がX秒であることが表現されている。また、このカメラ画像の画像形式はVGAカラーであることが表現されている。さらに、輪郭抽出輪郭合成モニタについてもカメラと同様の仕様が表現されている。また、車載カメラ映像処理の総処理時間が、カメラ撮像輪郭抽出輪郭合成モニタ表示の各処理時間の合計として表される時間であり、その上限がT秒であることが表現されている。このように、本形式表現手法では、機能要件入力や出力の型や値の範囲などと非機能要件処理時間、製造コストなどの両方を統一的に記述することができる。仕様の検証においては、各データの型や値の範囲が定義を満たすか否か、データ間の接続が適切であるかという側面から、機能要件の検証が行える。また、非機能要件についても同様にデータと制約の形で表されているため、制約を充足するか否かを判定することで、非機能要件の検証が行える。1-2データ構造上記の形式表現形式記述図をコンピュータ上で表現するために、以下のデータ構造で形式記述図を表現する。形式記述図のデータ表現を種々の手法が考えられるが、ここではXML形式にて表現する例を説明する。形式記述図の1つが、図3に示されるようなXMLファイルとして保存される。1行目はXMLに基づくファイルであることを示すためにが記述される。このタグの属性にはフォーマットバージョンが記述される。3行目以降には、図の書式設定部と作図データの2つの構造の領域に分けて情報が記述される。図の書式設定部には、印刷設定、作図画面の設定、各作図要素のデフォルト設定などが記述される。印刷設定は、例えば、用紙サイズ、向き、上下左右のマージンなどである。作図画面の設定は、編集領域のサイズや、編集ツールで開いたときに画面に表示される領域などである。各作図要素のデフォルト設定は、データ制約等のそれぞれについての、背景色、線の色、線幅などのデフォルト値である。作図データ部の記述例を、図4A~図4Dにデータ制約制約線参照線それぞれについて示した。データは、項目名dataとして表現され、属性として管理用の通し番号idと使用する類型templateが記述される。なお、類型については後述する。要素dataの子要素として、データ名称name、背景色bgColor、線色fgColor、線幅lineThickness、図中の座標position、シンボルのサイズsizeなどが記述される。制約は、項目名constraintとして表現され、属性として管理用の通し番号idが記述される。要素constraintの子要素として、データ名称name、背景色bgColor、線色fgColor、線幅lineThickness、図中の座標position、シンボルのサイズsizeなどが記述される。制約線は、項目名constraintRelationとして表現され、属性として管理用の通し番号id、接続するデータシンボルのIDendsymbol、接続する制約シンボルのIDstartsymbolが記述される。要素constraintRelationの子要素として、線色fgColor、線幅lineThickness、図中の位置startpositionpositionendpositionなどが記述される。図中の位置については、始点と終点は必須であり、折れ点がある場合には折れ点の数だけタグpositionが記述されるものとする。参照線は、項目名referenceRelationとして表現され、属性として管理用の通し番号id、接続するデータシンボルのIDstartsymbol、接続する制約シンボルのIDendsymbolが記述される。要素referenceRelationの子要素として、線色fgColor、線幅lineThickness、図中の位置startpositionpositionendpositionなどが記述される。図中の位置については、始点と終点は必須であり、折れ点がある場合には折れ点の数だけタグpositionが記述されるものとする。ここで各項目の子要素としては挙げたものは例示であってその他の要素を含んでも良い。また、図の書式設定部に記載されたデフォルト値を採用する項目については、ここでの記述を省略してもかまわない。また、個々で紹介したXML表現は一例であり、同様の情報を異なる形式でも表現してもかまわない。1-3作図方法形式仕様記述の作成は、ユーザが編集ツール上で作図を行うことにより行われる。このような編集ツール作図ツールは一般的なものであり、画面上での作図を上記のデータ構造へ変換することは当業者であれば容易に実装することができる。<2.類型および類型定義>2-1類型類型テンプレートとは、データと制約の組合せを単一の表現にまとめたものである。以下、類型およびその定義方法について、簡単な例を参照して説明する。図5には、撮影データと写真データという類似のデータ構造が形式仕様記述図として表されている。撮影データと写真データのいずれもが画像であることから、幅高さ色という属性制約を有する。したがって、制約として幅高さ色を1つずつ有し、各制約の参照データには任意の記述が可能な、類型画像というものを定義することが考えられる。また、制約の参照データとしてある定められたデータをとる必要がある場合には、このような関係も類型に定義することができる。なお、後述するように、類型に含まれる制約に多重度を設定したり、参照データの候補を設定したりするようにしても良い。このような類型を導入することにより、例えば、以下のような利点を得ることができる。第1に、あるデータについて類型を適用することで、類型に定義されたデータや制約を自動的に作成したり、あるいは、必要なデータや制約をユーザに選択させたりといった、形式仕様記述の作成支援が可能となる。第2に、複数人で仕様や設計を形式仕様記述で記述する際に、類似の構造について同一の構造として統一的に記述することが可能となる。第3に、UMLツール等で作成されたクラス図や状態機械図やアクティビティ図のモデル図を形式仕様記述図に変換することが可能となる。このUML図からの変換については、類型について説明した後に詳しく説明する。2-2類型定義類型の定義は、任意の表現が可能であるが、ここでは形式仕様記述を用いて記述する方式を採用する。類型定義では、形式仕様記述のデータと制約の関係性、制約と参照データの関係性、更に制約や参照データに対する条件の指定について、制約を用いて記述する。このような制約を総称してメタ制約と呼ぶ。形式仕様記述と類型定義の関係を図6に示す。形式仕様記述におけるデータと制約の関係は、類型定義のメタ制約を用いて、図中の定義aの形で定義する。形式仕様記述のデータが類型定義のデータに、形式仕様記述の制約が類型定義の制約を示すデータに対応する。同様に、形式仕様記述の制約と参照データの関係もメタ制約を用いて、図中の定義bの形で定義する。形式仕様記述の制約が類型定義の制約を示すデータに、形式仕様記述の参照データが類型定義の参照データに対応する。このような基本構造を繰り返す形で類型を定義できる。繰り返す際には、参照データが次の繰り返しのデータになる。さらに、類型定義におけるデータ、制約を示すデータ、参照データに対して、メタ制約を用いて条件を示すデータを定義することができる。このような類型定義を図7に示す。図中の定義cのように、データに対する条件をメタ制約とデータの条件を示すデータで定義する。同様に、図中の定義dのように、制約を示すデータに対する条件をメタ制約と制約の条件を示すデータで定義する。同様に、図中の定義eのように、参照データに対する条件をメタ制約と参照データの条件を示すデータで定義する。このように定義することで、今後類型を拡張する場合にも、新たな位置づけのメタ制約を追加する形で容易に拡張が行える。図8に具体的な例として、クラスの構造を類型化した類型定義を示す。なお、ここでは同じ記述の重複を避けるためにクラス以外の構造も類型として定義して使用している。クラスの類型定義において参照した類型定義を図9に示す。なお、このように他の類型定義を参照して定義した類型定義のことを、構造化した類型定義と称する。図8を参照すると、データクラスは制約として属性と操作を持ちうることが示される。制約属性は0個以上の多重度を有する、すなわち、0個以上の制約属性の参照データがデータクラスに関連づけられることが示されている。また、制約属性の参照データのデータ名は任意である。また、この参照データは、可視属性と、1つの型を制約として有する。ここでの可視属性は図9に示した類型定義可視属性を参照した複製データである。複製データとは、このデータが他の類型定義に定義されていることを示すデータである。ここでは、複製データを類型定義可視属性で置き換えたものと同等の意味を成す。制約操作は0個以上の多重度を有する、すなわち、0個以上の制約操作の参照データがデータクラスに関連づけられることが示されている。また、制約操作の参照データのデータ名は任意のものとコンストラクタおよびデストラクタを取り得ることを示している。任意の参照データは多重度が0個以上であり、制約候補として可視属性、戻り値多重度1、引数多重度0以上を有する。また、コンストラクタの制約候補は可視属性と戻り値のみであることが示されている。また、デストラクタの制約候補は可視属性のみであることが示されている。このような類型定義を用いることで、あるデータに類型定義を適用して自動または半自動的に形式仕様記述が行えるようにできる。たとえば、形式仕様記述図の編集ツール上で、あるデータに類型引数図9を適用した場合には、制約としてインスタンスまたはポインタのいずれか一方のみを選択可能なように表示される。ここで制約としてインスタンスを選択した場合には参照データとしてintcharfloatのいずれか1つを選択できるように表示される。一方制約としてポインタを選択した場合には参照データとしてvoidintcharfloatのいずれか1つを選択できるように表示される。このように、類型を適用することで、選択可能な制約やデータ名などが構造や多重度が考慮されてユーザに提示されるので、形式仕様記述図を作成するユーザの負担が軽減される。さらに複数人の間で同様の構造で形式仕様記述図が作成できる。また、あるデータに類型を適用して形式仕様記述図を作成した場合に、その図が類型定義で表される通りの記述となっているかを、検証することもできる。したがって、作成した形式仕様記述図の構造が適切であるか検証することができる。2-3類型定義の作成方法類型定義自体も形式仕様表現により表現されるため、形式仕様記述図の作成と同様に編集ツール上で一から作図して作ることができる。別の方法として、既存の形式仕様記述図から類型定義のひな形を作成するようにしても良い。たとえば、図10Aに示すような形式仕様記述図があった場合に、データsetAge以外の範囲点線内部など所望の範囲を選択して類型の自動作成処理を行うことができる。変換後の類型定義を図10Bに示す。この類型の自動作成処理では、メタ制約として制約候補とデータ候補のみを使用して類型定義に変換する。すなわち、データと制約の関係を、データとこのデータに対する制約制約候補の参照データの関係に変換する。同様に、制約と参照データの関係を、制約とこの制約に対する制約データ候補の参照データの関係に変換する。類型の定義に条件やその他の制約候補、データ候補を加えるなどの編集を行いたい場合には、自動で作成された類型定義を手動で編集すればよい。このようにすれば、類型定義の作成の手間が省ける。<3.UML変換機能>上述のように、本形式仕様表現は機能要求と非機能要求の両方を統一的に記述できる。ここで、従来より機能要求についての設計はUML関連のツールによってされている。したがって、他の設計ツールを用いて作成されたUML図を、本形式仕様表現に自動的に変換すると既存の設計情報を有効活用できる。本実施形態では、UML作図ツールが出力したXMI形式のファイルを入力として変換を行う。XMI形式から本形式仕様記述への変換は、XMI記述の構文構造をそのままに保ちつつ機械的に本形式仕様記述へと変換するXMI変換と、UML図の各要素の意味を考慮した変換を行うモデル図変換の2通りの変換を用いて段階的に行う。このように2つの機能に分けることで、XMI変換機能だけを適用したり、モデル図変換機能だけを適用したりすることも可能としている。ここでは、XMI形式のUML図から本形式仕様記述へ変換することを述べたが、逆に本形式仕様記述からUML図への変換も可能とする。なお、UML図への変換においては、本ツール側ではXMI形式への変換のみを行い、XMIからUML図への変換についてはUML図の作成ツールに行わせることを想定する。3-1対象とするXMI変換対象としてXMIのバージョンに制限は設けない。また、変換範囲はXMIファイルの記述内容のうち、タグの子要素のみとする。ただし、子要素の記述であってもXMI出力ツールの拡張記述であるタグ以下は対象外とする。モデル図変換を行う場合に、元にしたXMIのバージョンの違いを意識した変換ルールを定義することで、XMIの各バージョンに対応した変換を行う。3-2XMI変換機能まず、XMI形式から、本形式仕様記述へ機械的に変換を行う機能XMI変換機能について説明する。XMI形式のファイルは、種々の情報が要素に対する属性情報または子要素の関係で構造的に表現されている。XMI変換機能では、このXMI形式における構造をそのままの形で全て形式仕様へと変換する。XMI変換では、XMI形式ファイルのタグ内の子要素を処理の対象とする。まず最初のタグについて、タグ名を名称とするデータ以下、このデータをタグ名データと称するを作成する。また、このタグの、属性情報と子要素を抽出する。そして、属性情報は制約属性の参照データに変換し、子要素はタグ名データに対する制約構成の参照データに変換する。なお、ここで、1つのタグ名データに対しては、制約属性および構成はいずれも1つのみとして、タグに複数の属性情報や子要素がある場合には、全て同じ制約の参照データとする。また、制約属性の参照データは属性名とし、属性値は属性名に対する制約値の参照データとして変換する。また、子要素については、タグ毎に再帰的に上記の変換を行うことで全体の構造が本形式仕様記述図に変換することができる。XMI変換の例を図11に示す。図11Aは変換対象のXMIデータであり、図11BはXMI変換後の形式仕様記述である。タグ内のタグpackagedElementを名称とするデータpackagedElementが作成され、その属性情報であるnameクラスとxmitypeclassが、このデータの制約属性の参照データに変換されている。なお、制約属性の直接の参照データはnameとxmitypeであり、これらに対する制約値としてクラスumlClassがそれぞれ割り当てられる。また、タグpackagedElementの子要素であるownedAttributeとownedOperationがそれぞれ、データpackagedElementの制約構成の参照データに変換されている。子要素ownedAttributeの属性情報と子要素については、再帰的処理により同様に制約属性と制約構成として記述されることになる。3-3モデル図変換機能次に、上記のようにして機械的に変換された形式仕様記述から、各データの意味を踏まえて行う変換モデル図変換について説明する。ここでは、機械的に変換された形式仕様記述図から、仕様や設計情報として必要なもののみを抜き出して変換された形式仕様記述図のことをモデル図と称し、機械的に変換された形式仕様記述図からモデル図へ変換することをモデル図変換と称する。モデル図変換を行う際には、変換元のUML図等に応じて変換ルールをあらかじめ定めておく必要がある。実際にモデル図変換は、この変換ルールに基づいて自動的に行われる。変換ルールは、以下の3つの形式仕様記述図によって表される。1.モデル図用類型の定義モデル図用類型は、変換結果であるモデル図に適用される類型定義である。モデル図に適用する類型は、新たに作成するか作成済みの類型から選択する。類型および類型定義については既に述べたのでここでは説明は省略する。例えば、クラス図を変換する場合には、図8に示したようなクラス図の類型が用いられる。2.機械的記述類型パターンの定義UML図を示すXMIファイルの機械的変換を行った結果の形式仕様記述図に含まれる各種制約または参照データに着目し、その中から仕様設計情報として意味を持つ要素を抜き出して、類型として定義する。この類型定義を機械的記述類型パターンと称する。すなわち、機械的記述類型パターンは、機械的変換結果におけるデータを、モデル図用類型における制約候補またはデータ候補のいずれに対応付けて変換するかを示した変換ルールの定義である。なお、1つのUML図を1つの類型で定義する必要はなく、複数の機械的記述類型パターンで定義してもよい。たとえば、クラス図を、クラスシンボルのようなデータ構造を示す機械的記述類型パターンと、依存関係を示す機械的記述類型パターンに分けて定義することができる。機械的記述類型パターンの例を図12Cに示す。この機械的記述類型パターンは以下のように記述される。類型パターンの名称を示すデータ以下、類型名データと称するを付ける。類型名に制約対象として、変換対象を判断するための機械的変換結果の出力パターンを記述する。類型名に制約構成として、変換範囲のデータを定義する。機械的変換結果の制約構成属性両方の参照データをこの定義として使用できる。変換範囲の各末端要素に制約変換としてモデル図用類型の該当箇所を記述する。変換ルールの多重度のデフォルト値は1とする。3.類型の関連づけ上記1,2で作成または選択した機械的記述類型パターンとモデル図用類型を制約同意で結び、形式仕様記述図を作成する。また、機械的記述類型パターンの終端データ制約が付いていないデータをモデル図用類型のどの位置のデータとして変換するかを示す、変換ルールを機械的記述類型パターンに追加する。ここで、変換ルールの定義には、クラス定義などデータ構造を変換するためのルールと、関連線のように2つのデータの関係情報を変換するためのルールの、大きく分けて2通りの定義がある。以下、それぞれについて説明する。Aデータ構造の変換ルールデータ構造の変換においては、機械的記述類型パターンの各構成要素に、変換先のモデル図用類型のどの要素に関連づけるかを、制約変換を用いて記述することで行う。制約変換の参照データには、制約同意により変換ルールと関連づけを行った類型の定義中の対応するデータを、そのデータの複製データを用いて記述する。制約変換の参照データとして指定できるデータは、類型定義において制約を規定しているデータつまり、制約制約候補の参照データのみとする。データ構造変換における変換処理の概要について図12を参照して説明する。図12AはXMI変換による変換結果機械的変換結果であり、モデル図変換の変換元図である。図12Bは、変換後の構造を示す類型モデル図用類型である。図12Cは、変換ルール記述機械的記述類型パターンに変換ルールを追記した例である。なお、これらの図は説明のために一部分を抜き出したものである。図12Dは、機械的変換結果をモデル図用類型を用いて変換することを表す記述である。この変換ルールに基づいた変換処理の実装では、制約変換により制約を受けるデータnameより正確にはpackageElementの属性であるname1209が示す変換元図機械的変換結果のデータname1201に付けられた制約値の参照データargint1202を取得する。そして、変換ルールにおける制約変換の参照データここでは属性1210として記述している類型定義データここでは属性1205に付けられた制約データ候補の値1206とみなして変換する。制約データ候補の参照データが任意である場合には、すべてのデータが変換対象となるが、データ任意が規定されていない場合は、データ候補として記述されているデータのいずれかと一致する場合のみ変換を実行する。ここでは、属性visibiity1211の変換においては、類型定義においてデータ候補としてprivatepublicが規定されているが、機械的変換結果においてvisibility1203の値はpublic1204で類型定義におけるデータ候補と一致するため変換の対象となる。Bデータの関係情報の変換ルール関連線はUML図においては2つのシンボル要素を接続するために用いられる。したがって、変換ルールにおいても、作成済みの2つのデータの関係を、関係種別に応じて制約で結びつける形へ変換を行うルールとして記述する。図13Aは、関係を定義する機械的類型パターンである。図13Bは、変換後の構造を示す類型モデル図用類型である。図13Cは、機械的変換結果をモデル図類型を用いて変換することを表す記述である。この変換は、データと参照データを制約で結びつけるという基本的な形式であり、関係情報の変換においては共通する類型である。図13Dは、変換結果の例である。なお、関係線の変換においては、データと参照データを制約で結びつけるという基本パターンへの変換であるため、制約同意を用いた類型同士の関連づけを行わずに定義可能であるが、ここでは制約同意を用いて関連づけを定義する場合を例として説明する。制約名の定義は類型に制約名称を用いて定義する。制約名称の参照データは複数記述しても良く、その場合は、それら複数のデータを:で接続したものを制約名とする。また、制約名称を省略可能とし、省略された場合に類型パターン名を制約としても良い。関連づけるデータは、XMIでは参照の形で記述されているため、変換した形式仕様記述においても、関連データの制約の中には直接関連づけているクラス等のオブジェクトの情報は直接記述されていない。そのため、関連情報の変換ルールとしては参照データのIDを示すデータidrefを用いて記述する。データの関係情報の変換における実装では、このIDを用いて機械的変換結果の形式仕様記述図全体から該当するオブジェクトを探し出し、該当するIDと同一のIDが制約属性の参照データxmiidrefとして定義されているデータpackagedElementであることが多いを探し出し、そのデータの属性あるいは構成から変換に必要なデータを取り出す。そして、これらの2つのデータの間を、制約名称で定義された制約名で関係づける。4実装4-1全体構成以下、本発明に係る仕様作成支援装置の構成例を図14を参照して説明する。図14に示すように、仕様作成支援装置1は、データの演算処理を行うデータ処理部11と、他の装置との通信を行う通信処理部12、演算処理のためのデータやソフトウェアを記憶する記憶部ハードディスク13、出力部14、入力部15を備えたコンピュータである。通信処理部12は、ネットワークやケーブル等の回線を介して他のコンピュータとの通信を行う。記憶部13は、オペレーティングシステムOSやアプリケーションプログラム仕様作成支援プログラムを記憶している。また、記憶部13は、その他のUML作図用ツールのプログラムを記憶していても良い。また、記憶部13は、作成された形式仕様記述図のデータや、UML図のデータ等も記憶している。入力部15は、データ処理部11へ情報を入力する手段であり、キーボードやマウスといったユーザインタフェースや、メモリカードやDVD-ROM等の記憶媒体から情報を読み取るデバイスを有する。出力部14は、データ処理部11の処理結果を出力する手段であり、処理結果等を表示する表示装置や、データを印刷するプリンタを有する。データ処理部11は、CPUやメインメモリを有し、OSやアプリケーションプログラムを記憶部13からメインメモリに読み出し、読み出したOSやアプリケーションプログラムにしたがって、CPUが演算処理を行う。この演算処理により、CPUは、作図ツール21、XMI読込部22、XMI変換部23、モデル図変換部24としても機能する。4-2作図ツール作図ツール21は、ユーザがキーボードやマウス等の入力装置から入力を行うによって、本発明の形式仕様記述図を作成するための機能部である。ユーザがデータや制約などを配置するための機能を選択し、画面上で適当で位置に配置し、名称をキーボードから入力することで、データや制約が配置できる。また、制約線や関連線を選択し、データ同士やデータと制約を選択することで、制約や関連としてこれらを結びつけることができる。入力された形式仕様記述図は、1-2のようなデータ構造に変換されて記憶部13に記憶される。なお、1-3で説明したように、作図ツール21を利用すれば、形式仕様記述図を作成できるだけでなく、類型定義も作成可能である。また、既存の形式仕様記述図を元に類型定義を作成することも可能である。同様に、作図ツール21を利用して、3-3で説明したモデル図変換における変換ルール機械的類型パターンや類型の関連づけを作成することも可能である。4-3XMI読込部XMI読込部22は、UML作図ツール等で作成されたXMIファイルを読み込む機能部である。XMI読込部22は、ハードディスクに記憶されているXMIファイルを読み込んでも良いし、通信によって他のコンピュータから取得しても良いし、UML作成ツールとプログラムプロセス間でXMIファイルを取得しても良い。4-4XMI変換部機械的変換部XMI変換部23は、3-2で示したXMI変換機能を実行する機能部である。XMI読込部22から取得されたXMIファイルに対して、以下の図15に示される処理を施すことで、本発明の形式仕様記述図へと機械的に変換を行う。まず、XMI読込部22によって取得されたXMI形式のファイルを読み込んで、XMIのタグ内の子要素に対して以下の処理を行う。まず最初のタグについて、タグ名を名称とするデータ以下、このデータをタグ名データと称するを作成するS102。また、このタグの、属性と子要素を抽出するS104。タグの属性情報は、タグ名データに対する制約属性の参照データに変換するS106。ここで、1つのタグ名データに対して、制約属性は1つのみとして、タグに複数の属性値がある場合は、それらの属性を全て同じ制約属性の参照データとする。また、制約属性の参照データは属性名とし、属性値は属性名に対する制約値の参照データとして変換する。タグの子要素は、タグ名データに対する制約構成の参照データに変換するS108。ここで、1つのタグ名データに対して、制約構成は1つのみとして、タグに複数の子要素がある場合は、それらの子要素を全て同じ制約構成の参照データとする。さらに、子要素についてもタグ毎に、再帰的に上記のルールを適用して変換を行うS110。このような処理により、UML作図ツール等によって作成されたXMI形式のファイルから本形式仕様記述図への変換が可能となる。変換の例は、図11に示したとおりである。4-5モデル図変換部モデル図変換部24は、3-3で示したモデル図変換機能を実行する機能部である。XMI変換部23の出力結果である形式仕様記述図ここでは、変換元図とも称すると、記憶部23に格納されているモデル図用類型定義、機械的記述類型パターン変換ルールとを取得し、これらに基づいて各データの意味を踏まえて変換元図の変換を行う。モデル図変換部24が行う処理の大まかな流れは、図16に示すように、類型データの読込および関連づけS202を行い、変換元図から変換対象データを抽出するS204。そして、週出された変換対象データに対して、類型データに示されたようなデータ構造変換S206および関係定義変換S208を実施する。以下、それぞれの処理について図17~図20を参照して詳しく説明する。図17は、類型データの読込および関連づけ処理S202の内容をより詳しく表したフローチャートである。まず、記憶部13に記憶されている変換ルール定義類型を読み込むS202-1。そして、変換ルール定義類型に記載されている制約同意図12Dの参照データを探す。そして、探し出した参照データの名称と同じ名称のモデル図類型を探しS202-3、見つかった組合せを変換ルール-モデル図類型マッピングテーブルに登録するS202-4。なお、変換ルール-モデル図類型マッピングテーブルは記憶部13に格納される。そして、上記の処理を全ての変換ルールについて繰り返して実行しS202-5、マッピングテーブルを構築する。ステップS202-2~S202-4の処理を、図12および図13の例に基づいて説明する。まず、変換ルール類型機械的変換クラスにおける制約同意の参照データの名称クラスの類型が抽出されるS202-2。そして、これと同じ名称のモデル図類型クラスの類型図12Bが抽出されるS202-3。変換ルール-モデル図類型マッピングテーブルには、変換ルール類型機械的変換クラスとモデル図用類型クラスの類型が関連づけて記憶されるS202-4。また、図13の例では、変換ルール類型関係を示す類型と、制約同意の参照データ名称関係の類型と同じ名称のモデル図類型関係の類型が、マッピングテーブルに関連づけて記憶される。図18は、変換対象データの抽出処理S204の内容をより詳しく表しフローチャートである。まず、データ構造変換用および関係定義変換用の2種類の変換対象登録テーブルを記憶部13に用意するS204-1。これらのマッピングテーブルには、以降の処理で見つかった変換対象データと、そのデータの変換で使用する変換ルール類型のマッピング情報が登録される。ステップS202で読み込んだ各変換ルール類型から対象変換データ名制約対象の参照データを探し出し、変換元図からそのデータと同名のデータを全て抽出するS204-2。また、変換ルール類型から制約構成の記述を調べ、この変換ルールがデータ構造変換用のルールと、データとデータの関係定義クラス図の継承関係などの変換用のルールのいずれであるかを調べるS204-3。変換ルールがデータ構造変換用のルールである場合には、ステップS204-2で抽出したデータをデータ構造変換用の変換対象登録テーブルに登録し、変換ルールがデータ関係変換用のルールである場合には、抽出したデータを関係定義変換用の変換対象登録テーブルに登録するS204-4。ステップS204-2~S204-4の処理を、図12の例データ構造変換に基づいて説明する。まず、ステップS202で読み込んだ変換ルール類型機械的変換クラスから対象変換データ名図12Cでは、制約対象の参照データであるタグ名packagedElement、属性xmitypeumlClassを探し、変換元図図12Aから同名のデータpackagedElementを抽出するS204-2。また、変換ルール類型機械的変換クラスの制約構成の内容から、この変換ルールがデータ構造変換用ルールであることが判断されるS204-3。したがって、変換対象データであるpackagedElementをデータ構造変換用の変換対象登録テーブルに登録するS204-4。なお、変換対象packagedElementは、xmiidで識別することができる。また、ステップS204-2~S204-4の処理を、図13の例関係定義変換に基づいて説明する。ステップS202で読み込んだ変換ルール関係を示す類型から変換対象データ名図13Aにおける制約対象の参照データタグ名generalization属性xmitypeumlGeneralizationを探し、変換元図から同名のデータを抽出するS204-2。また、変換ルール類型関係を示す類型の制約構成の内容から、この変換ルールが関係定義変換用のルールであることが判断されるS204-3。したがって、変換対象データgeneralizationを関係定義変換用の変換対象登録テーブルに登録するS204-4。ここでも、変換対象はxmiidで識別することができる。図19は、データ構造変換処理S206の内容をより詳しく表したフローチャートである。ステップS204においてデータ構造変換用の変換対象登録テーブルに登録された変換対象ごとにこのフローチャート手順で変換を行って、結果をモデル図に追加する。ここでは、図12の具体例を参照しながら説明する。まず、データ構造変換用の変換対象登録テーブルから、変換対象データと変換ルール類型の組を1つ取り出すS206-1。図12の例では、ステップS204で変換対象データpackagedElementと変換ルール類型機械的変換クラスが対応付けられてデータ構造変換用の変換対象登録テーブルに登録されているので、これが取り出される。取り出した変換ルール類型から、作成するデータ構造の基点となるデータの名称および、XMIにてそのデータに割り当てられているIDxmiidを取り出すS206-2。ステップS206-2で取り出した名前で新しいデータを作成し、モデル図に追加するS206-3。このデータがモデル図類型の基点データとなる。図12Cの例では、基点となるデータの名称としてpackagedElementが取り出されて、データpackagedElementが基点となるデータとしてモデル図に追加される。また、XMIにてそのデータに割り当てられているID図12AではID属性は省略されているが取り出される。ステップS206-3で作成したデータシンボルと、ステップS206-2で取り出したIDの組をデータシンボル-データIDマッピングテーブルに登録するS206-4。このマッピングテーブルは、関係定義変換ステップS208にて使用される。ステップS202で作成した変換ルール-モデル図類型マッピングテーブルから、変換ルールに関連づけられているモデル図類型を取り出すS206-5。図12の例では、変換ルール機械的変換クラスに紐付けられているモデル図類型クラスの類型が取り出される。変換ルール類型の構成以下の部分から、変換元図のデータ構造と、モデル図類型のデータ位置との組合せを1つ取り出すS206-6。そして、取り出したデータ構造を元に、変換元図の該当箇所を探し出し、その値を取り出すS206-8。図12の例では、変換ルール図12Cの構成以下から、たとえば、データ構造ownedAttribute属性nameが取り出され、変換元図図12Aにおける対応する構造の値argintが取り出される。次に、ステップS206-6で取り出したモデル図類型のデータ位置を元に、作成するデータ位置を調べ、その位置に取得したデータ名称のデータまたは制約を作成するS206-9。図12の例では、取り出したデータ構造ownedAttribute属性nameは制約変換として属性が指定されているので、モデル図類型において作成するデータ位置は制約制約候補の参照データ属性がある位置であることが分かる。したがって、モデル図において、データownedAttributeに対して、制約属性を作成し、その参照データは変換元図において対応する値であるargintとする。ステップS206-6~S206-9の処理を、変換ルールにおける構成全てについて行うことで、1つの変換ルールに定義されたデータおよび制約の変換が全て行われることになる。図12に例では、データ構造ownedAttribute属性nameについての処理が終わったら、次にデータ構造ownedAttribute属性visibilityの処理が行われ、変換ルールにおける全ての変換が行われる。1つの変換対象について、複数の変換ルールを適用しても良いので、現在の変換対象に対してまだ処理を行っていない変換ルールがある場合には、その変換ルールについて上記の処理を繰り返すS206-10。なお、複数のルールを用いて変換する場合には、同一データを複数回変換することがあり得る。この場合は、変換する名称のデータが既に変換されている場合には、そのデータを共有する形で変換を行い、同じ名前のデータが変換後のモデル図に複数個現れないようにする。以上のようにして、1つの変換対象について、機械的変換結果変換元図からデータ構造の変換処理が完了する。変換対象登録テーブルに登録された全ての変換対象について上記の処理を行うことで、変換元図の全ての要素がモデル図に変換される。図20は、関係定義変換処理の内容をより詳しく表したフローチャートである。ステップS204において関係定義変換用の変換対象登録テーブルに登録された変換対象ごとにこのフローチャートの手順で変換を行って、結果をモデル図に追加する。ここでは、図13の具体例を参照しながら説明する。まず、関係定義変換用の変換対象登録テーブルから、変換対象データと変換ルール類型の組を1つ取り出すS208-1。図13の例では、変換対象データgeneralizationと変換ルール類型関係を示す類型が取り出される。次に、変換ルール類型から、関係におけるデータの役割となるデータを探すためのパターンを探すS208-2。また、変換ルール類型から、関係における参照データの役割となるデータを探すためのパターンを探すS208-3。ステップS208-2で見つかったパターンにマッチするデータ構造を変換対象データの制約以下の部分から探し、見つかったデータ構造からデータに相当するデータシンボルを示すIDを取り出す。同様に、ステップS208-3で見つかったパターンにマッチするデータ構造を変換対象データの制約以下の部分から探し、見つかったデータ構造から参照データに相当するデータシンボルを示すIDを取り出す。図13の例では、データの役割を探すためのパターンは構成データ1である実際にはデータ1に対して更に制約が加えられていても良い。そして、このパターンデータ1に対応するデータ構造を変換元図不図示から求め、そのデータシンボルIDを取得する。同様に、参照データの役割を探すためのパターンとして構成データ2が得られ、これに対応する変換元図におけるデータシンボルのIDを取得する。そして、ステップS206-4で作成したデータシンボル-データシンボルIDマッピングテーブルを用いて、ステップS208-4,5で見つけたIDに対応するモデル図上のデータを探し出すS208-6。変換ルール類型の制約名称の参照データを元に、変換元図から制約名を取り出す。ステップS208-6で見つけたデータと参照データをつなぐ制約を作成し、この制約の名称をステップS208-7で取り出した名前とする。1つの変換対象について、複数の変換ルールを適用しても良いので、現在の変換対象に対してまだ処理を行っていない変換対象がある場合には、その変換対象について上記の処理を繰り返す。以上のようにして、1つの変換対象について、機械的変換結果変換元図からデータ構造の変換処理が完了する。変換対象登録テーブルに登録された全ての変換対象について上記の処理を行うことで、変換元図の全ての要素がモデル図に変換される。4-6変換例以上のような変換によって、UML作図ツール等が出力するXMIから、データの意味などを考慮して表現された形式仕様記述図への変換の具体例を例示する。図21に変換元となるXMI表現を示す。このXMI表現を入力として、XMI変換部23によって図16に示したXMI変換機械的変換を行って得られる形式仕様記述を図22,23に示す。ここでは、一部の表現を省略して示している。各タグ要素について、属性情報については属性名=属性値の形式が属性属性名値属性値という形式に変換される。子要素について、制約構成の参照データに変換され、再帰的に制約属性構成が記述される。機械的変換では、このようにXMIにおける属性情報であるか子要素であるかという構造のみに着目して変換が行われるので、変換結果は膨大なものとなり、ユーザにとって必ずしも見やすいものではない。このような機械的変換結果は、設計情報仕様情報として意味を持つ項目の抽出に重点を置いて変換モデル図変換することで、設計情報を見やすくすることができる。図24は、モデル図変換の結果となる形式仕様記述図の類型モデル図類型である。ここでは、変換対象のXMIがクラス図を表したものであるために、クラス図を形式仕様記述図で表したときの類型を定義して使用している。なお、図24では、類型クラスの中で類型関数を参照しているため、類型関数についても図中に示している。図25は、モデル図変換におけるデータ構造変換ルール機械的記述類型を示す。ここでは、制約対象にpackageElement属性xmitype値umlClassが指定されているので、機械的変換結果における同様のデータ構造が変換対象であることが示されている。また、制約構成には、各データ構造が示す値を、モデル図類型におけるどの箇所に挿入するかが記述されている。ここでは、例えば、ownedAttributeの属性名nameがとる値属性値を、制約属性の参照データに変換することが、制約変換によって表されている。同様に、図26は、モデル図変換における関係定義変換ルールを示す。変換対象がgeneralization属性xmitype値umlGeneralizationと指定されている。ここでは制約の名称が省略されていることから、関係定義変換における制約の名称は類型名である継承が利用される。また、この制約継承のデータとなるデータ構造generalと参照データとなるデータ構造specificが定義されている。図27は、モデル図変換において、モデル図類型ここではクラスの形式仕様記述図を作成する際に、機械的変換クラスと継承の2つの変換ルールを利用することが表されている。図28は、図22,23に示す機械的変換結果である形式仕様記述図を入力として、図24~図27に示した定義にしたがって、上記で説明した図17~図20の処理モデル図変換を行った結果として得られる形式仕様記述図である。このように、設計情報仕様情報として重要なデータを抽出してモデル図類型の適切な箇所に配置することで、最終的に得られるモデル図は、ユーザにとって見やすいものとなる。<5.本実施形態の作用効果>以上のように、本実施形態によれば、機能要求と非機能要求を統一的に記述可能な新規な形式仕様記述表現において、既存のUMLツール等によって作成された機能要求を表す仕様情報を取り込んで利用することができる。この際、設計情報として重要な意味を持つ項目を抽出することができるので、ユーザにとって見やすい形式仕様記述図の作成が可能となる。<6.その他>なお、以上の説明では、主にクラス図を表したXMI表現を形式仕様記述図に変換する場合を例として説明しているが、上記の説明から明らかなように、作図用類型と変換ルールを適切に設定することでクラス図以外のXMI表現についても、その意味を考慮して適切な構造で取り込むことが可能である。たとえば、クラス図以外に、状態機械図、アクティビティ図、シーケンス図、ユースケース図など任意のUML図を形式仕様記述図に変換できる。もちろん、形式仕様記述図への変換はUML図に限られず、XMIで表現されたデータ構造であれば変換可能である。"