JP5831385B2 - Model comparison device and model comparison tool - Google Patents
Model comparison device and model comparison tool Download PDFInfo
- Publication number
- JP5831385B2 JP5831385B2 JP2012164972A JP2012164972A JP5831385B2 JP 5831385 B2 JP5831385 B2 JP 5831385B2 JP 2012164972 A JP2012164972 A JP 2012164972A JP 2012164972 A JP2012164972 A JP 2012164972A JP 5831385 B2 JP5831385 B2 JP 5831385B2
- Authority
- JP
- Japan
- Prior art keywords
- model
- block
- subsystem
- identifier
- component
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 97
- 230000008859 change Effects 0.000 claims description 37
- 238000001514 detection method Methods 0.000 claims description 29
- 239000000470 constituent Substances 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims 2
- 230000004048 modification Effects 0.000 claims 2
- 230000008569 process Effects 0.000 description 77
- 230000018109 developmental process Effects 0.000 description 54
- 238000007792 addition Methods 0.000 description 21
- 230000004044 response Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008676 import Effects 0.000 description 6
- 230000008030 elimination Effects 0.000 description 4
- 238000003379 elimination reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、ソースコードを自動生成するためのモデルを用いたプログラム開発に用いられるモデル比較装置等に関する。 The present invention relates to a model comparison device used for program development using a model for automatically generating source code.
従来、例えば車両のエンジンECUのプログラムの開発においては、開発者が直接ソースコードを記述せず、目的とするプログラムの機能を、より作成が簡易で視認性の良いモデルという形態で記述する場合がある。このモデルは、各種演算等を行う機能単位であるブロックや、ブロック間のデータの入出力を示す結線等の組合せにより処理を表しており、このようなモデルに基づきソースコードを自動生成するプログラム開発は、モデルベース開発と呼ばれている。 Conventionally, in the development of a program for a vehicle engine ECU, for example, the developer may not describe the source code directly, but may describe the function of the target program in the form of a model that is easier to create and has better visibility. is there. This model represents processing by a combination of blocks, which are functional units that perform various operations, and connections that indicate data input / output between blocks, and program development that automatically generates source code based on such models Is called model-based development.
ここで、特許文献1には、モデルにおける特定の演算処理を実現するブロックを、該演算処理を実行すると共に、該演算処理の途中結果を出力可能な検査ブロックに置換するプログラム検査装置について記載されている。このプログラム検査装置によれば、置換前のモデルから生成されたプログラムの実行により得られた該演算処理の途中結果と、置換後のモデルの模擬実行により得られた該演算処理の途中結果とを比較することができる。このため、モデルやプログラムの異常を精度良く検出することが可能となる。
Here,
ところで、二つのモデルを比較し、相違点を検出する比較ツールが知られている。このような比較ツールを用いることで、既存のモデルに変更を加えて新たなモデルが作成された場合に、これらのモデル間の変更箇所を容易に把握することができるため、モデルの検証等を行い易くなる。 By the way, a comparison tool for comparing two models and detecting a difference is known. By using such a comparison tool, when a new model is created by changing an existing model, the changes between these models can be easily grasped. It becomes easy to do.
これに対し、モデルの大規模化に伴い、既存のモデルに対し、例えば、複数のブロックとこれらの繋ぐ結線を一つのブロック(サブシステム)にまとめる変更(サブシステム化)が行われる場合がある。また、これ以外にも、例えば、サブシステムが解消される場合や、一つのブロック群(直接的,間接的に結線により繋がれた複数のブロック)が分割される場合や、複数のブロック群が一つに統合される場合もある。 On the other hand, with an increase in the scale of a model, for example, a change (subsystemization) may be performed on an existing model, for example, by combining a plurality of blocks and their connection lines into one block (subsystem). . In addition to this, for example, when a subsystem is eliminated, when one block group (a plurality of blocks connected directly or indirectly by connection) is divided, or when a plurality of block groups are Sometimes they are integrated into one.
しかしながら、従来の比較ツールは、二つのモデルを構成するブロックの種類,数や、同一種類のブロックのパラメータや、結線の接続先等を単純に比較するのみであった。このため、例えば、サブシステム化がなされた場合には、サブシステムを構成するブロックの種類や、ブロックや結線のパラメータ等に変更がなくても、該サブシステムや、該サブシステムを構成するブロックや結線が新たに追加されたものとして誤検出されていた。 However, the conventional comparison tool simply compares the types and number of blocks constituting the two models, the parameters of the same type of block, the connection destination of the connection, and the like. For this reason, for example, when a subsystem is formed, the subsystem and the blocks constituting the subsystem can be changed even if the types of blocks constituting the subsystem, the parameters of the blocks and the connection are not changed, etc. And connections were mistakenly detected as new additions.
すなわち、従来の比較ツールでは、二つのモデルを精度良く比較することができず、サブシステム化等が行われた場合には、比較結果を参照しても、これらのモデルにより実現される処理がどのように変化したのかを把握することができなかった。 In other words, the conventional comparison tool cannot compare the two models with high accuracy, and in the case of subsystemization, etc., even if the comparison result is referred to, the processing realized by these models is not possible. I couldn't figure out how it changed.
本願発明は上記課題に鑑みてなされたものであり、二つのモデルにおける実質的な相違点を提示することができるモデル比較装置等を提供することを目的とする。 This invention is made | formed in view of the said subject, and it aims at providing the model comparison apparatus etc. which can show the substantial difference in two models.
本発明の一側面に係るモデル比較装置は、予め定められた処理手順を示すブロックと、ブロック同士を繋ぐことでこれらのブロック間のデータの入出力を表す結線とを構成要素とし、これらの構成要素を用いてプログラムを記述していると共に、それぞれの構成要素に一意的な識別子が設定されているモデルである原モデルと、該原モデルに変更を加えたものであって、該原モデルから流用された構成要素には同一の識別子が設定されている変更モデルとを読み込む読込手段を備える。 A model comparison apparatus according to an aspect of the present invention includes a block indicating a predetermined processing procedure and a connection representing input / output of data between the blocks by connecting the blocks, and the configuration An original model, which is a model in which a program is described using elements and a unique identifier is set for each component, and a change is made to the original model. The diverted component includes a reading unit that reads a change model in which the same identifier is set.
また、原モデルに含まれる構成要素と、変更モデルに含まれる構成要素との中から同一の識別子が設定された二つの構成要素を検出し、これらの構成要素において設定されているパラメータを比較する比較手段を備える。また、原モデルと変更モデルとに関して、これらのモデルの構成要素に設定された識別子に基づき、これらのモデルの一方にのみ用いられている構成要素を検出する検出手段と、比較手段による比較結果と、検出手段による検出結果とを提示する提示手段を備える。 In addition, two constituent elements having the same identifier are detected from the constituent elements included in the original model and the constituent elements included in the change model, and the parameters set in these constituent elements are compared. Comparing means is provided. In addition, with respect to the original model and the changed model, based on identifiers set for the components of these models, detection means for detecting a component used only in one of these models, and a comparison result by the comparison means And presenting means for presenting the detection result by the detecting means.
このような構成によれば、原モデルから変更モデルに流用された構成要素や、変更モデルにおいて新たに追加された構成要素や、原モデルから削除された構成要素を正確に特定することができる。 According to such a configuration, it is possible to accurately specify a component diverted from the original model to the changed model, a newly added component in the changed model, or a component deleted from the original model.
そして、流用された構成要素については、原モデルにおけるパラメータと変更モデルにおけるパラメータの比較結果が提示されると共に、変更モデルにおいて新たに追加された構成要素や、原モデルから削除された構成要素が提示される。 For diverted components, the comparison results of the parameters in the original model and the parameters in the modified model are presented, and the newly added components in the modified model and the components deleted from the original model are presented. Is done.
このため、サブシステム化や、サブシステムの解消や、ブロック群の分割,統合等が行われた場合であっても、提示内容から、変更モデルにおける、原モデルと実質的に同一の処理が行われる部分や、実質的に異なる処理が行われる部分を容易に判別することができる。 For this reason, even if subsystemization, subsystem elimination, block group division, integration, etc. are performed, the process that is substantially the same as the original model in the changed model is performed from the presented content. It is possible to easily discriminate between parts that are to be processed and parts that are subjected to substantially different processing.
したがって、本発明の一側面に係るモデル比較装置によれば、原モデルと変更モデルとの間の実質的な相違点を把握することが可能となる。
また、このようなモデル比較装置に用いられるモデルを作成するモデル作成装置を複数用い、これらのモデル作成装置により作成されたモデルを統合して一つのモデルを作成するという場合が考えられる。
Therefore, according to the model comparison apparatus according to one aspect of the present invention, it is possible to grasp a substantial difference between the original model and the changed model.
In addition, there may be a case where a plurality of model creation devices that create models used in such a model comparison device are used, and one model is created by integrating the models created by these model creation devices.
また、本発明の一側面に係る識別子生成装置は、上述したモデル比較装置において用いられるモデルを作成するための複数のモデル作成装置からの要求に応じて、これらのモデル作成装置にて作成されるそれぞれのモデルの構成要素に設定される識別子を、これらのモデルにおいて一意的となるように生成する識別子生成手段と、識別子生成手段により生成された識別子を、該識別子を生成する要求を発したモデル作成装置に付与する付与手段と、備える。 The identifier generation device according to one aspect of the present invention is created by these model creation devices in response to requests from a plurality of model creation devices for creating a model used in the model comparison device described above. An identifier generating means for generating an identifier set for each model component so as to be unique in these models, and a model that has issued a request for generating the identifier generated by the identifier generating means. Providing means for providing to the creating apparatus;
このような識別子生成装置を用いることで、複数のモデル作成装置にて作成されるモデルにおいて、構成要素に設定された識別子が重複してしまうことを防ぐことができる。このため、複数のモデル作成装置により作成された複数のモデルを統合して一つのモデル作成した場合であっても、該モデルの構成要素に対し同一の識別子が重複して設定されてしまうことを防ぐことができる。したがって、統合されたモデルに変更が加えられた際には、上述したモデル比較装置を用いて、変更前と変更後における実質的な相違点を把握することが可能となる。 By using such an identifier generation device, it is possible to prevent an identifier set in a component from being duplicated in a model created by a plurality of model creation devices. For this reason, even when a plurality of models created by a plurality of model creation devices are integrated to create a single model, the same identifier is repeatedly set for the constituent elements of the model. Can be prevented. Therefore, when a change is made to the integrated model, it is possible to grasp a substantial difference between the change before and after the change using the model comparison apparatus described above.
また、本発明の一側面に係るモデル作成装置は、予め定められた処理手順を示すブロックと、ブロック同士を繋ぐことでこれらのブロック間のデータの入出力を表す結線とを構成要素とし、これらの構成要素を用いてプログラムを記述しているモデルを、ユーザからの指示に従い生成するモデル生成手段と、構成要素に一意的な識別子を設定する設定手段とを備える。 Further, the model creation device according to one aspect of the present invention includes a block indicating a predetermined processing procedure and a connection representing input / output of data between these blocks by connecting the blocks, Model generating means for generating a model in which a program is described using the constituent elements according to an instruction from the user, and setting means for setting a unique identifier for the constituent elements.
このようなモデル作成装置を用いてモデルを作成した場合には、一旦作成したモデルに変更が加えられた際に、上述したモデル比較装置を用いて、変更前と変更後における実質的な相違点を把握することが可能となる。 When a model is created using such a model creation device, when a change is made to the model once created, the above-mentioned model comparison device is used to make a substantial difference before and after the change. Can be grasped.
以下、本発明の実施形態について図面を用いて説明する。なお、本発明の実施の形態は、下記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. The embodiment of the present invention is not limited to the following embodiment, and can take various forms as long as they belong to the technical scope of the present invention.
[構成の説明]
図1(a)は、ネットワーク5に接続されたパーソナルコンピュータ(A〜CPC)1a〜1cとサーバ2とを示している。このPC1は、モデルベース開発における開発支援装置として稼動し、ディスプレイ10,HDD20,CPU30,ROM40,RAM50,入力装置60等を備える(図1(b)参照)。
[Description of configuration]
FIG. 1A shows personal computers (A to CPC) 1 a to 1 c and a
ディスプレイ10は、CPU30から受けた映像信号を、ユーザに対して映像として表示する。
入力装置60は、キーボード、マウス等から構成され、ユーザが操作することにより、その操作に応じた信号をCPU30に出力する。
The
The
RAM50は読み出し、書き込み可能な揮発性メモリであり、ROM40は読み出し専用の不揮発性メモリであり、HDD20は読み出し、書き込み可能な不揮発性メモリである。ROM40、HDD20には、CPU30が読み出して実行するプログラム等が予め記憶されている。
The
RAM50は、CPU30がROM40,HDD20に記憶されたプログラムを実行する際に、そのプログラムを一時的に保存するための記憶領域、及び作業用のデータを一時的に保存するための記憶領域として用いられる。
When the
CPU30は、OSをHDD20から読み出して実行し、HDD20に記録されている各種プログラムをOS上のプロセスとして実行する。また、このプロセスにおいて、CPU30は必要に応じて入力装置60から信号の入力を受け付け、ディスプレイ10に映像信号を出力し、RAM50,HDD20に対してデータの読み出し/書き込みの制御を行う。
The
一方、サーバ2は、ネットワーク5を介して当該サーバ2に接続されている開発支援装置にて用いられる識別子(詳細は後述する)を生成する識別子生成装置として稼動し、PC1と同様の構成を有している。
On the other hand, the
次に、PC1にインストールされている開発支援ツール100について、図2(a)に記載のブロック図を用いて説明する。開発支援ツール100は、HDD20に保存され、OS上のプロセスとして実行されるアプリケーションの1つであり、PC1は、開発支援ツール100を動作させることで、モデルの作成や比較を行う開発支援装置として稼動する。なお、この開発支援装置は、車載装置等といった組み込みシステム向けのプログラム開発に用いられることが考えられるが、これに限定されることは無く、あらゆる用途のプログラム開発に用いることができる。
Next, the
開発支援ツール100は、モデル作成部110と、識別子設定部120と、モデル比較部130とを備え、入力装置60の操作によって起動される。
モデル作成部110は、入力装置60に対する操作に従いモデルを作成すると共に、モデルからソースコードを生成する。
The
The
ここで、モデルとは、ソースコードよりも記述が簡易になり、かつ人による可読性を高くする目的で定められたモデル言語仕様に基づいて作成されるプログラムの一表現形態である。 Here, a model is an expression form of a program created based on a model language specification that is defined for the purpose of making description easier than the source code and improving human readability.
なお、モデルの一例として、Simulink(登録商標)によって作成されるSimulinkモデルを挙げることができる。Simulink(登録商標)モデルを、Matlab(登録商標)上で動作するReal Time Workshop(登録商標)に入力することにより、該モデルに対応するソースコードが生成される。 An example of the model is a Simulink model created by Simulink (registered trademark). By inputting the Simulink (registered trademark) model into the Real Time Workshop (registered trademark) operating on Matlab (registered trademark), source code corresponding to the model is generated.
本実施形態におけるモデルは、特定の処理手順を示すブロックと呼ばれる機能単位の組合せとして記述され、モデルを構成するブロックは、ブロック間のデータの入出力、及び、対応する処理手順の順序を示す結線により繋ぎ合わされている。 The model in the present embodiment is described as a combination of functional units called blocks indicating a specific processing procedure, and the blocks constituting the model are input / output of data between the blocks and connections indicating the order of the corresponding processing procedures. Connected together.
そして、モデルを構成するブロックや結線等の構成要素はパラメータを有している。具体例を挙げると、ブロックは、処理手順に用いられる初期値や閾値等の各種設定値を示すパラメータを有しており、結線は、データの出力元のブロックやデータの入力先のブロックを示す接続先パラメータ等を有している。 Components such as blocks and connections that make up the model have parameters. As a specific example, the block has parameters indicating various setting values such as initial values and threshold values used in the processing procedure, and the connection indicates a data output source block or a data input destination block. It has connection destination parameters.
また、複数のブロックと結線の集合体を、サブシステムというブロックの一種として定義することもできる。このサブシステムは、プログラミングにおける関数に相当し、ブロックの中にサブシステムが含まれるような入れ子構造のサブシステムの作成も許されており、サブシステムを設けることで、ブロック等により表わされる処理手順の階層構造が形成される。なお、サブシステムを有するモデルから生成されたソースコードでは、サブシステムでの処理はサブルーチンとして記述される。 An aggregate of a plurality of blocks and connections can be defined as a kind of block called a subsystem. This subsystem is equivalent to a function in programming, and it is allowed to create a nested subsystem in which the subsystem is included in the block. By providing the subsystem, the processing procedure represented by the block, etc. A hierarchical structure is formed. In the source code generated from a model having a subsystem, processing in the subsystem is described as a subroutine.
また、サブシステムを構成するブロック(内部ブロック)と、サブシステム外に配置された他のブロック(外部ブロック)との間のデータの入出力は、サブシステム内に配置されたインポートブロック或いはエクスポートブロックを介して記述される。なお、インポートブロックとエクスポートブロックをまとめてポートブロックとも記載する。 Data input / output between blocks (internal blocks) constituting the subsystem and other blocks (external blocks) arranged outside the subsystem is an import block or export block arranged within the subsystem. Is described through The import block and the export block are collectively referred to as a port block.
すなわち、外部ブロックから内部ブロックへのデータの出力を記述する場合には、外部ブロックと、内部ブロックが配置されたサブシステムとが結線により繋がれると共に、インポートブロックと内部ブロックとが結線により繋がれる。 That is, when describing the output of data from the external block to the internal block, the external block and the subsystem in which the internal block is arranged are connected by a connection, and the import block and the internal block are connected by a connection. .
また、内部ブロックから外部ブロックへのデータの出力を記述する場合には、外部ブロックと、内部ブロックが配置されたサブシステムとが結線により繋がれると共に、エクスポートブロックと内部ブロックとが結線により繋がれる。 In addition, when describing output of data from the internal block to the external block, the external block and the subsystem in which the internal block is arranged are connected by a connection, and the export block and the internal block are connected by a connection. .
なお、インポートブロックやエクスポートブロック等のパラメータにより、これらが、サブシステムに繋がるどの結線に対してデータの入出力を行うかを特定可能となっている。 Note that parameters such as an import block and an export block can specify which connection is connected to the subsystem for data input / output.
また、識別子設定部120は、モデル作成部110により生成されたモデルにおける構成要素(ブロックや結線等)に対し識別子を設定する。この識別子は、当該モデル作成部110や、他の開発支援装置にて作成されたモデルに用いられる識別子と重複しない一意的なものとなっており、識別子生成装置(サーバ2)にて生成される。
Further, the
具体的には、モデル作成部110により新たな構成要素が生成されると、識別子設定部120は、ネットワーク5を介して識別子生成装置に対し、識別子の生成を要求する生成要求を発する。そして、該生成要求に応じて識別子生成装置にて生成された識別子を、ネットワーク5を介して取得し、該識別子を構成要素に設定する。
Specifically, when a new component is generated by the
なお、識別子設定部120は、ブロックに対する識別子として識別子生成装置にて生成されたものを設定すると共に、結線に対する識別子として、該結線に繋がるブロックに設定された識別子から生成されたもの設定しても良い。具体的には、例えば、識別子Aが設定されたブロックと、識別子Bが設定されたブロックを繋ぐ結線に対し、“A−B”等の識別子を設定しても良い。
The
こうすることにより、結線に設定される識別子をより簡易的に生成することができると共に、規模の大きいモデルが作成された場合等に、識別子が枯渇してしまうことを防ぐことができる。 By doing so, it is possible to more easily generate the identifier set for the connection, and it is possible to prevent the identifier from being exhausted when a large-scale model is created.
各構成要素に設定された識別子は、作成されたモデルの構成を示す情報と共に、識別子情報として同一のファイルに保存され、該ファイルが読み出された場合には、モデルと、該モデルの各構成要素に設定された識別子が再現される。そして、モデル作成部110は、入力装置60に対する操作に従い再現されたモデルの改変を行うと共に、識別子設定部120は、新たに追加された構成要素に対し、サーバ2から取得した一意的な識別子を設定する。
The identifier set for each component is stored in the same file as the identifier information together with information indicating the configuration of the created model. When the file is read, the model and each configuration of the model The identifier set for the element is reproduced. The
また、モデル作成部110は、ユーザに対し、予め定められた演算処理等を行うためのサブシステムであるライブラリサブシステムや、ユーザにより作成されたカスタムサブシステムを提供可能となっている。そして、入力装置60に対する操作に応じて、ライブラリサブシステムやカスタムサブシステムがモデルの作成に用いられる。
Further, the
また、モデル比較部130は、モデル作成部110により作成された二つのモデルを比較し、各構成要素に設定された識別子に基づきこれらのモデルの相違点を検出する差分検出処理(詳細は後述する)を実行する。なお、差分検出処理では、原モデルと、原モデルに対し改変を加えることで生成された変更モデルとを比較対象とすることが考えられる。
Further, the
次に、サーバ2にインストールされている識別子生成ツール200について、図2(b)に記載のブロック図を用いて説明する。識別子生成ツール200は、HDDに保存され、OS上のプロセスとして実行されるアプリケーションの1つであり、サーバ2は、識別子生成ツール200を動作させることで、識別子生成装置として稼動する。
Next, the
識別子生成ツール200は、識別子生成部210と、送受信部220とを備え、入力装置の操作によって起動される。
識別子生成部210は、自装置に接続された開発支援装置からの生成要求に応じて、これらの開発支援装置にて既に用いられた識別子と重複しないように、モデルの構成要素の一意的な識別子を生成する。
The
In response to a generation request from a development support apparatus connected to the own apparatus, the
具体的には、例えば、固有情報と番号を組み合わせたものを識別子として生成しても良い。この固有情報とは、例えば、開発支援装置の固有の情報(例えば、開発支援装置のIPアドレス等)や、開発支援装置を使用するユーザの固有の情報(例えば、ユーザ名等)に基づき生成されたものであっても良い。 Specifically, for example, a combination of unique information and a number may be generated as an identifier. The specific information is generated based on, for example, specific information of the development support apparatus (for example, IP address of the development support apparatus) or specific information of the user who uses the development support apparatus (for example, user name). It may be.
すなわち、例えば、IPアドレスがXである開発支援装置にて作成されたモデルの構成要素に対し、Xを固有情報として、“X1”,“X2”,“X3”,・・・といった具合に、番号順に識別子を生成しても良い。また、例えば、名前がYであるユーザがいずれかの開発支援装置にて作成したモデルの構成要素に対し、Yを固有情報として、“Y1”,“Y2”,“Y3”,・・・といった具合に、番号順に識別子を生成しても良い。無論、開発支援装置の固有の情報とユーザの固有の情報を組み合わせたものを固有情報としても良い。 That is, for example, for a model component created by a development support apparatus whose IP address is X, with X as unique information, “X1”, “X2”, “X3”,... The identifiers may be generated in numerical order. Further, for example, “Y1”, “Y2”, “Y3”,..., With Y as unique information for a model component created by a user whose name is Y by any development support apparatus. For example, the identifiers may be generated in numerical order. Of course, a combination of the unique information of the development support apparatus and the unique information of the user may be used as the unique information.
こうすることにより、複数の開発支援装置にて作成されるモデルに用いられる一意的な識別子を、容易に生成することができる。
また、これ以外にも、識別子生成部210は、開発支援装置からの更新要求に応じて、モデルの構成要素に設定されている識別子を再設定する識別子更新処理(詳細は後述する)を行う。
By doing so, it is possible to easily generate a unique identifier used for a model created by a plurality of development support apparatuses.
In addition to this, the
一方、送受信部220は、ネットワーク5を介して、開発支援装置から識別子の生成要求を受け取ると共に、識別子生成部210にて生成された識別子を、ネットワーク5を介して、該生成要求を発した開発支援装置に提供する。
On the other hand, the transmission /
[第一実施形態]
[動作の説明]
次に、第一実施形態における開発支援装置と識別子生成装置の動作について詳しく説明する。
[First embodiment]
[Description of operation]
Next, operations of the development support apparatus and the identifier generation apparatus in the first embodiment will be described in detail.
(1)差分検出処理について
まず、開発支援ツール100のモデル比較部130により実行される差分検出処理について、図3,4に記載のフローチャートを用いて説明する。なお、本処理は、入力装置60に対する操作に応じて実行される。
(1) Difference Detection Process First, the difference detection process executed by the
なお、以下の説明では、開発支援ツール100や識別子生成ツール200を構成する特定の部位により処理が実行されるといった記載がなされるが、これは、該部位に従い動作するCPUにより処理が実行されることを意味する。
In the following description, it is described that the process is executed by a specific part constituting the
S305では、モデル比較部130は、HDD20から比較対象となる二つのモデル(原モデルと変更モデル)を読み込み、S310に処理を移行する。
なお、原モデルや変更モデルは、1または複数のブロック群(結線により直接的或いは間接的に繋がれた複数のブロックの集まり)として構成されていても良い。また、原モデルや変更モデルには、ライブラリサブシステムやカスタムサブシステムが含まれていても良い。こうすることにより、様々なモデルの相違点を検出することができる。
In S305, the
The original model and the changed model may be configured as one or a plurality of block groups (a group of a plurality of blocks connected directly or indirectly by connection). In addition, the original model and the modified model may include a library subsystem and a custom subsystem. By doing so, it is possible to detect differences between various models.
S310では、モデル比較部130は、原モデルの構成要素のうち、変更モデルの構成要素との比較がなされていないいずれかの構成要素を比較対象として特定し、S315に処理を移行する。なお、特定した比較対象を、対象構成要素とも記載する。
In S310, the
S315では、モデル比較部130は、対象構成要素と、変更モデルにおける対象構成要素と同一の識別子が設定された構成要素(対応構成要素とも記載)が、各モデルの異なる階層に配置されていることを示す変更フラグをクリアし、S320に処理を移行する。
In S315, the
既に述べたように、モデルでは、サブシステムを設けることで処理手順の階層構造が形成され、原モデルから変更モデルへの改変においてサブシステム化がなされた場合や、サブシステムが解消された場合には階層構造が変化する。変更フラグは、サブシステム化やサブシステムの解消により、対象構成要素が異なる階層に配置されるようになった場合にセットされる。 As already mentioned, in the model, a hierarchical structure of the processing procedure is formed by providing a subsystem, and when the subsystem is made in the change from the original model to the changed model, or when the subsystem is eliminated The hierarchical structure changes. The change flag is set when the target component is arranged in a different hierarchy due to subsystemization or subsystem cancellation.
なお、サブシステムの解消とは、サブシステムが配置されている階層に、該サブシステムに替えて、該サブシステムを構成するブロックや結線を直接配置することを意味する。
S320では、モデル比較部130は、原モデルにおける全ての構成要素を対象として比較が行われたか否かを判定する。そして、肯定判定が得られた場合には(S320:Yes)、S325に処理を移行し、否定判定が得られた場合には(S320:No)、S335に処理を移行する。
Note that the elimination of a subsystem means that blocks and connections constituting the subsystem are directly arranged in the hierarchy where the subsystem is arranged, instead of the subsystem.
In S320, the
S325では、モデル比較部130は、比較がなされていない構成要素を変更モデルの中から特定すると共に、特定した構成要素の比較結果として「追加」を設定し、S330に処理を移行する。
In S325, the
S330では、モデル比較部130は、原モデルと変更モデルにおける各構成要素についての比較結果をファイルとしてHDD20に保存すると共に、ディスプレイ10に表示し、本処理を終了する。
In S330, the
なお、原モデルと変更モデルの一方に存在するポートブロックや、これらのモデルの一方に存在するポートブロック或いはサブシステムに繋がる結線であって、これらのモデルの一方に存在するものについては、比較結果として表示しなくても良い。 The comparison results for port blocks that exist in one of the original model and the modified model, or that connect to port blocks or subsystems that exist in one of these models and that exist in one of these models May not be displayed.
このような構成要素は、原モデルと変更モデルの実質的な相違点をなすものではないため、このような構成要素についての比較結果の表示を省略することで、ユーザに対し、原モデルと変更モデルの実質的な相違点を提示することが可能となる。 Since such components do not make a substantial difference between the original model and the modified model, the display of the comparison results for such components is omitted, so that the user can change the original model and the modified model. Substantial differences in models can be presented.
一方、S335では、モデル比較部130は、変更モデルを解析し、原モデルにおいて対象構成要素が配置されている階層と同一の階層を特定すると共に、該階層から対応構成要素をサーチし、S340に処理を移行する。
On the other hand, in S335, the
S340では、モデル比較部130は、対応構成要素が検出されたか否かを判定する。そして、肯定判定が得られた場合には(S340:Yes)、S365に処理を移行し、否定判定が得られた場合には(S340:No)、S345に処理を移行する。
In S340, the
S345では、モデル比較部130は、変更モデルにおける上記同一の階層以外の他の階層から対応構成要素をサーチし、S350に処理を移行する。
S350では、モデル比較部130は、対応構成要素が検出されたか否かを判定する。そして、肯定判定が得られた場合には(S350:Yes)、S360に処理を移行し、否定判定が得られた場合には(S350:No)、S355に処理を移行する。
In S345, the
In S350, the
S355では、モデル比較部130は、対象構成要素の比較結果として「削除」を設定し、S310に処理を移行する。
S360では、モデル比較部130は、変更フラグをセットし、S365に処理を移行する。
In S355, the
In S360, the
S365では、モデル比較部130は、対象構成要素と対応構成要素との間のパラメータを比較する。そして、S370において相違点の有無を判定し、パラメータが相違する場合には(S370:Yes)、S375に処理を移行し、相違しない場合には(S370:No)、S420に処理を移行する。
In S365, the
S375〜S415では、結線である対象構成要素及び対応構成要素の接続先が実質的に相違しているのか、或いは、サブシステム化やサブシステムの解消により見た目上相違しているのみであるのかを考慮して、比較結果を設定する。 In S375 to S415, whether the connection destination of the target constituent element and the corresponding constituent element that are connected is substantially different, or is it merely different in appearance due to subsystemization or cancellation of the subsystem? Consider and set the comparison result.
すなわち、S375では、モデル比較部130は、対象構成要素と対応構成要素が結線であるか否かを判定する。さらに、接続先パラメータに基づき、結線であるこれらの構成要素の一方の接続先のみが相違しており、且つ、相違する接続先が、一方の構成要素ではサブシステム或いはポートブロックであるが、他方の構成要素では通常のブロックであるか否かを判定する。なお、通常のブロックとは、サブシステムやポートブロック以外のブロックを意味する。
That is, in S375, the
そして、双方の判定で肯定判定が得られた場合には(S375:Yes)、S380に処理を移行し、いずれか一方の判定で否定判定が得られた場合には(S375:No)、S405に処理を移行する。 If an affirmative determination is obtained in both determinations (S375: Yes), the process proceeds to S380, and if a negative determination is obtained in either determination (S375: No), S405 is performed. The process is transferred to.
なお、結線である対象構成要素と対応構成要素のうち、相違する接続先がサブシステム或いはポートブロックであるものを、間接結線とすると共に、間接結線ではないものを、直接結線とする。また、直接結線に繋がる相違する接続先となる通常のブロックを、相違ブロックとする。 Of the target constituent elements that are connected and the corresponding constituent elements, those in which the different connection destinations are subsystems or port blocks are referred to as indirect connections, and those that are not indirect connections are referred to as direct connections. Also, a normal block that is a different connection destination that is directly connected to the connection is defined as a different block.
S380では、モデル比較部130は、ポートブロックやサブシステムに繋がる他のブロックを考慮して対象構成要素と対応構成要素のパラメータを比較する。
すなわち、間接結線における相違する接続先がポートブロックである場合には、ポートブロックのパラメータ等に基づき、ポートブロックが配されたサブシステムに繋がる結線のうち、ポートブロックとデータの入出力を行う結線を特定する。
In S380, the
In other words, when the connection destination that is different in the indirect connection is a port block, based on the port block parameters, etc., among the connections connected to the subsystem in which the port block is arranged, the connection that inputs and outputs data with the port block Is identified.
そして、該結線の接続先のブロックを特定すると共に、該ブロックとして相違ブロックが特定された場合には、間接結線は、ポートブロックではなく相違ブロックに接続されているものとみなし、接続先パラメータの比較を行う。 When the connection destination block of the connection is specified and a different block is specified as the block, the indirect connection is considered to be connected to the different block instead of the port block. Make a comparison.
また、間接結線における相違する接続先がサブシステムである場合には、サブシステムに配されたポートブロックのパラメータ等に基づき、サブシステムに配された結線のうち、間接結線とデータの入出力を行う結線を特定する。 In addition, when the different connection destination in indirect connection is a subsystem, the indirect connection and data input / output of the connections arranged in the subsystem are performed based on the port block parameters etc. arranged in the subsystem. Identify the connection to be made.
そして、該結線の接続先のブロックを特定すると共に、該ブロックとして相違ブロックが特定された場合には、間接結線は、サブシステムに替えて同一ブロックに接続されているものとみなし、接続先パラメータの比較を行う。 When the connection destination block of the connection is specified and a different block is specified as the block, the indirect connection is regarded as being connected to the same block instead of the subsystem, and the connection destination parameter Make a comparison.
S385では、モデル比較部130は、パラメータが同一か否かを判定すると共に、肯定判定が得られた場合には(S385:Yes)、S390に処理を移行し、否定判定が得られた場合には(S385:No)、S405に処理を移行する。
In S385, the
S390では、モデル比較部130は、変更フラグがセットされているか否かを判定する。そして、肯定判定が得られた場合には(S390:Yes)、S395に処理を移行し、否定判定が得られた場合には(S390:No)、S400に処理を移行する。
In S390, the
S395では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「サブシステム変更有り、変更無し」を設定し、S310に処理を移行する。
S400では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「変更無し」を設定し、S310に処理を移行する。
In S395, the
In S400, the
一方、S405では、モデル比較部130は、変更フラグがセットされているか否かを判定する。そして、肯定判定が得られた場合には(S405:Yes)、S410に処理を移行し、否定判定が得られた場合には(S405:No)、S415に処理を移行する。
On the other hand, in S405, the
S410では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「サブシステム変更有り、変更有り」を設定し、S310に処理を移行する。
S415では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「変更有り」を設定し、S310に処理を移行する。
In S410, the
In S415, the
一方、対象構成要素と対応構成要素のパラメータが一致する場合に移行するS420では、モデル比較部130は、変更フラグがセットされているか否かを判定する。そして、肯定判定が得られた場合には(S420:Yes)、S425に処理を移行し、否定判定が得られた場合には(S420:No)、S430に処理を移行する。
On the other hand, in S420 that is shifted when the parameters of the target component and the corresponding component match, the
S425では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「サブシステム変更有り、変更無し」を設定し、S310に処理を移行する。
S430では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「変更無し」を設定し、S310に処理を移行する。
In S425, the
In S430, the
(2)識別子再設定処理について
次に、モデルの各構成要素に設定されている識別子を再設定する識別子再設定処理について、図5(a)に記載のフローチャートを用いて説明する。なお、本処理は、開発支援ツール100における識別子設定部120にて、入力装置60に対する操作に応じて実行される。
(2) Identifier resetting process Next, an identifier resetting process for resetting the identifier set in each component of the model will be described with reference to the flowchart shown in FIG. This process is executed by the
S505では、識別子設定部120は、モデルが保存されているファイルから、該モデルの各構成要素に設定されている識別子を示す識別子情報を読み出す。そして、ネットワーク5を介して、サーバ2に対し、該識別子情報と、該識別子情報が示す識別子の更新要求を送信し、S510に処理を移行する。
In S505, the
S510では、識別子設定部120は、サーバ2から、更新前の識別子と更新後の識別子の対応関係を示す更新情報を取得する。そして、更新情報に基づき、更新前の識別子が設定された各構成要素に対し再生成された識別子を設定し、本処理を終了する。
In S <b> 510, the
(3)識別子更新処理について
次に、モデルの各構成要素に設定されている識別子を更新する識別子更新処理について、図5(b)に記載のフローチャートを用いて説明する。なお、本処理は、開発支援装置から受け取った更新要求に応じて、識別子生成ツール200における識別子生成部210にて実行される。
(3) Identifier Update Process Next, an identifier update process for updating the identifier set for each component of the model will be described with reference to the flowchart shown in FIG. This process is executed by the
S605では、識別子生成部210は、送受信部220を介して、開発支援装置から、更新要求と共に、モデルの各構成要素に設定されている識別子を示す識別子情報を取得する。
In step S <b> 605, the
続くS610では、識別子生成部210は、取得した識別子情報が示す各識別子を更新する。
より詳しくは、例えば、番号と予め定められた固有情報とを組み合わせたものが識別子として用いられている場合であれば、これらの番号のうち、空きとなっている番号をつめるようにして(空きとなっている番号が無くなるように)、該番号を更新しても良い。
In subsequent S610, the
More specifically, for example, in the case where a combination of a number and predetermined unique information is used as an identifier, among these numbers, an empty number is packed (empty The number may be updated so that there is no number.
すなわち、識別子情報が示す各識別子に含まれる番号の範囲を特定すると共に、該範囲内のいずれかの番号(例えば、該範囲の先頭をなす番号)を起点として順番に並ぶ番号を含む複数の識別子を再生成しても良い。そして、識別子情報が示す各識別子を、再生成した識別子に置き換えても良い。 That is, a plurality of identifiers that specify a range of numbers included in each identifier indicated by the identifier information and include numbers arranged in order starting from any number in the range (for example, the number that forms the top of the range) May be regenerated. Then, each identifier indicated by the identifier information may be replaced with a regenerated identifier.
より具体的には、例えば、仮に、識別子情報が、Xを固有情報とした“X1”,“X10”,“X25”,・・・という識別子を示している場合であれば、“X1”,“X2”,“X3”,・・・という識別子を再生成しても良い。そして、“X1”を“X1”に、“X10”を“X2”に、“X25”を“X3”に置き換えるといった具合に、番号順に、元の識別子を再生成した識別子に置き換えても良い。 More specifically, for example, if the identifier information indicates identifiers “X1”, “X10”, “X25”,... With X as unique information, “X1”, The identifiers “X2”, “X3”,... May be regenerated. Then, “X1” may be replaced with “X1”, “X10” may be replaced with “X2”, “X25” may be replaced with “X3”, and the original identifiers may be replaced with regenerated identifiers in numerical order.
また、結線の識別子が、該結線の接続先のブロックの識別子に基づき生成されたものである場合には、接続先のブロックの識別子の再生成に伴い、該結線のブロックの識別子を再生成しても良い。 In addition, when the connection identifier is generated based on the identifier of the connection destination block of the connection, the connection block identifier is regenerated along with the regeneration of the connection block identifier. May be.
具体的には、例えば、“X10”,“X20”という識別子が設定された二つのブロックを繋ぐ結線に、“X10−−>X20”という識別子が設定されており、“X10”が“X5”に、“X20”が“X7”に置き換えられたとする。このような場合には、該結線の識別子として“X5−−>X7”を再生成し、“X10−−>X20”を“X5−−>X7”に置き換えても良い。 Specifically, for example, an identifier “X10-> X20” is set to a connection connecting two blocks in which identifiers “X10” and “X20” are set, and “X10” is “X5”. Assume that “X20” is replaced with “X7”. In such a case, “X5-> X7” may be regenerated as the connection identifier, and “X10-> X20” may be replaced with “X5-> X7”.
こうすることにより、識別子の一意性を保ちつつ、識別子の枯渇を防ぐことができる。
そして、更新前の識別子と、該識別子を置き換える再生成された識別子を示す更新情報を生成し、S615に処理を移行する。
By doing so, it is possible to prevent the exhaustion of identifiers while maintaining the uniqueness of the identifiers.
Then, update information indicating the identifier before update and the regenerated identifier that replaces the identifier is generated, and the process proceeds to S615.
S615では、識別子生成部210は、送受信部220を介して、更新要求を発した開発支援装置に対し更新情報を送信し、本処理を終了する。
[具体例について]
次に、第一実施形態における原モデルと変更モデルの比較結果の具体例について説明する。なお、以下の説明におけるモデルは、Simulink(登録商標)モデルに準じたものとなっている。
In S615, the
[Specific examples]
Next, a specific example of the comparison result between the original model and the changed model in the first embodiment will be described. Note that the model in the following description conforms to the Simulink (registered trademark) model.
図6(a)には、第一実施形態の開発支援装置を用いて作成された原モデル700の一例が記載されている。この原モデル700は、パルスを生成するパルス生成ブロック710(Discrete Pulse Generator1)と、加減算を行う加減算ブロック730(Sum1)を有する。また、信号を遅延させるホールドブロック750(Unit Delay1)と、信号を表示する信号表示ブロック770(Scope1)を有する(なお、括弧書きは、各ブロックに設定された識別子を示している)。
FIG. 6A shows an example of an
また、この原モデル700は、パルス生成ブロック710から、加減算ブロック730及び信号表示ブロック770にデータを出力する結線720と、加減算ブロック730からホールドブロック750にデータを出力する結線740を有する。また、ホールドブロック750から、加減算ブロック730及び信号表示ブロック770にデータを出力する結線760を有する。なお、これらの結線には、接続先となるブロックに基づく識別子が設定されている(例えば、結線720の識別子はDiscrete Pulse Generator1-->Sum1+Scope1、結線740の識別子は、Sum1-->Unit Delay1となっている)。
The
また、図6(b)は、結線720に設定された各パラメータを示すパラメータ情報721を示している。このパラメータ情報721は、結線720を介して出力されるデータの出力元となる接続先パラメータや、該データの出力先となる接続先パラメータ等を示している。
FIG. 6B shows
また、図7には、原モデル700を変更して作成された変更モデル800が記載されている。この変更モデル800は、原モデル700における加減算ブロック730,ホールドブロック750,結線740,760をサブシステム化すると共に、原モデル700における信号表示ブロック770にデータを出力する複数のブロックを追加したものである。さらに、原モデル700におけるホールドブロック750の初期条件を設定する初期パラメータを変更したものである。
FIG. 7 shows a changed
すなわち、変更モデル800は、原モデル700から流用されたパルス生成ブロック810(Discrete Pulse Generator1)及び信号表示ブロック830(Scope1)を有する。また、サブシステム820(Subsystem1)と、固定値を生成して出力する固定値ブロック840(Constant1)と、加減算ブロック850(Sum2)と、ホールドブロック860(Unit Delay2)を有する。
That is, the
このサブシステム820は、上記サブシステム化により新たに加わったものであり、固定値ブロック840,加減算ブロック850,ホールドブロック860は、新たに追加されたものである。
This
また、変更モデル800は、パルス生成ブロック810から、サブシステム820及び信号表示ブロック830にデータを出力する結線811と、サブシステム820から信号表示ブロック830にデータを出力する結線831とを有する。また、固定値ブロック840から加減算ブロック850にデータを出力する結線841と、加減算ブロック850からホールドブロック860にデータを出力する結線851とを有する。また、ホールドブロック860から、加減算ブロック850及び信号表示ブロック830にデータを出力する結線861を有する。
Further, the
また、サブシステム820は、パルス生成ブロック810から当該サブシステム820に入力されたデータを受け取るインポートブロック821(In1)を有する。また、原モデル700から流用された加減算ブロック823(Sum1),ホールドブロック825(Unit Delay1)と、当該サブシステム820から信号表示ブロック830にデータを出力するエクスポートブロック827(Out1)を有する。
Further, the
また、サブシステム820は、インポートブロック821から加減算ブロック823にデータを出力する結線822と、加減算ブロック823からホールドブロック825にデータを出力する結線824を有する。また、ホールドブロック825から、加減算ブロック823及びエクスポートブロック827にデータを出力する結線826を有する。
Further, the
無論、これらの結線には、原モデル700と同様に、接続先となるブロックに基づく識別子が設定されている。また、これらの結線のうち、結線811,824,826は、原モデル700から流用されたものとなっており、原モデルと同様の識別子が設定されている。
Of course, as in the
そして、図8には、差分検出処理による原モデル700と変更モデル800の比較結果を示す表が記載されている。なお、該表では、識別子により各構成要素を示しており、また、変更無しに設定された構成要素については、比較結果が省略されている。
FIG. 8 shows a table showing a comparison result between the
該表が示すように、新たに追加されたサブシステム820(Subsystem1)等の比較結果が「追加」となる。また、サブシステム化のみがなされた加減算ブロック823(Sum1)は、「サブシステム変更有り、変更無し」となり、サブシステム化と共に初期パラメータが変更されたホールドブロック825(Unit Delay1)は、「サブシステム変更有り、変更有り」となる。 As shown in the table, the comparison result of the newly added subsystem 820 (Subsystem1) is “added”. In addition, the addition / subtraction block 823 (Sum1) that has only been sub-systemized is “subsystem changed and not changed”, and the hold block 825 (Unit Delay1) whose initial parameters have been changed along with the sub-system is “subsystem “There is a change, there is a change”.
また、追加されたブロックを繋ぐ結線の比較結果が「追加」となる。また、結線811(Discrete Pulse Generator1-->Sum1+Scope1)は、「変更無し」となるため、該表に記載されていない。また、サブシステム化されたブロックを繋ぐ結線824,826(Sum1-->Unit Delay1,Unit Delay1-->Sum1+Scope1)は、「サブシステム変更有り、変更無し」となる。
In addition, the comparison result of the connection connecting the added blocks is “addition”. Further, the connection 811 (Discrete Pulse Generator1-> Sum1 + Scope1) is “not changed” and is not described in the table. In addition, the
なお、この原モデル700や変更モデル800は、一つのブロック群から構成されているが、言うまでもなく、複数のブロック群から構成されていても良い。
[第二実施形態]
[動作の説明]
次に、第二実施形態における開発支援装置の動作について詳しく説明する。第二実施形態では、差分検出処理の内容が第一実施形態と相違しており、サブシステム化やサブシステムの解消を考慮すること無く、原モデルと変更モデルの比較がなされる。以下では、第二実施形態の差分検出処理について、図9,10に記載のフローチャートを用いて説明する。なお、本処理は、入力装置60に対する操作に応じて実行される。
The
[Second Embodiment]
[Description of operation]
Next, the operation of the development support apparatus in the second embodiment will be described in detail. In the second embodiment, the content of the difference detection process is different from that of the first embodiment, and the original model and the changed model are compared without considering the subsystemization or the cancellation of the subsystem. Below, the difference detection process of 2nd embodiment is demonstrated using the flowchart as described in FIG. This process is executed in response to an operation on the
S905〜S955は、第一実施形態の差分検出処理におけるS305,S310,S320〜S355,S365と同様であるため、説明を省略する。
S960では、モデル比較部130は、対象構成要素と対応構成要素との間のパラメータの相違の有無を判定する。そして、パラメータが相違する場合には(S960:Yes)、S965に処理を移行し、相違しない場合には(S960:No)、S990に処理を移行する。
Since S905 to S955 are the same as S305, S310, S320 to S355, and S365 in the difference detection process of the first embodiment, description thereof is omitted.
In S960, the
S965〜S985では、第一実施形態の差分検出処理におけるS375〜S415と同様、サブシステム化やサブシステムの解消を考慮して比較結果を設定する。
すなわち、S965では、モデル比較部130は、第一実施形態の差分検出処理におけるS375と同様の判定を行う。そして、肯定判定が得られた場合には(S965:Yes)、S970に処理を移行し、否定判定が得られた場合には(S965:No)、S985に処理を移行する。
In S965 to S985, as in S375 to S415 in the difference detection process of the first embodiment, a comparison result is set in consideration of subsystemization and subsystem elimination.
That is, in S965, the
S970では、モデル比較部130は、第一実施形態の差分検出処理におけるS380と同様にして、ポートブロックやサブシステムに繋がる他のブロックを考慮して対象構成要素と対応構成要素のパラメータを比較する。そして、これらのパラメータが同一である場合には(S975:Yes)、S980に処理を移行し、同一でない場合には(S975:No)、S985に処理を移行する。
In S970, the
S980では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「変更無し」を設定し、S910に処理を移行する。
S985では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「変更有り」を設定し、S910に処理を移行する。
In S980, the
In S985, the
S990では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「変更無し」を設定し、S910に処理を移行する。
[具体例について]
次に、第二実施形態における差分検出処理による原モデルと変更モデルの比較結果の具体例について説明する。
In S990, the
[Specific examples]
Next, a specific example of the comparison result between the original model and the changed model by the difference detection process in the second embodiment will be described.
図11には、上述した原モデル700と変更モデル800の比較結果を示す表が記載されている。なお、該表では、識別子により各構成要素を示しており、また、変更無しに設定された構成要素については比較結果の記載を省略している。
FIG. 11 shows a table showing the comparison results between the
また、これらのモデルの一方に存在するポートブロックや、これらのモデルの一方に存在するポートブロック或いはサブシステムに繋がる結線であって、これらのモデルの一方に存在するものについても、比較結果の記載を省略している。 In addition, a description of the comparison results for port blocks that exist in one of these models, or connections that connect to port blocks or subsystems that exist in one of these models and that exist in one of these models Is omitted.
該表が示すように、新たに追加されたサブシステム820(Subsystem)等の比較結果が「追加」となる。また、サブシステム化のみがなされた加減算ブロック823(Sum1)は、「変更無し」となるため該表に記載されていないが、サブシステム化と共に初期パラメータが変更されたホールドブロック825(Unit Delay1)は、「変更有り」となる。 As shown in the table, the comparison result of the newly added subsystem 820 (Subsystem) is “added”. Also, the addition / subtraction block 823 (Sum1) that has only been sub-systemized is “not changed” and is not described in the table. Is “changed”.
また、追加されたブロックを繋ぐ結線の比較結果が「追加」となる。また、サブシステム、或いはサブシステム化されたブロックを繋ぐ結線811,824,826(Discrete Pulse Generator1-->Sum1+Scope1,Sum1-->Unit Delay1,Unit Delay1--> Sum1+Scope1)は、「変更無し」となるため、該表に記載されていない。
In addition, the comparison result of the connection connecting the added blocks is “addition”. Also, the
[効果]
第一,第二実施形態の開発支援装置によれば、サブシステム化やサブシステムの解消により接続先のブロックが変更された結線に関しては、ポートブロックを介して接続されるブロックを考慮して接続先パラメータの比較が行われる。そして、接続先のブロックが実質的に変わったかどうかが判定される。
[effect]
According to the development support devices of the first and second embodiments, for the connection in which the connection destination block is changed due to the subsystemization or the cancellation of the subsystem, the connection is made in consideration of the block connected via the port block. A comparison of the destination parameters is performed. Then, it is determined whether the connection destination block has substantially changed.
このため、処理内容を維持したままサブシステム化やサブシステムの解消がなされ、単に見た目上の結線の接続先が変更された場合に、このような変更点が相違点としてユーザに提示されることは無い。一方、処理内容の変更を伴ってサブシステム化等がなされ、結線の接続先が実質的に変更された場合には、このような変更点がユーザに提示される。 For this reason, when the processing is maintained and the subsystem is made or the subsystem is eliminated, and the connection destination of the apparent connection is simply changed, such a change is presented to the user as a difference. There is no. On the other hand, when the processing is changed into a subsystem and the connection destination is substantially changed, such a change is presented to the user.
したがって、サブシステム化やサブシステムの解消に伴い生じた実質的な相違点のみを、ユーザに提示することができる。
また、第一実施形態の開発支援装置では、サブシステム化やサブシステムの解消により異なる階層に配置されるようになったブロックや結線は、「サブシステム変更有り」としてユーザに提示される。このため、実質的な相違の有無とは別に、サブシステム化等がなされた構成要素を提示することができ、ユーザは、原モデルと変更モデルの相違点をより正確に把握することができる。
Therefore, only the substantial differences that have occurred as a result of sub-systemization or sub-system elimination can be presented to the user.
Further, in the development support apparatus of the first embodiment, blocks and connections that are arranged at different levels due to sub-systems or sub-systems are presented to the user as “sub-system changed”. For this reason, the component by which subsystemization etc. were made | formed can be shown separately from the presence or absence of a substantial difference, and the user can grasp | ascertain the difference of an original model and a change model more correctly.
また、第一,第二実施形態の開発支援装置で作成されたモデルの構成要素には、識別子生成装置にて生成された識別子が設定されるため、複数の開発支援装置により作成された各モデルにおける各構成要素の識別子が重複してしまうことを防ぐことができる。このため、各開発支援装置により作成されたモデルを組み合わせて一の原モデルが作成され、さらに、該原モデルに変更を加えて変更モデルが作成された場合には、これらのモデルにおける実質的な相違点をユーザに提示することが可能となる。 In addition, since the identifier generated by the identifier generation device is set in the model component created by the development support device of the first and second embodiments, each model created by a plurality of development support devices It is possible to prevent the identifiers of the constituent elements in FIG. For this reason, when an original model is created by combining the models created by each development support apparatus, and when a modified model is created by changing the original model, the substantial model in these models The difference can be presented to the user.
[他の実施形態]
(1)第一,第二実施形態では、サーバ2にインストールされた識別子生成ツール200により識別子が生成される。しかしながら、開発支援ツール100がインストールされたPC1に識別子生成ツール200をインストールし、該PC1で作成されたモデルの識別子を、該PC1にインストールされた識別子生成ツール200により生成しても良い。
[Other Embodiments]
(1) In the first and second embodiments, an identifier is generated by the
さらに、該PC1にインストールされた識別子生成ツール200により、識別子更新処理と同様にして、該PC1にインストールされた開発支援ツール100にて作成されたモデルの構成要素に設定された識別子を更新しても良い。
Further, the
このような場合であっても、同様の効果を得ることができる。
(2)また、第一,第二実施形態では、モデル作成部110及び識別子設定部120と、モデル比較部130は、単一のアプリケーションである開発支援ツール100として構成されている。このようなアプリケーションの一例として、Matlab(登録商標)を挙げることができる。
Even in such a case, the same effect can be obtained.
(2) In the first and second embodiments, the
しかし、これ以外にも、モデル比較部130を、モデル作成部110及び識別子設定部120を備える開発支援ツール100のアドオンとしても良い。また、モデル比較部130を単一のアプリケーションとして構成し、該開発支援ツール100から外部ツールとして起動する構成としても良い。
However, other than this, the
また、モデル比較部130と、モデル作成部110及び識別子設定部120を、それぞれ、モデルベース開発を行うためのアプリケーションである開発支援ツール100のアドオンとしても良い。また、モデル比較部130と、モデル作成部110及び識別子設定部120を、それぞれ、単一のアプリケーションとして構成し、該開発支援ツール100から外部ツールとして起動する構成としても良い。
In addition, the
このような場合であっても、同様の効果を得ることができる。
[特許請求の範囲との対応]
上記実施形態の説明で用いた用語と、特許請求の範囲の記載に用いた用語との対応を示す。
Even in such a case, the same effect can be obtained.
[Correspondence with Claims]
The correspondence between the terms used in the description of the above embodiment and the terms used in the description of the claims is shown.
開発支援装置がモデル比較装置,モデル作成装置に相当し、開発支援ツール100が、モデル比較ツール,モデル作成ツールに相当する。
また、開発支援ツール100のモデル作成部110がモデル生成手段に、識別子設定部120が設定手段に相当する。
The development support device corresponds to a model comparison device and a model creation device, and the
The
また、識別子生成ツール200の識別子生成部210が識別子生成手段,置換手段に、送受信部220が付与手段,取得手段,提供手段に相当する。
また、ポートブロックが通信用ブロックに相当し、ライブラリサブシステム,カスタムサブシステムが、共通サブシステムに相当する。
The
The port block corresponds to a communication block, and the library subsystem and custom subsystem correspond to a common subsystem.
また、第一実施形態の差分検出処理のS305が読込手段に、S325,S335,S345が検出手段に、S330が提示手段に、S365,S380が比較手段に相当する。また、第二実施形態の差分検出処理のS905が読込手段に、S920,S930,S940が検出手段に、S925が提示手段に、S955,S970が比較手段に相当する。 Further, S305 of the difference detection process of the first embodiment corresponds to reading means, S325, S335, and S345 correspond to detection means, S330 corresponds to presentation means, and S365 and S380 correspond to comparison means. In addition, S905 of the difference detection process of the second embodiment corresponds to reading means, S920, S930, and S940 correspond to detection means, S925 corresponds to presentation means, and S955 and S970 correspond to comparison means.
1…PC、2…サーバ、5…ネットワーク、10…ディスプレイ、20…HDD、30…CPU、40…ROM、50…RAM、60…入力装置、100…開発支援ツール、110…モデル作成部、120…識別子設定部、130…モデル比較部、200…識別子生成ツール、210…識別子生成部、220…送受信部。
DESCRIPTION OF
Claims (6)
前記原モデルに含まれる前記構成要素と、前記変更モデルに含まれる前記構成要素との中から同一の前記識別子が設定された二つの前記構成要素を検出し、これらの構成要素において設定されているパラメータを比較する比較手段(S365,S380,S955,S970)と、
前記原モデルと前記変更モデルとに関して、これらのモデルの前記構成要素に設定された前記識別子に基づき、これらのモデルの一方にのみ用いられている前記構成要素を検出する検出手段(S325,S335,S345,S920,S930,S940)と、
前記比較手段による比較結果と、前記検出手段による検出結果とを提示する提示手段(S330,S925)と、を備え、
前記ブロックとして、前記構成要素により記述された前記処理手順を実行するサブシステムを用いることができ、
前記サブシステム、及び、前記結線により該サブシステムに繋がる他の前記ブロックにより記述される前記処理手順と、該サブシステムにおいて記述された前記処理手順とにより、それぞれ、固有の階層が形成され、
前記検出手段は、さらに、前記原モデルと前記変更モデルにおいて、同一の前記識別子が設定された前記構成要素が、異なる前記階層を形成する前記処理手順の記述に用いられていることを検出すること(S345)、
を特徴とするモデル比較装置(1)。 A block indicating a predetermined processing procedure and a connection representing data input / output between these blocks by connecting the blocks are used as components, and a program is described using these components. An original model that is a model in which a unique identifier is set for each component, and a modification of the original model, the same component being used from the original model Reading means (S305, S905) for reading the change model in which the identifier is set;
Two constituent elements having the same identifier set are detected from the constituent elements included in the original model and the constituent elements included in the change model, and are set in these constituent elements. A comparison means (S365, S380, S955, S970) for comparing parameters;
Detection means (S325, S335) for detecting the component used for only one of these models based on the identifier set for the component of these models with respect to the original model and the modified model S345, S920, S930, S940),
Presenting means (S330, S925) for presenting the comparison result by the comparison means and the detection result by the detection means,
As the block, a subsystem that executes the processing procedure described by the component can be used.
A unique hierarchy is formed by the processing procedure described by the subsystem and the other block connected to the subsystem by the connection and the processing procedure described in the subsystem, respectively.
The detecting means further detects that the component set with the same identifier in the original model and the modified model is used in the description of the processing procedure forming the different hierarchies. (S345),
Model comparison device (1) characterized by
前記結線により直接的或いは間接的に繋がれた複数の前記ブロックをブロック群とし、前記モデルは、1または複数の前記ブロック群から構成されていること、
を特徴とするモデル比較装置。 The model comparison device according to claim 1,
A plurality of the blocks connected directly or indirectly by the connection as a block group, and the model is composed of one or a plurality of the block groups;
A model comparison device.
前記ブロックとして、前記構成要素により記述された前記処理手順を実行するサブシステムを用いることができ、
前記サブシステムでの前記処理手順の記述に用いられ、該サブシステム以外の他の前記ブロックとの間でデータの入出力を行う前記ブロックを内部ブロックとすると共に、該内部ブロックとの間でデータの入出力を行う該サブシステム以外の他の前記ブロックを外部ブロックとし、
前記外部ブロックと前記内部ブロックとの間のデータの入出力は、前記外部ブロックと前記サブシステムとに繋がる前記結線と、該サブシステムにて用いられる前記ブロックである通信用ブロックと該内部ブロックとに繋がる前記結線とにより表され、
前記結線の前記パラメータとして、該結線に繋がる前記ブロックを示す接続先パラメータが設けられており、
前記比較手段は、前記結線の前記接続先パラメータが前記通信用ブロックを示している場合には、該接続先パラメータが、該通信用ブロックに係る前記サブシステムに繋がるいずれかの前記ブロックを示すものとみなして、該接続先パラメータの比較を行うと共に、該接続先パラメータが前記サブシステムを示している場合には、該接続先パラメータが、該サブシステムにて用いられる前記通信用ブロックに繋がるいずれかの前記ブロックを示すものとみなして、該接続先パラメータの比較を行うこと(S380,S970)、
を特徴とするモデル比較装置。 In the model comparison device according to claim 1 or 2 ,
As the block, a subsystem that executes the processing procedure described by the component can be used.
Used to describe the processing procedure in the subsystem, the block for inputting / outputting data to / from other blocks other than the subsystem is an internal block, and data is transferred to / from the internal block. The other blocks other than the subsystem that performs input / output of
The input / output of data between the external block and the internal block is the connection that connects the external block and the subsystem, the communication block that is the block used in the subsystem, and the internal block It is represented by the connection that leads to
As the parameter of the connection, a connection destination parameter indicating the block connected to the connection is provided,
When the connection destination parameter of the connection indicates the communication block, the comparison means indicates any of the blocks connected to the subsystem related to the communication block. The connection destination parameter is compared, and if the connection destination parameter indicates the subsystem, the connection destination parameter is connected to the communication block used in the subsystem. And comparing the connection destination parameters (S380, S970).
A model comparison device.
前記提示手段は、前記検出手段により、前記原モデルと前記変更モデルとのうちの一方にのみ用いられている前記構成要素として前記通信用ブロックが検出された場合には、該通信用ブロックを前記検出結果として提示しないこと、
を特徴とするモデル比較装置。 In the model comparison apparatus according to claim 3 ,
The presenting means, when the communication block is detected as the component used only in one of the original model and the modified model by the detection means, Not present as detection results,
A model comparison device.
前記サブシステムとして、予め定められた前記処理手順が記述された共通サブシステムが用いられること、
を特徴とするモデル比較装置。 In the model comparison device according to any one of claims 1 to 4,
A common subsystem in which the predetermined processing procedure is described is used as the subsystem.
A model comparison device.
前記原モデルに含まれる前記構成要素と、前記変更モデルに含まれる前記構成要素との中から同一の前記識別子が設定された二つの前記構成要素を検出し、これらの構成要素において設定されているパラメータを比較する比較手段(S365,S380,S955,S970)と、
前記原モデルと前記変更モデルとに関して、これらのモデルの前記構成要素に設定された前記識別子に基づき、これらのモデルの一方にのみ用いられている前記構成要素を検出する検出手段(S325,S335,S345,S920,S930,S940)と、
前記比較手段による比較結果と、前記検出手段による検出結果とを提示する提示手段(S330,S925)としてコンピュータを動作させることを特徴とし、
前記ブロックとして、前記構成要素により記述された前記処理手順を実行するサブシステムを用いることができ、
前記サブシステム、及び、前記結線により該サブシステムに繋がる他の前記ブロックにより記述される前記処理手順と、該サブシステムにおいて記述された前記処理手順とにより、それぞれ、固有の階層が形成され、
前記検出手段は、さらに、前記原モデルと前記変更モデルにおいて、同一の前記識別子が設定された前記構成要素が、異なる前記階層を形成する前記処理手順の記述に用いられていることを検出すること(S345)、
を特徴とするモデル比較ツール(100)。 A block indicating a predetermined processing procedure and a connection representing data input / output between these blocks by connecting the blocks are used as components, and a program is described using these components. An original model that is a model in which a unique identifier is set for each component, and a modification of the original model, the same component being used from the original model Reading means (S305, S905) for reading the change model in which the identifier is set;
Two constituent elements having the same identifier set are detected from the constituent elements included in the original model and the constituent elements included in the change model, and are set in these constituent elements. A comparison means (S365, S380, S955, S970) for comparing parameters;
Detection means (S325, S335) for detecting the component used for only one of these models based on the identifier set for the component of these models with respect to the original model and the modified model S345, S920, S930, S940),
A computer is operated as a presentation means (S330, S925) for presenting the comparison result by the comparison means and the detection result by the detection means ,
As the block, a subsystem that executes the processing procedure described by the component can be used.
A unique hierarchy is formed by the processing procedure described by the subsystem and the other block connected to the subsystem by the connection and the processing procedure described in the subsystem, respectively.
The detecting means further detects that the component set with the same identifier in the original model and the modified model is used in the description of the processing procedure forming the different hierarchies. (S345),
A model comparison tool (100) characterized by:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012164972A JP5831385B2 (en) | 2012-07-25 | 2012-07-25 | Model comparison device and model comparison tool |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012164972A JP5831385B2 (en) | 2012-07-25 | 2012-07-25 | Model comparison device and model comparison tool |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014026389A JP2014026389A (en) | 2014-02-06 |
JP5831385B2 true JP5831385B2 (en) | 2015-12-09 |
Family
ID=50199991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012164972A Active JP5831385B2 (en) | 2012-07-25 | 2012-07-25 | Model comparison device and model comparison tool |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5831385B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6358396B2 (en) * | 2015-06-02 | 2018-07-18 | 富士通株式会社 | COMMUNICATION PROCESSING DEVICE, IDENTIFICATION INFORMATION GENERATION METHOD, AND IDENTIFICATION INFORMATION GENERATION PROGRAM |
EP3570222B1 (en) * | 2017-01-12 | 2023-02-08 | KDDI Corporation | Information processing device and method, and computer readable storage medium |
JP6708755B2 (en) | 2017-01-13 | 2020-06-10 | Kddi株式会社 | Information processing method, information processing apparatus, and computer-readable storage medium |
JP2018173822A (en) * | 2017-03-31 | 2018-11-08 | 株式会社Screenホールディングス | Managing device, model version managing method and managing program |
JP7332318B2 (en) * | 2019-03-28 | 2023-08-23 | 大和ハウス工業株式会社 | Component comparison device for different BIM models, BIM model sharing system, component comparison method for different BIM models, and component comparison program for different BIM models |
WO2021039110A1 (en) | 2019-08-28 | 2021-03-04 | 三菱電機株式会社 | Improvement proposing device and improvement proposing method |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06187214A (en) * | 1992-12-18 | 1994-07-08 | Toshiba Corp | List form specification generating device and program generating device |
JP2000089943A (en) * | 1998-09-10 | 2000-03-31 | Toshiba Corp | Variable name management system |
JP2000194549A (en) * | 1998-12-28 | 2000-07-14 | Nec Corp | Line number management system for text editing |
JP2005078243A (en) * | 2003-08-29 | 2005-03-24 | Denso Corp | Microcomputer resource consumption estimating program, microcomputer resource consumption estimating device, and program generating method |
JP2006209179A (en) * | 2005-01-25 | 2006-08-10 | Fujitsu Ten Ltd | Model difference detection tool |
US20080046863A1 (en) * | 2006-08-18 | 2008-02-21 | Vitkin Lev M | Method of re-using software attributes in graphical programs |
JP5275087B2 (en) * | 2009-03-02 | 2013-08-28 | 株式会社東芝 | Program generating apparatus and block diagram generating apparatus |
JP2012038022A (en) * | 2010-08-05 | 2012-02-23 | Exmotion Co Ltd | Clone detection device, clone detection program, and recording medium recording clone detection program |
-
2012
- 2012-07-25 JP JP2012164972A patent/JP5831385B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014026389A (en) | 2014-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5831385B2 (en) | Model comparison device and model comparison tool | |
EP3014479B1 (en) | Omega names: name generation and derivation | |
JP5159713B2 (en) | Automatic design apparatus, automatic design method and automatic design program for automatically designing design architecture of system components | |
JP6090850B2 (en) | Source program analysis system, source program analysis method and program | |
JP6996629B2 (en) | Verification automation equipment, verification automation methods, and programs | |
JP6107456B2 (en) | Configuration requirement creation program, configuration requirement creation device, and configuration requirement creation method | |
WO2014004554A1 (en) | Method and apparatus for virtual machine interoperability | |
JP7131277B2 (en) | System migration support device, system migration support method and program | |
CN115599437A (en) | Software version processing method and device, electronic equipment and storage medium | |
JP4867864B2 (en) | Performance data collection / display system, performance data display device, and program thereof | |
JP4848760B2 (en) | Repository system, repository system management method, and program thereof | |
JP2012008660A (en) | Software development support device, software development support method and software development support program | |
JP2019008799A (en) | System and method for merging source data from source application into target data of target application | |
JP2013161219A (en) | Code generation device and code generation program | |
JP2015056140A (en) | Clone detection method and clone common function method | |
JP6045707B2 (en) | License management apparatus, license management method, and program | |
JP5605370B2 (en) | System model management support system, system model management support method and program | |
CN110321132B (en) | Code release method and device | |
JP2014206948A (en) | Entry point extraction device | |
CN105808318B (en) | Information processing method and electronic equipment | |
JP5316273B2 (en) | Program automatic generation apparatus and program automatic generation method | |
JP5948926B2 (en) | Object-oriented program generator, program | |
JP2012018641A (en) | Software development system | |
JP2007193483A (en) | Model check system | |
JP5630358B2 (en) | CONVERSION PROGRAM, PROGRAM CONVERSION METHOD, AND PROGRAM CONVERSION DEVICE |
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 |