(57)【要約】【課題】  シミュレーションモデルから抽出した要素間の依存関係から導出される階層構造などを表示することにより、ユーザーによる分析を支援することを図ったモデル分析支援プログラムおよびモデル分析支援装置を提供することである。【解決手段】  依存関係情報取得部１１０が、各要素および依存関係情報を取得する。依存関係更新部１２０は、次のように、依存関係を更新する。削除要素指定部１２１は、接続情報しかもたない接続要素を削除対象となる指定要素に指定する。依存関係付与部１２２は、指定要素より上流の処理要素と下流の処理要素との間に依存関係を付与する。指定要素削除部１２３は、指定要素を削除する。そして、経路構造導出部１３０は、ユーザーに指定された経路の経路構造を導出する。【選択図】図３
2014089530.tif 000002
【特許請求の範囲】
【請求項１】
複数の要素間の依存関係情報を表現する設計構造行列を用いるモデル分析支援装置において、
前記要素には、
実行する処理を有する処理要素と、
実行する処理を有さずに前記処理要素同士を接続する接続情報のみを有する接続要素と、の少なくとも２種類があり、
前記モデル分析支援装置は、
前記処理要素と、前記接続要素と、これらの要素間の依存関係情報とを取得する依存関係情報取得部と、
前記依存関係情報取得部により取得された要素間の依存関係を更新する依存関係更新部と、
前記依存関係更新部により更新された要素間の依存関係を設計構造行列として表示部に表示させる設計構造行列表示部と、
を有し、
前記依存関係更新部は、
前記接続要素を削除対象として指定要素に指定する削除要素指定部と、
前記指定要素より上流側に位置する処理要素と前記指定要素より下流側に位置する処理要素との間に新たに依存関係を付与する依存関係付与部と、
前記依存関係付与部による依存関係の付与の後に前記指定要素を削除する指定要素削除部と、
を有すること
を特徴とするモデル分析支援装置。
【請求項２】
請求項１に記載のモデル分析支援装置において、
前記依存関係情報取得部により取得された複数の処理要素を前記表示部に表示させる選択要素表示部と、
前記選択要素表示部により前記表示部に表示された複数の処理要素のうちからユーザーにより選択された処理要素を基準要素として受け付ける選択要素受付部と、
前記基準要素より上流の経路と前記基準要素より下流の経路とのうちいずれの経路を探索するかについてユーザーによる指定を指定経路として受け付ける探索経路受付部と、
前記基準要素からの指定経路の経路構造を導出する経路構造導出部と、
を有すること
を特徴とするモデル分析支援装置。
【請求項３】
請求項２に記載のモデル分析支援装置において、
前記経路構造導出部は、
前記探索経路受付部により受け付けられた指定経路が上流の経路である場合に、
前記基準要素から上流の処理要素について前記基準要素からの距離および階層数および分岐点数を導出し、
前記探索経路受付部により受け付けられた指定経路が下流の経路である場合に、
前記基準要素から下流の処理要素について前記基準要素からの距離および階層数および分岐点数を導出するものであること
を特徴とするモデル分析支援装置。
【請求項４】
請求項３に記載のモデル分析支援装置において、
前記経路構造導出部により導出された距離を横軸にするとともに前記経路構造導出部により導出された階層数を縦軸にして前記表示部に表示させる階層構造表示部を有すること
を特徴とするモデル分析支援装置。
【請求項５】
請求項３に記載のモデル分析支援装置において、
前記経路構造導出部により導出された距離を横軸にするとともに前記経路構造導出部により導出された分岐点数を縦軸にして前記表示部に表示させる分岐構造表示部を有すること
を特徴とするモデル分析支援装置。
【請求項６】
複数の要素間の依存関係情報を表現する設計構造行列を用いるモデル分析支援装置としてコンピューターに実行させるためのモデル分析支援プログラムにおいて、
前記要素には、
実行する処理を有する処理要素と、
実行する処理を有さずに前記処理要素同士を接続する接続情報のみを有する接続要素と、の少なくとも２種類があり、
前記処理要素と、前記接続要素と、これらの要素間の依存関係情報とを取得する依存関係情報取得機能と、
前記依存関係情報取得機能により取得された要素間の依存関係を更新する依存関係更新機能と、
前記依存関係更新機能により更新された要素間の依存関係を設計構造行列として表示部に表示させる設計構造行列表示機能と、
を実現させるものであり、
前記依存関係更新機能は、
前記接続要素を削除対象として指定要素に指定する削除要素指定機能と、
前記指定要素より上流側に位置する処理要素と前記指定要素より下流側に位置する処理要素との間に新たに依存関係を付与する依存関係付与機能と、
前記依存関係付与機能による依存関係の付与の後に前記指定要素を削除する指定要素削除機能と、
を実現させるものであること
を特徴とするモデル分析支援プログラム。
【請求項７】
請求項６に記載のモデル分析支援プログラムにおいて、
前記依存関係情報取得機能により取得された複数の処理要素を前記表示部に表示させる選択要素表示機能と、
前記選択要素表示機能により前記表示部に表示された複数の処理要素のうちからユーザーにより選択された処理要素を基準要素として受け付ける選択要素受付機能と、
前記基準要素より上流の経路と前記基準要素より下流の経路とのうちいずれの経路を探索するかについてユーザーによる指定を指定経路として受け付ける探索経路受付機能と、
前記基準要素からの指定経路の経路構造を導出する経路構造導出機能と、
を実現させるものであること
を特徴とするモデル分析支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モデル分析支援プログラムおよびモデル分析支援装置に関する。より詳細には、ユーザーによるシミュレーションモデルの分析を支援するモデル分析支援プログラムおよびモデル分析支援装置に関するものである。
【背景技術】
【０００２】
多数のプロセスが複雑に絡み合ったシミュレーションモデルにおいては、プロセスの再実施を減らすことが好ましい。モデル分析が容易になり、開発効率が向上するからである。そのプロセスの最適化のために、設計構造行列（ＤＳＭ：Ｄｅｓｉｇｎ  Ｓｔｒｕｃｔｕｒｅ  Ｍａｔｒｉｘ）が用いられることがある。
【０００３】
設計構造行列（ＤＳＭ）では、要素間の依存関係情報が行列形式で表現されている。そして、要素間に依存関係がある場合に、設計構造行列（ＤＳＭ）の非対角成分に０でない数値が入ることとなる。この設計構造行列（ＤＳＭ）を最適化するために、種々の技術が開発されている。特許文献１には、設計構造行列（ＤＳＭ）を用いて開発工程を演算により並び替えることにより、開発工程の繰り返し作業を低減させる製品開発プロセス支援システムが開示されている。これにより、プロセスの再実施の少ないプロセス設計が可能となるとしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１０９０７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、演算により効率化したプロセス設計であっても、シミュレーションモデルの規模が大きすぎてユーザーが全体像を把握することが困難な場合がある。また、演算により並び替えたプロセス設計が必ずしも最適でない場合もある。また、ユーザーが、特殊な複数のプロセスをまとめてグループ化して扱いたい場合もある。このように、ユーザーによる設計思想を反映させたプロセス設計を行うには、ユーザーが、要素間の依存関係や、階層関係などを把握できるように支援することが好ましい。
【０００６】
本発明は、前述した従来の技術が有する問題点を解決するためになされたものである。すなわちその課題とするところは、シミュレーションモデルから抽出した要素間の依存関係から導出される階層構造などを表示することにより、ユーザーによる分析を支援することを図ったモデル分析支援プログラムおよびモデル分析支援装置を提供することである。
【課題を解決するための手段】
【０００７】
第１の態様におけるモデル分析支援装置は、複数の要素間の依存関係情報を表現する設計構造行列を用いるものである。要素には、実行する処理を有する処理要素と、実行する処理を有さずに処理要素同士を接続する接続情報のみを有する接続要素と、の少なくとも２種類がある。モデル分析支援装置は、処理要素と、接続要素と、これらの要素間の依存関係情報とを取得する依存関係情報取得部と、依存関係情報取得部により取得された要素間の依存関係を更新する依存関係更新部と、依存関係更新部により更新された要素間の依存関係を設計構造行列として表示部に表示させる設計構造行列表示部と、を有する。そして、依存関係更新部は、接続要素を削除対象として指定要素に指定する削除要素指定部と、指定要素より上流側に位置する処理要素と指定要素より下流側に位置する処理要素との間に新たに依存関係を付与する依存関係付与部と、依存関係付与部による依存関係の付与の後に指定要素を削除する指定要素削除部と、を有する。
【０００８】
このモデル分析支援装置は、取得した要素のうちから接続要素を削除するとともに新たな依存関係を付与することができる。そのため、不要な接続要素を除外した設計構造行列（ＤＳＭ）を表示することができる。
【０００９】
第２の態様におけるモデル分析支援装置は、依存関係情報取得部により取得された複数の処理要素を表示部に表示させる選択要素表示部と、選択要素表示部により表示部に表示された複数の処理要素のうちからユーザーにより選択された処理要素を基準要素として受け付ける選択要素受付部と、基準要素より上流の経路と基準要素より下流の経路とのうちいずれの経路を探索するかについてユーザーによる指定を指定経路として受け付ける探索経路受付部と、基準要素からの指定経路の経路構造を導出する経路構造導出部と、を有する。これにより、基準要素からの経路構造を導出することができる。
【００１０】
第３の態様におけるモデル分析支援装置では、経路構造導出部は、探索経路受付部により受け付けられた指定経路が上流の経路である場合に、基準要素から上流の処理要素について基準要素からの距離および階層数および分岐点数を導出するとともに、探索経路受付部により受け付けられた指定経路が下流の経路である場合に、基準要素から下流の処理要素について基準要素からの距離および階層数および分岐点数を導出するものである。
【００１１】
第４の態様におけるモデル分析支援装置は、経路構造導出部により導出された距離を横軸にするとともに経路構造導出部により導出された階層数を縦軸にして表示部に表示させる階層構造表示部を有する。階層構造をグラフとして表示することができる。
【００１２】
第５の態様におけるモデル分析支援装置は、経路構造導出部により導出された距離を横軸にするとともに経路構造導出部により導出された分岐点数を縦軸にして表示部に表示させる分岐構造表示部を有する。分岐構造をグラフとして表示することができる。
【００１３】
第６の態様におけるモデル分析支援プログラムは、複数の要素間の依存関係情報を表現する設計構造行列を用いるモデル分析支援装置としてコンピューターに実行させるためのものである。要素には、実行する処理を有する処理要素と、実行する処理を有さずに処理要素同士を接続する接続情報のみを有する接続要素と、の少なくとも２種類がある。このプログラムは、処理要素と、接続要素と、これらの要素間の依存関係情報とを取得する依存関係情報取得機能と、依存関係情報取得機能により取得された要素間の依存関係を更新する依存関係更新機能と、依存関係更新機能により更新された要素間の依存関係を設計構造行列として表示部に表示させる設計構造行列表示機能と、を実現させるものである。そして、依存関係更新機能は、接続要素を削除対象として指定要素に指定する削除要素指定機能と、指定要素より上流側に位置する処理要素と指定要素より下流側に位置する処理要素との間に新たに依存関係を付与する依存関係付与機能と、依存関係付与機能による依存関係の付与の後に指定要素を削除する指定要素削除機能と、を実現させるものである。
【００１４】
第７の態様におけるモデル分析支援プログラムは、依存関係情報取得機能により取得された複数の処理要素を表示部に表示させる選択要素表示機能と、選択要素表示機能により表示部に表示された複数の処理要素のうちからユーザーにより選択された処理要素を基準要素として受け付ける選択要素受付機能と、基準要素より上流の経路と基準要素より下流の経路とのうちいずれの経路を探索するかについてユーザーによる指定を指定経路として受け付ける探索経路受付機能と、基準要素からの指定経路の経路構造を導出する経路構造導出機能と、を実現させるためのものである。
【発明の効果】
【００１５】
本発明によれば、シミュレーションモデルから抽出した要素間の依存関係から導出される階層構造などを表示することにより、ユーザーによる分析を支援することを図ったモデル分析支援プログラムおよびモデル分析支援装置が提供されている。
【図面の簡単な説明】
【００１６】
【図１】実施形態に係るモデル分析支援装置で取り扱うブロック図情報の基になるブロック図を例示する図である。
【図２】実施形態に係るモデル分析支援装置のハードウェアの構成を示す概略構成図である。
【図３】実施形態に係るモデル分析支援装置の制御部の構成を説明するためのブロック図である。
【図４】実施形態に係るモデル分析支援装置で処理される設計構造行列（Ｄｅｓｉｇｎ  Ｓｔｒｕｃｔｕｒｅ  Ｍａｔｒｉｘ）を例示する図である。
【図５】図１のブロック図より下の階層を示すブロック図である。
【図６】図１および図５のブロック図を接続した様子を示すブロック図である。
【図７】図６のブロック図から階層要素を削除した状態を示すブロック図である。
【図８】案内要素を用いた場合を例示するブロック図である。
【図９】図８に仮想線Ｌ７を描いた場合を示すブロック図である。
【図１０】処理要素間に結線の引かれていない場合を例示するブロック図である。
【図１１】図１０に仮の結線Ｌ８、Ｌ９を描いた場合を示すブロック図である。
【図１２】依存関係を付与する場合を示す図である。
【図１３】階層Ｄ３を例示するブロック図である。
【図１４】階層構造のグラフを例示した図である。
【図１５】分岐構造のグラフを例示した図である。
【図１６】制御部の実行するフローを示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明に係る実施形態について添付図面を参照しつつ説明する。
【００１８】
（第１の実施形態）
第１の実施形態について説明する。第１の実施形態のモデル分析支援装置は、Ｓｉｍｕｌｉｎｋ（登録商標）により出力されるブロック図のブロック図情報に基づいて、シミュレーションモデルの最適化や検討を実施するためのものである。つまり、ソフトウェア（Ｓｉｍｕｌｉｎｋ（登録商標））は、ブロック図およびそれに付随するブロック図情報を出力する。そして、モデル分析支援装置は、その出力された情報を取得して、シミュレーションモデルの分析・検討を支援する。そして、モデル分析支援プログラムは、そのための機能を実現させるためのものである。
【００１９】
１．ブロック図
図１に、Ｓｉｍｕｌｉｎｋ（登録商標）により出力されるブロック図の一例を示す。図１に示すように、ブロック図には、要素（１０１０、１０２０、１１００等）と、各要素とをつなぐ結線（Ｌ１、Ｌ２、Ｌ３等）とが描かれている。要素には、実行する処理を有する処理要素と、実行する処理を有さずに処理要素同士を接続する接続情報のみを有する接続要素と、の少なくとも２種類がある。結線Ｌ１は、処理要素１０１０と処理要素１３００とをつなぐ結線である。
【００２０】
結線Ｌ１は、矢印で示されている。この結線Ｌ１は、処理要素１０１０から出力された情報（数値、文字列、その他の情報を含む。以下同じ）が、処理要素１３００に受け渡されていることを示している。したがって、処理要素１３００は、処理要素１０１０に依存している。ここで、処理要素１０１０は、処理要素１３００の依存元といい、処理要素１３００は、処理要素１０１０の依存先ということとする。
【００２１】
図１には、階層Ｄ１と、階層Ｄ２と、階層Ｄ３とが示されている。階層Ｄ２および階層Ｄ３は、階層Ｄ１より下の階層である。逆に、階層Ｄ１は、階層Ｄ２および階層Ｄ２より上の階層である。全ての処理要素を１つの面で表すと非常に複雑なものとなる。そのため、Ｓｉｍｕｌｉｎｋ（登録商標）では、便宜上、１以上の階層を造ることができるようになっている。そのため、Ｓｉｍｕｌｉｎｋ（登録商標）から出力されるデータは、複数の階層に及ぶのが一般的である。
【００２２】
このように、ブロック図は、複数の処理要素と、これらの処理要素間の依存関係を表す結線情報とを有している。ここで、ある処理要素からみて依存元（矢印の元）の方向を上流ということとする。そして、ある処理要素からみて依存先（矢印の先）の方向を下流ということとする。この上流、下流という概念は、階層をまたいでも成立する。
【００２３】
図１に示すように、上流側（図中左側）から下流側（図中右側）に向けて処理要素の処理が実行される。しかし、Ｌ１１に示すように、下流側から上流側に向かう矢印も存在する。そのため、処理要素１１００および処理要素１３００は、処理要素１４３０に依存している。このように、下流側の処理要素の処理の結果を上流側の処理要素が受ける「戻り」が生ずることもある。この戻りの処理は、可読性・シミュレーション実行テストの観点から、適切に管理する必要がある。
【００２４】
ここで、Ｓｉｍｕｌｉｎｋ（登録商標）から出力される情報には、各々の処理要素の座標や、結線の情報が受け渡される。また、各々の処理要素で具体的に行う処理、演算等の情報も受け渡される。本実施形態のモデル分析支援装置は、これらの受け渡される情報のうちの少なくとも一部を用いて、シミュレーションモデルの最適化や、ユーザーによる処理要素の分析・検討を支援することができる。
【００２５】
２．モデル分析支援装置
本実施形態のモデル分析支援装置１は、Ｓｉｍｕｌｉｎｋ（登録商標）から出力される複数の要素間の依存関係情報を表現する設計構造行列（ＤＳＭ）を用いて、シミュレーションモデルの分析・最適化を支援するためのものである。本実施形態のモデル分析支援装置１のハードウェア構成を図２に示す。モデル分析支援装置１は、処理装置１０と、入力部２０と、表示部３０とを有している。処理装置１０は、モデル分析支援装置１の各種の処理を具体的に行うものである。入力部２０は、ユーザーからの入力を受け付けるためのものである。または、他のコンピューターからの出力結果を受け付けるものであってもよい。例えば、キーボードが挙げられる。表示部３０は、処理装置１０により各種の処理を実行した結果等を表示するためのものである。例えば、ディスプレイが挙げられる。
【００２６】
処理装置１０は、制御部１００と、不揮発性メモリ２００とを有している。制御部１００は、各種の制御を行うものである。制御部１００は、ＣＰＵ（Ｃ１）と、メモリＭ１とを有している。制御部１００は、ＣＰＵＣ１と、メモリＭ１とを使用することにより、各種の制御を行う。不揮発性メモリ２００には、プログラムＰ１が格納されている。プログラムＰ１は、後述するように、モデル分析支援装置１としてコンピューターに実現させるためのモデル分析支援プログラムである。
【００２７】
３．制御部
図３は、制御部１００における各種の制御を行う各部を説明するためのブロック図である。制御部１００の有する各部は、それぞれ、ＣＰＵＣ１の少なくとも一部と、メモリＭ１の少なくとも一部とを用いて機能を発揮するものである。
【００２８】
制御部１００は、依存関係情報取得部１１０と、依存関係更新部１２０と、経路構造導出部１３０と、表示制御部１４０と、入力受付部１５０と、を有している。また、制御部１００は、図示しないその他の制御部をも有している。
【００２９】
依存関係情報取得部１１０は、Ｓｉｍｕｌｉｎｋ（登録商標）から出力されるブロック図に関する情報を取得する依存関係情報取得機能を有するものである。つまり、処理要素と、接続要素と、これらの要素間の依存関係情報とを取得する。また、処理要素の座標や、その具体的な処理内容等をも取得する。
【００３０】
依存関係更新部１２０は、依存関係情報取得部１１０により取得された要素間の依存関係を更新するものである。つまり、依存関係更新部１２０は、階層構造を分析する上で不要な接続要素を削除するとともに、Ｓｉｍｕｌｉｎｋ（登録商標）から譲り受けた要素間に依存関係が付与されていない場合に、依存関係を付与するための依存関係更新機能を有するものである。
【００３１】
依存関係更新部１２０は、削除要素指定部１２１と、依存関係付与部１２２と、指定要素削除部１２３と、を有している。削除要素指定部１２１は、接続要素を削除対象として指定要素に指定する削除要素指定機能を有するものである。依存関係付与部１２２は、削除要素指定部１２１により指定された指定要素よりすぐ上流の処理要素と、その削除要素指定部１２１により指定された指定要素よりすぐ下流の処理要素との間に依存関係を付与する依存関係付与機能を有するものである。また、依存関係の付与されていない要素間に、依存関係を付与するためのものでもある。指定要素削除部１２３は、この依存関係の付与後に、指定要素を削除する指定要素削除機能を有するものである。
【００３２】
表示制御部１４０は、制御部１００により処理された処理結果等を表示部３０に表示させるためのものである。表示制御部１４０は、設計構造行列表示部１４１と、選択要素表示部１４２と、階層構造表示部１４３と、分岐構造表示部１４４と、を有している。設計構造行列表示部１４１は、依存関係更新部１２０により更新された要素間の依存関係を設計構造行列（ＤＳＭ）として表示部３０に表示させるための設計構造行列表示機能を有するものである。また、モデル分析支援装置１により最適化された後の設計構造行列（ＤＳＭ）等をも表示部３０に表示させる機能を有していてもよい。選択要素表示部１４２は、依存関係情報取得部１１０により取得された複数の処理要素を表示部３０に表示させる選択要素表示機能を有するものである。これにより、ユーザーは、これらの表示された処理要素のうちから、着目する処理要素を基準要素として選択することができる。
【００３３】
入力受付部１５０は、ユーザーからの入力を受け付けるためのものである。入力受付部１５０は、選択要素受付部１５１と、探索経路受付部１５２と、を有している。選択要素受付部１５１は、後述する経路探索において、ユーザーが分析を希望する処理要素の入力を受け付ける選択要素受付機能を有するものである。つまり、表示部３０に表示された複数の処理要素のうちからユーザーにより選択された１の処理要素を基準要素として受け付けるためのものである。探索経路受付部１５２は、後述する経路探索において、基準要素から上流側の経路の分析と基準要素から下流側の経路の分析とのいずれの経路を探索するかについてユーザーの指定の入力を受け付ける探索経路受付機能を有するものである。
【００３４】
経路構造導出部１３０は、後述するように、基準要素からの指定経路の経路構造や分岐構造を導出する経路構造導出機能を有するものである。そのために、選択要素受付部１５１および探索経路受付部１５２の入力情報に基づいて、分析を行う。その結果は、階層構造表示部１４３および分岐構造表示部１４４により表示部３０に表示されることとなる。
【００３５】
階層構造表示部１４３は、経路構造導出部１３０により導出された経路構造を表示部３０に表示させる階層構造表示機能を有するものである。分岐構造表示部１４４は、経路構造導出部１３０により導出された分岐構造を表示部３０に表示させる分岐構造表示機能を有するものである。
【００３６】
４．設計構造行列（ＤＳＭ）
図４は、Ｓｉｍｕｌｉｎｋ（登録商標）から出力されるブロック図情報に基づいて、設計構造行列表示部１４１が表示部３０に表示させる設計構造行列（Ｄｅｓｉｇｎ  Ｓｔｒｕｃｔｕｒｅ  Ｍａｔｒｉｘ：ＤＳＭ）の例である。図４は、図１のブロック図に対応する設計構造行列（ＤＳＭ）である。
【００３７】
４−１．設計構造行列における要素の並び替え
設計構造行列（ＤＳＭ）の行（図４中の左側）には、処理要素が順に並んで入っている。設計構造行列（ＤＳＭ）の列（図４中の右側）にも同様に、処理要素が行と同じ順序で並んで入っている。そのため、設計構造行列（ＤＳＭ）はｎ×ｎ行列である。なお、前述したように、図１では、左側が上流である。そのため、上流側に位置する要素から順に並べて設計構造行列（ＤＳＭ）の行もしくは列に入れている。すなわち、その順序は、処理要素１０１０、処理要素１０２０、処理要素１１００、処理要素１２１０、処理要素１３００、処理要素１４１０、処理要素１４２０、処理要素１４３０の順である。
【００３８】
４−２．依存関係情報
図４に示すように、行列には、各処理要素間の依存関係が入っている。ここで、「１」が入っている要素間には依存関係がある。「０」が入っている要素間には依存関係がない。なお、図４中では、「０」の代わりに空欄で表示してある。そして、図４中左側に表示されている要素Ｑ１が依存先を表しており、図４中上側に表示されている要素Ｑ２が依存元を表している。
【００３９】
例えば、Ａ１（処理要素１０１０）は、いずれの処理要素にも依存しないため、Ａ１（処理要素１０１０）の行の行成分にはいずれも「０」の値が入っている。Ｓｕｂｓｙｓｔｅｍ１（処理要素１１００）は、Ａ２（処理要素１０２０）および１／Ｚ（処理要素１４３０）に依存しているため、これらの行成分には「１」が入っている。しかし、それ以外の行成分には、「０」が入っている。このように、図１のブロック図で結線（矢印）で表されていた依存関係は、行列成分で表されることとなる。
【００４０】
このように、設計構造行列（ＤＳＭ）の非対角成分には、「０」もしくは「１」のいずれかの値が入っている。設計構造行列（ＤＳＭ）におけるｉ行目の要素とｊ列目の要素との非対角成分が「１」の場合には、ｉ行目の要素とｊ列目の要素とに依存関係があることを示している。設計構造行列（ＤＳＭ）におけるｉ行目の要素とｊ列目の要素との非対角成分が「０」の場合には、ｉ行目の要素とｊ列目の要素とに依存関係がないことを示している。このように、設計構造行列（ＤＳＭ）の非対角成分は、依存関係情報である。
【００４１】
５．依存関係の更新方法
ここで、依存関係の更新方法について説明する。この依存関係の更新方法は、依存関係更新部１２０により実行される。そして、その更新方法の種類は、
（Ａ）階層要素の削除
（Ｂ）案内要素の削除
（Ｃ）依存関係の付与
の３種類である。
【００４２】
ここで、階層要素および案内要素は、実際の処理を行わない接続要素である。階層要素とは、異なる階層間の処理要素との接続情報を保持する要素である。案内要素とは、１の処理要素から他の処理要素への接続を接続情報として保持する要素である。そのため、これらは、階層構造や分岐構造を解析する上で不要な要素である。したがって、これらを省略する。また、Ｓｉｍｕｌｉｎｋ（登録商標）では、メモリへの書き込みや読み込みについて、結線情報がない。したがって、書き込みや読み込みといった処理が行われる場合には、後述する経路構造を導出する際に、結線情報のない箇所で経路が不連続となっている。そのため、これを回避する必要がある。そこで、これらについて順次説明する。
【００４３】
５−１．（Ａ）階層要素の削除
図５は、階層Ｄ２、すなわち、Ｓｕｂｓｙｓｔｅｍ１（処理要素１１００）の内部の構成を例示する図である。Ｓｕｂｓｙｓｔｅｍ１は、階層要素１１１０と、階層要素１１２０と、処理要素１１３０と、処理要素１１４０と、処理要素１１５０と、階層要素１１６０と、階層要素１１７０と、を有している。
【００４４】
階層要素１１１０、１１２０、１１６０、１１７０は、階層Ｄ１の要素と結線でつなぐためのものである。階層要素１１１０、１１２０、１１６０、１１７０は、結線情報、すなわち、依存関係情報を有するのみで、具体的な処理を行うものではない。つまり、後述する経路探索をする上で、不要な要素である。また、その他の分析・検討を実施する上でも必要がない。
【００４５】
図６は、階層Ｄ１と階層Ｄ２とを１つの階層として接続して描いた図である。図６に示すように、階層要素１１２０の依存元は、処理要素１０２０である。階層要素１１２０の依存先は、処理要素１１５０である。このように、階層要素１１２０は、処理要素１０２０と、処理要素１１５０との間の接続情報のみを有しているにすぎない。したがって、削除要素指定部１２１は、階層要素１１２０を削除する要素であると指定する。このとき階層要素１１２０は、削除要素指定部１２１により指定された指定要素である。
【００４６】
次に、依存関係付与部１２２は、指定要素１１２０のすぐ上流に位置する処理要素１０２０と、処理要素１１５０との間に依存関係を付与する。このとき、処理要素１０２０の依存先が処理要素１１５０である。逆に、処理要素１１５０の依存元が処理要素１０２０である。概念的には、図４で示した設計構造行列（ＤＳＭ）の対応する行列成分に、「１」の値を入れる。実際には、処理要素１０２０および処理要素１１５０の対応するデータに、依存関係情報を付与する。
【００４７】
この段階で、指定要素のすぐ上流の処理要素１０２０と、その指定要素のすぐ下流の処理要素１１５０との間には、依存関係が付与されている。したがって、指定要素削除部１２３は、指定要素である階層要素１１２０を削除する。これにより、階層構造を分析する上で不要な階層要素１１２０は、削除された。
【００４８】
同様に、削除要素指定部１２１は、階層要素１１１０、１１６０、１１７０をも指定要素として指定する。そして、これらのすぐ上流の処理要素と、すぐ下流の処理要素との間に依存関係を付与する。そして、これらの指定要素を削除すればよい。これにより、階層Ｄ２における階層要素１１１０、１１２０、１１６０、１１７０とが、削除された。これらの階層要素を削除後のブロック図を概念的に描いた図を図７に示す。
【００４９】
なお、上記の処理は、あくまでＳｉｍｕｌｉｎｋ（登録商標）からの出力情報を加工したものである。したがって、Ｓｉｍｕｌｉｎｋ（登録商標）でのブロック図のデータそのものにアクセスしてそのデータ自身を書き換えるわけではない。
【００５０】
５−２．（Ｂ）案内要素の削除
図８は、図１と同様の内容を表すブロック図である。Ｓｉｍｕｌｉｎｋ（登録商標）では、図８のように、案内要素（Ｇｏｔｏブロック）２０２０と、案内要素（Ｆｒｏｍブロック）２０１０とが用いられることがある。この案内要素（Ｇｏｔｏブロック）２０２０は、対応する案内要素（Ｆｒｏｍブロック）２０１０に値をそのまま引き渡すことを意味している。これらの案内要素（ＧｏｔｏブロックおよびＦｒｏｍブロック）を用いることにより、全体の処理を簡潔に表示することができる。
【００５１】
図９に、図８のブロック図に仮想的な結線Ｌ７を付け足したブロック図を示す。つまり、処理要素１４３０から出力される値は、処理要素１１００（Ｓｕｂｓｙｓｔｅｍ１）にＩｎ１１として入力されるとともに、処理要素１３００（Ｓｕｂｓｙｓｔｅｍ２）にＩｎ２２として入力される。したがって、図８および図９に示したブロック図は、図１のブロック図と等価である。このように、案内要素２０１０、２０２０は、階層構造を解析する上で不要な要素である。
【００５２】
そこで、削除要素指定部１２１は、案内要素２０１０および案内要素２０２０を削除する指定要素として指定する。
【００５３】
次に、依存関係付与部１２２は、これらの案内要素２０１０、２０２０のすぐ上流の処理要素１４３０と、これらの案内要素２０１０、２０２０のすぐ下流の処理要素１１００、１３００との間に依存関係を付与する。この処理方法は、前述のとおりである。
【００５４】
そして、依存関係の付与後に、指定要素削除部１２３は、指定要素である案内要素２０１０、２０２０を削除する。
【００５５】
５−３．（Ｃ）依存関係の付与
Ｓｉｍｕｌｉｎｋ（登録商標）により描かれるブロック図には、処理要素２１００（Ｄａｔａ  Ｓｔｏｒｅ  Ｍｅｍｏｒｙ）と、処理要素２２００（Ｄａｔａ  Ｓｔｏｒｅ  Ｗｒｉｔｅ）と、処理要素２３００（Ｄａｔａ  Ｓｔｏｒｅ  Ｒｅａｄ）とが描かれていることがある。具体例を、図１０に示す。
【００５６】
ここで、処理要素２１００（Ｄａｔａ  Ｓｔｏｒｅ  Ｍｅｍｏｒｙ）は、メモリ領域を確保するためのものである。そのため、処理要素２１００（Ｄａｔａ  Ｓｔｏｒｅ  Ｍｅｍｏｒｙ）は、全ての階層を含むブロック図において１個のみである。
【００５７】
処理要素２２００（Ｄａｔａ  Ｓｔｏｒｅ  Ｗｒｉｔｅ）は、上流の処理要素から受け取った情報をメモリ領域に書き込むための処理要素である。処理要素２３００（Ｄａｔａ  Ｓｔｏｒｅ  Ｒｅａｄ）は、メモリ領域を参照して情報を読み取って下流の処理要素に渡すための処理要素である。処理要素２２００（Ｄａｔａ  Ｓｔｏｒｅ  Ｗｒｉｔｅ）および処理要素２３００（Ｄａｔａ  Ｓｔｏｒｅ  Ｒｅａｄ）は、それぞれ１以上の数を有している。
【００５８】
Ｓｉｍｕｌｉｎｋ（登録商標）から出力されるブロック図では、これらの処理要素２１００、２２００、２３００は、図１０に示すように、互いに結線で結ばれていない。つまり、依存関係があるにも関わらず、依存関係が付与されていない。
【００５９】
そのため、依存関係を付与するのである。そのために、依存関係更新部１２０の依存関係付与部１２２が、図１１の結線Ｌ８、Ｌ９で示すような依存関係を付与する。実際には、図１１のブロック図を描くわけではない。
【００６０】
つまり、設計構造行列（ＤＳＭ）において、図１２に示すように、依存関係に基づいて、「１」の値を入れる。
【００６１】
５−４．データ構造
上記の（Ａ）階層要素の削除および（Ｂ）案内要素の削除の処理を行うことにより、具体的な処理を行わない接続要素をカウントすることなく、適正な経路探索を実施できるデータ構造が得られる。また、（Ｃ）依存関係の付与の処理を行うことにより、経路の途切れていないデータ構造が得られる。したがって、後述する経路探索において、合理的な階層構造および分岐構造を導出することができる。
【００６２】
６．経路探索
この経路探索は、経路構造導出部１３０により実行される。経路探索には、上流の経路探索と、下流の経路探索とがある。上流の経路探索とは、ユーザーにより選択された処理要素（基準要素）から上流の経路を探索することである。下流の経路探索とは、ユーザーにより選択された処理要素（基準要素）から下流の経路を探索することである。
【００６３】
６−１．上流の経路探索
例えば、処理要素１４３０（１／Ｚ）（図１および図４等参照）を基準要素として、上流の経路探索をする場合について説明する。ここで、処理要素１３００（Ｓｕｂｓｙｓｔｅｍ２）の構成が、図１３であったと仮定する。この場合、処理要素１４３０（１／Ｚ）のすぐ上流には、処理要素１３００（Ｓｕｂｓｙｓｔｅｍ２）がある。
【００６４】
より具体的には、図１３に示すように、処理要素１４３０（１／Ｚ）のすぐ上流には処理要素１３５０がある。処理要素１３５０では、距離ｐは１であり、階層数ｑは１であり、分岐点数ｒは０である。ここで、距離ｐは、基準要素から数えた結線の数である。階層数ｑは、基準要素から数えた階層数である。分岐点数ｒは、基準要素から数えた分岐点の数である。
【００６５】
次に、処理要素１３５０より上流を探す。処理要素１３５０の上流側には、処理要素１３１０（Ｓｕｂｓｙｓｔｅｍ３）と、処理要素１３２０とがある。つまり、処理要素１３５０の上流で分岐している。図示しないが、処理要素１３１０（Ｓｕｂｓｙｓｔｅｍ３）には処理要素１３５０と結線でつながっている処理要素がある。その処理要素では、距離ｐは２であり、階層数ｑは２であり、分岐点数ｒは２である。処理要素１３２０では、距離ｐは２であり、階層数ｑは１であり、分岐点数ｒは２である。このように、分岐があるため、同じ距離ｐに位置する要素は複数存在する場合がある。そして、また、これらの処理要素の上流を探索していく。
【００６６】
このように、基準要素から距離ｐだけ離れた複数の処理要素と、その処理要素が基準要素から数えた階層数ｑおよび分岐点数ｒを導出する。これは、最も上流の処理要素に辿り着くまで繰り返し実行する。これにより、基準要素より上流に位置する全ての処理要素について、距離ｐ、階層数ｑ、分岐点数ｒの組み合わせで表すことができる。なお、分岐点数ｒは、分岐点を経るごとに、累積して数える。このように、経路構造導出部１３０は、探索経路受付部１５２により受け付けられた指定経路が上流の経路である場合に、基準要素から上流の処理要素について基準要素からの距離ｐおよび階層数ｑおよび分岐点数ｒを導出する。
【００６７】
６−２．下流の経路探索
下流の経路探索についても、上流の経路探索と同様に実行することができる。ただし、上流の経路探索では依存先から依存元を探索したが、下流の経路探索では依存元から依存先を探索する。すなわち、経路構造導出部１３０は、探索経路受付部１５２により受け付けられた指定経路が下流の経路である場合に、基準要素から下流の処理要素について基準要素からの距離ｐおよび階層数ｑおよび分岐点数ｒを導出する。
【００６８】
６−３．経路探索の結果の表示
６−３−１．階層数
階層構造表示部１４３は、距離ｐの値を横軸とするとともに、階層数ｑの値を縦軸とするグラフを表示部３０に表示させる。そのグラフを図１４に例示する。これは、あくまで例示であり、上記で導出した経路探索の結果を示すものではない。
【００６９】
６−３−２．分岐点数
分岐構造表示部１４４は、距離ｐの値を横軸とするとともに、分岐点数ｒの値を縦軸とするグラフを表示部３０に表示させる。そのグラフを図１５に例示する。これは、あくまで例示であり、上記で導出した経路探索の結果を示すものではない。
【００７０】
ユーザーは、これらのグラフを参考にして、階層の深さや分岐点の数を検討しつつ、設計構造行列（ＤＳＭ）を手動で変更することができる。この変更は、行列の要素の並び順を入れ換えることである。このとき、行の要素の順番を入れ換えた場合には、それにともなって列の要素の順番も入れ替わる。
【００７１】
７．制御フロー
本実施形態のモデル分析支援装置１が実行する制御フローを図１６のフローチャートを用いて説明する。まず、モデルの情報を取得する（Ｓ１０１）。ここでは、要素と、結線（依存関係情報）と、階層と、要素の座標と、を取得する。もちろん、これ以外の情報を取得してもよい。次に、要素の並び替えを実行する（Ｓ１０２）。具体的には、制御部１００が、実行する。その処理内容は、前述の設計構造行列の並び替えで説明したとおりである。
【００７２】
次に、（Ａ）階層要素の削除を行う（Ｓ１０３）。次に、（Ｂ）案内要素の削除を行う（Ｓ１０４）。次に、（Ｃ）依存関係の付与（Ｓ１０５）を行う。なお、これらＳ１０３〜Ｓ１０５の順序は、適宜入れ換えてもよい。
【００７３】
次に、設計構造行列（ＤＳＭ）を表示部３０に表示する（Ｓ１０６）。そして、ユーザーによる基準要素の選択を受け付ける（Ｓ１０７）。また、ユーザーによる上流の経路検索の入力を受け付ける。そして、上流の経路探索が選択された場合には（Ｓ１０８：Ｙｅｓ）、Ｓ１０９に進む。下流の経路探索が選択された場合には（Ｓ１０８：Ｎｏ）、Ｓ１１０に進む。Ｓ１０９では、上流の探索結果を表示する（Ｓ１０９）。そして、Ｓ１１１に進む。Ｓ１１０では、下流の探索結果を表示する（Ｓ１１０）。そして、Ｓ１１１に進む。
【００７４】
Ｓ１１１において、ユーザーによる入力を受け付ける。そして、ユーザーにより階層を表示する選択肢が選択された場合には（Ｓ１１１：Ｙｅｓ）、Ｓ１１２に進む。そうでない場合には（Ｓ１１１：Ｎｏ）、Ｓ１１３に進む。Ｓ１１２では、階層数のグラフを表示する。Ｓ１１３では、分岐点数のグラフを表示する。
【００７５】
以上の分析結果をふまえて、ユーザーはモデルのプロセスについて検討する。そして、必要があれば、要素の順序を入れ換える。そのため、（１）戻りの少ないプロセス、（２）階層数の少ないプロセス、（３）分岐点数の少ないプロセスを設計することができる。または、これらを組み合わせることで、ユーザーの設計思想に沿って設計されたシミュレーションモデルを作成することができる。
【００７６】
８．変形例
８−１．設計構造行列の依存関係
本実施形態では、依存関係のある行列要素として、「１」の値を入れることとした。しかし、依存関係が強い場合には、これより大きな数値を入れることとしてもよい。つまり、依存関係の大きなものほど、大きな値を入れるのである。
【００７７】
８−２．記憶媒体
本実施形態では、モデル分析支援装置１およびモデル分析支援プログラムＰ１について説明した。しかし、モデル分析支援プログラムＰ１の記録された記憶媒体にももちろん適用することができる。この記憶媒体は、モデル分析支援プログラムＰ１を記録したコンピューター読み取り可能な記憶媒体である。記憶媒体として、例えば、ＣＤＲＯＭ、ＤＶＤＲＯＭ等が挙げられる。もちろん、これ以外のものであってもよい。
【００７８】
８−３．依存関係更新部の処理
本実施形態では、（Ａ）階層要素の削除（Ｓ１０３）と、（Ｂ）案内要素の削除（Ｓ１０４）と、（Ｃ）依存関係の付与（Ｓ１０５）とを、いずれも実行することとした。しかし、Ｓｉｍｕｌｉｎｋ（登録商標）でのブロック図によっては、これらのうちのいずれか１つであってもよい場合がある。もちろん、これらのうちのいずれか２つであってもよい。
【００７９】
８−４．設計構造行列（ＤＳＭ）の処理
前述の制御フロー（図１６）では、ブロック図の配置に基づいて、設計構造行列（ＤＳＭ）における要素の配置を決定した。しかし、要素を公知の方法により入れ換えることとしてもよい（例えば、特許文献１参照）。
【００８０】
９．まとめ
以上詳細に説明したように、本実施形態のモデル分析支援装置１およびモデル分析支援プログラムＰ１では、設計構造行列（ＤＳＭ）を用いて、シミュレーションモデルの好適化を行うことができる。また、依存関係を整理して、新たに依存関係を付与することにより、階層構造および分岐構造をユーザーに示すことができる。そのため、ユーザーは、これらを複合的に検討することで、ユーザーの設計思想に沿ったシミュレーションモデルの再構築を行うことができる。
【００８１】
なお、本実施例は単なる例示にすぎない。したがって当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。
【００８２】
（第２の実施形態）
第２の実施形態について説明する。第１の実施形態では、シミュレーションモデルの処理要素とした。しかし、開発工程を処理要素としてもよい。例えば、自動車のエンジン等の開発が挙げられる。その場合には、図１や図４の処理要素は、開発工程となる。そして、設計構造行列（ＤＳＭ）を用いることにより、エンジンの開発工程を最適化することにより、エンジンの開発期間を短縮することができる。
【符号の説明】
【００８３】
Ｐ１…モデル分析支援プログラム
１…モデル分析支援装置
１０…処理装置
２０…入力部
３０…表示部
Ｃ１…ＣＰＵ
Ｍ１…メモリ
１００…制御部
１１０…依存関係情報取得部
１２０…依存関係更新部
１２１…削除要素指定部
１２２…依存関係付与部
１２３…指定要素削除部
１３０…経路構造導出部
１４０…表示制御部
１４３…階層構造表示部
１４４…分岐構造表示部
１５０…入力受付部
２００…不揮発性メモリ
【図１】
2014089530.tif 000003
【図２】
2014089530.tif 000004
【図３】
2014089530.tif 000005
【図４】
2014089530.tif 000006
【図５】
2014089530.tif 000007
【図６】
2014089530.tif 000008
【図７】
2014089530.tif 000009
【図８】
2014089530.tif 000010
【図９】
2014089530.tif 000011
【図１０】
2014089530.tif 000012
【図１１】
2014089530.tif 000013
【図１２】
2014089530.tif 000014
【図１３】
2014089530.tif 000015
【図１４】
2014089530.tif 000016
【図１５】
2014089530.tif 000017
【図１６】
2014089530.tif 000018