IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三菱電機株式会社の特許一覧

特許7668961ドキュメント生成装置、プログラム及びドキュメント生成方法
<>
  • 特許-ドキュメント生成装置、プログラム及びドキュメント生成方法 図1
  • 特許-ドキュメント生成装置、プログラム及びドキュメント生成方法 図2
  • 特許-ドキュメント生成装置、プログラム及びドキュメント生成方法 図3
  • 特許-ドキュメント生成装置、プログラム及びドキュメント生成方法 図4
  • 特許-ドキュメント生成装置、プログラム及びドキュメント生成方法 図5
  • 特許-ドキュメント生成装置、プログラム及びドキュメント生成方法 図6
  • 特許-ドキュメント生成装置、プログラム及びドキュメント生成方法 図7
  • 特許-ドキュメント生成装置、プログラム及びドキュメント生成方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-17
(45)【発行日】2025-04-25
(54)【発明の名称】ドキュメント生成装置、プログラム及びドキュメント生成方法
(51)【国際特許分類】
   G06F 8/73 20180101AFI20250418BHJP
   G06F 8/35 20180101ALI20250418BHJP
【FI】
G06F8/73
G06F8/35
【請求項の数】 8
(21)【出願番号】P 2024521428
(86)(22)【出願日】2022-05-17
(86)【国際出願番号】 JP2022020530
(87)【国際公開番号】W WO2023223424
(87)【国際公開日】2023-11-23
【審査請求日】2024-05-23
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】100116964
【弁理士】
【氏名又は名称】山形 洋一
(74)【代理人】
【識別番号】100120477
【弁理士】
【氏名又は名称】佐藤 賢改
(74)【代理人】
【識別番号】100135921
【弁理士】
【氏名又は名称】篠原 昌彦
(74)【代理人】
【識別番号】100203677
【弁理士】
【氏名又は名称】山口 力
(72)【発明者】
【氏名】君家 亜希
【審査官】多賀 実
(56)【参考文献】
【文献】特開2006-106893(JP,A)
【文献】位野木 万里 ほか,「メタモデルに基づき仕様書作成と仕様検証を支援するツールSpecPrince」,東芝レビュー,株式会社東芝,2008年,第63巻, 第12号,pp.46-49,ISSN:0372-0462
【文献】WANG, Chao et al.,"An Automatic Documentation Generator Based On Model-Driven Techniques",2010 2nd International Conference on Computer Engineering and Technology [online],IEEE,2010年,pp. V4-175 - V4-179,[検索日 2022.07.13], インターネット:<URL: https://ieeexplore.ieee.org/document/5485654>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/00- 8/77
G06F 16/00-16/958
G06F 40/00-40/58
(57)【特許請求の範囲】
【請求項1】
ドキュメントへ出力する対象を示す条件及び前記ドキュメントへ出力する形式を示す項目を有する設定情報を取得するインタフェース部と、
複数の要素を含むシステムモデルを検索して、前記条件を満たす要素に関する情報を前記形式で出力することで、前記ドキュメントを生成するドキュメント生成部と、を備えること
を特徴とするドキュメント生成装置。
【請求項2】
前記条件及び前記形式の少なくとも何れか一方が、前記複数の要素に含まれる二以上の要素を用いて処理することを示している場合に、単一の要素を用いて処理できるように、前記設定情報及び前記システムモデルを更新する更新部をさらに備え、
前記ドキュメント生成部は、更新された前記設定情報に従って、更新された前記システムモデルを検索して、前記ドキュメントを生成すること
を特徴とする請求項1に記載のドキュメント生成装置。
【請求項3】
前記条件が前記二以上の要素を用いて判断される場合に、前記更新部は、前記複数の要素の中から、前記二以上の要素を用いて前記条件が満たされる要素を特定し、前記特定された要素に予め定められた属性を追加することで、前記システムモデルを更新するとともに、前記条件を前記予め定められた属性を有する要素であることに変更することで、前記設定情報を更新すること
を特徴とする請求項2に記載のドキュメント生成装置。
【請求項4】
前記形式が前記二以上の要素に関する情報を出力する場合に、前記更新部は、前記複数の要素の中から前記条件を満たす要素を特定し、前記特定された要素に予め定められた属性を追加して、前記予め定められた属性の情報として前記二以上の要素に関する情報を含めることで前記システムモデルを更新するとともに、前記形式を前記予め定められた属性の情報を出力することに変更することで、前記設定情報を更新すること
を特徴とする請求項2に記載のドキュメント生成装置。
【請求項5】
前記形式が前記二以上の要素に関する情報を出力する場合に、前記更新部は、前記複数の要素の中から前記条件を満たす要素を特定し、前記特定された要素に予め定められた属性を追加して、前記予め定められた属性の情報として前記二以上の要素に関する情報を含めることで前記システムモデルを更新するとともに、前記形式を前記予め定められた属性の情報を出力することに変更することで、前記設定情報を更新すること
を特徴とする請求項3に記載のドキュメント生成装置。
【請求項6】
前記形式が前記複数の要素に含まれる二以上の要素に関する情報の出力順を示している場合に、前記更新部は、前記二以上の要素が前記出力順となるように前記システムモデルを更新するとともに、前記項目を削除して、更新された前記システムモデルから前記二以上の要素に関する情報を順番に読み出す新たな二以上の項目を追加することで、前記設定情報を更新すること
を特徴とする請求項2からの何れかに記載のドキュメント生成装置。
【請求項7】
コンピュータを、
ドキュメントへ出力する対象を示す条件及び前記ドキュメントへ出力する形式を示す項目を有する設定情報を取得するインタフェース部、及び、
複数の要素を含むシステムモデルを検索して、前記条件を満たす要素に関する情報を前記形式で出力することで、前記ドキュメントを生成するドキュメント生成部、として機能させること
を特徴とするプログラム。
【請求項8】
ドキュメントへ出力する対象を示す条件及び前記ドキュメントへ出力する形式を示す項目を有する設定情報を取得し、
複数の要素を含むシステムモデルを検索して、前記条件を満たす要素に関する情報を前記形式で出力することで、前記ドキュメントを生成すること
を特徴とするドキュメント生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ドキュメント生成装置、プログラム及びドキュメント生成方法に関する。
【背景技術】
【0002】
従来からの、仕様書又は設計書といった文書ベースのシステム開発ではなく、SysML(Systems Modeling Language)又はUML(Unified Modeling Language)等の記述言語を用い、システムモデルを構築しつつ設計を行うMBSE(Model-based Systems Engineering)が注目されている。
【0003】
文書ベースのシステム開発の場合、システム設計者は、システムの設計を行いながら仕様書又は設計書を作成してきた。一方、MBSEの場合、システム設計者は、システムの設計を行いながら、モデリングツールと呼ばれるMBSE対応のツールを用いて、設計した情報を含むシステムモデルを構築する。
【0004】
ここで、システムモデルとはシステムの情報が格納されたDB(Data Base)である。システムモデルに格納される情報は、例えば、システムの構成要素一覧、各構成要素の外部インタフェース情報、各構成要素間でやり取りされるデータの情報、又は、開発担当者情報等、システムのライフサイクルに関わる情報全般である。
【0005】
モデリングツールは、システムの情報が格納されたシステムモデルであるDBを閲覧、作成及び更新するためのツールであり、DBに格納されたシステムの情報を出力できる。また、システムモデルのDBは、ツリー構造であることが多く、要素と呼ばれるツリー構造のノード内に各情報を保持する。
【0006】
文書ベースの場合、システム設計の成果物は、仕様書又は設計書である。一方、MBSEの場合、システム設計の成果物は、システムモデルであり、システムモデルが設計情報のSingle Source of Truthとして扱われる。
【0007】
システムモデルは、システムの設計情報を網羅的に保有している。そのため、システム開発の関係者が自身の興味のある設計情報を閲覧したい場合、システムモデル内の膨大な設計情報から必要な個所を探索する必要があり、手間がかかる。また、システムモデルはモデリングツールを用いて閲覧できるものの、モデリングツールの使用にはライセンスの問題があり、また、モデリングツールの使い方を習得するのに時間がかかる。
【0008】
そこで、システムモデルから関係者に関りのある範囲等を抽出してドキュメントに出力しておくことが考えられる。例えば、システムに新機能を追加した場合、システムモデルから新機能に関する設計情報を取り出して、新機能の設計書が生成されておいてもよい。また、システムのインタフェース仕様を外部システム関係者へ提示する場合、システムモデルからシステムのインタフェースに関する設計情報を取り出して、インタフェース仕様書が生成されていてもよい。
【0009】
特許文献1には、ソフトウェア設計情報を含むシステムモデルから、ソフトウェア仕様書の作成に必要な情報を出力し、ソフトウェア仕様書を作成するドキュメント生成機能に関する技術が開示されている。特許文献1の技術を用いることで、システムモデルからドキュメントを生成することができる。
【先行技術文献】
【特許文献】
【0010】
【文献】特開2005-258561号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかし、従来の技術では、ドキュメントへクラスの情報を出力する場合、ユーザは、情報を出力するクラスを1つ1つ指定する必要がある。そのため、複数のクラスに関する情報をドキュメントへ出力しようとする場合、ユーザは、複数のクラスの指定に時間を取られるおそれがある。
【0012】
また、クラスに関する情報を一律に同じ形式でドキュメントに出力するため、各クラスの情報を異なる形式でドキュメントに出力することができず、ドキュメントの汎用性が下がるおそれがある。
【0013】
そこで、本開示の一又は複数の態様は、システムモデルの情報を参照し、ユーザにより指定されたドキュメント出力対象条件を満たす要素に関する情報を、ユーザにより指定された形式でドキュメントに出力できるようにすることを目的とする。
【課題を解決するための手段】
【0014】
本開示の一態様に係るドキュメント生成装置は、ドキュメントへ出力する対象を示す条件及び前記ドキュメントへ出力する形式を示す項目を有する設定情報を取得するインタフェース部と、複数の要素を含むシステムモデルを検索して、前記条件を満たす要素に関する情報を前記形式で出力することで、前記ドキュメントを生成するドキュメント生成部と、を備えることを特徴とする。
【0015】
本開示の一態様に係るプログラムは、コンピュータを、ドキュメントへ出力する対象を示す条件及び前記ドキュメントへ出力する形式を示す項目を有する設定情報を取得するインタフェース部、及び、複数の要素を含むシステムモデルを検索して、前記条件を満たす要素に関する情報を前記形式で出力することで、前記ドキュメントを生成するドキュメント生成部、として機能させることを特徴とする。
【0016】
本開示の一態様に係るドキュメント生成方法は、ドキュメントへ出力する対象を示す条件及び前記ドキュメントへ出力する形式を示す項目を有する設定情報を取得し、複数の要素を含むシステムモデルを検索して、前記条件を満たす要素に関する情報を前記形式で出力することで、前記ドキュメントを生成することを特徴とする。
【発明の効果】
【0017】
本開示の一又は複数の態様によれば、システムモデルの情報を参照し、ユーザにより指定されたドキュメント出力対象条件を満たす要素に関する情報を、ユーザにより指定された形式でドキュメントに出力することができる。
【図面の簡単な説明】
【0018】
図1】実施の形態1及び2に係るドキュメント生成装置の構成を概略的に示すブロック図である。
図2】システムモデル一例を示す模式図である。
図3】Xシステムのsw構造を表す概略図である。
図4】実施の形態1及び2におけるドキュメント生成情報付加部の構成を概略的に示すブロック図である。
図5】コンピュータの構成を概略的に示すブロック図である。
図6】ドキュメント生成部の動作を示すフローチャートである。
図7】実施の形態2における設定情報更新部の入出力の一例を示すブロック図である。
図8】実施の形態2において更新されたシステムモデルの一例を示す模式図である。
【発明を実施するための形態】
【0019】
実施の形態1.
図1は、実施の形態1に係るドキュメント生成装置100の構成を概略的に示すブロック図である。
ドキュメント生成装置100は、システムモデル記憶部101と、インタフェース部(以下、I/F部という)102と、ドキュメント生成情報付加部103と、ドキュメント生成部104と、出力部105とを備える。
【0020】
ここで、実施の形態1では、例としてシステムの設計情報を含むシステムモデルに対するドキュメント生成装置の例を示すが、システムモデルが含む情報は、システムの設計情報でなくともよい。例えば、システムのプロジェクト管理情報又は保守情報等、システムのライフサイクルに関わる情報であればよい。
【0021】
図1に示されるドキュメント生成装置は、I/F部102と、ドキュメント生成情報付加部103と、ドキュメント生成部104と、システムモデル記憶部101とを備える。
【0022】
システムモデル記憶部101は、システムの設計情報が格納されたDBであるシステムモデルを記憶する。
図2は、システムモデル一例を示す模式図である。
図2は、Xシステムに関する設計情報を内包するシステムモデル106の一例である。システムモデル106は、ツリー構造で構成され、ツリーの各ノードは、要素と呼ばれる。各要素は、要素名、種類、ノート及び更新日時といったメタデータを含む設計情報を持つ。
【0023】
まず、ツリー構造のルート要素106aについて説明する。
ルート要素106aは、要素名、種類及びノートの情報を持つ。図2には表されていないが、一般に、各要素は、要素の更新日時履歴、更新者履歴及び独自属性といったメタデータも保持する。ルート要素106aの種類は、パッケージであるが、パッケージは、複数の要素をグルーピングするための要素であることを意味する。また、ノートは、要素に関する情報を自由に記入できる欄である。
【0024】
次に、子要素について説明する。
ルート要素106aは、構造要素106b及び振る舞い要素106cといった子要素を持つ。
【0025】
構造要素106bは、子要素として、classA要素106d、classB要素16e及びclassC要素106fを持つ。これにより、Xシステムは、構成要素としてクラス部品であるclassA、classB及びclassCを持つことが表わされている。
【0026】
また、構造要素106bは、子要素として、sw構成図要素106gを持つ。sw構成図要素106gの種類は、ブロック定義図であり、sw構成図要素106gは、図3に示されているような、Xシステムのsw構造を表す図を内包している。
【0027】
図1に戻り、I/F部102は、ドキュメント生成に関する設定情報を、ユーザから受け取る。その設定情報は、ドキュメント生成情報付加部103に与えられる。
【0028】
設定情報は、ドキュメントの生成の仕方を示す少なくとも一つの項目を有する情報である。例えば、設定情報は、ドキュメントへ出力する対象を示す条件及びドキュメントへ出力する形式を示す項目を有する。
【0029】
具体的には、ユーザが入力する設定情報の項目としては、以下のような例がある。
「要素がx年y月z日以降に追加され、かつ、種類が要求である場合、要素の要素名をドキュメントにテキストで出力する。」
「要素の種類が操作の場合、操作の引数の情報を表形式で出力する。」
「要素が要素名にclassを含む場合、要素名と、ツリー構造のパス名とを出力する。」
「要素の種類がパッケージであり、かつ、要素の子孫要素(ツリー構造におけるノードの子孫ノード)の中にドキュメントへ情報が出力される要素が存在する場合、要素名の章及び節をドキュメントに追加する。」
【0030】
ドキュメント生成情報付加部103は、設定情報に含まれている項目で示される条件及び形式の少なくとも何れか一方が、複数の要素に含まれる二以上の要素を用いて処理することを示している場合に、単一の要素を用いて処理できるように、設定情報及びシステムモデルを更新する更新部として機能する。なお、システムモデルの更新では、システムモデルそのものが変更されてもよいが、システムモデルの複製が変更されて、変更された複製が保持されてもよい。
【0031】
例えば、ドキュメント生成情報付加部103は、I/F部102から設定情報を受け取り、システムモデル記憶部101からシステムモデルを読み出す。
そして、ドキュメント生成情報付加部103は、設定情報の中に、複数要素の情報を用いて処理する項目が内包されている場合、その項目を解析して、システムモデルを更新して、その項目を単一要素の情報を用いて処理される項目に書き換えることで設定情報を更新する。項目が書き換えられた設定情報は、更新設定情報として、ドキュメント生成部104に与えられる。
【0032】
図4は、ドキュメント生成情報付加部103の構成を概略的に示すブロック図である。
ドキュメント生成情報付加部103は、設定情報解析部103aと、設定情報更新部103bとを備える。
【0033】
設定情報解析部103aは、I/F部102から設定情報SIを受け取る。
次に、設定情報解析部103aは、受け取った設定情報SIを解析することで、複数要素の情報を用いて処理される項目があるか否かを判断する。なお、設定情報SIでは、一つの行が一つの項目を示しているものとする。
【0034】
例えば、設定情報解析部103aは、設定情報の項目が複数要素を示す情報を含む場合に、その項目を、複数要素の情報を用いて処理される項目であると判断する。ここで、複数要素を示す情報は、例えば、「子要素」、「親要素」、「子孫要素」、「先祖要素」又は「ツリー構造のパス名」という他要素若しくはツリー構造を意味する文字列を含む情報、又は、複数の特定要素をID(IDentification)若しくは要素名といった識別情報で指定している情報である。言い換えると、複数要素を示す情報は、予め定められた文字列又は識別情報を含む情報である。
【0035】
具体的には、項目が「要素がx年y月z日以降に追加された、かつ、種類が要求である場合、要素の要素名をドキュメントにテキストで出力する。」である場合、設定情報解析部103aは、この項目に対し、単一要素の情報のみで処理可能な項目であることから、複数要素の情報を必要としないと判断する。
【0036】
一方、項目が「要素の種類がパッケージであり、かつ、要素の子孫要素(ツリー構造におけるノードの子孫ノード)の中にドキュメントへ情報が出力される要素が存在する場合、要素名の章及び節をドキュメントに追加する。」の場合、設定情報解析部103aは、この項目に対し、子孫要素の情報を用いた判断が必要であることから、複数要素の情報を必要とすると判断する。
【0037】
そして、設定情報解析部103aは、I/F部102から与えられた設定情報SIに、その解析結果を付加した解析設定情報SI#1を、設定情報更新部103bに与える。
図4に示されている解析設定情報SI#1では、設定情報に要否列SI#1aが追加されており、同じ行の項目が複数要素を示す情報を含む場合には、その要否列SI#1aに「要」が格納され、同じ行の項目が複数要素を示す情報を含まない場合には、その要否列SI#1aに「否」が格納される。
【0038】
設定情報更新部103bは、設定情報解析部103aから解析設定情報SI#1を受け取り、システムモデル記憶部101からシステムモデルを読み出す。
【0039】
設定情報更新部103bは、解析設定情報SI#1の中に、複数要素の情報を用いて処理される項目が存在する場合、単一要素のみの処理が可能となるよう、システムモデルを更新した上で、該当する項目を更新した更新設定情報を生成する。
【0040】
例えば、複数要素の情報を用いて処理する項目が「[条件A]の場合、[情報B]をドキュメントに出力する」と規定されているものとする。この場合、設定情報更新部103bは、システムモデルを探索し、[条件A]を満たす要素を抽出する。
【0041】
次に、設定情報更新部103bは、[情報B]が複数の要素の情報を用いて表される情報である場合、システムモデルを探索し、ドキュメントに出力される[情報B]の内容を文字列として生成する。[情報B]が複数の要素の情報を用いて表される情報である場合とは、上記のように、[情報B]に、予め定められた文字列又は識別情報が含まれる場合である。
そして、設定情報更新部103bは、[条件A]で抽出された要素に対し、「[情報B]=“文字列として生成された[情報B]の内容”」を示す独自属性を付加する。この場合、設定情報の対応する項目も、その要素から情報Bを出力することに更新することで、必要な情報を単一の要素から取得することができる。
【0042】
一方、[条件A]が複数要素の情報を用いて処理される条件であり、かつ、[情報B]が単一要素の情報を用いて表される情報の場合、設定情報更新部103bは、[条件A]で抽出された要素に対し、「[情報B]=true」を示す独自属性を付加する。
【0043】
具体的には、解析設定情報に「要素の種類がパッケージであり、かつ、要素の子孫要素(ツリー構造におけるノードの子孫ノード)の中にドキュメントへ情報が出力される要素が存在する場合、要素名の章・節をドキュメントに追加する」という複数要素の情報を用いて処理される項目が存在する場合、設定情報更新部103bは、システムモデルを探索し、「要素の種類がパッケージであり、かつ、要素の子孫要素(ツリー構造におけるノードの子孫ノード)の中にドキュメントへ情報が出力される要素が存在する」に該当する要素を見つける。そして、設定情報更新部103bは、その見つけられた要素に、「ドキュメント生成設定情報A=true」を示す独自属性を付加する。さらに、設定情報更新部103bは、解析設定情報において対応する項目を、「ドキュメント生成設定情報A=trueを属性として持つ要素の場合、要素名の章及び節をドキュメントに追加する」に書き換えることで更新設定情報SI#2を生成する。
【0044】
言い換えると、設定情報の項目の条件が二以上の要素を用いて判断される場合に、設定情報更新部103bは、システムモデルを構成している複数の要素の中から、その二以上の要素を用いてその条件が満たされる要素を特定する。そして、設定情報更新部103bは、特定された要素に予め定められた属性を追加することで、システムモデルを更新するとともに、その条件を「予め定められた属性を有する要素であること」に変更することで、その項目を更新する。
【0045】
また、解析設定情報に「要素が要素名にclassを含む場合、要素名とツリー構造のパス名を出力する」という複数要素の情報を用いて処理される項目が存在する場合、設定情報更新部103bは、classA要素に対し、ツリー構造のパス名を要素の属性情報である「ドキュメント生成設定情報B=Xシステム/構造/classA」を付加することでシステムモデルを更新する。そして、設定情報更新部103bは、解析設定情報において対応する項目を、「要素が要素名にclassを含む場合、クラス名と属性情報“ドキュメント生成設定情報B”の値を出力する」に書き換えることで更新設定情報SI#2を生成する。
【0046】
言い換えると、設定情報の項目の形式が二以上の要素に関する情報を出力する場合に、設定情報更新部103bは、システムモデルを構成している複数の要素の中から、その項目の条件を満たす要素を特定する。そして、設定情報更新部103bは、特定された要素に予め定められた属性を追加して、その予め定められた属性の情報として二以上の要素に関する情報を含めることでシステムモデルを更新する。そして、設定情報更新部103bは、その項目の形式を「予め定められた属性の情報を出力すること」に変更することで、その項目を更新する。
【0047】
そして、設定情報更新部103bは、生成された更新設定情報SI#2をドキュメント生成部104に与える。
【0048】
図1に戻り、ドキュメント生成部104は、システムモデルを検索して、項目の条件を満たす要素に関する情報を、その項目に含まれている形式で出力することで、ドキュメントを生成する。
ここで、設定情報の項目及びシステムモデルが更新されている場合には、ドキュメント生成部104は、更新された項目に従って、更新されたシステムモデルを検索して、ドキュメントを生成する。
例えば、ドキュメント生成部104は、設定情報更新部103bから更新設定情報を受け取り、システムモデル記憶部101から更新されたシステムモデルを読み出し、更新設定情報に従って、ドキュメントを生成する。
【0049】
出力部105は、ドキュメント生成部104で生成されたドキュメントを出力する。
【0050】
図5は、コンピュータ10の構成を概略的に示すブロック図である。
コンピュータ10は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)等の補助記憶装置11と、メモリ12と、CPU(Central Processing Unit)等のプロセッサ13と、キーボード又はマウス等の入力I/F14と、ディスプレイ又はNIC(Network Interface Card)等の出力I/F15とを備える。
【0051】
I/F部102は、プロセッサ13が入力I/F14を利用することで実現することができる。
ドキュメント生成情報付加部103及びドキュメント生成部104は、補助記憶装置11に記憶されているプログラムをメモリ12に読み出して、そのプログラムをプロセッサ13が実行することで、実現することができる。
システムモデル記憶部101は、プロセッサ13が補助記憶装置11又はメモリ12を利用することで実現することができる。
出力部105は、プロセッサ13が出力I/F15を利用することで実現することができる。
【0052】
そのようなプログラムは、ネットワークを通じて提供されてもよく、また、記録媒体に記録されて提供されてもよい。即ち、このようなプログラムは、例えば、プログラムプロダクトとして提供されてもよい。
【0053】
図6は、ドキュメント生成部104の動作を示すフローチャートである。
ここでは、ドキュメント生成情報付加部103により設定情報が更新されているものとして説明する。
【0054】
まず、ドキュメント生成部104は、システムモデル記憶部101に記憶されているシステムモデルのツリー構造をルート要素から行きがけ順に探索(トラバース)して、全ての要素を探索したか否かを判断する(S10)。全ての要素を探索した場合(S10でYes)には、処理は終了し、未だ探索していない要素が残っている場合(S10でNo)には、処理はステップS11に進む。
【0055】
ステップS11では、ドキュメント生成部104は、システムモデル記憶部101に記憶されているシステムモデルのツリー構造をルート要素から行きがけ順に探索して、次の要素に移動する。
【0056】
次に、ドキュメント生成部104は、移動した要素に関する情報をドキュメントに出力する(S12)。
【0057】
ステップS12では、ドキュメント生成部104は、ドキュメント生成情報付加部103により更新された更新設定情報に基づき、移動した要素のメタデータ含む情報を参照することで、要素に関する情報をドキュメントに出力する。
【0058】
なお、ドキュメント生成部104は、移動した要素が全ての更新設定情報の条件を満たさない場合、移動した要素に関する情報をドキュメントに出力しない。また、移動した要素の情報は、更新設定情報に示された形式でドキュメントに出力される。
【0059】
例えば、更新設定情報が、「要素がx年y月z日以降に追加され、かつ、種類が要求である場合、要素の要素名をドキュメントにテキストで出力する」である場合、ステップS12では、移動した要素のメタデータである更新日時履歴を参照し、その要素がx年y月z日以降に新規作成された要素である場合、ドキュメント生成部104は、その要素の要素名をドキュメントにテキスト形式で出力する。
【0060】
例えば、更新設定情報が、「要素の要素名がx年y月z日以降に変更されていた場合、変更前と変更後の要素名をドキュメントに[変更前:“変更前要素名”/変更後:“変更後要素名”]の形式で出力する」である場合、ステップS12では、要素のメタデータである更新日時履歴と、更新内容とを参照し、x年y月z日以降に要素名が変更された要素である場合、ドキュメントに[変更前:“変更前要素名”/変更後:“変更後要素名”]を出力する。
【0061】
上記の特許文献1に記載の技術を用いることで、システムモデルからドキュメントを生成することができる。しかし、ドキュメント出力対象のクラス要素を1つ1つ指定する必要があり、複数のクラスに関するドキュメントを生成しようとする場合、ユーザの指定に時間が掛かるおそれがあった。
【0062】
また、全てのクラス要素の情報に対し、一律に同じ形式でドキュメントに出力するため、各クラス要素の情報を異なる形式でドキュメントに出力することができず、ドキュメントの汎用性が下がるおそれがあった。
【0063】
これに対して、実施の形態1によれば、メタデータ含むシステムモデルの情報を参照して、条件によるフィルタリングを行うことで、複数の要素を一括で指定でき、ドキュメント生成時の作業時間を削減することができる。
【0064】
また、実施の形態1によれば、メタデータを含むシステムモデルの情報を参照し、指定された形式で要素に関する情報をドキュメントに出力することで、各要素の情報を異なる形式でドキュメントに出力することができ、ドキュメントの汎用性が高まる。
【0065】
その中でも、子孫要素の情報を参照するといったシステムモデルのツリー構造を生かしたフィルタリングを行うことで、効率よくドキュメントの生成を行うことができる。
【0066】
また、実施の形態1によれば、複数要素の情報を参照したうえでドキュメントに情報を出力するため、複雑なドキュメントの生成が可能となる。
【0067】
さらに、実施の形態1によれば、複数要素の情報を処理する部分と、単一要素の情報を参照してドキュメントを生成する部分とに分けたことで、簡素な機能のみ持つ既存のドキュメント生成機能を活用し、複数要素の情報を処理する部分のみの拡張を行うことで複雑なドキュメントの生成が可能になる。
【0068】
また、実施の形態1によれば、要素に含まれるメタデータである履歴情報を参照することで、システムの変更情報をドキュメントに出力できるという効果がある。
【0069】
実施の形態2.
図1に示されているように、実施の形態2に係るドキュメント生成装置200は、システムモデル記憶部101と、I/F部102と、ドキュメント生成情報付加部203と、ドキュメント生成部104と、出力部105とを備える。
【0070】
実施の形態2に係るドキュメント生成装置200のシステムモデル記憶部101、I/F部102、ドキュメント生成部104及び出力部105は、実施の形態1に係るドキュメント生成装置100のシステムモデル記憶部101、I/F部102、ドキュメント生成部104及び出力部105と同様である。
【0071】
ドキュメント生成情報付加部203は、実施の形態1と同様の処理を行う他、以下のような処理も行う。
実施の形態2では、ドキュメント生成情報付加部203は、I/F部102から受け取った設定情報の中に、複数要素の情報のドキュメント出力順に関する項目が存在した場合に、そのような項目について、単一要素に関する設定情報へ変換する。
【0072】
例えば、設定情報が「[条件C]の順にドキュメントへ出力する」であり、[条件C]が複数要素の情報を用いて処理されるものとなっている場合、ドキュメント生成情報付加部203は、設定情報を「複数要素の情報のドキュメント出力順に関する設定情報」と判断する。ここで、複数要素の情報は、上記の複数要素を示す情報と同様である。
言い換えると、複数要素を示す情報に対して順序を示す文字列が含まれている場合に、ドキュメント生成情報付加部203は、設定情報の中に、複数要素の情報のドキュメント出力順に関する設定情報が存在すると判断する。
【0073】
図4に示されているように、ドキュメント生成情報付加部203は、設定情報解析部103aと、設定情報更新部203bとを備える。
実施の形態2におけるドキュメント生成情報付加部203の設定情報解析部103aは、実施の形態1におけるドキュメント生成情報付加部103の設定情報解析部103aと同様である。
【0074】
実施の形態2における設定情報更新部203bは、実施の形態1と同様の処理を行う他、以下のような処理も行う。
設定情報更新部203bは、設定情報解析部103aから解析設定情報を受け取り、システムモデル記憶部101からシステムモデルを読み出し、システムモデルの要素をドキュメント出力順に並び替えることでシステムモデルを更新するとともに、解析設定情報からドキュメント出力順に関する情報を削除することで、更新設定情報を生成する。
【0075】
図7は、設定情報更新部203bの入出力の一例を示すブロック図である。
【0076】
設定情報更新部203bは、設定情報解析部103aから受け取った解析設定情報SI#3の中に、複数要素の情報のドキュメント出力順に関する項目が存在した場合、ドキュメントへの出力順に応じてシステムモデルの要素の順番を入れ替えることでシステムモデルを更新した上で、その項目を削除して、各々の要素から情報を取得する新た項目を追加することで更新設定情報SI#4を生成して、その更新設定情報SI#4をドキュメント生成部104へ与える。
【0077】
例えば、解析設定情報に、図2に示されているシステムモデル106に対する「振る舞い要素106c以下のシーケンス図、構造要素106b以下のクラス名情報、構造要素106b以下の操作情報の順にドキュメントへ出力する」という項目が存在する場合に更新されたシステムモデルの一例を、図8に示す。
【0078】
図8に示されているように、更新されたシステムモデルでは、ルート要素207aの下に、子孫要素含む振る舞い要素207bと、その要素207bのシーケンス図に関する情報である子要素207c~207e及び孫要素207f~207iがコピーされ、順に配置されている。
また、構造要素207jのクラス名に関する要素である子要素207k~207mがコピーされて、順に配置されている。
さらに、構造要素207nの操作に関する要素である子要素207o、207p及び孫要素207q~207sがコピーされて、順に配置されている。
【0079】
なお、要素207f及び要素207gの要素名は、それぞれ「Aする」と「A’する」となっているが、特に「Aする」が同一パッケージにある場合、次の要素名にダッシュをつける等の規則はなく、これらの要素名は一例として示されている。要素名は、システム設計者が、名前又は名称等として決めるものあり、認識又は識別のし易さ又は見やすさ等の観点から、できるだけ同じ要素名にならないようにされているが、同一要素名が禁止されるものではない。
【0080】
ドキュメント生成部104は、ツリー構造を行きがけ順に探索し、要素に関する情報をドキュメントへ生成するため、更新されたシステムモデルでは、ドキュメントへ出力する順番毎に要素が配置されている。なお、構造要素207j及び構造要素207nのように、同じ情報が複数箇所で登場する場合にも対応できるよう、設定情報更新部203bは、同じ要素を複数回コピーしてもよい。
【0081】
以上のように、設定情報更新部203bは、設定情報の項目で示される形式が、システムモデルを構成する複数の要素に含まれる二以上の要素に関する情報の出力順を示している場合に、その二以上の要素がその出力順となるようにシステムモデルを更新するとともに、その項目を削除して、更新されたシステムモデルからその二以上の要素に関する情報を順番に読み出す新たな二以上の項目を追加することで、設定情報を更新する。
【0082】
以上のように、実施の形態2によれば、要素の順番を入れ替えるように、システムモデルを更新することで、要素に関する情報のドキュメント出力順を設定することができる。
【0083】
また、実施の形態2によれば、要素の順番を入れ替えるように、システムモデルを更新することで、ドキュメントに出力される情報を、更新されたシステムモデルを見ることで把握することができる。
【符号の説明】
【0084】
100,200 ドキュメント生成装置、 101 システムモデル記憶部、 102 I/F部、 103,203 ドキュメント生成情報付加部、 103a 設定情報解析部、 103b,203b 設定情報更新部、 104 ドキュメント生成部、 105 出力部。
図1
図2
図3
図4
図5
図6
図7
図8