JP5831385B2 - Model comparison device and model comparison tool - Google Patents

Model comparison device and model comparison tool Download PDF

Info

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
Application number
JP2012164972A
Other languages
Japanese (ja)
Other versions
JP2014026389A (en
Inventor
斌 王
斌 王
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/en
Publication of JP2014026389A publication Critical patent/JP2014026389A/en
Application granted granted Critical
Publication of JP5831385B2 publication Critical patent/JP5831385B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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, Patent Document 1 describes a program inspection apparatus that replaces a block that realizes a specific operation process in a model with an inspection block that executes the operation process and can output an intermediate result of the operation process. ing. According to this program inspection apparatus, the intermediate result of the arithmetic processing obtained by executing the program generated from the model before replacement and the intermediate result of the arithmetic processing obtained by simulating execution of the model after replacement are obtained. Can be compared. For this reason, it is possible to detect an abnormality in a model or a program with high accuracy.

特開2008−310513号公報JP 2008-310513 A

ところで、二つのモデルを比較し、相違点を検出する比較ツールが知られている。このような比較ツールを用いることで、既存のモデルに変更を加えて新たなモデルが作成された場合に、これらのモデル間の変更箇所を容易に把握することができるため、モデルの検証等を行い易くなる。   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.

開発支援装置として稼動するPCや、識別子生成装置として稼動するサーバについてのブロック図である。It is a block diagram about a PC that operates as a development support apparatus and a server that operates as an identifier generation apparatus. 開発支援ツールと識別子生成ツールについてのブロック図である。It is a block diagram about a development support tool and an identifier generation tool. 第一実施形態における差分検出処理のフローチャートである。It is a flowchart of the difference detection process in 1st embodiment. 第一実施形態における差分検出処理のフローチャートである。It is a flowchart of the difference detection process in 1st embodiment. 第一実施形態における識別子際設定処理のフローチャートと、識別子更新処理のフローチャートである。It is a flowchart of the identifier setting process in 1st embodiment, and the flowchart of an identifier update process. 第一実施形態における原モデルの一例を示すブロック図と、原モデルにおける結線のパラメータ情報の一例である。It is a block diagram which shows an example of the original model in 1st embodiment, and an example of the parameter information of the connection in an original model. 第一実施形態における変更モデルの一例を示すブロック図である。It is a block diagram which shows an example of the change model in 1st embodiment. 第一実施形態における原モデルと変更モデルの比較結果の一例である。It is an example of the comparison result of the original model in 1st embodiment, and a change model. 第二実施形態における差分検出処理のフローチャートである。It is a flowchart of the difference detection process in 2nd embodiment. 第二実施形態における差分検出処理のフローチャートである。It is a flowchart of the difference detection process in 2nd embodiment. 第二実施形態における原モデルと変更モデルの比較結果の一例である。It is an example of the comparison result of the original model in 2nd embodiment, and a change model.

以下、本発明の実施形態について図面を用いて説明する。なお、本発明の実施の形態は、下記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。   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 server 2 connected to a network 5. The PC 1 operates as a development support apparatus in model-based development, and includes a display 10, an HDD 20, a CPU 30, a ROM 40, a RAM 50, an input device 60, and the like (see FIG. 1B).

ディスプレイ10は、CPU30から受けた映像信号を、ユーザに対して映像として表示する。
入力装置60は、キーボード、マウス等から構成され、ユーザが操作することにより、その操作に応じた信号をCPU30に出力する。
The display 10 displays the video signal received from the CPU 30 as a video to the user.
The input device 60 includes a keyboard, a mouse, and the like, and outputs a signal corresponding to the operation to the CPU 30 when operated by the user.

RAM50は読み出し、書き込み可能な揮発性メモリであり、ROM40は読み出し専用の不揮発性メモリであり、HDD20は読み出し、書き込み可能な不揮発性メモリである。ROM40、HDD20には、CPU30が読み出して実行するプログラム等が予め記憶されている。   The RAM 50 is a readable / writable volatile memory, the ROM 40 is a read-only nonvolatile memory, and the HDD 20 is a readable / writable nonvolatile memory. In the ROM 40 and the HDD 20, programs that are read and executed by the CPU 30 are stored in advance.

RAM50は、CPU30がROM40,HDD20に記憶されたプログラムを実行する際に、そのプログラムを一時的に保存するための記憶領域、及び作業用のデータを一時的に保存するための記憶領域として用いられる。   When the CPU 30 executes a program stored in the ROM 40 or the HDD 20, the RAM 50 is used as a storage area for temporarily storing the program and a storage area for temporarily storing work data. .

CPU30は、OSをHDD20から読み出して実行し、HDD20に記録されている各種プログラムをOS上のプロセスとして実行する。また、このプロセスにおいて、CPU30は必要に応じて入力装置60から信号の入力を受け付け、ディスプレイ10に映像信号を出力し、RAM50,HDD20に対してデータの読み出し/書き込みの制御を行う。   The CPU 30 reads the OS from the HDD 20 and executes it, and executes various programs recorded in the HDD 20 as processes on the OS. In this process, the CPU 30 receives a signal input from the input device 60 as necessary, outputs a video signal to the display 10, and controls data read / write to the RAM 50 and the HDD 20.

一方、サーバ2は、ネットワーク5を介して当該サーバ2に接続されている開発支援装置にて用いられる識別子(詳細は後述する)を生成する識別子生成装置として稼動し、PC1と同様の構成を有している。   On the other hand, the server 2 operates as an identifier generation device that generates an identifier (details will be described later) used in the development support device connected to the server 2 via the network 5 and has the same configuration as the PC 1. doing.

次に、PC1にインストールされている開発支援ツール100について、図2(a)に記載のブロック図を用いて説明する。開発支援ツール100は、HDD20に保存され、OS上のプロセスとして実行されるアプリケーションの1つであり、PC1は、開発支援ツール100を動作させることで、モデルの作成や比較を行う開発支援装置として稼動する。なお、この開発支援装置は、車載装置等といった組み込みシステム向けのプログラム開発に用いられることが考えられるが、これに限定されることは無く、あらゆる用途のプログラム開発に用いることができる。   Next, the development support tool 100 installed in the PC 1 will be described with reference to the block diagram shown in FIG. The development support tool 100 is one of the applications stored in the HDD 20 and executed as a process on the OS. The PC 1 operates as the development support tool 100 and operates as a development support apparatus that creates and compares models. Operate. The development support apparatus can be used for developing a program for an embedded system such as an in-vehicle apparatus. However, the development support apparatus is not limited to this and can be used for developing a program for any application.

開発支援ツール100は、モデル作成部110と、識別子設定部120と、モデル比較部130とを備え、入力装置60の操作によって起動される。
モデル作成部110は、入力装置60に対する操作に従いモデルを作成すると共に、モデルからソースコードを生成する。
The development support tool 100 includes a model creation unit 110, an identifier setting unit 120, and a model comparison unit 130, and is activated by an operation of the input device 60.
The model creation unit 110 creates a model in accordance with an operation on the input device 60, and generates source code from the model.

ここで、モデルとは、ソースコードよりも記述が簡易になり、かつ人による可読性を高くする目的で定められたモデル言語仕様に基づいて作成されるプログラムの一表現形態である。   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 identifier setting unit 120 sets an identifier for a component (block, connection, etc.) in the model generated by the model creation unit 110. This identifier is unique and does not overlap with an identifier used for a model created by the model creation unit 110 or another development support device, and is generated by the identifier generation device (server 2). .

具体的には、モデル作成部110により新たな構成要素が生成されると、識別子設定部120は、ネットワーク5を介して識別子生成装置に対し、識別子の生成を要求する生成要求を発する。そして、該生成要求に応じて識別子生成装置にて生成された識別子を、ネットワーク5を介して取得し、該識別子を構成要素に設定する。   Specifically, when a new component is generated by the model creation unit 110, the identifier setting unit 120 issues a generation request for requesting generation of an identifier to the identifier generation device via the network 5. Then, the identifier generated by the identifier generation device in response to the generation request is acquired via the network 5, and the identifier is set as a component.

なお、識別子設定部120は、ブロックに対する識別子として識別子生成装置にて生成されたものを設定すると共に、結線に対する識別子として、該結線に繋がるブロックに設定された識別子から生成されたもの設定しても良い。具体的には、例えば、識別子Aが設定されたブロックと、識別子Bが設定されたブロックを繋ぐ結線に対し、“A−B”等の識別子を設定しても良い。   The identifier setting unit 120 sets the identifier generated by the identifier generation device as the identifier for the block, and also sets the identifier generated from the identifier set for the block connected to the connection as the identifier for the connection. good. Specifically, for example, an identifier such as “A-B” may be set for a connection connecting a block in which the identifier A is set and a block in which the identifier B is set.

こうすることにより、結線に設定される識別子をより簡易的に生成することができると共に、規模の大きいモデルが作成された場合等に、識別子が枯渇してしまうことを防ぐことができる。   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 model creation unit 110 modifies the model reproduced according to the operation on the input device 60, and the identifier setting unit 120 assigns a unique identifier acquired from the server 2 to the newly added component. Set.

また、モデル作成部110は、ユーザに対し、予め定められた演算処理等を行うためのサブシステムであるライブラリサブシステムや、ユーザにより作成されたカスタムサブシステムを提供可能となっている。そして、入力装置60に対する操作に応じて、ライブラリサブシステムやカスタムサブシステムがモデルの作成に用いられる。   Further, the model creation unit 110 can provide a user with a library subsystem that is a subsystem for performing predetermined arithmetic processing and the like, and a custom subsystem created by the user. A library subsystem or a custom subsystem is used to create a model in response to an operation on the input device 60.

また、モデル比較部130は、モデル作成部110により作成された二つのモデルを比較し、各構成要素に設定された識別子に基づきこれらのモデルの相違点を検出する差分検出処理(詳細は後述する)を実行する。なお、差分検出処理では、原モデルと、原モデルに対し改変を加えることで生成された変更モデルとを比較対象とすることが考えられる。   Further, the model comparison unit 130 compares the two models created by the model creation unit 110, and detects a difference between these models based on identifiers set for each component (details will be described later). ). In the difference detection process, it is conceivable to compare the original model with a modified model generated by modifying the original model.

