JP2014026389A - モデル比較装置、識別子生成装置、モデル作成装置、モデル比較ツール、識別子生成ツール、及び、モデル作成ツール - Google Patents

モデル比較装置、識別子生成装置、モデル作成装置、モデル比較ツール、識別子生成ツール、及び、モデル作成ツール Download PDF

Info

Publication number
JP2014026389A
JP2014026389A JP2012164972A JP2012164972A JP2014026389A JP 2014026389 A JP2014026389 A JP 2014026389A JP 2012164972 A JP2012164972 A JP 2012164972A JP 2012164972 A JP2012164972 A JP 2012164972A JP 2014026389 A JP2014026389 A JP 2014026389A
Authority
JP
Japan
Prior art keywords
model
identifier
block
subsystem
connection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012164972A
Other languages
English (en)
Other versions
JP5831385B2 (ja
Inventor
Takeshi O
斌 王
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2012164972A priority Critical patent/JP5831385B2/ja
Publication of JP2014026389A publication Critical patent/JP2014026389A/ja
Application granted granted Critical
Publication of JP5831385B2 publication Critical patent/JP5831385B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】二つのモデルにおける実質的な相違点を提示することができる装置を提供する。
【解決手段】開発支援装置は、原モデルと、原モデルを改変した変更モデルの比較を行う。これらのモデルの各構成要素(ブロック,結線)には一意的な識別子が設定されており、開発支援装置は、識別子に基づき、原モデルから削除された構成要素や、新たに追加された構成要素を検出する(S325,S335,S345)。また、同一の識別子が設定された構成要素のパラメータを比較すると共に(S365)、該構成要素が結線である場合には、サブシステム化やサブシステムの解消がなされた場合を考慮し、サブシステムにおけるインポートブロック或いはエクスポートブロックを介して間接的に接続されるブロックを参照して、該結線の実質的な接続先を比較する。
【選択図】図3

Description

本発明は、ソースコードを自動生成するためのモデルを用いたプログラム開発に用いられるモデル比較装置等に関する。
従来、例えば車両のエンジンECUのプログラムの開発においては、開発者が直接ソースコードを記述せず、目的とするプログラムの機能を、より作成が簡易で視認性の良いモデルという形態で記述する場合がある。このモデルは、各種演算等を行う機能単位であるブロックや、ブロック間のデータの入出力を示す結線等の組合せにより処理を表しており、このようなモデルに基づきソースコードを自動生成するプログラム開発は、モデルベース開発と呼ばれている。
ここで、特許文献1には、モデルにおける特定の演算処理を実現するブロックを、該演算処理を実行すると共に、該演算処理の途中結果を出力可能な検査ブロックに置換するプログラム検査装置について記載されている。このプログラム検査装置によれば、置換前のモデルから生成されたプログラムの実行により得られた該演算処理の途中結果と、置換後のモデルの模擬実行により得られた該演算処理の途中結果とを比較することができる。このため、モデルやプログラムの異常を精度良く検出することが可能となる。
特開2008−310513号公報
ところで、二つのモデルを比較し、相違点を検出する比較ツールが知られている。このような比較ツールを用いることで、既存のモデルに変更を加えて新たなモデルが作成された場合に、これらのモデル間の変更箇所を容易に把握することができるため、モデルの検証等を行い易くなる。
これに対し、モデルの大規模化に伴い、既存のモデルに対し、例えば、複数のブロックとこれらの繋ぐ結線を一つのブロック(サブシステム)にまとめる変更(サブシステム化)が行われる場合がある。また、これ以外にも、例えば、サブシステムが解消される場合や、一つのブロック群(直接的,間接的に結線により繋がれた複数のブロック)が分割される場合や、複数のブロック群が一つに統合される場合もある。
しかしながら、従来の比較ツールは、二つのモデルを構成するブロックの種類,数や、同一種類のブロックのパラメータや、結線の接続先等を単純に比較するのみであった。このため、例えば、サブシステム化がなされた場合には、サブシステムを構成するブロックの種類や、ブロックや結線のパラメータ等に変更がなくても、該サブシステムや、該サブシステムを構成するブロックや結線が新たに追加されたものとして誤検出されていた。
すなわち、従来の比較ツールでは、二つのモデルを精度良く比較することができず、サブシステム化等が行われた場合には、比較結果を参照しても、これらのモデルにより実現される処理がどのように変化したのかを把握することができなかった。
本願発明は上記課題に鑑みてなされたものであり、二つのモデルにおける実質的な相違点を提示することができるモデル比較装置等を提供することを目的とする。
上記課題に鑑みてなされた請求項1に係るモデル比較装置は、予め定められた処理手順を示すブロックと、ブロック同士を繋ぐことでこれらのブロック間のデータの入出力を表す結線とを構成要素とし、これらの構成要素を用いてプログラムを記述していると共に、それぞれの構成要素に一意的な識別子が設定されているモデルである原モデルと、該原モデルに変更を加えたものであって、該原モデルから流用された構成要素には同一の識別子が設定されている変更モデルとを読み込む読込手段を備える。
また、原モデルに含まれる構成要素と、変更モデルに含まれる構成要素との中から同一の識別子が設定された二つの構成要素を検出し、これらの構成要素において設定されているパラメータを比較する比較手段を備える。また、原モデルと変更モデルとに関して、これらのモデルの構成要素に設定された識別子に基づき、これらのモデルの一方にのみ用いられている構成要素を検出する検出手段と、比較手段による比較結果と、検出手段による検出結果とを提示する提示手段を備える。
このような構成によれば、原モデルから変更モデルに流用された構成要素や、変更モデルにおいて新たに追加された構成要素や、原モデルから削除された構成要素を正確に特定することができる。
そして、流用された構成要素については、原モデルにおけるパラメータと変更モデルにおけるパラメータの比較結果が提示されると共に、変更モデルにおいて新たに追加された構成要素や、原モデルから削除された構成要素が提示される。
このため、サブシステム化や、サブシステムの解消や、ブロック群の分割,統合等が行われた場合であっても、提示内容から、変更モデルにおける、原モデルと実質的に同一の処理が行われる部分や、実質的に異なる処理が行われる部分を容易に判別することができる。
したがって、請求項1に係るモデル比較装置によれば、原モデルと変更モデルとの間の実質的な相違点を把握することが可能となる。
また、このようなモデル比較装置に用いられるモデルを作成するモデル作成装置を複数用い、これらのモデル作成装置により作成されたモデルを統合して一つのモデルを作成するという場合が考えられる。
また、請求項7に係る識別子生成装置は、請求項1から請求項6のうちのいずれか1項に記載のモデル比較装置において用いられるモデルを作成するための複数のモデル作成装置からの要求に応じて、これらのモデル作成装置にて作成されるそれぞれのモデルの構成要素に設定される識別子を、これらのモデルにおいて一意的となるように生成する識別子生成手段と、識別子生成手段により生成された識別子を、該識別子を生成する要求を発したモデル作成装置に付与する付与手段と、備える。
このような識別子生成装置を用いることで、複数のモデル作成装置にて作成されるモデルにおいて、構成要素に設定された識別子が重複してしまうことを防ぐことができる。このため、複数のモデル作成装置により作成された複数のモデルを統合して一つのモデル作成した場合であっても、該モデルの構成要素に対し同一の識別子が重複して設定されてしまうことを防ぐことができる。したがって、統合されたモデルに変更が加えられた際には、上述したモデル比較装置を用いて、変更前と変更後における実質的な相違点を把握することが可能となる。
また、請求項10に係るモデル作成装置は、予め定められた処理手順を示すブロックと、ブロック同士を繋ぐことでこれらのブロック間のデータの入出力を表す結線とを構成要素とし、これらの構成要素を用いてプログラムを記述しているモデルを、ユーザからの指示に従い生成するモデル生成手段と、構成要素に一意的な識別子を設定する設定手段とを備える。
このようなモデル作成装置を用いてモデルを作成した場合には、一旦作成したモデルに変更が加えられた際に、上述したモデル比較装置を用いて、変更前と変更後における実質的な相違点を把握することが可能となる。
開発支援装置として稼動するPCや、識別子生成装置として稼動するサーバについてのブロック図である。 開発支援ツールと識別子生成ツールについてのブロック図である。 第一実施形態における差分検出処理のフローチャートである。 第一実施形態における差分検出処理のフローチャートである。 第一実施形態における識別子際設定処理のフローチャートと、識別子更新処理のフローチャートである。 第一実施形態における原モデルの一例を示すブロック図と、原モデルにおける結線のパラメータ情報の一例である。 第一実施形態における変更モデルの一例を示すブロック図である。 第一実施形態における原モデルと変更モデルの比較結果の一例である。 第二実施形態における差分検出処理のフローチャートである。 第二実施形態における差分検出処理のフローチャートである。 第二実施形態における原モデルと変更モデルの比較結果の一例である。
以下、本発明の実施形態について図面を用いて説明する。なお、本発明の実施の形態は、下記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
[構成の説明]
図1(a)は、ネットワーク5に接続されたパーソナルコンピュータ(A〜CPC)1a〜1cとサーバ2とを示している。このPC1は、モデルベース開発における開発支援装置として稼動し、ディスプレイ10,HDD20,CPU30,ROM40,RAM50,入力装置60等を備える(図1(b)参照)。
ディスプレイ10は、CPU30から受けた映像信号を、ユーザに対して映像として表示する。
入力装置60は、キーボード、マウス等から構成され、ユーザが操作することにより、その操作に応じた信号をCPU30に出力する。
RAM50は読み出し、書き込み可能な揮発性メモリであり、ROM40は読み出し専用の不揮発性メモリであり、HDD20は読み出し、書き込み可能な不揮発性メモリである。ROM40、HDD20には、CPU30が読み出して実行するプログラム等が予め記憶されている。
RAM50は、CPU30がROM40,HDD20に記憶されたプログラムを実行する際に、そのプログラムを一時的に保存するための記憶領域、及び作業用のデータを一時的に保存するための記憶領域として用いられる。
CPU30は、OSをHDD20から読み出して実行し、HDD20に記録されている各種プログラムをOS上のプロセスとして実行する。また、このプロセスにおいて、CPU30は必要に応じて入力装置60から信号の入力を受け付け、ディスプレイ10に映像信号を出力し、RAM50,HDD20に対してデータの読み出し/書き込みの制御を行う。
一方、サーバ2は、ネットワーク5を介して当該サーバ2に接続されている開発支援装置にて用いられる識別子(詳細は後述する)を生成する識別子生成装置として稼動し、PC1と同様の構成を有している。
次に、PC1にインストールされている開発支援ツール100について、図2(a)に記載のブロック図を用いて説明する。開発支援ツール100は、HDD20に保存され、OS上のプロセスとして実行されるアプリケーションの1つであり、PC1は、開発支援ツール100を動作させることで、モデルの作成や比較を行う開発支援装置として稼動する。なお、この開発支援装置は、車載装置等といった組み込みシステム向けのプログラム開発に用いられることが考えられるが、これに限定されることは無く、あらゆる用途のプログラム開発に用いることができる。
開発支援ツール100は、モデル作成部110と、識別子設定部120と、モデル比較部130とを備え、入力装置60の操作によって起動される。
モデル作成部110は、入力装置60に対する操作に従いモデルを作成すると共に、モデルからソースコードを生成する。
ここで、モデルとは、ソースコードよりも記述が簡易になり、かつ人による可読性を高くする目的で定められたモデル言語仕様に基づいて作成されるプログラムの一表現形態である。
なお、モデルの一例として、Simulink(登録商標)によって作成されるSimulinkモデルを挙げることができる。Simulink(登録商標)モデルを、Matlab(登録商標)上で動作するReal Time Workshop(登録商標)に入力することにより、該モデルに対応するソースコードが生成される。
本実施形態におけるモデルは、特定の処理手順を示すブロックと呼ばれる機能単位の組合せとして記述され、モデルを構成するブロックは、ブロック間のデータの入出力、及び、対応する処理手順の順序を示す結線により繋ぎ合わされている。
そして、モデルを構成するブロックや結線等の構成要素はパラメータを有している。具体例を挙げると、ブロックは、処理手順に用いられる初期値や閾値等の各種設定値を示すパラメータを有しており、結線は、データの出力元のブロックやデータの入力先のブロックを示す接続先パラメータ等を有している。
また、複数のブロックと結線の集合体を、サブシステムというブロックの一種として定義することもできる。このサブシステムは、プログラミングにおける関数に相当し、ブロックの中にサブシステムが含まれるような入れ子構造のサブシステムの作成も許されており、サブシステムを設けることで、ブロック等により表わされる処理手順の階層構造が形成される。なお、サブシステムを有するモデルから生成されたソースコードでは、サブシステムでの処理はサブルーチンとして記述される。
また、サブシステムを構成するブロック(内部ブロック)と、サブシステム外に配置された他のブロック(外部ブロック)との間のデータの入出力は、サブシステム内に配置されたインポートブロック或いはエクスポートブロックを介して記述される。なお、インポートブロックとエクスポートブロックをまとめてポートブロックとも記載する。
すなわち、外部ブロックから内部ブロックへのデータの出力を記述する場合には、外部ブロックと、内部ブロックが配置されたサブシステムとが結線により繋がれると共に、インポートブロックと内部ブロックとが結線により繋がれる。
また、内部ブロックから外部ブロックへのデータの出力を記述する場合には、外部ブロックと、内部ブロックが配置されたサブシステムとが結線により繋がれると共に、エクスポートブロックと内部ブロックとが結線により繋がれる。
なお、インポートブロックやエクスポートブロック等のパラメータにより、これらが、サブシステムに繋がるどの結線に対してデータの入出力を行うかを特定可能となっている。
また、識別子設定部120は、モデル作成部110により生成されたモデルにおける構成要素(ブロックや結線等)に対し識別子を設定する。この識別子は、当該モデル作成部110や、他の開発支援装置にて作成されたモデルに用いられる識別子と重複しない一意的なものとなっており、識別子生成装置(サーバ2)にて生成される。
具体的には、モデル作成部110により新たな構成要素が生成されると、識別子設定部120は、ネットワーク5を介して識別子生成装置に対し、識別子の生成を要求する生成要求を発する。そして、該生成要求に応じて識別子生成装置にて生成された識別子を、ネットワーク5を介して取得し、該識別子を構成要素に設定する。
なお、識別子設定部120は、ブロックに対する識別子として識別子生成装置にて生成されたものを設定すると共に、結線に対する識別子として、該結線に繋がるブロックに設定された識別子から生成されたもの設定しても良い。具体的には、例えば、識別子Aが設定されたブロックと、識別子Bが設定されたブロックを繋ぐ結線に対し、“A−B”等の識別子を設定しても良い。
こうすることにより、結線に設定される識別子をより簡易的に生成することができると共に、規模の大きいモデルが作成された場合等に、識別子が枯渇してしまうことを防ぐことができる。
各構成要素に設定された識別子は、作成されたモデルの構成を示す情報と共に、識別子情報として同一のファイルに保存され、該ファイルが読み出された場合には、モデルと、該モデルの各構成要素に設定された識別子が再現される。そして、モデル作成部110は、入力装置60に対する操作に従い再現されたモデルの改変を行うと共に、識別子設定部120は、新たに追加された構成要素に対し、サーバ2から取得した一意的な識別子を設定する。
また、モデル作成部110は、ユーザに対し、予め定められた演算処理等を行うためのサブシステムであるライブラリサブシステムや、ユーザにより作成されたカスタムサブシステムを提供可能となっている。そして、入力装置60に対する操作に応じて、ライブラリサブシステムやカスタムサブシステムがモデルの作成に用いられる。
また、モデル比較部130は、モデル作成部110により作成された二つのモデルを比較し、各構成要素に設定された識別子に基づきこれらのモデルの相違点を検出する差分検出処理(詳細は後述する)を実行する。なお、差分検出処理では、原モデルと、原モデルに対し改変を加えることで生成された変更モデルとを比較対象とすることが考えられる。
次に、サーバ2にインストールされている識別子生成ツール200について、図2(b)に記載のブロック図を用いて説明する。識別子生成ツール200は、HDDに保存され、OS上のプロセスとして実行されるアプリケーションの1つであり、サーバ2は、識別子生成ツール200を動作させることで、識別子生成装置として稼動する。
識別子生成ツール200は、識別子生成部210と、送受信部220とを備え、入力装置の操作によって起動される。
識別子生成部210は、自装置に接続された開発支援装置からの生成要求に応じて、これらの開発支援装置にて既に用いられた識別子と重複しないように、モデルの構成要素の一意的な識別子を生成する。
具体的には、例えば、固有情報と番号を組み合わせたものを識別子として生成しても良い。この固有情報とは、例えば、開発支援装置の固有の情報(例えば、開発支援装置のIPアドレス等)や、開発支援装置を使用するユーザの固有の情報(例えば、ユーザ名等)に基づき生成されたものであっても良い。
すなわち、例えば、IPアドレスがXである開発支援装置にて作成されたモデルの構成要素に対し、Xを固有情報として、“X1”,“X2”,“X3”,・・・といった具合に、番号順に識別子を生成しても良い。また、例えば、名前がYであるユーザがいずれかの開発支援装置にて作成したモデルの構成要素に対し、Yを固有情報として、“Y1”,“Y2”,“Y3”,・・・といった具合に、番号順に識別子を生成しても良い。無論、開発支援装置の固有の情報とユーザの固有の情報を組み合わせたものを固有情報としても良い。
こうすることにより、複数の開発支援装置にて作成されるモデルに用いられる一意的な識別子を、容易に生成することができる。
また、これ以外にも、識別子生成部210は、開発支援装置からの更新要求に応じて、モデルの構成要素に設定されている識別子を再設定する識別子更新処理(詳細は後述する)を行う。
一方、送受信部220は、ネットワーク5を介して、開発支援装置から識別子の生成要求を受け取ると共に、識別子生成部210にて生成された識別子を、ネットワーク5を介して、該生成要求を発した開発支援装置に提供する。
[第一実施形態]
[動作の説明]
次に、第一実施形態における開発支援装置と識別子生成装置の動作について詳しく説明する。
(1)差分検出処理について
まず、開発支援ツール100のモデル比較部130により実行される差分検出処理について、図3,4に記載のフローチャートを用いて説明する。なお、本処理は、入力装置60に対する操作に応じて実行される。
なお、以下の説明では、開発支援ツール100や識別子生成ツール200を構成する特定の部位により処理が実行されるといった記載がなされるが、これは、該部位に従い動作するCPUにより処理が実行されることを意味する。
S305では、モデル比較部130は、HDD20から比較対象となる二つのモデル(原モデルと変更モデル)を読み込み、S310に処理を移行する。
なお、原モデルや変更モデルは、1または複数のブロック群(結線により直接的或いは間接的に繋がれた複数のブロックの集まり)として構成されていても良い。また、原モデルや変更モデルには、ライブラリサブシステムやカスタムサブシステムが含まれていても良い。こうすることにより、様々なモデルの相違点を検出することができる。
S310では、モデル比較部130は、原モデルの構成要素のうち、変更モデルの構成要素との比較がなされていないいずれかの構成要素を比較対象として特定し、S315に処理を移行する。なお、特定した比較対象を、対象構成要素とも記載する。
S315では、モデル比較部130は、対象構成要素と、変更モデルにおける対象構成要素と同一の識別子が設定された構成要素(対応構成要素とも記載)が、各モデルの異なる階層に配置されていることを示す変更フラグをクリアし、S320に処理を移行する。
既に述べたように、モデルでは、サブシステムを設けることで処理手順の階層構造が形成され、原モデルから変更モデルへの改変においてサブシステム化がなされた場合や、サブシステムが解消された場合には階層構造が変化する。変更フラグは、サブシステム化やサブシステムの解消により、対象構成要素が異なる階層に配置されるようになった場合にセットされる。
なお、サブシステムの解消とは、サブシステムが配置されている階層に、該サブシステムに替えて、該サブシステムを構成するブロックや結線を直接配置することを意味する。
S320では、モデル比較部130は、原モデルにおける全ての構成要素を対象として比較が行われたか否かを判定する。そして、肯定判定が得られた場合には(S320:Yes)、S325に処理を移行し、否定判定が得られた場合には(S320:No)、S335に処理を移行する。
S325では、モデル比較部130は、比較がなされていない構成要素を変更モデルの中から特定すると共に、特定した構成要素の比較結果として「追加」を設定し、S330に処理を移行する。
S330では、モデル比較部130は、原モデルと変更モデルにおける各構成要素についての比較結果をファイルとしてHDD20に保存すると共に、ディスプレイ10に表示し、本処理を終了する。
なお、原モデルと変更モデルの一方に存在するポートブロックや、これらのモデルの一方に存在するポートブロック或いはサブシステムに繋がる結線であって、これらのモデルの一方に存在するものについては、比較結果として表示しなくても良い。
このような構成要素は、原モデルと変更モデルの実質的な相違点をなすものではないため、このような構成要素についての比較結果の表示を省略することで、ユーザに対し、原モデルと変更モデルの実質的な相違点を提示することが可能となる。
一方、S335では、モデル比較部130は、変更モデルを解析し、原モデルにおいて対象構成要素が配置されている階層と同一の階層を特定すると共に、該階層から対応構成要素をサーチし、S340に処理を移行する。
S340では、モデル比較部130は、対応構成要素が検出されたか否かを判定する。そして、肯定判定が得られた場合には(S340:Yes)、S365に処理を移行し、否定判定が得られた場合には(S340:No)、S345に処理を移行する。
S345では、モデル比較部130は、変更モデルにおける上記同一の階層以外の他の階層から対応構成要素をサーチし、S350に処理を移行する。
S350では、モデル比較部130は、対応構成要素が検出されたか否かを判定する。そして、肯定判定が得られた場合には(S350:Yes)、S360に処理を移行し、否定判定が得られた場合には(S350:No)、S355に処理を移行する。
S355では、モデル比較部130は、対象構成要素の比較結果として「削除」を設定し、S310に処理を移行する。
S360では、モデル比較部130は、変更フラグをセットし、S365に処理を移行する。
S365では、モデル比較部130は、対象構成要素と対応構成要素との間のパラメータを比較する。そして、S370において相違点の有無を判定し、パラメータが相違する場合には(S370:Yes)、S375に処理を移行し、相違しない場合には(S370:No)、S420に処理を移行する。
S375〜S415では、結線である対象構成要素及び対応構成要素の接続先が実質的に相違しているのか、或いは、サブシステム化やサブシステムの解消により見た目上相違しているのみであるのかを考慮して、比較結果を設定する。
すなわち、S375では、モデル比較部130は、対象構成要素と対応構成要素が結線であるか否かを判定する。さらに、接続先パラメータに基づき、結線であるこれらの構成要素の一方の接続先のみが相違しており、且つ、相違する接続先が、一方の構成要素ではサブシステム或いはポートブロックであるが、他方の構成要素では通常のブロックであるか否かを判定する。なお、通常のブロックとは、サブシステムやポートブロック以外のブロックを意味する。
そして、双方の判定で肯定判定が得られた場合には(S375:Yes)、S380に処理を移行し、いずれか一方の判定で否定判定が得られた場合には(S375:No)、S405に処理を移行する。
なお、結線である対象構成要素と対応構成要素のうち、相違する接続先がサブシステム或いはポートブロックであるものを、間接結線とすると共に、間接結線ではないものを、直接結線とする。また、直接結線に繋がる相違する接続先となる通常のブロックを、相違ブロックとする。
S380では、モデル比較部130は、ポートブロックやサブシステムに繋がる他のブロックを考慮して対象構成要素と対応構成要素のパラメータを比較する。
すなわち、間接結線における相違する接続先がポートブロックである場合には、ポートブロックのパラメータ等に基づき、ポートブロックが配されたサブシステムに繋がる結線のうち、ポートブロックとデータの入出力を行う結線を特定する。
そして、該結線の接続先のブロックを特定すると共に、該ブロックとして相違ブロックが特定された場合には、間接結線は、ポートブロックではなく相違ブロックに接続されているものとみなし、接続先パラメータの比較を行う。
また、間接結線における相違する接続先がサブシステムである場合には、サブシステムに配されたポートブロックのパラメータ等に基づき、サブシステムに配された結線のうち、間接結線とデータの入出力を行う結線を特定する。
そして、該結線の接続先のブロックを特定すると共に、該ブロックとして相違ブロックが特定された場合には、間接結線は、サブシステムに替えて同一ブロックに接続されているものとみなし、接続先パラメータの比較を行う。
S385では、モデル比較部130は、パラメータが同一か否かを判定すると共に、肯定判定が得られた場合には(S385:Yes)、S390に処理を移行し、否定判定が得られた場合には(S385:No)、S405に処理を移行する。
S390では、モデル比較部130は、変更フラグがセットされているか否かを判定する。そして、肯定判定が得られた場合には(S390:Yes)、S395に処理を移行し、否定判定が得られた場合には(S390:No)、S400に処理を移行する。
S395では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「サブシステム変更有り、変更無し」を設定し、S310に処理を移行する。
S400では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「変更無し」を設定し、S310に処理を移行する。
一方、S405では、モデル比較部130は、変更フラグがセットされているか否かを判定する。そして、肯定判定が得られた場合には(S405:Yes)、S410に処理を移行し、否定判定が得られた場合には(S405:No)、S415に処理を移行する。
S410では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「サブシステム変更有り、変更有り」を設定し、S310に処理を移行する。
S415では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「変更有り」を設定し、S310に処理を移行する。
一方、対象構成要素と対応構成要素のパラメータが一致する場合に移行するS420では、モデル比較部130は、変更フラグがセットされているか否かを判定する。そして、肯定判定が得られた場合には(S420:Yes)、S425に処理を移行し、否定判定が得られた場合には(S420:No)、S430に処理を移行する。
S425では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「サブシステム変更有り、変更無し」を設定し、S310に処理を移行する。
S430では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「変更無し」を設定し、S310に処理を移行する。
(2)識別子再設定処理について
次に、モデルの各構成要素に設定されている識別子を再設定する識別子再設定処理について、図5(a)に記載のフローチャートを用いて説明する。なお、本処理は、開発支援ツール100における識別子設定部120にて、入力装置60に対する操作に応じて実行される。
S505では、識別子設定部120は、モデルが保存されているファイルから、該モデルの各構成要素に設定されている識別子を示す識別子情報を読み出す。そして、ネットワーク5を介して、サーバ2に対し、該識別子情報と、該識別子情報が示す識別子の更新要求を送信し、S510に処理を移行する。
S510では、識別子設定部120は、サーバ2から、更新前の識別子と更新後の識別子の対応関係を示す更新情報を取得する。そして、更新情報に基づき、更新前の識別子が設定された各構成要素に対し再生成された識別子を設定し、本処理を終了する。
(3)識別子更新処理について
次に、モデルの各構成要素に設定されている識別子を更新する識別子更新処理について、図5(b)に記載のフローチャートを用いて説明する。なお、本処理は、開発支援装置から受け取った更新要求に応じて、識別子生成ツール200における識別子生成部210にて実行される。
S605では、識別子生成部210は、送受信部220を介して、開発支援装置から、更新要求と共に、モデルの各構成要素に設定されている識別子を示す識別子情報を取得する。
続くS610では、識別子生成部210は、取得した識別子情報が示す各識別子を更新する。
より詳しくは、例えば、番号と予め定められた固有情報とを組み合わせたものが識別子として用いられている場合であれば、これらの番号のうち、空きとなっている番号をつめるようにして(空きとなっている番号が無くなるように)、該番号を更新しても良い。
すなわち、識別子情報が示す各識別子に含まれる番号の範囲を特定すると共に、該範囲内のいずれかの番号(例えば、該範囲の先頭をなす番号)を起点として順番に並ぶ番号を含む複数の識別子を再生成しても良い。そして、識別子情報が示す各識別子を、再生成した識別子に置き換えても良い。
より具体的には、例えば、仮に、識別子情報が、Xを固有情報とした“X1”,“X10”,“X25”,・・・という識別子を示している場合であれば、“X1”,“X2”,“X3”,・・・という識別子を再生成しても良い。そして、“X1”を“X1”に、“X10”を“X2”に、“X25”を“X3”に置き換えるといった具合に、番号順に、元の識別子を再生成した識別子に置き換えても良い。
また、結線の識別子が、該結線の接続先のブロックの識別子に基づき生成されたものである場合には、接続先のブロックの識別子の再生成に伴い、該結線のブロックの識別子を再生成しても良い。
具体的には、例えば、“X10”,“X20”という識別子が設定された二つのブロックを繋ぐ結線に、“X10−−>X20”という識別子が設定されており、“X10”が“X5”に、“X20”が“X7”に置き換えられたとする。このような場合には、該結線の識別子として“X5−−>X7”を再生成し、“X10−−>X20”を“X5−−>X7”に置き換えても良い。
こうすることにより、識別子の一意性を保ちつつ、識別子の枯渇を防ぐことができる。
そして、更新前の識別子と、該識別子を置き換える再生成された識別子を示す更新情報を生成し、S615に処理を移行する。
S615では、識別子生成部210は、送受信部220を介して、更新要求を発した開発支援装置に対し更新情報を送信し、本処理を終了する。
[具体例について]
次に、第一実施形態における原モデルと変更モデルの比較結果の具体例について説明する。なお、以下の説明におけるモデルは、Simulink(登録商標)モデルに準じたものとなっている。
図6(a)には、第一実施形態の開発支援装置を用いて作成された原モデル700の一例が記載されている。この原モデル700は、パルスを生成するパルス生成ブロック710(Discrete Pulse Generator1)と、加減算を行う加減算ブロック730(Sum1)を有する。また、信号を遅延させるホールドブロック750(Unit Delay1)と、信号を表示する信号表示ブロック770(Scope1)を有する(なお、括弧書きは、各ブロックに設定された識別子を示している)。
また、この原モデル700は、パルス生成ブロック710から、加減算ブロック730及び信号表示ブロック770にデータを出力する結線720と、加減算ブロック730からホールドブロック750にデータを出力する結線740を有する。また、ホールドブロック750から、加減算ブロック730及び信号表示ブロック770にデータを出力する結線760を有する。なお、これらの結線には、接続先となるブロックに基づく識別子が設定されている(例えば、結線720の識別子はDiscrete Pulse Generator1-->Sum1+Scope1、結線740の識別子は、Sum1-->Unit Delay1となっている)。
また、図6(b)は、結線720に設定された各パラメータを示すパラメータ情報721を示している。このパラメータ情報721は、結線720を介して出力されるデータの出力元となる接続先パラメータや、該データの出力先となる接続先パラメータ等を示している。
また、図7には、原モデル700を変更して作成された変更モデル800が記載されている。この変更モデル800は、原モデル700における加減算ブロック730,ホールドブロック750,結線740,760をサブシステム化すると共に、原モデル700における信号表示ブロック770にデータを出力する複数のブロックを追加したものである。さらに、原モデル700におけるホールドブロック750の初期条件を設定する初期パラメータを変更したものである。
すなわち、変更モデル800は、原モデル700から流用されたパルス生成ブロック810(Discrete Pulse Generator1)及び信号表示ブロック830(Scope1)を有する。また、サブシステム820(Subsystem1)と、固定値を生成して出力する固定値ブロック840(Constant1)と、加減算ブロック850(Sum2)と、ホールドブロック860(Unit Delay2)を有する。
このサブシステム820は、上記サブシステム化により新たに加わったものであり、固定値ブロック840,加減算ブロック850,ホールドブロック860は、新たに追加されたものである。
また、変更モデル800は、パルス生成ブロック810から、サブシステム820及び信号表示ブロック830にデータを出力する結線811と、サブシステム820から信号表示ブロック830にデータを出力する結線831とを有する。また、固定値ブロック840から加減算ブロック850にデータを出力する結線841と、加減算ブロック850からホールドブロック860にデータを出力する結線851とを有する。また、ホールドブロック860から、加減算ブロック850及び信号表示ブロック830にデータを出力する結線861を有する。
また、サブシステム820は、パルス生成ブロック810から当該サブシステム820に入力されたデータを受け取るインポートブロック821(In1)を有する。また、原モデル700から流用された加減算ブロック823(Sum1),ホールドブロック825(Unit Delay1)と、当該サブシステム820から信号表示ブロック830にデータを出力するエクスポートブロック827(Out1)を有する。
また、サブシステム820は、インポートブロック821から加減算ブロック823にデータを出力する結線822と、加減算ブロック823からホールドブロック825にデータを出力する結線824を有する。また、ホールドブロック825から、加減算ブロック823及びエクスポートブロック827にデータを出力する結線826を有する。
無論、これらの結線には、原モデル700と同様に、接続先となるブロックに基づく識別子が設定されている。また、これらの結線のうち、結線811,824,826は、原モデル700から流用されたものとなっており、原モデルと同様の識別子が設定されている。
そして、図8には、差分検出処理による原モデル700と変更モデル800の比較結果を示す表が記載されている。なお、該表では、識別子により各構成要素を示しており、また、変更無しに設定された構成要素については、比較結果が省略されている。
該表が示すように、新たに追加されたサブシステム820(Subsystem1)等の比較結果が「追加」となる。また、サブシステム化のみがなされた加減算ブロック823(Sum1)は、「サブシステム変更有り、変更無し」となり、サブシステム化と共に初期パラメータが変更されたホールドブロック825(Unit Delay1)は、「サブシステム変更有り、変更有り」となる。
また、追加されたブロックを繋ぐ結線の比較結果が「追加」となる。また、結線811(Discrete Pulse Generator1-->Sum1+Scope1)は、「変更無し」となるため、該表に記載されていない。また、サブシステム化されたブロックを繋ぐ結線824,826(Sum1-->Unit Delay1,Unit Delay1-->Sum1+Scope1)は、「サブシステム変更有り、変更無し」となる。
なお、この原モデル700や変更モデル800は、一つのブロック群から構成されているが、言うまでもなく、複数のブロック群から構成されていても良い。
[第二実施形態]
[動作の説明]
次に、第二実施形態における開発支援装置の動作について詳しく説明する。第二実施形態では、差分検出処理の内容が第一実施形態と相違しており、サブシステム化やサブシステムの解消を考慮すること無く、原モデルと変更モデルの比較がなされる。以下では、第二実施形態の差分検出処理について、図9,10に記載のフローチャートを用いて説明する。なお、本処理は、入力装置60に対する操作に応じて実行される。
S905〜S955は、第一実施形態の差分検出処理におけるS305,S310,S320〜S355,S365と同様であるため、説明を省略する。
S960では、モデル比較部130は、対象構成要素と対応構成要素との間のパラメータの相違の有無を判定する。そして、パラメータが相違する場合には(S960:Yes)、S965に処理を移行し、相違しない場合には(S960:No)、S990に処理を移行する。
S965〜S985では、第一実施形態の差分検出処理におけるS375〜S415と同様、サブシステム化やサブシステムの解消を考慮して比較結果を設定する。
すなわち、S965では、モデル比較部130は、第一実施形態の差分検出処理におけるS375と同様の判定を行う。そして、肯定判定が得られた場合には(S965:Yes)、S970に処理を移行し、否定判定が得られた場合には(S965:No)、S985に処理を移行する。
S970では、モデル比較部130は、第一実施形態の差分検出処理におけるS380と同様にして、ポートブロックやサブシステムに繋がる他のブロックを考慮して対象構成要素と対応構成要素のパラメータを比較する。そして、これらのパラメータが同一である場合には(S975:Yes)、S980に処理を移行し、同一でない場合には(S975:No)、S985に処理を移行する。
S980では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「変更無し」を設定し、S910に処理を移行する。
S985では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「変更有り」を設定し、S910に処理を移行する。
S990では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「変更無し」を設定し、S910に処理を移行する。
[具体例について]
次に、第二実施形態における差分検出処理による原モデルと変更モデルの比較結果の具体例について説明する。
図11には、上述した原モデル700と変更モデル800の比較結果を示す表が記載されている。なお、該表では、識別子により各構成要素を示しており、また、変更無しに設定された構成要素については比較結果の記載を省略している。
また、これらのモデルの一方に存在するポートブロックや、これらのモデルの一方に存在するポートブロック或いはサブシステムに繋がる結線であって、これらのモデルの一方に存在するものについても、比較結果の記載を省略している。
該表が示すように、新たに追加されたサブシステム820(Subsystem)等の比較結果が「追加」となる。また、サブシステム化のみがなされた加減算ブロック823(Sum1)は、「変更無し」となるため該表に記載されていないが、サブシステム化と共に初期パラメータが変更されたホールドブロック825(Unit Delay1)は、「変更有り」となる。
また、追加されたブロックを繋ぐ結線の比較結果が「追加」となる。また、サブシステム、或いはサブシステム化されたブロックを繋ぐ結線811,824,826(Discrete Pulse Generator1-->Sum1+Scope1,Sum1-->Unit Delay1,Unit Delay1--> Sum1+Scope1)は、「変更無し」となるため、該表に記載されていない。
[効果]
第一,第二実施形態の開発支援装置によれば、サブシステム化やサブシステムの解消により接続先のブロックが変更された結線に関しては、ポートブロックを介して接続されるブロックを考慮して接続先パラメータの比較が行われる。そして、接続先のブロックが実質的に変わったかどうかが判定される。
このため、処理内容を維持したままサブシステム化やサブシステムの解消がなされ、単に見た目上の結線の接続先が変更された場合に、このような変更点が相違点としてユーザに提示されることは無い。一方、処理内容の変更を伴ってサブシステム化等がなされ、結線の接続先が実質的に変更された場合には、このような変更点がユーザに提示される。
したがって、サブシステム化やサブシステムの解消に伴い生じた実質的な相違点のみを、ユーザに提示することができる。
また、第一実施形態の開発支援装置では、サブシステム化やサブシステムの解消により異なる階層に配置されるようになったブロックや結線は、「サブシステム変更有り」としてユーザに提示される。このため、実質的な相違の有無とは別に、サブシステム化等がなされた構成要素を提示することができ、ユーザは、原モデルと変更モデルの相違点をより正確に把握することができる。
また、第一,第二実施形態の開発支援装置で作成されたモデルの構成要素には、識別子生成装置にて生成された識別子が設定されるため、複数の開発支援装置により作成された各モデルにおける各構成要素の識別子が重複してしまうことを防ぐことができる。このため、各開発支援装置により作成されたモデルを組み合わせて一の原モデルが作成され、さらに、該原モデルに変更を加えて変更モデルが作成された場合には、これらのモデルにおける実質的な相違点をユーザに提示することが可能となる。
[他の実施形態]
(1)第一,第二実施形態では、サーバ2にインストールされた識別子生成ツール200により識別子が生成される。しかしながら、開発支援ツール100がインストールされたPC1に識別子生成ツール200をインストールし、該PC1で作成されたモデルの識別子を、該PC1にインストールされた識別子生成ツール200により生成しても良い。
さらに、該PC1にインストールされた識別子生成ツール200により、識別子更新処理と同様にして、該PC1にインストールされた開発支援ツール100にて作成されたモデルの構成要素に設定された識別子を更新しても良い。
このような場合であっても、同様の効果を得ることができる。
(2)また、第一,第二実施形態では、モデル作成部110及び識別子設定部120と、モデル比較部130は、単一のアプリケーションである開発支援ツール100として構成されている。このようなアプリケーションの一例として、Matlab(登録商標)を挙げることができる。
しかし、これ以外にも、モデル比較部130を、モデル作成部110及び識別子設定部120を備える開発支援ツール100のアドオンとしても良い。また、モデル比較部130を単一のアプリケーションとして構成し、該開発支援ツール100から外部ツールとして起動する構成としても良い。
また、モデル比較部130と、モデル作成部110及び識別子設定部120を、それぞれ、モデルベース開発を行うためのアプリケーションである開発支援ツール100のアドオンとしても良い。また、モデル比較部130と、モデル作成部110及び識別子設定部120を、それぞれ、単一のアプリケーションとして構成し、該開発支援ツール100から外部ツールとして起動する構成としても良い。
このような場合であっても、同様の効果を得ることができる。
[特許請求の範囲との対応]
上記実施形態の説明で用いた用語と、特許請求の範囲の記載に用いた用語との対応を示す。
開発支援装置がモデル比較装置,モデル作成装置に相当し、開発支援ツール100が、モデル比較ツール,モデル作成ツールに相当する。
また、開発支援ツール100のモデル作成部110がモデル生成手段に、識別子設定部120が設定手段に相当する。
また、識別子生成ツール200の識別子生成部210が識別子生成手段,置換手段に、送受信部220が付与手段,取得手段,提供手段に相当する。
また、ポートブロックが通信用ブロックに相当し、ライブラリサブシステム,カスタムサブシステムが、共通サブシステムに相当する。
また、第一実施形態の差分検出処理のS305が読込手段に、S325,S335,S345が検出手段に、S330が提示手段に、S365,S380が比較手段に相当する。また、第二実施形態の差分検出処理のS905が読込手段に、S920,S930,S940が検出手段に、S925が提示手段に、S955,S970が比較手段に相当する。
1…PC、2…サーバ、5…ネットワーク、10…ディスプレイ、20…HDD、30…CPU、40…ROM、50…RAM、60…入力装置、100…開発支援ツール、110…モデル作成部、120…識別子設定部、130…モデル比較部、200…識別子生成ツール、210…識別子生成部、220…送受信部。

Claims (15)

  1. 予め定められた処理手順を示すブロックと、前記ブロック同士を繋ぐことでこれらのブロック間のデータの入出力を表す結線とを構成要素とし、これらの構成要素を用いてプログラムを記述していると共に、それぞれの前記構成要素に一意的な識別子が設定されているモデルである原モデルと、該原モデルに変更を加えたものであって、該原モデルから流用された前記構成要素には同一の前記識別子が設定されている変更モデルとを読み込む読込手段(S305,S905)と、
    前記原モデルに含まれる前記構成要素と、前記変更モデルに含まれる前記構成要素との中から同一の前記識別子が設定された二つの前記構成要素を検出し、これらの構成要素において設定されているパラメータを比較する比較手段(S365,S380,S955,S970)と、
    前記原モデルと前記変更モデルとに関して、これらのモデルの前記構成要素に設定された前記識別子に基づき、これらのモデルの一方にのみ用いられている前記構成要素を検出する検出手段(S325,S335,S345,S920,S930,S940)と、
    前記比較手段による比較結果と、前記検出手段による検出結果とを提示する提示手段(S330,S925)と、
    を備えることを特徴とするモデル比較装置(1)。
  2. 請求項1に記載のモデル比較装置において、
    前記結線により直接的或いは間接的に繋がれた複数の前記ブロックをブロック群とし、前記モデルは、1または複数の前記ブロック群から構成されていること、
    を特徴とするモデル比較装置。
  3. 請求項1または請求項2に記載のモデル比較装置において、
    前記ブロックとして、前記構成要素により記述された前記処理手順を実行するサブシステムを用いることができ、
    前記サブシステム、及び、前記結線により該サブシステムに繋がる他の前記ブロックにより記述される前記処理手順と、該サブシステムにおいて記述された前記処理手順とにより、それぞれ、固有の階層が形成され、
    前記検出手段は、さらに、前記原モデルと前記変更モデルにおいて、同一の前記識別子が設定された前記構成要素が、異なる前記階層を形成する前記処理手順の記述に用いられていることを検出すること(S345)、
    を備えることを特徴とするモデル比較装置。
  4. 請求項1から請求項3のうちのいずれか1項に記載のモデル比較装置において、
    前記ブロックとして、前記構成要素により記述された前記処理手順を実行するサブシステムを用いることができ、
    前記サブシステムでの前記処理手順の記述に用いられ、該サブシステム以外の他の前記ブロックとの間でデータの入出力を行う前記ブロックを内部ブロックとすると共に、該内部ブロックとの間でデータの入出力を行う該サブシステム以外の他の前記ブロックを外部ブロックとし、
    前記外部ブロックと前記内部ブロックとの間のデータの入出力は、前記外部ブロックと前記サブシステムとに繋がる前記結線と、該サブシステムにて用いられる前記ブロックである通信用ブロックと該内部ブロックとに繋がる前記結線とにより表され、
    前記結線の前記パラメータとして、該結線に繋がる前記ブロックを示す接続先パラメータが設けられており、
    前記比較手段は、前記結線の前記接続先パラメータが前記通信用ブロックを示している場合には、該接続先パラメータが、該通信用ブロックに係る前記サブシステムに繋がるいずれかの前記ブロックを示すものとみなして、該接続先パラメータの比較を行うと共に、該接続先パラメータが前記サブシステムを示している場合には、該接続先パラメータが、該サブシステムにて用いられる前記通信用ブロックに繋がるいずれかの前記ブロックを示すものとみなして、該接続先パラメータの比較を行うこと(S380,S970)、
    を特徴とするモデル比較装置。
  5. 請求項4に記載のモデル比較装置において、
    前記提示手段は、前記検出手段により、前記原モデルと前記変更モデルとのうちの一方にのみ用いられている前記構成要素として前記通信用ブロックが検出された場合には、該通信用ブロックを前記検出結果として提示しないこと、
    を特徴とするモデル比較装置。
  6. 請求項3から請求項5のうちのいずれか1項に記載のモデル比較装置において、
    前記サブシステムとして、予め定められた前記処理手順が記述された共通サブシステムが用いられること、
    を特徴とするモデル比較装置。
  7. 請求項1から請求項6のうちのいずれか1項に記載のモデル比較装置(1)において用いられるモデルを作成するための複数のモデル作成装置(1)からの要求に応じて、これらのモデル作成装置にて作成されるそれぞれの前記モデルの前記構成要素に設定される識別子を、これらのモデルにおいて一意的となるように生成する識別子生成手段(210)と、
    前記識別子生成手段により生成された前記識別子を、該識別子を生成する前記要求を発した前記モデル作成装置に付与する付与手段(220)と、
    を備えることを特徴とする識別子生成装置(2)。
  8. 請求項7に記載の識別子生成装置において、
    前記識別子生成手段は、前記モデル作成装置に関する情報、或いは、該モデル作成装置を使用するユーザに関する情報に基づき生成された固有情報を生成すると共に、該モデル作成装置にて作成された前記モデルの前記構成要素に対し、該固有情報を含む前記識別子を生成すること、
    を特徴とする識別子生成装置。
  9. 請求項8に記載の識別子生成装置において、
    前記識別子には、さらに番号が含まれており、
    前記識別子生成手段は、いずれかの前記モデル作成装置にて作成された前記モデルの前記構成要素に対応する前記識別子を、連続して生成されるこれらの識別子に含まれる前記番号が順番に並ぶように生成し、
    前記モデル作成装置にて作成された前記モデルにおいて用いられている前記識別子を示す識別子情報を取得する取得手段(220)と、
    前記識別子情報が示す前記識別子に含まれる前記番号の範囲を特定し、さらに、該範囲内で順番に並ぶ前記番号を含む複数の前記識別子を再度生成すると共に、再度生成した前記識別子を該順番に従い順次選択し、該識別子情報が示すそれぞれの前記識別子を、選択した前記識別子に置き換える置換手段(210)と、
    前記識別子情報が示すそれぞれの前記識別子と、該識別子を置き換えた前記識別子とを示す更新情報を、該識別子が用いられている前記モデルを作成した前記モデル作成装置に提供する提供手段(220)と、
    を備えることを特徴とする識別子生成装置。
  10. 予め定められた処理手順を示すブロックと、前記ブロック同士を繋ぐことでこれらのブロック間のデータの入出力を表す結線とを構成要素とし、これらの構成要素を用いてプログラムを記述しているモデルを、ユーザからの指示に従い生成するモデル生成手段(110)と、
    前記構成要素に一意的な識別子を設定する設定手段(120)と、
    を備えることを特徴とするモデル作成装置(1)。
  11. 請求項10に記載のモデル作成装置において、
    前記設定手段は、前記結線の前記識別子を、該結線に繋がる前記ブロックに設定された前記識別子に基づき生成し、生成した該識別子を該結線に設定すること、
    を特徴とするモデル作成装置。
  12. 請求項10または請求項11に記載のモデル作成装置において、
    前記設定手段は、請求項7から請求項9のうちのいずれか1項に記載の識別子生成装置から取得した前記識別子を、前記構成要素に設定すること、
    を特徴とするモデル作成装置。
  13. 予め定められた処理手順を示すブロックと、前記ブロック同士を繋ぐことでこれらのブロック間のデータの入出力を表す結線とを構成要素とし、これらの構成要素を用いてプログラムを記述していると共に、それぞれの前記構成要素に一意的な識別子が設定されているモデルである原モデルと、該原モデルに変更を加えたものであって、該原モデルから流用された前記構成要素には同一の前記識別子が設定されている変更モデルとを読み込む読込手段(S305,S905)と、
    前記原モデルに含まれる前記構成要素と、前記変更モデルに含まれる前記構成要素との中から同一の前記識別子が設定された二つの前記構成要素を検出し、これらの構成要素において設定されているパラメータを比較する比較手段(S365,S380,S955,S970)と、
    前記原モデルと前記変更モデルとに関して、これらのモデルの前記構成要素に設定された前記識別子に基づき、これらのモデルの一方にのみ用いられている前記構成要素を検出する検出手段(S325,S335,S345,S920,S930,S940)と、
    前記比較手段による比較結果と、前記検出手段による検出結果とを提示する提示手段(S330,S925)と
    してコンピュータを動作させることを特徴とするモデル比較ツール(100)。
  14. 請求項1から請求項6のうちのいずれか1項に記載のモデル比較装置(1)において用いられるモデルを作成するための複数のモデル作成装置(1)からの要求に応じて、これらのモデル作成装置にて作成されるそれぞれの前記モデルの前記構成要素に設定される識別子を、これらのモデルにおいて一意的となるように生成する識別子生成手段(210)と、
    前記識別子生成手段により生成された前記識別子を、該識別子を生成する前記要求を発した前記モデル作成装置に付与する付与手段(220)と
    してコンピュータを動作させることを特徴とする識別子生成ツール(200)。
  15. 予め定められた処理手順を示すブロックと、前記ブロック同士を繋ぐことでこれらのブロック間のデータの入出力を表す結線とを構成要素とし、これらの構成要素を用いてプログラムを記述しているモデルを、ユーザからの指示に従い生成するモデル生成手段(110)と、
    前記構成要素に一意的な識別子を設定する設定手段(120)と
    してコンピュータを動作させることを特徴とするモデル作成ツール(100)。
JP2012164972A 2012-07-25 2012-07-25 モデル比較装置、及び、モデル比較ツール Active JP5831385B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012164972A JP5831385B2 (ja) 2012-07-25 2012-07-25 モデル比較装置、及び、モデル比較ツール

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012164972A JP5831385B2 (ja) 2012-07-25 2012-07-25 モデル比較装置、及び、モデル比較ツール

Publications (2)

Publication Number Publication Date
JP2014026389A true JP2014026389A (ja) 2014-02-06
JP5831385B2 JP5831385B2 (ja) 2015-12-09

Family

ID=50199991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012164972A Active JP5831385B2 (ja) 2012-07-25 2012-07-25 モデル比較装置、及び、モデル比較ツール

Country Status (1)

Country Link
JP (1) JP5831385B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016194125A1 (ja) * 2015-06-02 2016-12-08 富士通株式会社 通信処理装置、識別情報生成方法及び識別情報生成プログラム
WO2018131409A1 (ja) * 2017-01-13 2018-07-19 Kddi株式会社 情報処理方法、情報処理装置及びコンピュータ可読記憶媒体
WO2018131405A1 (ja) * 2017-01-12 2018-07-19 Kddi株式会社 情報処理装置、方法及びコンピュータ可読記憶媒体
JP2018173822A (ja) * 2017-03-31 2018-11-08 株式会社Screenホールディングス 管理装置、モデルバージョンの管理方法および管理プログラム
JP2020166327A (ja) * 2019-03-28 2020-10-08 大和ハウス工業株式会社 異なるbimモデルの構成要素比較装置、bimモデル共有システム、異なるbimモデルの構成要素比較方法、及び異なるbimモデルの構成要素比較プログラム
US11755318B2 (en) 2019-08-28 2023-09-12 Mitsubishi Electric Corporation Proposing device and improvement proposing method

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187214A (ja) * 1992-12-18 1994-07-08 Toshiba Corp 表形式仕様書作成装置及びプログラム作成装置
JP2000089943A (ja) * 1998-09-10 2000-03-31 Toshiba Corp 変数名管理システム
JP2000194549A (ja) * 1998-12-28 2000-07-14 Nec Corp テキスト編集における行番号管理方式
JP2005078243A (ja) * 2003-08-29 2005-03-24 Denso Corp マイコンリソース消費見積もりプログラム、マイコンリソース消費見積もり装置、およびプログラム生成方法
JP2006209179A (ja) * 2005-01-25 2006-08-10 Fujitsu Ten Ltd モデル差分検出ツール
US20080046863A1 (en) * 2006-08-18 2008-02-21 Vitkin Lev M Method of re-using software attributes in graphical programs
JP2010204855A (ja) * 2009-03-02 2010-09-16 Toshiba Corp プログラム生成装置およびブロック線図生成装置
JP2012038022A (ja) * 2010-08-05 2012-02-23 Exmotion Co Ltd クローン検出装置、クローン検出プログラム、及びクローン検出プログラムを記録した記録媒体

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187214A (ja) * 1992-12-18 1994-07-08 Toshiba Corp 表形式仕様書作成装置及びプログラム作成装置
JP2000089943A (ja) * 1998-09-10 2000-03-31 Toshiba Corp 変数名管理システム
JP2000194549A (ja) * 1998-12-28 2000-07-14 Nec Corp テキスト編集における行番号管理方式
JP2005078243A (ja) * 2003-08-29 2005-03-24 Denso Corp マイコンリソース消費見積もりプログラム、マイコンリソース消費見積もり装置、およびプログラム生成方法
JP2006209179A (ja) * 2005-01-25 2006-08-10 Fujitsu Ten Ltd モデル差分検出ツール
US20080046863A1 (en) * 2006-08-18 2008-02-21 Vitkin Lev M Method of re-using software attributes in graphical programs
JP2010204855A (ja) * 2009-03-02 2010-09-16 Toshiba Corp プログラム生成装置およびブロック線図生成装置
JP2012038022A (ja) * 2010-08-05 2012-02-23 Exmotion Co Ltd クローン検出装置、クローン検出プログラム、及びクローン検出プログラムを記録した記録媒体

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016194125A1 (ja) * 2015-06-02 2016-12-08 富士通株式会社 通信処理装置、識別情報生成方法及び識別情報生成プログラム
JPWO2016194125A1 (ja) * 2015-06-02 2017-12-07 富士通株式会社 通信処理装置、識別情報生成方法及び識別情報生成プログラム
WO2018131405A1 (ja) * 2017-01-12 2018-07-19 Kddi株式会社 情報処理装置、方法及びコンピュータ可読記憶媒体
JPWO2018131405A1 (ja) * 2017-01-12 2019-07-25 Kddi株式会社 情報処理装置、方法及びコンピュータ可読記憶媒体
US11521043B2 (en) 2017-01-12 2022-12-06 Kddi Corporation Information processing apparatus for embedding watermark information, method, and computer readable storage medium
WO2018131409A1 (ja) * 2017-01-13 2018-07-19 Kddi株式会社 情報処理方法、情報処理装置及びコンピュータ可読記憶媒体
JPWO2018131409A1 (ja) * 2017-01-13 2019-11-07 Kddi株式会社 情報処理方法、情報処理装置及びコンピュータ可読記憶媒体
US11586909B2 (en) 2017-01-13 2023-02-21 Kddi Corporation Information processing method, information processing apparatus, and computer readable storage medium
JP2018173822A (ja) * 2017-03-31 2018-11-08 株式会社Screenホールディングス 管理装置、モデルバージョンの管理方法および管理プログラム
JP2020166327A (ja) * 2019-03-28 2020-10-08 大和ハウス工業株式会社 異なるbimモデルの構成要素比較装置、bimモデル共有システム、異なるbimモデルの構成要素比較方法、及び異なるbimモデルの構成要素比較プログラム
JP7332318B2 (ja) 2019-03-28 2023-08-23 大和ハウス工業株式会社 異なるbimモデルの構成要素比較装置、bimモデル共有システム、異なるbimモデルの構成要素比較方法、及び異なるbimモデルの構成要素比較プログラム
US11755318B2 (en) 2019-08-28 2023-09-12 Mitsubishi Electric Corporation Proposing device and improvement proposing method

Also Published As

Publication number Publication date
JP5831385B2 (ja) 2015-12-09

Similar Documents

Publication Publication Date Title
JP5831385B2 (ja) モデル比較装置、及び、モデル比較ツール
EP3014479B1 (en) Omega names: name generation and derivation
JP5159713B2 (ja) システムの構成要素の設計アーキテクチャを自動設計する自動設計装置、自動設計方法及び自動設計プログラム
EP2867785B1 (en) Method and apparatus for virtual machine interoperability
WO2014157056A1 (ja) ソースプログラム解析システム、ソースプログラム解析方法およびプログラムを記録した記録媒体
CN111124379B (zh) 页面生成方法、装置、电子设备及存储介质
JP6107456B2 (ja) 構成要件作成プログラム、構成要件作成装置および構成要件作成方法
JPWO2020008991A1 (ja) 検証自動化装置、検証自動化方法、およびプログラム
JP7131277B2 (ja) システム移行支援装置、システム移行支援方法及びプログラム
CN109558159A (zh) 游戏中用户界面的更新方法和装置
JP4867864B2 (ja) 性能データ収集・表示システム、性能データ表示装置、そのプログラム
CN112685040A (zh) 安卓系统中界面文件的生成方法、装置、设备及存储介质
JP2015001825A (ja) テストスケジュール決定装置、プログラム
JP2019008799A (ja) ソースアプリケーションからのソースデータをターゲットアプリケーションのターゲットデータへとマージするためのシステムおよび方法
JP6597356B2 (ja) 制御プログラム、制御装置、及び制御方法
JP2015056140A (ja) クローン検出方法及びクローン共通関数化方法
JP6045707B2 (ja) ライセンス管理装置、ライセンス管理方法、及びプログラム
JP5605370B2 (ja) システムモデル管理支援システム、システムモデル管理支援方法およびプログラム
JP2013235508A (ja) オブジェクト指向プログラム生成装置、その方法、プログラム
JP2018022433A (ja) 制御プログラム、装置、及び方法
CN105808318B (zh) 一种信息处理方法和电子设备
CN111597081A (zh) 一种测试用例设计方法及装置
JP5427600B2 (ja) アクセス制御設定装置、方法及びコンピュータプログラム
JP2016042317A (ja) ソフトウェア設計支援装置、および方法
JP5316273B2 (ja) プログラム自動生成装置およびプログラム自動生成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150907

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150929

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151012

R151 Written notification of patent or utility model registration

Ref document number: 5831385

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250