(57)【要約】      （修正有）【課題】グラフィック形式で表現されたモデルの開発者以外でも、専用の開発ツールを使用せずにモデルの変更内容を把握可能な技術を提供する。【解決手段】管理装置は、グラフィック形式で表現された処理要素を複数に連接したブロック線図で表されるモデルのモデルバージョンを管理する。管理装置は、改訂前のモデルと、改訂前のモデルに対して少なくとも処理要素の追加、削除、パラメータ値の変更、処理要素間の接続変更の何れかが行われた改訂後のモデルとの間で、それぞれのモデルを構成する処理要素間の比較を行い、改訂後のモデルの処理内容と改訂前のモデルからの変更箇所を抽出する抽出手段Ｓ２と、抽出された改訂後のモデルの処理内容と改訂前のモデルからの変更箇所とを所定態様で表現するドキュメントを生成する生成手段Ｓ３とを備えることを特徴とする。【選択図】図１１
2018173822.tif 000002
【特許請求の範囲】
【請求項１】
グラフィック形式で表現された処理要素を複数に連接したブロック線図で表されるモデルの管理装置であって、
改訂前のモデルと、前記改訂前のモデルに対して少なくとも処理要素の追加、削除、パラメータ値の変更、処理要素間の接続変更の何れかが行われた改訂後のモデルとの間で、それぞれのモデルを構成する処理要素間の比較を行い、前記改訂後のモデルの処理内容と前記改訂前のモデルからの変更箇所を抽出する抽出手段と、
前記抽出された改訂後のモデルの処理内容と前記改訂前のモデルからの変更箇所とを所定態様で表現するドキュメントを生成する生成手段と、
を備えることを特徴とする管理装置。
【請求項２】
前記抽出手段は、前記改訂後のモデルを構成する処理要素毎の名称および処理内容を抽出し、
前記生成手段は、前記ドキュメントに、前記抽出された処理要素毎の名称および処理内容を前記改訂後のモデルで定義された処理の流れの実行順に整列する、請求項１に記載の管理装置。
【請求項３】
前記生成手段は、前記改訂前のモデルからの変更箇所を前記改訂後のモデルを構成する処理要素毎の名称に対応付けて変更に係る内容を前記ドキュメントに記述する、請求項１または２に記載の管理装置。
【請求項４】
前記生成手段は、少なくとも前記改訂後のモデルを構成する処理要素の処理内容を示す要素、あるいは、要素の組合せに限定して処理内容を前記ドキュメントに表現する、請求項１から３の何れか一項に記載の管理装置。
【請求項５】
前記生成手段は、前記改訂後のモデルを構成する処理要素が四則演算、あるいは、四則演算の組合せの場合には数式を用いて処理内容を前記ドキュメントに表現する、請求項１から４の何れか一項に記載の管理装置。
【請求項６】
前記生成手段は、前記改訂後のモデルを構成する処理要素の処理に係るパラメータ値が変更されている場合には、変更前のパラメータ値と変更後のパラメータ値とを前記ドキュメントに記述する、請求項１から５の何れか一項に記載の管理装置。
【請求項７】
前記生成手段は、前記改訂後のモデルを構成する処理要素の内、前記改訂前のモデルに対して追加された処理要素を所定の表示態様で前記ドキュメントに表現する、請求項１から６の何れか一項に記載の管理装置。
【請求項８】
前記生成手段は、前記改訂後のモデルを構成する処理要素の内、前記改訂前のモデルに対してパラメータの変更が生じた変更箇所を所定の表示態様で前記ドキュメントに表現する、請求項１から７の何れか一項に記載の管理装置。
【請求項９】
グラフィック形式で表現された処理要素を複数に連接したブロック線図で表されるモデルの管理装置が、
改訂前のモデルと、前記改訂前のモデルに対して少なくとも処理要素の追加、削除、パラメータ値の変更、処理要素間の接続変更の何れかが行われた改訂後のモデルとの間で、それぞれのモデルを構成する処理要素間の比較を行い、前記改訂後のモデルの処理内容と前記改訂前のモデルからの変更箇所を抽出する抽出ステップと、
前記抽出された改訂後のモデルの処理内容と前記改訂前のモデルからの変更箇所とを所定態様で表現するドキュメントを生成する生成ステップと、
を実行することを特徴とするモデルバージョンの管理方法。
【請求項１０】
グラフィック形式で表現された処理要素を複数に連接したブロック線図で表されるモデルの管理装置に、
改訂前のモデルと、前記改訂前のモデルに対して少なくとも処理要素の追加、削除、パラメータ値の変更、処理要素間の接続変更の何れかが行われた改訂後のモデルとの間で、それぞれのモデルを構成する処理要素間の比較を行い、前記改訂後のモデルの処理内容と前記改訂前のモデルからの変更箇所を抽出する抽出ステップと、
前記抽出された改訂後のモデルの処理内容と前記改訂前のモデルからの変更箇所とを所定態様で表現するドキュメントを生成する生成ステップと、
を実行させることを特徴とするモデルバージョンの管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム開発時における、グラフィック形式で表現されたモデルの管理装置、モデルバージョンの管理方法および管理プログラムに関する。
【背景技術】
【０００２】
近年、ブロック線図等のグラフィック形式で表現されたモデルを用いて制御プロセス等の処理アルゴリズムを開発するプログラム開発環境が普及してきている。上記プログラム開発環境は、例えば、ワークステーション（ＷＳ：Work Station）やＰＣ（Personal Computer）、サーバ等の情報処理装置に搭載された専用のソフトウェアプログラム（以下、
「開発ツール」とも称す）の実行により提供される。
【０００３】
開発者は、例えば、上記情報処理装置に搭載された開発ツールを使用し、グラフィック形式で表された処理要素（以下、「ブロック」とも称す）を複数に組合せて連接されたブロック線図によるモデルを作成する。ここで、モデルとは、例えば、目的とする開発プログラム（例えば、Ｃ言語等で記述されるソースコード）の処理アルゴリズムを定義する仕様を、ブロック線図で表したものと言うことができる。モデルの作成は、予め開発ツールによって提供される処理要素群（例えば、ライブラリ等）から所望の処理要素を選択し、選択した処理要素を複数に組合せて接続することで行われる。
【０００４】
ブロック線図で表現されたモデルは、例えば、上記プログラム開発環境で提供されるコード生成ツールプログラム（オートコーダ）を介し、Ｃ言語等の実装可能な言語で記述されたソースコードに自動的に変換される。変換されたソースコードは、例えば、実装担当者に引き渡され、制御プロセスを実行する機器に実装される。このように、目的とする開発プログラムの処理アルゴリズムを定義するモデルから、実装可能な言語を用いてソースコードを生成する態様のプログラム開発は、モデルベース開発とも呼ばれている。
【０００５】
なお、本明細書で説明する技術に関連する技術が記載されている先行技術文献としては、以下の特許文献が存在している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１１３２７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、制御プロセスを実行する機器においては、開発者から引き渡されたソースコードに基づいて、実装後の処理機能の適正さ（開発者の意図した通りの処理機能が提供されるか否か）の確認作業が実装担当者によって行われる。ソースコードに基づく処理機能が、開発者の意図した通りの処理機能を提供しない場合や、処理機能の機能追加、機能変更を行う場合にはモデル改訂が行われる。
【０００８】
開発者は、例えば、改訂前のモデルに対して、処理要素（ブロック）の追加、削除、配置、処理パラメータ、ブロック間の接続等の変更作業を行うことで改訂後のモデルを生成する。モデル改訂後には、オートコーダを介し、改訂後のモデルに対応したソースコード（以下、「改訂後のソースコード」とも称す）が生成される。改訂後のソースコードは再び実装担当者に引き渡され、該ソースコードを実装した機器の処理機能の適正さの確認作業が行われる。開発者によるモデルの改訂作業および改訂後のソースコードに基づく確認
作業は、改訂後のソースコードを実装した機器が所望の処理機能を提供するまで繰り返される。
【０００９】
制御プロセスを実行する機器の処理機能の確認作業は、Ｃ言語等の実装可能な言語で記述されたソースコードに基づいて行われる。実装担当者においては、改訂前のソースコードと改訂後のソースコードとを比較しながら改訂箇所を特定した上で、改訂箇所に応じた制御プロセスの処理機能の適正さを確認するといった手順で確認作業が行われる。改訂後の確認作業においては、ソースコードの中から改訂箇所を特定する作業に時間が費やされるため、確認作業時間が相対的に増大していた。
【００１０】
ここで、開発ツールが搭載されるプログラム開発環境下では、例えば、改訂前後のモデル改訂部分を所定の表示色（例えば、赤色）で表示することが可能である。所定の表示色で変更箇所が表示される場合には、改訂前後のモデル改訂部分の視認が可能になる。しかしながら、この方法では、実装担当者の使用するＰＣ等に対して、個別に上記プログラム開発環境を提供する開発ツールのライセンスを取得する必要があるため、ライセンス取得のための新たな費用が発生する。さらに、実装担当者においては、例えば、ブロック線図で表現されたモデルの処理アルゴリズム内容を理解した上で、改訂箇所の処理機能を把握するリテラシーが求められる。
【００１１】
本発明は、このような事情を鑑みてなされたものであり、グラフィック形式で表現されたモデルの開発者以外でも、専用の開発ツールを使用せずにモデルの変更内容を把握可能な技術の提供を目的とする。
【課題を解決するための手段】
【００１２】
本発明は、グラフィック形式で表現された処理要素を複数に連接したブロック線図で表されるモデルの管理装置によって例示される。
すなわち、管理装置は、改訂前のモデルと、前記改訂前のモデルに対して少なくとも処理要素の追加、削除、パラメータ値の変更、処理要素間の接続変更の何れかが行われた改訂後のモデルとの間で、それぞれのモデルを構成する処理要素間の比較を行い、前記改訂後のモデルの処理内容と前記改訂前のモデルからの変更箇所を抽出する抽出手段と、
前記抽出された改訂後のモデルの処理内容と前記改訂前のモデルからの変更箇所とを所定態様で表現するドキュメントを生成する生成手段と、
を備えることを特徴とする。
【００１３】
かかる構成によれば、グラフィック形式で表現されたモデルの改訂バージョンが、テキストや数式を用いた態様で管理できる。モデル改訂後の処理内容および変更箇所は、ドキュメントとして提示できるため、グラフィック形式で表現されたモデルを開発するための専用の開発ツールを使用しなくともモデル改訂に係る変更内容を確認することができる。また、モデル改訂の係る処理内容および変更箇所は、改訂後の処理機能を理解するためのリテラシーを必要としない態様で表現できるため、開発者以外でも、改訂後のモデルで定義された処理内容や変更点を確認することができる。
【００１４】
また、本発明は、グラフィック形式で表現された処理要素を複数に連接したブロック線図で表されるモデルの管理装置が、
改訂前のモデルと、前記改訂前のモデルに対して少なくとも処理要素の追加、削除、パラメータ値の変更、処理要素間の接続変更の何れかが行われた改訂後のモデルとの間で、それぞれのモデルを構成する処理要素間の比較を行い、前記改訂後のモデルの処理内容と前記改訂前のモデルからの変更箇所を抽出する抽出ステップと、
前記抽出された改訂後のモデルの処理内容と前記改訂前のモデルからの変更箇所とを所定態様で表現するドキュメントを生成する生成ステップと、
を実行することを特徴とするモデルバージョンの管理方法であってもよい。
【００１５】
また、本発明は、グラフィック形式で表現された処理要素を複数に連接したブロック線図で表されるモデルの管理装置に、
改訂前のモデルと、前記改訂前のモデルに対して少なくとも処理要素の追加、削除、パラメータ値の変更、処理要素間の接続変更の何れかが行われた改訂後のモデルとの間で、それぞれのモデルを構成する処理要素間の比較を行い、前記改訂後のモデルの処理内容と前記改訂前のモデルからの変更箇所を抽出する抽出ステップと、
前記抽出された改訂後のモデルの処理内容と前記改訂前のモデルからの変更箇所とを所定態様で表現するドキュメントを生成する生成ステップと、
を実行させることを特徴とするモデルバージョンの管理プログラムであってもよい。
【００１６】
なお、本発明は、上記手段や処理の少なくとも一部を含むモデルバージョンの管理装置として特定することができる。上記処理や手段は、技術的な矛盾が生じない限りにおいて、自由に組み合わせて実施することができる。
【発明の効果】
【００１７】
本発明によれば、グラフィック形式で表現されたモデルの開発者以外でも、専用の開発ツールを使用せずにモデルの変更内容を把握可能な技術が提供できる。
【図面の簡単な説明】
【００１８】
【図１】実施形態に係るモデルバージョン管理装置のハードウェア構成例を示す図である。
【図２】ブロック線図で表現された改訂前のモデルの一例を示す図である。
【図３】ブロック線図で表現された改訂後のモデルの一例を示す図である。
【図４】モデルバージョンの管理態様の一例を示す図である。
【図５】ブロック線図で表現された改訂前のプラントモデルの一例を示す図である。
【図６】ブロック線図で表現された改訂後のブラントモデルの一例を示す図である。
【図７】モデルバージョンの管理態様の一例を示す図である。
【図８】改訂前の解析モデルの一例を示す図である。
【図９】改訂後の解析モデルの一例を示す図である。
【図１０】モデルバージョンの管理態様の一例を示す図である。
【図１１】実施形態に係るバージョン管理処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、図面を参照して、一実施形態に係るモデルバージョン管理装置について説明する。以下の実施形態の構成は例示であり、本モデルバージョン管理装置は実施形態の構成には限定されない。
【００２０】
＜１．装置構成＞
図１は、本実施形態に係るモデルバージョン管理装置１０のハードウェア構成の一例を示す図である。モデルバージョン管理装置１０は、例えば、ワークステーションやＰＣ、サーバ等の情報処理装置として提供される。
なお、モデルバージョン管理装置１０は、例えば、ブロック線図等のグラフィック形式で表現されたモデルを用いて制御プロセス等の処理アルゴリズムを開発するための開発ツールが搭載された情報処理装置の一部を構成する。また、モデルバージョン管理装置１０は、図示しないネットワークを介して開発ツールが搭載された情報処理装置に接続され得る。ネットワークには、例えば、インターネットといった公衆ネットワーク、ＬＡＮ（Local Area Network）等の有線ネットワーク、携帯電話網、無線ＬＡＮ等の無線ネットワークが含まれる。ネットワークには、実装担当者の使用するＰＣ等の情報処理装置が複数に
接続し得る。
以下では、モデルバージョン管理装置１０は「管理装置１０」とも称し、上記開発ツールが搭載された情報処理装置の一部を構成するものとして説明する。
【００２１】
図１に示す管理装置１０は、接続バス１７によって相互に接続されたＣＰＵ（Central Processing Unit）１１、主記憶装置１２、補助記憶装置１３、入力装置１４、出力装置
１５、通信ＩＦ１６を有する。主記憶装置１２および補助記憶装置１３は、管理装置１０が読み取り可能な記録媒体である。補助記憶装置１３には、本実施形態に係るモデルバージョン管理用の管理テンプレート（ひな型）が管理テンプレートＤＢ２０１として格納される。なお、上記の構成要素はそれぞれ複数に設けられてもよいし、一部の構成要素を設けないようにしてもよい。
【００２２】
ＣＰＵ１１は、ＭＰＵ（Microprocessor）、プロセッサとも呼ばれる。ただし、ＣＰＵ１１は、単一のプロセッサに限定される訳ではなく、マルチプロセッサ構成であってもよい。また、単一のソケットで接続される単一のＣＰＵがマルチコア構成であってもよい。ＣＰＵ１１は、管理装置１０全体の制御を行う中央処理演算装置である。ＣＰＵ１１は、例えば、補助記憶装置１３に記憶されたプログラムを主記憶装置１２の作業領域に実行可能に展開し、プログラムの実行を通じて周辺機器の制御を行うことで所定の目的に合致した機能を提供する。
【００２３】
主記憶装置１２は、ＣＰＵ１１がプログラムやデータをキャッシュしたり、作業領域を展開したりする記憶媒体である。主記憶装置１２は、例えば、フラッシュメモリ、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）を含む。補助記憶装置１３は、各種のプログラムおよび各種のデータを読み書き自在に記録媒体に格納する。補助記憶装置１３は、外部記憶装置とも呼ばれる。補助記憶装置１３には、例えば、ＯＳ（Operating System）、各種プログラム、各種テーブル等が格納される。ＯＳは、例えば、通信ＩＦ１６を介して接続される外部装置等とのデータの受け渡しを行う通信インターフェースプログラムを含む。外部装置等には、例えば、ネットワーク上のＰＣやサーバといった情報処理装置、外部記憶装置等が含まれる。
【００２４】
補助記憶装置１３は、例えば、ＥＰＲＯＭ（Erasable Programmable ROM）、ソリッド
ステートドライブ装置、ハードディスクドライブ（ＨＤＤ、Hard Disk Drive）装置等で
ある。また、補助記憶装置１３としては、例えば、ＣＤドライブ装置、ＤＶＤドライブ装置、ＢＤドライブ装置等が提示できる。記録媒体としては、例えば、不揮発性半導体メモリ（フラッシュメモリ）を含むシリコンディスク、ハードディスク、ＣＤ、ＤＶＤ、ＢＤ、ＵＳＢ（Universal Serial Bus）メモリ、ＳＤ（Secure Digital）メモリカード等がある。
【００２５】
入力装置１４は、操作者からの操作指示等を受け付ける。入力装置１４は、例えば、キーボード、ポインティングデバイス、マイクロフォン等の入力デバイスである。ポインティングデバイスには、例えば、タッチパネル、マウス、トラックボール、ジョイスティックが含まれる。出力装置１５は、ＣＰＵ１１で処理されるデータや情報、主記憶装置１２、補助記憶装置１３に記憶されるデータや情報を出力する。出力装置１５には、例えば、ＬＣＤ（Liquid Crystal Display）、ＥＬ（Electroluminescence）パネル、有機ＥＬパ
ネル等の表示デバイスが含まれる。また、出力装置１５は、プリンタ、スピーカ等の出力デバイスであってもよい。通信ＩＦ１６は、例えば、管理装置１０に接続されるネットワーク等とのインターフェースである。
【００２６】
管理装置１０は、ＣＰＵ１１のプログラムの実行により、少なくとも図１に示すバージョン管理部１０１の処理機能を提供する。但し、上記処理部の少なくとも一部が、ＤＳＰ
（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit
）、ＧＰＵ（Graphics Processing Unit）等によって提供されてもよい。同様にして、上記処理部の少なくとも一部が、ＦＰＧＡ（Field-Programmable Gate Array）、数値演算
プロセッサ、ベクトルプロセッサ、画像処理プロセッサ等の専用ＬＳＩ（large scale integration）、その他のディジタル回路であってもよい。また、上記処理部の少なくとも
一部にアナログ回路を含むとしてもよい。ＣＰＵ１１のプログラムの実行により提供されるバージョン管理部１０１の処理機能は、「抽出手段」、「生成手段」の一例である。なお、管理装置１０は、上記処理部が参照し、あるいは、管理するデータの格納先として補助記憶装置１３を備える。
【００２７】
＜２．処理機能＞
本実施形態に係る管理装置１０においては、ブロック線図等のグラフィック形式で記述されたモデルに改訂が生じた場合には、モデル改訂後の処理内容および変更箇所をテキスト形式や数式等を用いて表現し、モデル改訂後のバージョン管理が行われる。管理装置１０においては、改訂後のモデルバージョンは、モデルを構成するブロック毎の処理内容および変更箇所がテキストや数式等で表現されたドキュメントとして管理される。
【００２８】
（モデル改訂後の処理内容の表現）
管理装置１０のバージョン管理部１０１は、例えば、改訂後のモデルから、ブロック線図を構成する各ブロックの、割当てられた処理の名称（以下、「ブロック名」とも称す）を抽出する。ブロックに割当てられる処理の名称は、例えば、ブロック線図モデルを定義する開発者により付与される。そして、バージョン管理部１０１は、抽出されたブロック名に対応付けて、各ブロックに定義された処理内容をドキュメントに記述する。ブロック毎の処理内容は、例えば、次のように表現される。
【００２９】
（１）ブロックに定義された処理が、四則演算や四則演算の単純な組合せの場合には、演算処理に使用される数式を用いて処理内容を表現する。
（２）ブロックに定義された処理が、数式を用いて表現すると複雑になる処理の場合は、処理内容の把握に必要な要素に限定して表現する。
（３）ブロックが、定数の定義などの処理を必要としない定数値の設定ブロックの場合には、処理内容としては記述しない。
【００３０】
また、バージョン管理部１０１は、ブロック毎のブロック名に対応付けて、上記（１）から（３）に示す表現を用いて処理内容を記述する際には、改訂後のブロック線図モデルで定義された処理の実行順に従ってブロック毎の処理内容を整列する。処理の実行順は、例えば、ブロック線図モデルが表示される表示画面において、ブロック間を接続する接続線の矢印方向により特定される。
【００３１】
また、バージョン管理部１０１は、改訂後のブロック線図モデルにおいて、ブロックの出力状態が変更される処理結果を所定の表示色に変更して明示する。
【００３２】
（モデル改訂後の変更箇所の表現）
管理装置１０のバージョン管理部１０１は、改訂前後のブロック線図モデルを比較し、変更が生じたブロック名、パラメータ名を用いて変更点をドキュメントに表現する。同様にして、バージョン管理部１０１は、ブロック間の接続変更が生じた接続元のブロック名や、接続先のブロック名を用いて変更点をドキュメントに表現する。バージョン管理部１０１は、例えば、変更が生じたブロックのブロック名を抽出する。そして、バージョン管理部１０１は、抽出されたブロック名に対応付けて、「追加」、「削除」、「接続元の変更」、「接続先の変更」といった変更に係る内容をドキュメントに記述する。
【００３３】
また、バージョン管理部１０１は、ブロックで定義された処理のパラメータが変更された場合には、ブロック名に加え、変更が生じたパラメータ名を抽出する。そして、バージョン管理部１０１は、抽出されたブロック名に対応付けて、「パラメータの変更」といった変更に係る内容と共に、変更後のパラメータの設定内容をドキュメントに記述する。
【００３４】
なお、バージョン管理部１０１は、開発者によって定義されたブロック線図モデルのブロック名に応じて、ブロック毎の改訂に係る変更履歴を作成する。ブロック毎の改訂に係る変更履歴は、補助記憶装置１３の所定の領域に記憶される。
【００３５】
この結果、本実施形態に係る管理装置１０においては、開発者によって定義されたモデルの改訂バージョンがテキストや数式を用いた態様で管理可能になる。管理装置１０は、モデル改訂後の処理内容および変更箇所をドキュメントとして提示可能になるため、ブロック線図モデルの開発ツールを使用しなくともモデル改訂に係る変更内容を確認することが可能になる。また、モデル改訂の係る処理内容および変更箇所は、改訂後の処理機能を理解するためのリテラシーを必要としない態様で表現されるため、開発者以外でも、改訂後のモデルで定義された処理アルゴリズムの処理内容や変更点を確認することが可能になる。
【００３６】
本実施形態に係る管理装置１０によれば、グラフィック形式で表現されたモデルの開発者以外でも、専用の開発ツールを使用せずにモデルの変更内容を把握可能な技術が提供できる。
【００３７】
＜３．処理例＞
以下、図２から図１０の図面を参照し、本実施形態に係る管理装置１０の提供するグラフィック形式で表現されたモデルバージョンの管理処理を説明する。
【００３８】
（処理例１）
図２、図３は、ブロック線図で表現されたモデルの一例である。図２は、改訂前のブロック線図モデルを表し、図３は、改訂後のブロック線図モデルを表す。図２、図３に示すモデルでは、例えば、センサを介して検出された制御量をフィードバック量として、予め設定された目標値に追従するようにＰＩＤ（Proportional Integral Differential）制御される機器のサーボ制御が定義される。
【００３９】
ブロック線図モデルの開発者は、例えば、管理装置１０に搭載された開発ツールを起動し、出力装置１５を構成するＬＣＤ等の表示デバイスに表示されたモデルベース開発画面を用いて、図２に示す改訂前のブロック線図モデルを作成する。改訂前のブロック線図モデルでは、ブロックＢ１からブロックＢ７の複数の処理要素が連接されてサーボ制御プログラムの処理アルゴリズムが定義される。
【００４０】
各ブロックは、処理の流れを示す矢印付きの接続線で連接されている。処理の流れを示す矢印付きの接続線には、例えば、接続元のブロックを識別する識別番号やブロック名等、接続先のブロックを識別する識別番号やブロック名等が関連付けされている。また、各ブロックには、開発者によって付与された処理の名称が割り当てられている。
【００４１】
図２において、ブロックＢ１は、例えば、ブロック線図モデルの入力値を表し、センサを介して検出されたＡ／Ｄ変換後の制御量である。ブロックＢ１には、処理の名称として「Ａ／Ｄ（センサ）」が付与されている。
【００４２】
ブロックＢ２は、例えば、検出された制御量を他の制御量（例えば、距離値）に変換する処理ブロックを表す。ブロックＢ２では、変換処理を行うための複数のパラメータ（例
えば、Ａ／Ｄ変換に関する分解能、「Ａ／Ｄ値＝０」時の制御位置、「Ａ／Ｄ値＝ｍａｘ」時の制御位置等）が定義される。ブロックＢ２には、処理の名称として「Ａ／Ｄ値から距離への変換」が付与されている。
【００４３】
ブロックＢ３は、入力された複数の制御量に対して差分演算処理を行うブロックである。ブロックＢ３においては、例えば、ブロックＢ７で定義された目標値と、ブロックＢ２で変換された制御量との偏差量が演算結果として出力される。ブロックＢ３には、処理の名称として「差分」が付与されている。
【００４４】
ブロックＢ４は、例えば、ブロックＢ３の演算結果に対してＰＩＤ制御を行う処理ブロックである。ブロックＢ４においては、ＰＩＤ制御に係るそれぞれのゲイン値（例えば、Ｐゲイン＝１００、Ｉゲイン＝５０、Ｄゲイン＝２５０等）がパラメータとして定義される。ブロックＢ４には、処理の名称として「ＰＩＤ制御」が付与されている。
【００４５】
ブロックＢ５は、例えば、ブロックＢ１からブロックＢ４の処理が施された制御量を所定の制御量（例えば、距離値に応じたディジタル値）に変換する処理ブロックを表す。ブロックＢ５では、変換処理を行うための複数のパラメータ（例えば、Ｄ／Ａ変換に関する分解能、「ディジタル値＝０」時の制御位置、「ディジタル値＝ｍａｘ」時の制御位置等）が定義される。ブロックＢ５には、処理の名称として「距離からディジタル値への変換」が付与されている。
【００４６】
ブロックＢ６は、例えば、ブロック線図モデルの出力値を表し、サーボ制御が行われる機器へ出力される制御量である。ブロックＢ６には、処理の名称として「Ｄ／Ａ（サーボ）」が付与されている。ブロックＢ７は、サーボ制御に係る目標値をパラメータとして定義する処理ブロックを表す。ブロックＢ７には、処理の名称として「目標値」が付与されている。
【００４７】
開発者は、例えば、図２に示すブロック線図モデルの作成後、作成されたブロック線図モデルに所定の名称（ファイル名）を付与し、補助記憶装置１３の所定の領域に格納する。補助記憶装置１３には、例えば、開発者の付与した所定名称にブロック線図モデルを表す所定の拡張子が自動的に付与されて格納される。
そして、開発者は、例えば、開発ツールの提供するオートコーダを実行し、Ｃ言語等の実装可能な言語で記述されたソースコードを生成する。生成されたソースコードは、例えば、ブロック線図モデルに付与された所定名称と、ソースコードを表す所定の拡張子が自動的に付与されて、補助記憶装置１３の所定の領域に格納される。
補助記憶装置１３の所定の領域に格納されたソースコードは、実装担当者に引き渡される。ソースコードに基づく処理機能が、開発者の意図した通りの処理機能を提供しない場合や、処理機能の機能追加、機能変更を行う場合には、ソースコードの生成元になったブロック線図モデルに対してモデル改訂が発生する。
【００４８】
開発者は、例えば、管理装置１０に搭載された開発ツールを起動し、図２に示す改訂前のブロック線図モデルをモデルベース開発画面に表示し、改訂前のモデルによって定義付けされた処理アルゴリズムの改訂を行う。開発ツールを用いた改訂作業においては、モデルベース開発画面に表示された図２に示す改訂前のブロック線図モデルに対して、ブロックの追加や削除、処理パラメータ、ブロック間の接続等の変更等が行われ、図３に示す改訂後のブロック線図モデルが作成される。なお、開発ツールを用いた改訂作業においては、改訂前のブロック線図モデルが管理装置１０の主記憶装置１２の所定の領域に一時的に記憶され、自動的にバックアップされる。
【００４９】
図３に示すように、ブロックＢ８が、開発者によってブロックＢ２とブロックＢ３との
間に追加される。また、開発者によって図２のブロックＢ５のパラメータが変更され、変更後の処理構成がブロックＢ９として示されている。追加されたブロックＢ８には、処理の名称として「ノイズ除去フィルタ」が付与されている。なお、パラメータが変更されたブロックにおいては、変更前に付与された処理の名称が維持されている。
【００５０】
ブロックＢ８は、例えば、入力値に重畳するノイズの周波数成分を取り除くフィルタ関数の処理ブロックを表す。ブロックＢ８では、ノイズの周波数成分を取り除くフィルタのフィルタ係数（１／（Ｚ−１−１））が定義される。また、ブロックＢ９においては、ブロックＢ５で定義された、パラメータ（「ディジタル値＝０」時の制御位置、「ディジタル値＝ｍａｘ」時の制御位置）の値が変更されている。図３に示すブロック線図モデルでは、センサを介して検出された制御量に対してノイズ周波数成分を除去するようフィルタ処理が施される。また、図３に示すブロック線図モデルでは、フィルタ処理の追加に伴う出力値の変更が、パラメータ変更として反映される。
【００５１】
開発者は、例えば、図３に示すブロック線図モデルの作成後、作成されたブロック線図モデルに改訂後の所定の名称（例えば、「改訂前のファイル名＋改訂後の番号」等）を付与し、補助記憶装置１３の所定の領域に格納する。そして、改訂後のブロック線図モデルに従って、改訂後のソースコードが自動的に生成される。
【００５２】
本実施形態に係る管理装置１０は、例えば、改訂されたブロック線図モデルの補助記憶装置１３への保存を契機として、モデル改訂後の処理内容および変更箇所をテキスト形式や数式等を用いて表現したドキュメント情報を生成する。そして、管理装置１０は、生成したドキュメント情報を改訂されたブロック線図モデルに関連付けて管理する。管理装置１０においては、ブロック線図モデルに表現された改訂後の処理内容および変更箇所がモデルバージョン情報として管理される。
【００５３】
図４は、管理装置１０によって生成されるドキュメント情報の一例を示す図である。図４に示すドキュメント情報は、例えば、図２、図３を用いて説明したブロック線図モデルの改訂に伴う一例である。管理装置１０は、例えば、改訂後のブロック線図モデルの補助記憶装置１３への記憶保存を契機として、自動的にバックアップされた改訂前のブロック線図モデルと改訂後のブロック線図モデルとの間でデータ比較を行い、モデル改訂後の処理内容および変更箇所に関する情報を抽出する。そして、管理装置１０は、補助記憶装置１３の管理テンプレートＤＢ２０１に格納されたテンプレートを参照し、抽出したモデル改訂後の処理内容および変更箇所に関する情報を表現する。
【００５４】
図４において、「・処理内容」は改訂後のブロック線図モデルの処理内容が記述されるテンプレート領域である。また、「・変更箇所」は、改訂後のブロック線図モデルにおいて、変更が生じた箇所が記述されるテンプレート領域である。管理装置１０は、バージョン管理部１０１の処理機能で既に説明したように、抽出した情報（モデル改訂後の処理内容、変更箇所）を所定の表現ルールに従って、図４に示す「・処理内容」と「・変更箇所」のテンプレート領域に記述する。
【００５５】
図４に示すように、「・処理内容」のテンプレート領域には、図３に示す改訂後のブロック線図モデルの、入力値を表すブロック（ブロックＢ１）、出力値を表すブロック（ブロックＢ６）を除く処理要素（ブロックＢ２、Ｂ８、Ｂ３、Ｂ４、Ｂ９）が処理の実行順に整列される。なお、目標値をパラメータとして定義するブロックＢ７は、処理を必要としないブロックのため、「・処理内容」のテンプレート領域には記述されない。すなわち、「・処理内容」のテンプレート領域においては、ブロックＢ２、Ｂ８、Ｂ３、Ｂ４、Ｂ９の処理要素の処理の名称（ブロック名）が、実行順を表す処理番号に関連付けされて記述される。
【００５６】
「・処理内容」のテンプレート領域の各ブロックには、開発者によって付与されたブロック名と共に、それぞれのブロックに定義された処理内容が記述される。図４に示すように、ブロック名と処理内容とがコロンを用いて区分けされた「ブロック名：処理内容」といった形態で記述される。
【００５７】
例えば、ブロックＢ２においては、定義された複数のパラメータを用いて表現された演算内容（Ａ／Ｄ値から距離への変換）が記述される。管理装置１０は、例えば、ブロックＢ２に対応する処理機能やパラメータについての定義を、開発ツールの提供するライブラリから取得する。そして、管理装置１０は、取得した定義に基づいて、ブロックＢ２の入出力に係る演算内容をパラメータを用いて記述するとすればよい。ブロックＢ２においては、例えば、「（出力）＝（Ａ／Ｄ（センサ））＊｛（（Ａ／Ｄ値＝ＭＡＸの時の位置）−（Ａ／Ｄ値＝０の時の位置））／（Ａ／Ｄ）の分解能｝＋（Ａ／Ｄ値＝０の時の位置）」といった表現で、処理内容が記述される。
【００５８】
また、図４に示す「・処理内容」のテンプレート領域においては、改訂後のブロック線図モデルにおいて新規に追加されたブロックＢ８のブロック名「ノイズ除去フィルタ」が所定の表示態様（例えば、下線付き赤色表示）で表現される。さらに、ブロックからの出力状態が変更される場合には、当該ブロックの処理内容の変更に係る処理要素が所定の表示態様（例えば、下線付き赤色表示）で表現される。
【００５９】
例えば、ブロックＢ８の追加により、ブロックＢ３においては、差分演算を行う対象がブロックＢ８から出力される制御量に変更される。このため、ブロックＢ３においては、図４に示すように、ブロック名である「差分」に定義付けられた処理内容が、「（出力）＝（ノイズ除去フィルタ）−（目標値）」といったように表現されると共に、「ノイズ除去フィルタ」の記述部分が所定の表示態様（例えば、下線付き赤色表示）で表現される。
【００６０】
図４の「・変更箇所」のテンプレート領域には、改訂後のブロック線図モデルにおいてブロックＢ８のブロック名「ノイズ除去フィルタ」が、変更に係る内容「追加」と共に記述される。同様にして、ブロックＢ９のブロック名「距離からディジタル値への変換」が、変更に係る内容「パラメータの変更」と共に記述される。
【００６１】
なお、改訂後のブロック線図モデルにおいて、ブロック間の接続変更が行われた場合には、例えば、接続変更が行われたブロック名が、変更に係る内容「接続先の変更」、「接続元の変更」等と共に記述される。「・変更箇所」のテンプレート領域においては、変更箇所の記述順は、「・処理内容」のテンプレート領域と同様に、処理順で記述される。
【００６２】
また、図４の「・変更箇所」のテンプレート領域には、ブロックで定義された処理のパラメータが変更された場合には、ブロック名に加え、変更が生じたパラメータ名が記述される。例えば、ブロックＢ９においては、図４に示すように、変更が生じたパラメータ名「（丸囲み２）ディジタル値＝０の時の位置」が、変更の内容「１［ｍｍ］→０［ｍｍ］」と共に記述される。また、ブロックＢ９においては、変更が生じたパラメータ名「（丸囲み３）ディジタル値＝ＭＡＸの時の位置」が、変更の内容「５［ｍｍ］→８［ｍｍ］」と共に記述される。
【００６３】
（処理例２）
（処理例２）では、ブロック線図で表現されたプラントモデルの、応答特性のシミュレーション時のモデル改訂に係るモデルバージョン管理を説明する。図５、図６は、ブロック線図で表現されたプラントモデルの一例である。図５、図６に示すプラントモデルでは、例えば、ＰＩＤ制御の処理結果をフィードバック量として、予め設定された目標値に制
御温度が追従するように制御に係るプラントモデルが定義される。図５は、改訂前のプラントモデルを表し、図６は、改訂後のプラントモデルを表す。
【００６４】
プラントモデルの開発者は、例えば、管理装置１０に搭載された開発ツールを起動し、出力装置１５を構成するＬＣＤ等の表示デバイスに表示されたモデルベース開発画面を用いて、図５に示す改訂前のブロック線図で表現されたプラントモデルを作成する。作成されたプラントモデルに基づいて、例えば、フィードバック制御に係る応答特性がシミュレーションされる。
【００６５】
改訂前のプラントモデルでは、ブロックＢ１０からブロックＢ１３の複数の処理要素が連接されてプラント制御に係るシミュレーションモデルが定義される。図２等と同様に、各ブロックは、処理の流れを示す矢印付きの接続線で連接され、開発者によって付与された処理の名称（ブロック名）が割り当てられる。なお、処理の流れを示す矢印付きの接続線には、例えば、接続元のブロックを識別する識別番号やブロック名等、接続先のブロックを識別する識別番号やブロック名等が関連付けされている。
【００６６】
図５において、ブロックＢ１０は、例えば、制御対象となるプラントの応答特性モデルを表し、ＰＩＤ制御されたフィードバック量を入力値として所定の制御量（温度）が出力される。ブロックＢ１０では、プラントの応答特性を模擬する伝達関数のパラメータ（例えば、フィルタ係数（Ｋ／（Ｔｓ＋１）））が定義される。ブロックＢ１０には、処理の名称として「プラントモデル（１次遅れ系）」が付与される。
【００６７】
ブロックＢ１１は、入力された複数の制御量に対して差分演算処理を行うブロックである。ブロックＢ１１においては、例えば、ブロックＢ１３で定義された目標値（定数）と、ブロックＢ１０で処理された制御温度との偏差量が差分演算の結果として出力される。ブロックＢ１１には、処理の名称として「差分」が付与される。
【００６８】
ブロックＢ１２は、例えば、ブロックＢ１１の演算結果に対してＰＩＤ制御を行う処理ブロックである。ブロックＢ１２においては、ＰＩＤ制御に係るそれぞれのゲイン値（例えば、Ｐゲイン＝１００、Ｉゲイン＝５０、Ｄゲイン＝２５０等）がパラメータとして定義される。ブロックＢ１２には、処理の名称として「ＰＩＤ制御」が付与される。
【００６９】
開発者は、例えば、図５に示すブロック線図で表現されたプラントモデルの作成後、作成されたプラントモデルに所定の名称（ファイル名）を付与し、補助記憶装置１３の所定の領域に格納する。補助記憶装置１３には、例えば、開発者の付与した所定名称に組合せて、ブロック線図で表現されたプラントモデルを表す所定の拡張子が自動的に付与されて格納される。
開発者は、作成したプラントモデルに基づいて制御対象となるプラントの応答特性のシミュレーションを実行する。シミュレーションの結果、開発者の意図する応答特性が得られない場合には、改訂前のブロック線図で表現されたプラントモデルに対してモデル改訂が発生する。
【００７０】
（処理例１）と同様に、開発者は、例えば、管理装置１０に搭載された開発ツールを起動し、図５に示す改訂前のプラントモデルをモデルベース開発画面に表示し、応答特性に関するモデル改訂を行う。図５に示す改訂前のプラントモデルに対して、ブロックの追加や削除、ブロック間の接続等の変更、処理パラメータの変更等が行われ、図６に示す改訂後のプラントモデルが作成される。開発ツールを用いた改訂作業においては、例えば、改訂前のプラントモデルが管理装置１０の主記憶装置１２の所定の領域に一時的に記憶され、自動的にバックアップされる。
【００７１】
図６に示すように、ブロックＢ１４、ブロックＢ１５が、開発者によって追加される。追加されたブロックＢ１４には、処理の名称として「ＦＦ制御」が付与される。また、追加されたブロックＢ１５には、処理の名称として「加算」が付与される。
【００７２】
ブロックＢ１４は、例えば、ブロックＢ１０の出力値をフィードフォワード量としてブロックＢ１２のＰＩＤ制御出力に反映させるための処理ブロックを表す。ブロックＢ１４では、フィードフォワード制御に係る伝達関数のパラメータ（例えば、フィルタ係数（（Ｔ´ｓ＋１）／Ｋ´））が定義される。
【００７３】
ブロックＢ１５は、入力された複数の制御量に対して加算演算処理を行うブロックである。ブロックＢ１５においては、例えば、ブロックＢ１２で定義されたＰＩＤ制御の制御結果と、ブロックＢ１０で処理された制御温度との加算演算の結果が出力される。
【００７４】
開発者は、例えば、図６に示すブロック線図で表現されたプラントモデルの作成後、作成されたプラントモデルに改訂後の所定の名称（例えば、「改訂前のファイル名＋改訂後の番号」等）を付与し、補助記憶装置１３の所定の領域に格納する。そして、改訂後のプラントモデルに従って、改訂後のモデルに対する応答特性のシミュレーションが行われる。
【００７５】
（処理例１）と同様にして、管理装置１０は、例えば、改訂後のプラントモデルの補助記憶装置１３への保存を契機として、モデル改訂後の処理内容および変更箇所をテキスト形式や数式等を用いて表現したドキュメント情報を生成する。そして、管理装置１０は、生成したドキュメント情報を改訂後のプラントモデルに関連付けて管理する。管理装置１０においては、プラントモデルに表現された改訂後の処理内容および変更箇所がモデルバージョン情報として管理される。
【００７６】
図７は、管理装置１０によって生成されるドキュメント情報の一例を示す図である。図７に示すドキュメント情報は、図５、図６を用いて説明したプラントモデルの改訂に伴う一例である。管理装置１０は、改訂後のプラントモデルの補助記憶装置１３への記憶保存を契機として、自動的にバックアップされた改訂前のプラントモデルと改訂後のプラントモデルとの間でデータ比較を行い、モデル改訂後の処理内容および変更箇所に関する情報を抽出する。そして、管理装置１０は、補助記憶装置１３の管理テンプレートＤＢ２０１に格納されたテンプレートを参照し、抽出したモデル改訂後の処理内容および変更箇所に関する情報を表現する。
【００７７】
図７に示す、「・処理内容」のテンプレート領域、および、「・変更箇所」のテンプレート領域は、図４と同様である。図７の「・処理内容」および「・変更箇所」のそれぞれのテンプレート領域には、抽出された情報（モデル改訂後の処理内容、変更箇所）が所定の表現ルールに従って記述される。
【００７８】
図７に示すように、「・処理内容」のテンプレート領域には、図６に示す改訂後のプラントモデルの各処理要素（ブロックＢ１１、Ｂ１４、Ｂ１２、Ｂ１５、Ｂ１０）が処理の実行順に整列される。なお、目標値をパラメータとして定義するブロックＢ１３は、処理を必要としないブロックのため、「・処理内容」のテンプレート領域には記述されない。
【００７９】
図５、図６に示すプラントモデルにおいては、制御に係る処理の流れが閉じられた状態である。このため、管理装置１０は、例えば、ブロックＢ１１の差分演算ブロックを実行される処理の先頭とし、ブロックＢ１０で定義されたプラントの応答特性モデルを実行される処理の後尾として記述する。また、ブロックＢ１４の処理のタイミングとブロックＢ１２の処理のタイミングは、同時に処理される。このような場合には、管理装置１０は、
例えば、「Ｘ−１（Ｘは、処理の実行順）」、「Ｘ−２」といった様式を用いて、複数の処理が並列して行われることを表現する。管理装置１０は、上述した表現ルールを予め定めておき、バージョン管理部１０１が提供されるソフトウェアプログラムに記述するとすればよい。
【００８０】
なお、目標値をパラメータとして定義するブロックＢ１１は、処理を必要としないブロックのため、「・処理内容」のテンプレート領域には記述されない。すなわち、「・処理内容」のテンプレート領域においては、ブロックＢ１１、Ｂ１４、Ｂ１２、Ｂ１５、Ｂ１０のブロック名が、実行順を表す処理番号に関連付けされて記述される。「・処理内容」のテンプレート領域においては、図４と同様の態様で、開発者によって付与されたブロック名と共に、それぞれのブロックに定義された処理内容が記述される。例えば、ブロックＢ１０においては、図７に示すように、ブロック名である「プラントモデル（１次遅れ系）」に定義付けされた処理内容が、「フィルタ係数（Ｋ／（Ｔｓ＋１））」といったように表現される。
【００８１】
（処理例２）においても、図７に示す「・処理内容」のテンプレート領域においては、改訂後のプラントモデルにおいて新規に追加されたブロックＢ１４のブロック名「ＦＦ制御」が、下線付き赤色表示といった所定の表示態様で表現される。また、ブロックＢ１４に定義された処理内容である「フィルタ係数（（Ｔ´ｓ＋１）／Ｋ´）」が、下線付き赤色表示といった所定の表示態様で表現される。
【００８２】
また、図７に示すように、「・変更箇所」のテンプレート領域には、改訂後のプラントモデルにおいて追加されたブロックＢ１４の、ブロック名「ＦＦ制御」が、変更に係る内容「追加」と共に記述される。
【００８３】
なお、改訂後のプラントモデルにおいても、（処理例１）と同様に、ブロック間の接続変更が行われた場合には、例えば、接続変更が行われたブロック名が、変更に係る内容「接続先の変更」、「接続元の変更」等と共に記述される。
【００８４】
（処理例３）
（処理例１）、（処理例２）で説明したように、本実施形態におけるモデルバージョンの管理処理は、グラフィック形式で表現されたモデルを対象として適用が可能である。（処理例３）では、グラフィック形式で表現されたモデル例として、例えば、開発製品のＣＡＥ（Computer Aided Engineering）を用いた物理特性解析時の解析モデルについてのモデル改訂に係るモデルバージョン管理を説明する。
【００８５】
図８、図９は、ＣＡＥの開発ツールで提供される物理特性解析時の解析モデルの一例である。図８、図９に示す解析モデルでは、例えば、開発対象となる製品（物体）の物理特性（例えば、剛体特性）を、シミュレーションを用いて解析するためのシミュレーションモデルが定義される。図８は、改訂前の解析モデルを表し、図９は、改訂後の解析モデルを表す。
【００８６】
開発者は、例えば、管理装置１０に搭載されたＣＡＥ等の開発ツールを起動し、出力装置１５を構成するＬＣＤ等の表示デバイスに表示されたモデルベース開発画面を用いて、図８に示す改訂前のグラフィック形式で表現された解析モデルを作成する。作成された解析モデルに基づいて、例えば、回転ジョイントで接続された物体の物理特性がシミュレーションされる。
【００８７】
図８に示すように、改訂前の解析モデルでは、ブロックＢ１５からブロックＢ２０までの複数の処理要素が連接されて物理特性を解析するための解析モデルが定義される。図８
に示す各ブロックは、接続線で連接され、開発者等によって付与された処理の名称（ブロック名）が割り当てられる。
【００８８】
なお、図８においては、例えば、左側から右側方向にかけて、物理特性を解析するための条件が設定される。各ブロックを接続する接続線には、例えば、接続元のブロックを識別する識別番号やブロック名等、接続先のブロックを識別する識別番号やブロック名等が関連付けされる。
【００８９】
図８において、ブロックＢ１５は、解析モデルで定義された各種条件を用いてシミュレーション計算を行うための処理ブロックを表す。ブロックＢ１５では、例えば、シミュレーション解析時の許容誤差が定義される。ブロックＢ１５には、処理の名称として「Solver Configuration」が付与される。
【００９０】
ブロックＢ１６は、解析対象として定義付けされた物体における基準点を設定するブロックである。ブロックＢ１６では、例えば、解析対象として定義付けされた物体の定義ブロックが設定される。ブロックＢ１６には、処理の名称として「World Frame」が付与さ
れる。
【００９１】
ブロックＢ１７は、物理特性の解析の際に用いられる物理条件を設定するブロックである。ブロックＢ１７では、例えば、相互に直交する３次元の軸方向（Ｘ軸、Ｙ軸、Ｚ軸）における重力加速度がそれぞれに設定される。ブロックＢ１６には、処理の名称として「Mechanism Configuration」が付与される。
【００９２】
ブロックＢ１８は、解析対象となる物体を構成する大きさや密度といったパラメータが定義されるブロックである。ブロックＢ１８では、例えば、物体を構成するパラメータとして、「大きさ（ｍ）：［x,y,z］＝［1,1,1］」が定義される。同様にして、ブロックＢ１８では、例えば、物体を構成するパラメータとして、「密度（ｋｇ／ｍ３）：１０００」が定義される。ブロックＢ１８には、処理の名称として「Solid」が付与される。
【００９３】
ブロックＢ１９は、解析対象となる物体の回転ジョイントが定義されるブロックである。ブロックＢ１９では、例えば、ブロックＢ１８で定義された物体と、ブロックＢ２０で定義された物体とをＸＹ平面で回転接続するためのバネ係数やダンパ係数がジョイントパラメータとして定義される。ジョイントパラメータとして、例えば、「バネ係数［Ｎ・ｍ／ｄｅｇ］：０」、「ダンパ係数［Ｎ・ｍ／（ｄｅｇ／ｓ）］：０」が定義される。ブロックＢ１９には、処理の名称として「Revolute Joint」が付与される。
【００９４】
ブロックＢ２０は、ブロックＢ１８で定義付けされた物体に対して、回転ジョイントを介して接続する物体の大きさや密度といったパラメータが定義されるブロックである。ブロックＢ２０では、例えば、パラメータとして、「大きさ（ｃｍ）：［x,y,z］＝［20,1,1］」、「密度（ｋｇ／ｍ３）：２７００」が定義される。ブロックＢ２０には、処理の
名称として「Simple Link」が付与される。
【００９５】
開発者は、例えば、図８に示すグラフィック形式で表現された解析モデルの作成後、作成された解析モデルに所定の名称（ファイル名）を付与し、補助記憶装置１３の所定の領域に格納する。補助記憶装置１３には、例えば、開発者の付与した所定名称に組合せて、グラフィック形式で表現された解析モデルを表す所定の拡張子が自動的に付与されて格納される。
開発者は、作成した解析モデルに基づいて物理特性解析のためのシミュレーションを実行する。シミュレーションの結果、開発者の意図する物理特性が得られない場合には、改訂前のグラフィック形式で表現された解析モデルに対してモデル改訂が発生する。
【００９６】
（処理例３）においても開発者は、例えば、管理装置１０に搭載されたＣＡＥ等の開発ツールを起動し、図８に示す改訂前の解析モデルをモデルベース開発画面に表示し、解析モデルのモデル改訂を行う。図８に示す改訂前の解析モデルに対して、ブロックの追加や削除、パラメータの変更等が行われ、図９に示す改訂後の解析モデルが作成される。開発ツールを用いた改訂作業においては、例えば、改訂前の解析モデルが管理装置１０の主記憶装置１２の所定の領域に一時的に記憶され、自動的にバックアップされる。
【００９７】
図９に示すように、ブロックＢ２２、Ｂ２３が、開発者によってブロックＢ２０の出力側に追加されている。追加されたブロックＢ２２には、処理の名称として「Revolute Joint1」が、ブロックＢ２３には「Simple Link1」が付与されている。また、開発者によっ
て図８のブロックＢ１９のパラメータが変更され、変更後の処理要素がブロックＢ２１として示されている。なお、パラメータが変更されたブロックにおいては、変更前に付与された処理の名称「Revolute Joint」が維持される。
【００９８】
ブロックＢ２２は、回転ジョイントが定義されるブロックである。ブロックＢ２２では、例えば、ブロックＢ２０で定義された物体と、ブロックＢ２３で定義された物体とをＸＹ平面で回転接続するためのバネ係数やダンパ係数がジョイントパラメータとして定義される。ジョイントパラメータとして、例えば、「バネ係数［Ｎ・ｍ／ｄｅｇ］：０」、「ダンパ係数［Ｎ・ｍ／（ｄｅｇ／ｓ）］：０」が定義される。
【００９９】
ブロックＢ２３は、ブロックＢ２０で定義付けされた物体に対して、回転ジョイントを介して接続する物体の大きさや密度といったパラメータが定義されるブロックである。ブロックＢ２３では、例えば、パラメータとして、「大きさ（ｃｍ）：［x,y,z］＝［20,1,1］」、「密度（ｋｇ／ｍ３）：２７００」が定義される。
【０１００】
ブロックＢ２１においては、ブロックＢ１９で定義された、ジョイントパラメータの値が変更されている。変更後のジョイントパラメータとして、例えば、「バネ係数［Ｎ・ｍ／ｄｅｇ］：１０」、「ダンパ係数［Ｎ・ｍ／（ｄｅｇ／ｓ）］：１０」が定義される。
【０１０１】
開発者は、例えば、図９に示すグラフィック形式で表現された解析モデルの作成後、作成された解析モデルに改訂後の所定の名称（例えば、「改訂前のファイル名＋改訂後の番号」等）を付与し、補助記憶装置１３の所定の領域に格納する。そして、改訂後の解析モデルに従って、物理特性のシミュレーション解析が行われる。
【０１０２】
（処理例３）においても、管理装置１０は、例えば、改訂後の解析モデルの補助記憶装置１３への保存を契機として、モデル改訂後の処理内容および変更箇所をテキスト形式や数式等を用いて表現したドキュメント情報を生成する。そして、管理装置１０は、生成したドキュメント情報を改訂後の解析モデルに関連付けて管理する。管理装置１０においては、解析モデルに表現された改訂後の処理内容および変更箇所がモデルバージョンとして管理される。
【０１０３】
図１０は、管理装置１０によって生成されるドキュメント情報の一例を示す図である。図１０に示すドキュメント情報は、図８、図９を用いて説明した解析モデルの改訂に伴う一例である。（処理例３）においても管理装置１０は、改訂後の解析モデルの補助記憶装置１３への保存を契機として、自動的にバックアップされた改訂前の解析モデルと改訂後の解析モデルとの間でデータ比較を行い、モデル改訂後の処理内容および変更箇所に関する情報を抽出する。そして、管理装置１０は、補助記憶装置１３の管理テンプレートＤＢ２０１に格納されたテンプレートを参照し、抽出したモデル改訂後の処理内容および変更箇所に関するモデルバージョン情報を表現する。
【０１０４】
図１０に示す、「・処理内容」のテンプレート領域、および、「・変更箇所」のテンプレート領域は、図４、図７と同様である。図１０の「・処理内容」および「・変更箇所」のそれぞれのテンプレート領域には、抽出された情報（モデル改訂後の処理内容、変更箇所）が所定の表現ルールに従って記述される。
【０１０５】
図１０に示すように、「・処理内容」のテンプレート領域には、図９に示す改訂後の解析モデルの各処理要素（ブロックＢ１５、Ｂ１６、Ｂ１７、Ｂ１８、Ｂ２０、Ｂ２３、Ｂ２１、Ｂ２２）が処理の実行順に整列される。図９の解析モデルにおいては、ブロックＢ１８、Ｂ２０、Ｂ２３は、回転ジョイント（ブロックＢ２１、Ｂ２２）を介して接続される物体の大きさや密度といったパラメータが定義されるブロックである。また、図９の解析モデルにおいては、ブロックＢ２１、Ｂ２２は、回転ジョイントのパラメータが定義されるブロックである。
【０１０６】
物理シミュレーションモデルといった形態においては、例えば、モデルによって定義される処理の流れよりは、解析時に設定される物理パラメータや解析モデルの構成の方がシミュレーション内容の理解においては重要になる。このため、管理装置１０は、図１０に示すように、シミュレーション時の解析条件（ブロックＢ１５、Ｂ１６、Ｂ１７）、回転ジョイントを介して接続される物体要素（ブロックＢ１８、Ｂ２０、Ｂ２３）、回転ジョイントのパラメータを定義するブロック（ブロックＢ２１、Ｂ２２）を並列して表現する。
【０１０７】
図１０に示す「・処理内容」のテンプレート領域においても、図４、図７と同様の態様で、開発者によって付与されたブロック名と共に、それぞれのブロックに定義された処理内容が記述される。例えば、ブロックＢ１８においては、図１０に示すように、ブロック名である「物体（Solid）の設定」に定義付けされたパラメータが、「大きさ（ｍ）：［x,y,z］＝［1,1,1］」、「密度（ｋｇ／ｍ３）：１０００」といったように表現される。
【０１０８】
（処理例３）においても、図１０に示すように、「・処理内容」のテンプレート領域においては、改訂後の解析モデルにおいて新規に追加されたブロックＢ２２のブロック名「ジョイント（Revolute Joint1）の設定」が、下線付き赤色表示といった所定の表示態様
で表現される。また、ブロックＢ２２で定義された処理内容である「Simple LinkとSimple Link1をＸＹ平面の回転ジョイントで接続」が、定義されたパラメータ（「バネ係数［
Ｎ・ｍ／ｄｅｇ］：０」、「ダンパ係数［Ｎ・ｍ／（ｄｅｇ／ｓ）］：０」）と共に、下線付き赤色表示といった所定の表示態様で表現される。
【０１０９】
同様にして、改訂後の解析モデルにおいて新規に追加されたブロックＢ２３のブロック名「物体（Simple Link 1）」が、下線付き赤色表示といった所定の表示態様で表現され
る。また、ブロックＢ２３で定義されたパラメータ（「大きさ（ｃｍ）：［x,y,z］＝［20,1,1］」、「密度（ｋｇ／ｍ３）：２７００」）が、下線付き赤色表示といった所定の
表示態様で表現される。
【０１１０】
また、改訂後の解析モデルにおいてパラメータの定義が変更されたブロックＢ２１について、定義されたパラメータ（「バネ係数［Ｎ・ｍ／ｄｅｇ］：１０」、「ダンパ係数［Ｎ・ｍ／（ｄｅｇ／ｓ）］：１０」）と共に、下線付き赤色表示といった所定の表示態様で表現される。
【０１１１】
図１０に示す「・変更箇所」のテンプレート領域においては、改訂後の解析モデルに追加されたブロックＢ２２のブロック名「Revolute Joint1」が、変更に係る内容「追加」
と共に記述される。同様にして、追加されたブロックＢ２３のブロック名「Simple Link 
1」が、変更に係る内容「追加」と共に記述される。また、パラメータが変更されたブロ
ックＢ２１では、ブロック名「Revolute Joint」が変更に係る内容「パラメータ変更」と共に記述される。そして、ブロックＢ２１では、変更が生じたパラメータ名「バネ係数［Ｎ・ｍ／ｄｅｇ］」が変更の内容「０→１０」と共に記述され、変更が生じたパラメータ名「ダンパ係数［Ｎ・ｍ／（ｄｅｇ／ｓ）］」が変更の内容「０→１０」と共に記述される。
【０１１２】
なお、改訂後の解析モデルにおいて、ブロック間の接続変更が行われた場合には、（処理例１）、（処理例２）と同様に、例えば、接続変更が行われたブロック名が、変更に係る内容「接続先の変更」、「接続元の変更」等と共に記述される。
【０１１３】
＜４．処理フロー＞
次に、図１１を参照し、本実施形態に係るバージョン管理処理を説明する。図１１は、管理装置１０を介して提供されるバージョン管理処理の一例を示すフローチャートである。本実施形態に係る管理装置１０は、例えば、ＣＰＵ１１等が補助記憶装置１３に記憶された各種プログラムや各種データを読み出して実行することで、図１１に示す処理を提供する。なお、管理装置１０のＣＰＵ１１等は、補助記憶装置１３の管理テンプレートＤＢ２０１を参照し、或いは、管理するデータの格納先としてバージョン管理処理を実行する。
【０１１４】
図１１のフローチャートにおいて、処理の開始は、改訂後のグラフィック形式で表現されたモデルの記憶保存のときが例示される。管理装置１０は、例えば、グラフィック形式で表現されたモデルの補助記憶装置１３への記憶保存を契機として、自動的にバックアップされた改訂前のモデル、および、改訂後のモデルのデータを取得する（Ｓ１）。改訂前のモデル、および、改訂後のモデルのデータには、ブロック間を接続する接続情報（例えば、接続先のブロックを識別する識別番号等、接続元のブロックを識別する識別番号等）が含まれる。管理装置１０は、取得した改訂前および改訂後のモデルデータを主記憶装置１２の所定の領域に一時的に記憶する。
【０１１５】
管理装置１０は、Ｓ１の処理で取得した改訂前後のモデルデータを比較し、モデル改訂後の処理内容および変更箇所に関する情報を抽出する（Ｓ２）。管理装置１０は、改訂後のモデルに記述された処理要素（ブロック）毎に、処理の名称（ブロック名）を取得すると共に、処理要素に対応する処理機能やパラメータについての定義を、モデルベース開発ツールの提供するライブラリから取得する。開発ツールの提供する処理要素のライブラリは、例えば、補助記憶装置１３に格納される。
【０１１６】
管理装置１０は、取得した処理要素毎の処理機能やパラメータの定義情報を、ブロック名に対応付けて主記憶装置１２の所定の領域に一時的に記憶する。そして、管理装置１０は、補助記憶装置１３の管理テンプレートＤＢ２０１を参照し、Ｓ２の処理で抽出したモデル改訂後の処理内容および変更箇所に関するモデルバージョンの管理情報を生成する（Ｓ３）。モデルバージョン管理情報には、モデル改訂後の処理内容および変更箇所が、図２から図１０を用いて説明した態様で表現される。
【０１１７】
モデルバージョン管理情報には、例えば、処理順に整列されたブロック名に対応付けて、「追加」、「削除」、「パラメータの変更」、「接続先の変更」といった変更に係る内容が記述される。処理要素で定義されたパラメータが変更された場合には、変更後のパラメータの定義内容が下線付き赤色表示といった所定の表示態様で記述される。モデルバージョン管理情報には、処理要素毎の改訂に係る変更履歴が記述される。
【０１１８】
管理装置１０は、Ｓ３の処理で生成されたモデルバージョンの管理情報を補助記憶装置
１３の所定の領域に記憶する（Ｓ４）。モデルバージョンの管理情報は、例えば、管理テンプレートＤＢ２０１に格納されたテンプレートを用いたドキュメント情報として記憶される。管理装置１０は、例えば、改訂後のモデルが記憶されるファイルフォルダに、Ｓ３の処理で生成されたモデルバージョンの管理情報を対応付けて記憶する。補助記憶装置１３に記憶されたモデルバージョンの管理情報は、例えば、出力装置１５のプリンタを介して帳票出力されるとしてもよい。また、管理装置１０の接続するネットワークを介して、あるいは、可搬媒体を介して、生成されたモデルバージョンの管理情報が開発者以外に提供されるとしてもよい。Ｓ４の処理後、管理装置１０は、図１１の処理を終了する。
【０１１９】
以上、説明したように、本実施形態に係る管理装置１０においては、グラフィック形式で表現されたモデルの改訂バージョンが、テキストや数式を用いた態様で管理可能になる。管理装置１０は、モデル改訂後の処理内容および変更箇所をドキュメントとして提示可能になるため、グラフィック形式で表現されたモデルの開発ツールを使用しなくともモデル改訂に係る変更内容を確認することが可能になる。また、モデル改訂の係る処理内容および変更箇所は、改訂後の処理機能を理解するためのリテラシーを必要としない態様で表現されるため、開発者以外でも、改訂後のモデルで定義された処理内容や変更点を確認することが可能になる。
【０１２０】
本実施形態に係る管理装置１０によれば、グラフィック形式で表現されたモデルの開発者以外でも、専用の開発ツールを使用せずにモデルの変更内容を把握可能な技術が提供できる。
【０１２１】
なお、上述の実施形態は、本開示の要旨を逸脱しない範囲において適宜変更して実施し得る。例えば、モデルバージョンの管理情報の生成の契機が、改訂後のモデルに対する記憶保存でなくともよい。管理装置１０は、記憶媒体や補助記憶装置１３、主記憶装置１２に予め記憶された改訂前のモデルファイルと改訂後のモデルファイルに基づいて、モデルバージョンの管理情報を生成するとしてもよい。管理装置１０は、例えば、操作者の操作入力を介して、上記記憶媒体や補助記憶装置１３、主記憶装置１２に予め記憶された改訂前のモデルファイルと改訂後のモデルファイルに基づく、モデルバージョンの管理情報を生成できる。
【０１２２】
《コンピュータが読み取り可能な記録媒体》
情報処理装置その他の機械、装置（以下、コンピュータ等）に上記何れかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【０１２３】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやＲＯＭ等がある。
【符号の説明】
【０１２４】
１０      モデルバージョン管理装置
１１      ＣＰＵ
１２      主記憶装置
１３      補助記憶装置
１４      入力装置
１５      出力装置
１６      通信ＩＦ
１７    接続バス
１０１    バージョン管理部
２０１    管理テンプレートＤＢ
【図１】
2018173822.tif 000003
【図２】
2018173822.tif 000004
【図３】
2018173822.tif 000005
【図４】
2018173822.tif 000006
【図５】
2018173822.tif 000007
【図６】
2018173822.tif 000008
【図７】
2018173822.tif 000009
【図８】
2018173822.tif 000010
【図９】
2018173822.tif 000011
【図１０】
2018173822.tif 000012
【図１１】
2018173822.tif 000013