次に、サーバ2にインストールされている識別子生成ツール200について、図2(b)に記載のブロック図を用いて説明する。識別子生成ツール200は、HDDに保存され、OS上のプロセスとして実行されるアプリケーションの1つであり、サーバ2は、識別子生成ツール200を動作させることで、識別子生成装置として稼動する。   Next, the identifier generation tool 200 installed in the server 2 will be described with reference to the block diagram shown in FIG. The identifier generation tool 200 is one of applications that are stored in the HDD and executed as a process on the OS. The server 2 operates as an identifier generation device by operating the identifier generation tool 200.

識別子生成ツール200は、識別子生成部210と、送受信部220とを備え、入力装置の操作によって起動される。
識別子生成部210は、自装置に接続された開発支援装置からの生成要求に応じて、これらの開発支援装置にて既に用いられた識別子と重複しないように、モデルの構成要素の一意的な識別子を生成する。
The identifier generation tool 200 includes an identifier generation unit 210 and a transmission / reception unit 220, and is activated by an operation of the input device.
In response to a generation request from a development support apparatus connected to the own apparatus, the identifier generation unit 210 is a unique identifier of a model component so as not to overlap with an identifier already used in these development support apparatuses. Is generated.

具体的には、例えば、固有情報と番号を組み合わせたものを識別子として生成しても良い。この固有情報とは、例えば、開発支援装置の固有の情報(例えば、開発支援装置の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 identifier generation unit 210 performs an identifier update process (details will be described later) for resetting an identifier set in a model component in response to an update request from the development support apparatus.

一方、送受信部220は、ネットワーク5を介して、開発支援装置から識別子の生成要求を受け取ると共に、識別子生成部210にて生成された識別子を、ネットワーク5を介して、該生成要求を発した開発支援装置に提供する。   On the other hand, the transmission / reception unit 220 receives an identifier generation request from the development support apparatus via the network 5, and sends the identifier generated by the identifier generation unit 210 via the network 5. Provide to the support device.

[第一実施形態]
[動作の説明]
次に、第一実施形態における開発支援装置と識別子生成装置の動作について詳しく説明する。
[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 model comparison unit 130 of the development support tool 100 will be described using the flowcharts shown in FIGS. This process is executed in response to an operation on the input device 60.

なお、以下の説明では、開発支援ツール100や識別子生成ツール200を構成する特定の部位により処理が実行されるといった記載がなされるが、これは、該部位に従い動作するCPUにより処理が実行されることを意味する。   In the following description, it is described that the process is executed by a specific part constituting the development support tool 100 or the identifier generation tool 200. This is executed by a CPU that operates according to the part. Means that.

S305では、モデル比較部130は、HDD20から比較対象となる二つのモデル(原モデルと変更モデル)を読み込み、S310に処理を移行する。
なお、原モデルや変更モデルは、1または複数のブロック群(結線により直接的或いは間接的に繋がれた複数のブロックの集まり)として構成されていても良い。また、原モデルや変更モデルには、ライブラリサブシステムやカスタムサブシステムが含まれていても良い。こうすることにより、様々なモデルの相違点を検出することができる。
In S305, the model comparison unit 130 reads two models (original model and changed model) to be compared from the HDD 20, and shifts the processing to S310.
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 model comparison unit 130 identifies one of the components of the original model that has not been compared with the component of the changed model as a comparison target, and proceeds to S315. The specified comparison target is also described as a target component.

S315では、モデル比較部130は、対象構成要素と、変更モデルにおける対象構成要素と同一の識別子が設定された構成要素(対応構成要素とも記載)が、各モデルの異なる階層に配置されていることを示す変更フラグをクリアし、S320に処理を移行する。   In S315, the model comparison unit 130 arranges the target component and the component set with the same identifier as the target component in the changed model (also referred to as a corresponding component) arranged in different layers of each model. Is cleared, and the process proceeds to S320.

既に述べたように、モデルでは、サブシステムを設けることで処理手順の階層構造が形成され、原モデルから変更モデルへの改変においてサブシステム化がなされた場合や、サブシステムが解消された場合には階層構造が変化する。変更フラグは、サブシステム化やサブシステムの解消により、対象構成要素が異なる階層に配置されるようになった場合にセットされる。   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 model comparison unit 130 determines whether or not the comparison has been performed on all the components in the original model. If an affirmative determination is obtained (S320: Yes), the process proceeds to S325. If a negative determination is obtained (S320: No), the process proceeds to S335.

S325では、モデル比較部130は、比較がなされていない構成要素を変更モデルの中から特定すると共に、特定した構成要素の比較結果として「追加」を設定し、S330に処理を移行する。   In S325, the model comparison unit 130 identifies a component that has not been compared from the changed model, sets “add” as the comparison result of the identified component, and shifts the processing to S330.

S330では、モデル比較部130は、原モデルと変更モデルにおける各構成要素についての比較結果をファイルとしてHDD20に保存すると共に、ディスプレイ10に表示し、本処理を終了する。   In S330, the model comparison unit 130 saves the comparison result for each component in the original model and the changed model as a file in the HDD 20, and displays the comparison result on the display 10, and the process ends.

なお、原モデルと変更モデルの一方に存在するポートブロックや、これらのモデルの一方に存在するポートブロック或いはサブシステムに繋がる結線であって、これらのモデルの一方に存在するものについては、比較結果として表示しなくても良い。   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 model comparison unit 130 analyzes the changed model, specifies the same hierarchy as the hierarchy in which the target component is arranged in the original model, searches for the corresponding component from the hierarchy, and proceeds to S340. Migrate processing.

S340では、モデル比較部130は、対応構成要素が検出されたか否かを判定する。そして、肯定判定が得られた場合には(S340:Yes)、S365に処理を移行し、否定判定が得られた場合には(S340:No)、S345に処理を移行する。   In S340, the model comparison unit 130 determines whether a corresponding component is detected. If an affirmative determination is obtained (S340: Yes), the process proceeds to S365. If a negative determination is obtained (S340: No), the process proceeds to S345.

S345では、モデル比較部130は、変更モデルにおける上記同一の階層以外の他の階層から対応構成要素をサーチし、S350に処理を移行する。
S350では、モデル比較部130は、対応構成要素が検出されたか否かを判定する。そして、肯定判定が得られた場合には(S350:Yes)、S360に処理を移行し、否定判定が得られた場合には(S350:No)、S355に処理を移行する。
In S345, the model comparison unit 130 searches for a corresponding component from a layer other than the same layer in the changed model, and proceeds to S350.
In S350, the model comparison unit 130 determines whether a corresponding component has been detected. If an affirmative determination is obtained (S350: Yes), the process proceeds to S360. If a negative determination is obtained (S350: No), the process proceeds to S355.

S355では、モデル比較部130は、対象構成要素の比較結果として「削除」を設定し、S310に処理を移行する。
S360では、モデル比較部130は、変更フラグをセットし、S365に処理を移行する。
In S355, the model comparison unit 130 sets “delete” as the comparison result of the target component, and the process proceeds to S310.
In S360, the model comparison unit 130 sets a change flag, and proceeds to S365.

S365では、モデル比較部130は、対象構成要素と対応構成要素との間のパラメータを比較する。そして、S370において相違点の有無を判定し、パラメータが相違する場合には(S370:Yes)、S375に処理を移行し、相違しない場合には(S370:No)、S420に処理を移行する。   In S365, the model comparison unit 130 compares parameters between the target component and the corresponding component. Then, in S370, it is determined whether there is a difference. If the parameters are different (S370: Yes), the process proceeds to S375, and if not different (S370: No), the process proceeds to S420.

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 model comparison unit 130 determines whether or not the target component and the corresponding component are connected. Furthermore, based on the connection destination parameter, only one connection destination of these components that are connected is different, and the different connection destination is a subsystem or a port block in one component, but the other It is determined whether or not the component is a normal block. The normal block means a block other than the subsystem and the port block.

そして、双方の判定で肯定判定が得られた場合には(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 model comparison unit 130 compares the parameters of the target component and the corresponding component in consideration of the port block and other blocks connected to the subsystem.
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 model comparison unit 130 determines whether or not the parameters are the same, and when an affirmative determination is obtained (S385: Yes), the process proceeds to S390 and a negative determination is obtained. (S385: No), the process proceeds to S405.

S390では、モデル比較部130は、変更フラグがセットされているか否かを判定する。そして、肯定判定が得られた場合には(S390:Yes)、S395に処理を移行し、否定判定が得られた場合には(S390:No)、S400に処理を移行する。   In S390, the model comparison unit 130 determines whether or not the change flag is set. If an affirmative determination is obtained (S390: Yes), the process proceeds to S395. If a negative determination is obtained (S390: No), the process proceeds to S400.

S395では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「サブシステム変更有り、変更無し」を設定し、S310に処理を移行する。
S400では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「変更無し」を設定し、S310に処理を移行する。
In S395, the model comparison unit 130 sets “subsystem changed and not changed” as a comparison result between the target component and the corresponding component, and the process proceeds to S310.
In S400, the model comparison unit 130 sets “no change” as a comparison result between the target component and the corresponding component, and the process proceeds to S310.

一方、S405では、モデル比較部130は、変更フラグがセットされているか否かを判定する。そして、肯定判定が得られた場合には(S405:Yes)、S410に処理を移行し、否定判定が得られた場合には(S405:No)、S415に処理を移行する。   On the other hand, in S405, the model comparison unit 130 determines whether or not the change flag is set. If an affirmative determination is obtained (S405: Yes), the process proceeds to S410. If a negative determination is obtained (S405: No), the process proceeds to S415.

S410では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「サブシステム変更有り、変更有り」を設定し、S310に処理を移行する。
S415では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「変更有り」を設定し、S310に処理を移行する。
In S410, the model comparison unit 130 sets “subsystem changed, changed” as the comparison result between the target component and the corresponding component, and the process proceeds to S310.
In S415, the model comparison unit 130 sets “changed” as the comparison result between the target component and the corresponding component, and the process proceeds to S310.

一方、対象構成要素と対応構成要素のパラメータが一致する場合に移行する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 model comparison unit 130 determines whether or not the change flag is set. If an affirmative determination is obtained (S420: Yes), the process proceeds to S425. If a negative determination is obtained (S420: No), the process proceeds to S430.

S425では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「サブシステム変更有り、変更無し」を設定し、S310に処理を移行する。
S430では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「変更無し」を設定し、S310に処理を移行する。
In S425, the model comparison unit 130 sets “subsystem changed and not changed” as the comparison result between the target component and the corresponding component, and the process proceeds to S310.
In S430, the model comparison unit 130 sets “no change” as the comparison result between the target component and the corresponding component, and the process proceeds to S310.

(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 identifier setting unit 120 in the development support tool 100 according to an operation on the input device 60.

S505では、識別子設定部120は、モデルが保存されているファイルから、該モデルの各構成要素に設定されている識別子を示す識別子情報を読み出す。そして、ネットワーク5を介して、サーバ2に対し、該識別子情報と、該識別子情報が示す識別子の更新要求を送信し、S510に処理を移行する。   In S505, the identifier setting unit 120 reads identifier information indicating the identifier set for each component of the model from the file in which the model is stored. Then, the identifier information and an update request for the identifier indicated by the identifier information are transmitted to the server 2 via the network 5, and the process proceeds to S510.

S510では、識別子設定部120は、サーバ2から、更新前の識別子と更新後の識別子の対応関係を示す更新情報を取得する。そして、更新情報に基づき、更新前の識別子が設定された各構成要素に対し再生成された識別子を設定し、本処理を終了する。   In S <b> 510, the identifier setting unit 120 acquires update information indicating the correspondence between the identifier before update and the identifier after update from the server 2. Then, based on the update information, the regenerated identifier is set for each component for which the pre-update identifier is set, and this process ends.

(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 identifier generation unit 210 in the identifier generation tool 200 in response to the update request received from the development support apparatus.

S605では、識別子生成部210は、送受信部220を介して、開発支援装置から、更新要求と共に、モデルの各構成要素に設定されている識別子を示す識別子情報を取得する。   In step S <b> 605, the identifier generation unit 210 acquires identifier information indicating the identifier set for each component of the model along with the update request from the development support apparatus via the transmission / reception unit 220.

続くS610では、識別子生成部210は、取得した識別子情報が示す各識別子を更新する。
より詳しくは、例えば、番号と予め定められた固有情報とを組み合わせたものが識別子として用いられている場合であれば、これらの番号のうち、空きとなっている番号をつめるようにして(空きとなっている番号が無くなるように)、該番号を更新しても良い。
In subsequent S610, the identifier generation unit 210 updates each identifier indicated by the acquired identifier information.
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 identifier generation unit 210 transmits the update information to the development support apparatus that has issued the update request via the transmission / reception unit 220, and ends this process.
[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 original model 700 created using the development support apparatus of the first embodiment. The original model 700 includes a pulse generation block 710 (Discrete Pulse Generator 1) that generates pulses and an addition / subtraction block 730 (Sum1) that performs addition / subtraction. Further, it has a hold block 750 (Unit Delay 1) for delaying the signal and a signal display block 770 (Scope 1) for displaying the signal (note that the parenthesis indicates an identifier set for each block).

また、この原モデル700は、パルス生成ブロック710から、加減算ブロック730及び信号表示ブロック770にデータを出力する結線720と、加減算ブロック730からホールドブロック750にデータを出力する結線740を有する。また、ホールドブロック750から、加減算ブロック730及び信号表示ブロック770にデータを出力する結線760を有する。なお、これらの結線には、接続先となるブロックに基づく識別子が設定されている(例えば、結線720の識別子はDiscrete Pulse Generator1-->Sum1+Scope1、結線740の識別子は、Sum1-->Unit Delay1となっている)。   The original model 700 has a connection 720 for outputting data from the pulse generation block 710 to the addition / subtraction block 730 and the signal display block 770, and a connection 740 for outputting data from the addition / subtraction block 730 to the hold block 750. Further, a connection 760 for outputting data from the hold block 750 to the addition / subtraction block 730 and the signal display block 770 is provided. For these connections, identifiers based on the connection destination block are set (for example, the identifier of the connection 720 is Discrete Pulse Generator1-> Sum1 + Scope1, and the identifier of the connection 740 is Sum1-> Unit. Delay1).

また、図6(b)は、結線720に設定された各パラメータを示すパラメータ情報721を示している。このパラメータ情報721は、結線720を介して出力されるデータの出力元となる接続先パラメータや、該データの出力先となる接続先パラメータ等を示している。   FIG. 6B shows parameter information 721 indicating each parameter set in the connection 720. The parameter information 721 indicates a connection destination parameter that is an output source of data output via the connection 720, a connection destination parameter that is an output destination of the data, and the like.

また、図7には、原モデル700を変更して作成された変更モデル800が記載されている。この変更モデル800は、原モデル700における加減算ブロック730,ホールドブロック750,結線740,760をサブシステム化すると共に、原モデル700における信号表示ブロック770にデータを出力する複数のブロックを追加したものである。さらに、原モデル700におけるホールドブロック750の初期条件を設定する初期パラメータを変更したものである。   FIG. 7 shows a changed model 800 created by changing the original model 700. This modified model 800 is obtained by substituting the addition / subtraction block 730, hold block 750, and connections 740, 760 in the original model 700, and adding a plurality of blocks for outputting data to the signal display block 770 in the original model 700. is there. Further, the initial parameters for setting the initial conditions of the hold block 750 in the original model 700 are changed.

すなわち、変更モデル800は、原モデル700から流用されたパルス生成ブロック810(Discrete Pulse Generator1)及び信号表示ブロック830(Scope1)を有する。また、サブシステム820(Subsystem1)と、固定値を生成して出力する固定値ブロック840(Constant1)と、加減算ブロック850(Sum2)と、ホールドブロック860(Unit Delay2)を有する。   That is, the change model 800 includes a pulse generation block 810 (Discrete Pulse Generator 1) and a signal display block 830 (Scope 1) that are diverted from the original model 700. Further, it has a subsystem 820 (Subsystem 1), a fixed value block 840 (Constant 1) for generating and outputting a fixed value, an addition / subtraction block 850 (Sum 2), and a hold block 860 (Unit Delay 2).

このサブシステム820は、上記サブシステム化により新たに加わったものであり、固定値ブロック840,加減算ブロック850,ホールドブロック860は、新たに追加されたものである。   This subsystem 820 is newly added by the above-mentioned subsystemization, and a fixed value block 840, an addition / subtraction block 850, and a hold block 860 are newly added.

また、変更モデル800は、パルス生成ブロック810から、サブシステム820及び信号表示ブロック830にデータを出力する結線811と、サブシステム820から信号表示ブロック830にデータを出力する結線831とを有する。また、固定値ブロック840から加減算ブロック850にデータを出力する結線841と、加減算ブロック850からホールドブロック860にデータを出力する結線851とを有する。また、ホールドブロック860から、加減算ブロック850及び信号表示ブロック830にデータを出力する結線861を有する。   Further, the change model 800 includes a connection 811 for outputting data from the pulse generation block 810 to the subsystem 820 and the signal display block 830, and a connection 831 for outputting data from the subsystem 820 to the signal display block 830. Further, a connection 841 for outputting data from the fixed value block 840 to the addition / subtraction block 850 and a connection 851 for outputting data from the addition / subtraction block 850 to the hold block 860 are provided. Further, a connection 861 for outputting data from the hold block 860 to the addition / subtraction block 850 and the signal display block 830 is provided.

また、サブシステム820は、パルス生成ブロック810から当該サブシステム820に入力されたデータを受け取るインポートブロック821(In1)を有する。また、原モデル700から流用された加減算ブロック823(Sum1),ホールドブロック825(Unit Delay1)と、当該サブシステム820から信号表示ブロック830にデータを出力するエクスポートブロック827(Out1)を有する。   Further, the subsystem 820 includes an import block 821 (In1) that receives data input from the pulse generation block 810 to the subsystem 820. Further, an addition / subtraction block 823 (Sum1) and hold block 825 (Unit Delay1) diverted from the original model 700 and an export block 827 (Out1) for outputting data from the subsystem 820 to the signal display block 830 are provided.

また、サブシステム820は、インポートブロック821から加減算ブロック823にデータを出力する結線822と、加減算ブロック823からホールドブロック825にデータを出力する結線824を有する。また、ホールドブロック825から、加減算ブロック823及びエクスポートブロック827にデータを出力する結線826を有する。   Further, the subsystem 820 has a connection 822 for outputting data from the import block 821 to the addition / subtraction block 823 and a connection 824 for outputting data from the addition / subtraction block 823 to the hold block 825. Further, a connection 826 for outputting data from the hold block 825 to the addition / subtraction block 823 and the export block 827 is provided.

無論、これらの結線には、原モデル700と同様に、接続先となるブロックに基づく識別子が設定されている。また、これらの結線のうち、結線811,824,826は、原モデル700から流用されたものとなっており、原モデルと同様の識別子が設定されている。   Of course, as in the original model 700, identifiers based on blocks to be connected are set in these connections. Of these connections, the connections 811, 824, and 826 are diverted from the original model 700, and the same identifiers as those of the original model are set.

そして、図8には、差分検出処理による原モデル700と変更モデル800の比較結果を示す表が記載されている。なお、該表では、識別子により各構成要素を示しており、また、変更無しに設定された構成要素については、比較結果が省略されている。   FIG. 8 shows a table showing a comparison result between the original model 700 and the changed model 800 by the difference detection process. In the table, each component is indicated by an identifier, and comparison results are omitted for components set without change.

該表が示すように、新たに追加されたサブシステム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 connection lines 824 and 826 (Sum1-> Unit Delay1, Unit Delay1-> Sum1 + Scope1) connecting the subsystemized blocks are “subsystem changed, not changed”.

なお、この原モデル700や変更モデル800は、一つのブロック群から構成されているが、言うまでもなく、複数のブロック群から構成されていても良い。
[第二実施形態]
[動作の説明]
次に、第二実施形態における開発支援装置の動作について詳しく説明する。第二実施形態では、差分検出処理の内容が第一実施形態と相違しており、サブシステム化やサブシステムの解消を考慮すること無く、原モデルと変更モデルの比較がなされる。以下では、第二実施形態の差分検出処理について、図9,10に記載のフローチャートを用いて説明する。なお、本処理は、入力装置60に対する操作に応じて実行される。
The original model 700 and the modified model 800 are composed of one block group, but needless to say, they may be composed of a plurality of block groups.
[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 input device 60.

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 model comparison unit 130 determines whether there is a parameter difference between the target component and the corresponding component. If the parameters are different (S960: Yes), the process proceeds to S965. If they are not different (S960: No), the process proceeds to S990.

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 model comparison unit 130 performs the same determination as S375 in the difference detection process of the first embodiment. If an affirmative determination is obtained (S965: Yes), the process proceeds to S970. If a negative determination is obtained (S965: No), the process proceeds to S985.

S970では、モデル比較部130は、第一実施形態の差分検出処理におけるS380と同様にして、ポートブロックやサブシステムに繋がる他のブロックを考慮して対象構成要素と対応構成要素のパラメータを比較する。そして、これらのパラメータが同一である場合には(S975:Yes)、S980に処理を移行し、同一でない場合には(S975:No)、S985に処理を移行する。   In S970, the model comparison unit 130 compares the parameters of the target component and the corresponding component in consideration of the port block and other blocks connected to the subsystem, similarly to S380 in the difference detection process of the first embodiment. . If these parameters are the same (S975: Yes), the process proceeds to S980. If they are not the same (S975: No), the process proceeds to S985.

S980では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「変更無し」を設定し、S910に処理を移行する。
S985では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「変更有り」を設定し、S910に処理を移行する。
In S980, the model comparison unit 130 sets “no change” as the comparison result between the target component and the corresponding component, and the process proceeds to S910.
In S985, the model comparison unit 130 sets “changed” as the comparison result between the target component and the corresponding component, and the process proceeds to S910.

S990では、モデル比較部130は、対象構成要素と対応構成要素の比較結果として「変更無し」を設定し、S910に処理を移行する。
[具体例について]
次に、第二実施形態における差分検出処理による原モデルと変更モデルの比較結果の具体例について説明する。
In S990, the model comparison unit 130 sets “no change” as the comparison result between the target component and the corresponding component, and the process proceeds to S910.
[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 original model 700 and the modified model 800 described above. In the table, each component is indicated by an identifier, and the description of the comparison result is omitted for the component set without change.

また、これらのモデルの一方に存在するポートブロックや、これらのモデルの一方に存在するポートブロック或いはサブシステムに繋がる結線であって、これらのモデルの一方に存在するものについても、比較結果の記載を省略している。   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 connections 811, 824, and 826 (Discrete Pulse Generator1-> Sum1 + Scope1, Sum1-> Unit Delay1, Unit Delay1-> Sum1 + Scope1) connecting subsystems or subsystemized blocks are " Since there is no change, it is not described in the table.

[効果]
第一,第二実施形態の開発支援装置によれば、サブシステム化やサブシステムの解消により接続先のブロックが変更された結線に関しては、ポートブロックを介して接続されるブロックを考慮して接続先パラメータの比較が行われる。そして、接続先のブロックが実質的に変わったかどうかが判定される。
[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 identifier generation tool 200 installed in the server 2. However, the identifier generation tool 200 may be installed on the PC 1 on which the development support tool 100 is installed, and the identifier of the model created on the PC 1 may be generated by the identifier generation tool 200 installed on the PC 1.

さらに、該PC1にインストールされた識別子生成ツール200により、識別子更新処理と同様にして、該PC1にインストールされた開発支援ツール100にて作成されたモデルの構成要素に設定された識別子を更新しても良い。   Further, the identifier generation tool 200 installed in the PC 1 updates the identifier set in the model component created by the development support tool 100 installed in the PC 1 in the same manner as the identifier update processing. Also good.

このような場合であっても、同様の効果を得ることができる。
(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 model creation unit 110, the identifier setting unit 120, and the model comparison unit 130 are configured as a development support tool 100 that is a single application. An example of such an application is Matlab (registered trademark).

しかし、これ以外にも、モデル比較部130を、モデル作成部110及び識別子設定部120を備える開発支援ツール100のアドオンとしても良い。また、モデル比較部130を単一のアプリケーションとして構成し、該開発支援ツール100から外部ツールとして起動する構成としても良い。   However, other than this, the model comparison unit 130 may be an add-on to the development support tool 100 including the model creation unit 110 and the identifier setting unit 120. Alternatively, the model comparison unit 130 may be configured as a single application and started as an external tool from the development support tool 100.

また、モデル比較部130と、モデル作成部110及び識別子設定部120を、それぞれ、モデルベース開発を行うためのアプリケーションである開発支援ツール100のアドオンとしても良い。また、モデル比較部130と、モデル作成部110及び識別子設定部120を、それぞれ、単一のアプリケーションとして構成し、該開発支援ツール100から外部ツールとして起動する構成としても良い。   In addition, the model comparison unit 130, the model creation unit 110, and the identifier setting unit 120 may each be an add-on to the development support tool 100 that is an application for performing model-based development. In addition, the model comparison unit 130, the model creation unit 110, and the identifier setting unit 120 may be configured as a single application and started as an external tool from the development support tool 100.

このような場合であっても、同様の効果を得ることができる。
[特許請求の範囲との対応]
上記実施形態の説明で用いた用語と、特許請求の範囲の記載に用いた用語との対応を示す。
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 development support tool 100 corresponds to a model comparison tool and a model creation tool.
The model creation unit 110 of the development support tool 100 corresponds to a model generation unit, and the identifier setting unit 120 corresponds to a setting unit.

また、識別子生成ツール200の識別子生成部210が識別子生成手段,置換手段に、送受信部220が付与手段,取得手段,提供手段に相当する。
また、ポートブロックが通信用ブロックに相当し、ライブラリサブシステム,カスタムサブシステムが、共通サブシステムに相当する。
The identifier generation unit 210 of the identifier generation tool 200 corresponds to an identifier generation unit and replacement unit, and the transmission / reception unit 220 corresponds to an addition unit, an acquisition unit, and a provision unit.
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 SYMBOLS 1 ... PC, 2 ... Server, 5 ... Network, 10 ... Display, 20 ... HDD, 30 ... CPU, 40 ... ROM, 50 ... RAM, 60 ... Input device, 100 ... Development support tool, 110 ... Model creation part, 120 ... identifier setting unit, 130 ... model comparison unit, 200 ... identifier generation tool, 210 ... identifier generation unit, 220 ... transmission / reception unit.

Claims (6)

予め定められた処理手順を示すブロックと、前記ブロック同士を繋ぐことでこれらのブロック間のデータの入出力を表す結線とを構成要素とし、これらの構成要素を用いてプログラムを記述していると共に、それぞれの前記構成要素に一意的な識別子が設定されているモデルである原モデルと、該原モデルに変更を加えたものであって、該原モデルから流用された前記構成要素には同一の前記識別子が設定されている変更モデルとを読み込む読込手段(S305,S905)と、
前記原モデルに含まれる前記構成要素と、前記変更モデルに含まれる前記構成要素との中から同一の前記識別子が設定された二つの前記構成要素を検出し、これらの構成要素において設定されているパラメータを比較する比較手段(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に記載のモデル比較装置において、
前記結線により直接的或いは間接的に繋がれた複数の前記ブロックをブロック群とし、前記モデルは、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.
請求項1又は請求項2に記載のモデル比較装置において、
前記ブロックとして、前記構成要素により記述された前記処理手順を実行するサブシステムを用いることができ、
前記サブシステムでの前記処理手順の記述に用いられ、該サブシステム以外の他の前記ブロックとの間でデータの入出力を行う前記ブロックを内部ブロックとすると共に、該内部ブロックとの間でデータの入出力を行う該サブシステム以外の他の前記ブロックを外部ブロックとし、
前記外部ブロックと前記内部ブロックとの間のデータの入出力は、前記外部ブロックと前記サブシステムとに繋がる前記結線と、該サブシステムにて用いられる前記ブロックである通信用ブロックと該内部ブロックとに繋がる前記結線とにより表され、
前記結線の前記パラメータとして、該結線に繋がる前記ブロックを示す接続先パラメータが設けられており、
前記比較手段は、前記結線の前記接続先パラメータが前記通信用ブロックを示している場合には、該接続先パラメータが、該通信用ブロックに係る前記サブシステムに繋がるいずれかの前記ブロックを示すものとみなして、該接続先パラメータの比較を行うと共に、該接続先パラメータが前記サブシステムを示している場合には、該接続先パラメータが、該サブシステムにて用いられる前記通信用ブロックに繋がるいずれかの前記ブロックを示すものとみなして、該接続先パラメータの比較を行うこと(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.
請求項から請求項のうちのいずれか1項に記載のモデル比較装置において、
前記サブシステムとして、予め定められた前記処理手順が記述された共通サブシステムが用いられること、
を特徴とするモデル比較装置。
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.
予め定められた処理手順を示すブロックと、前記ブロック同士を繋ぐことでこれらのブロック間のデータの入出力を表す結線とを構成要素とし、これらの構成要素を用いてプログラムを記述していると共に、それぞれの前記構成要素に一意的な識別子が設定されているモデルである原モデルと、該原モデルに変更を加えたものであって、該原モデルから流用された前記構成要素には同一の前記識別子が設定されている変更モデルとを読み込む読込手段(S305,S905)と、
前記原モデルに含まれる前記構成要素と、前記変更モデルに含まれる前記構成要素との中から同一の前記識別子が設定された二つの前記構成要素を検出し、これらの構成要素において設定されているパラメータを比較する比較手段(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:
JP2012164972A 2012-07-25 2012-07-25 Model comparison device and model comparison tool Active JP5831385B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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