JP5589919B2 - Design support device, design support program - Google Patents

Design support device, design support program Download PDF

Info

Publication number
JP5589919B2
JP5589919B2 JP2011063119A JP2011063119A JP5589919B2 JP 5589919 B2 JP5589919 B2 JP 5589919B2 JP 2011063119 A JP2011063119 A JP 2011063119A JP 2011063119 A JP2011063119 A JP 2011063119A JP 5589919 B2 JP5589919 B2 JP 5589919B2
Authority
JP
Japan
Prior art keywords
calculation
model
comparison
reference model
design support
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
JP2011063119A
Other languages
Japanese (ja)
Other versions
JP2012198804A (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 JP2011063119A priority Critical patent/JP5589919B2/en
Publication of JP2012198804A publication Critical patent/JP2012198804A/en
Application granted granted Critical
Publication of JP5589919B2 publication Critical patent/JP5589919B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、モデルに基づき演算処理を実行する設計支援装置等に関する。   The present invention relates to a design support apparatus that executes arithmetic processing based on a model.

従来、例えば車両のエンジンECUのプログラムの開発においては、開発者が直接ソースコードを記述せず、目的とするプログラムの機能を、より作成が簡易で視認性の良い「モデル」という形態で記述する場合がある。開発者は、このモデルに対応したプログラム開発環境がインストールされたワークステーション,パーソナルコンピュータ等を用い、そのモデルにて定義された演算処理等のシミュレーションを行うと共に、該モデルからソースコードを自動生成する。   Conventionally, for example, in development of a program for an engine ECU of a vehicle, a developer does not directly describe a source code, but describes a function of a target program in the form of a “model” that is easier to create and has better visibility. There is a case. A developer uses a workstation, personal computer, or the like in which a program development environment corresponding to this model is installed, performs simulation such as arithmetic processing defined in the model, and automatically generates source code from the model. .

このようにしてモデルに基づきソースコードを自動生成するプログラム開発は、モデルベース開発と呼ばれており、モデルベース開発を行うためのプログラム開発環境としてMatlab(登録商標)が知られている。Matlab(登録商標)においては、開発者は、当該プログラム開発環境の付加機能を提供するSimulink(登録商標)を用いてモデルを記述する。   Program development for automatically generating source code based on a model in this way is called model-based development, and Matlab (registered trademark) is known as a program development environment for performing model-based development. In Matlab (registered trademark), a developer describes a model using Simulink (registered trademark) that provides an additional function of the program development environment.

そして、Simulink(登録商標)においては、モデルは、各種演算やファイルからのデータの読み出し等を行う機能単位であるブロックや、ブロック間のデータの入出力を示す結線等の組合せとして記述される。すなわち、複数のブロックが結線によってつなぎ合わされることにより、エンジン制御におけるデータの入出力や、各種演算処理等を表現する集合体がモデルである。   In Simulink (registered trademark), a model is described as a combination of blocks, which are functional units that perform various operations and data reading from a file, and connections that indicate input / output of data between blocks. That is, a model is an aggregate that expresses input / output of data in engine control, various arithmetic processes, and the like by connecting a plurality of blocks by connection.

特許文献1には、このようなモデルベース開発に用いられるソースコードの生成装置について記載されている。特許文献1に記載のコード生成装置によれば、複数の種別(例えば、装置の仕向け地や機種等)の機能が記述された一つのモデルから特定の種別に対応するソースコードを生成する際、対応しない種別についての機能の記述がモデルから除去される。これにより、不要なソースコードが生成されることを防ぐことができ、ROM容量の小さいソースコードを生成することが可能となる。   Patent Document 1 describes a source code generation apparatus used for such model-based development. According to the code generation device described in Patent Literature 1, when generating a source code corresponding to a specific type from one model in which functions of a plurality of types (for example, destination and model of the device) are described, Function descriptions for unsupported types are removed from the model. Thereby, it is possible to prevent generation of unnecessary source code, and it is possible to generate source code with a small ROM capacity.

特開2004−227500号公報JP 2004-227500 A

ところで、プログラミングにおいて、小数により数値を表現することができる変数の型として、予め設定された精度で一定範囲の数値を表現する固定小数点数型と、固定小数点数型よりも広範囲の数値を表現可能な浮動小数点数型とが知られている。そして、一般的に、固定小数点数型よりも浮動小数点数型の変数を用いたほうが演算の精度を向上させることができるが、その反面、プログラムを動作させる上で必要となるROM,RAM容量や、CPUの処理負荷等が増加してしまうという問題がある。   By the way, in programming, as variable types that can represent numbers with decimal numbers, fixed-point numbers that represent a range of numbers with a preset precision and a wider range of numbers than fixed-point numbers can be represented. The floating-point number type is known. In general, it is possible to improve the accuracy of calculation by using a floating-point number type variable rather than a fixed-point number type variable. However, on the other hand, the ROM and RAM capacities required for operating the program, There is a problem that the processing load of the CPU increases.

これに対し、車載装置等の組み込みシステム用のプログラム開発においては、コストに関する要求が厳しく、ROM容量等に関して厳しい制約が課せられる。このため、従来、組み込みシステム用のモデルベース開発では、最初の段階として、浮動小数点数型の変数を用いて演算処理を表す浮動小数点数モデルが作成され、シミュレーションにより該モデルから得られる演算結果について検証される。そして、次の段階で、浮動小数点数モデルにおける全部または一部の変数の型を浮動小数点数型から固定小数点数型に変更することで、演算精度の低下と引き換えにROM容量等を低減させた固定小数点数モデルが作成され、該固定小数点数モデルからソースコードが自動生成されていた。   On the other hand, in the development of a program for an embedded system such as an in-vehicle device, a cost requirement is severe and severe restrictions are imposed on ROM capacity and the like. For this reason, conventionally, in model-based development for embedded systems, as a first step, a floating-point number model that represents a calculation process using a floating-point number type variable is created, and the calculation result obtained from the model by simulation is obtained. Validated. At the next stage, changing the type of all or some of the variables in the floating-point number model from the floating-point number type to the fixed-point number type reduced the ROM capacity and the like in exchange for a decrease in calculation accuracy. A fixed-point number model was created, and source code was automatically generated from the fixed-point number model.

ここで、固定小数点数型の変数においては、該変数の値が1増減する際の該変数が表す数値の変動幅(例えば、2バイト長の固定小数点数型の変数ならば、0x000Aが表す数値と0x0009が表す数値の差分の絶対値、以後、重み或いは1LSBと記載)が固定される。このため、開発者は、変数の型を浮動小数点数型から固定小数点数型に変更する際には、重みを設定する必要があり、重みが適切でない場合には、演算精度が許容範囲を超えて悪化するおそれがある。   Here, in the case of a fixed-point number type variable, the fluctuation range of a numerical value represented by the variable when the value of the variable increases or decreases by 1 (for example, a numerical value represented by 0x000A if the variable is a fixed-point number type variable having a length of 2 bytes). And the absolute value of the difference between the numerical values represented by 0x0009 (hereinafter referred to as weight or 1LSB) is fixed. For this reason, the developer must set the weight when changing the variable type from the floating-point number type to the fixed-point number type. If the weight is not appropriate, the calculation accuracy will exceed the allowable range. There is a risk of getting worse.

このため、固定小数点数モデルにおいて演算精度がどの程度低下したかを検証する必要があり、各モデルのシミュレーションを行い、演算結果を比較する作業が必要となる。そして、固定小数点数モデルの演算精度の悪化が判明した場合には、その原因となっている箇所を特定するため、演算処理の各段階において各モデルで得られる演算結果を一つ一つ比較するという、非常に手間のかかる作業が必要となっていた。   For this reason, it is necessary to verify how much the calculation accuracy is reduced in the fixed-point number model, and it is necessary to perform a simulation of each model and compare the calculation results. And when the deterioration of the calculation accuracy of the fixed-point number model is found, the calculation results obtained in each model are compared one by one at each stage of the calculation process in order to identify the cause of the deterioration. That was a very time-consuming task.

本願発明は上記課題に鑑みてなされたものであり、異なる記述により同一の演算処理を表す二つのモデルから得られる演算結果が相違する原因となっている箇所を、容易に見つけ出すことができる設計支援装置等を提供することを目的とする。   The present invention has been made in view of the above problems, and design support that can easily find a location that causes a difference in calculation results obtained from two models representing the same calculation processing by different descriptions. An object is to provide a device or the like.

上記課題に鑑みてなされた請求項1に記載の設計支援装置は、複数の演算ステップから構成される演算処理を表すモデルを基準モデルとし、予め定められた入力値を設定して該基準モデルに基づき該演算処理を実行してそれぞれの演算ステップにおける演算結果を得る基準モデル実行手段と、基準モデルと同様の演算処理を表すモデルであって、少なくとも一つの演算ステップが基準モデルとは異なる態様で記述されているモデルを比較モデルとし、基準モデル実行手段と同一の入力値を設定して該比較モデルに基づき該演算処理を実行してそれぞれの演算ステップにおける演算結果を得る比較モデル実行手段と、を備える。また、同一の演算ステップについて、基準モデル実行手段により得られた演算結果と、比較モデル実行手段により得られた演算結果とを比較する比較手段と、比較手段による比較結果に基づき表示を行う表示手段と、を備える。   The design support apparatus according to claim 1, which has been made in view of the above problems, uses a model representing an arithmetic process including a plurality of arithmetic steps as a reference model, and sets a predetermined input value to the reference model. A reference model execution means for executing the calculation processing and obtaining calculation results in each calculation step, and a model representing the same calculation processing as the reference model, wherein at least one calculation step is different from the reference model. The model described is a comparison model, a comparison model execution unit that sets the same input value as the reference model execution unit, executes the calculation process based on the comparison model, and obtains a calculation result in each calculation step; Is provided. Further, for the same calculation step, comparison means for comparing the calculation result obtained by the reference model execution means and the calculation result obtained by the comparison model execution means, and display means for displaying based on the comparison result by the comparison means And comprising.

なお、比較モデルとは、例えば、基準モデルにおける変数の型を変更することで作成されたものであっても良いし、基準モデルにおける全部または一部の演算ステップに対し、手順の追加や、一部の手順の削除がなされたものであっても良い。   Note that the comparison model may be created by changing the type of a variable in the reference model, for example, by adding procedures to all or some of the calculation steps in the reference model, A part of the procedure may be deleted.

既に述べたように、車載装置等の組み込みシステム用のモデルベース開発においては、浮動小数点数型の変数を用いる等して高い演算精度を有するモデルを作成し、その後、浮動小数点数型の変数を固定小数点数型に変更することで、演算精度の低下と引き換えにROM容量等を低減させたモデルを作成するという場合があった。   As already mentioned, in model-based development for embedded systems such as in-vehicle devices, a model with high calculation accuracy is created by using a floating-point type variable, and then a floating-point type variable is By changing to the fixed-point number type, there was a case where a model with a reduced ROM capacity or the like was created in exchange for a decrease in calculation accuracy.

また、これ以外にも、低スペックの製品に対応するプログラムを作成するため、作成済みのモデルを変更して意図的に演算精度を低下させたモデルを新たに作成するという場合も想定される。また、これとは逆に、プログラムの改良を行うため、作成済みのモデルを変更して演算精度が高いモデルを新たに作成するという場合も想定される。   In addition to this, in order to create a program corresponding to a low-spec product, there may be a case in which a model that has been created is intentionally reduced by changing the created model. On the other hand, in order to improve the program, it may be assumed that a model having a high calculation accuracy is newly created by changing a created model.

そして、このような場合には、作成済みのモデルと新たに作成したモデルの演算精度を検証し、これらのモデルにおける演算精度の相違を一定の範囲内に抑えることが必要となる。   In such a case, it is necessary to verify the calculation accuracy of the created model and the newly created model, and to suppress the difference in calculation accuracy between these models within a certain range.

さらに、詳細については後述するが、モデルからソースコードを自動生成する際に、各演算ステップの入出力データの値が制限値を超えた際のガード処理等の記述が新たに加えられる場合があり、このような場合には、モデルから得られる演算結果とソースコードから得られる演算結果とが異なる場合がある。このため、ソースコードと同一の処理を行うモデルを新たに作成し、新たに作成したモデルと、該ソースコードの自動生成に係るモデルの演算精度を検証する必要があった。   Furthermore, although details will be described later, when source code is automatically generated from a model, a description such as guard processing when the input / output data value of each calculation step exceeds the limit value may be newly added. In such a case, the calculation result obtained from the model may be different from the calculation result obtained from the source code. Therefore, it is necessary to newly create a model that performs the same processing as the source code, and to verify the calculation accuracy of the newly created model and the model related to the automatic generation of the source code.

これに対し、請求項1に記載の設計支援装置によれば、各演算ステップについて、基準モデルで得られる演算結果と比較モデルで得られる演算結果とがどの程度乖離しているかを容易に把握することができる。このため、例えば、基準モデルの演算結果と比較モデルの演算結果が許容範囲を超えて相違している場合等に、相違の原因となっている演算ステップを容易に特定することができる。   On the other hand, according to the design support apparatus of the first aspect, for each calculation step, it is easy to grasp how far the calculation result obtained by the reference model and the calculation result obtained by the comparison model differ. be able to. For this reason, for example, when the calculation result of the reference model and the calculation result of the comparison model are different from each other beyond an allowable range, the calculation step causing the difference can be easily identified.

したがって、モデルベース開発において、作成済みのモデルの一部に変更を加える等して該モデルと同一の演算処理を行う新たなモデルを作成した場合等に、これらのモデルから得られる演算結果が相違する原因となっている箇所を容易に見つけ出すことが可能となる。   Therefore, in model-based development, when creating a new model that performs the same calculation processing as a model by changing a part of the model already created, the calculation results obtained from these models differ. It is possible to easily find the location that is causing the failure.

なお、請求項2に記載されているように、設計支援装置は、基準モデル実行手段による演算処理の実行時と、比較モデル実行手段による演算処理の実行時とにおいて、同一の演算ステップの入力値が同一の値となるように調整する調整手段をさらに備えていても良い。   In addition, as described in claim 2, the design support apparatus receives the input value of the same calculation step when the calculation process is executed by the reference model execution unit and when the calculation process is executed by the comparison model execution unit. An adjusting means for adjusting so as to have the same value may be further provided.

こうすることにより、各演算ステップの実行に際して、基準モデルと比較モデルとで入力値が同一となるため、これらのモデルから得られる演算結果の相違をより正確に把握することができる。   By doing so, the input values of the reference model and the comparison model are the same when each calculation step is executed, so that the difference in the calculation results obtained from these models can be grasped more accurately.

また、請求項3に記載されているように、演算処理は、それぞれの演算ステップが予め定められた順番で実行されると共に、演算ステップでの演算結果が、後に実行される演算ステップの入力値となるよう構成されており、基準モデルでは、比較モデルに比べ、より高い精度で演算結果が得られる態様で演算ステップが記述されている場合であれば、調整手段は、比較モデル実行手段による演算処理の実行時の演算ステップの入力値が、基準モデル実行手段による演算処理の実行により得られた同一の演算ステップの入力値となるよう調整しても良い。   In addition, as described in claim 3, the calculation processing is executed in a predetermined order, and the calculation result in the calculation step is an input value of the calculation step to be executed later. If the calculation step is described in a manner in which the calculation result is obtained with higher accuracy in the reference model than in the comparison model, the adjustment unit performs the calculation by the comparison model execution unit. You may adjust so that the input value of the calculation step at the time of execution of a process may become the input value of the same calculation step obtained by execution of the calculation process by the reference model execution means.

こうすることにより、比較モデルにおいて、先に実行された演算ステップにて生じた誤差を無効とすることができ、後に実行される演算ステップにてより正確な演算結果を得ることができる。   By doing so, in the comparative model, errors generated in the previously executed calculation step can be invalidated, and more accurate calculation results can be obtained in the calculation step executed later.

また、基準モデルと比較モデルとの間で、演算精度の相違の原因となっている演算ステップを予測できる場合も想定される。
そこで、請求項4に記載の設計支援装置は、複数の演算ステップから構成される演算処理を表すモデルを基準モデルとし、予め定められた入力値を設定して該基準モデルに基づきいずれかの演算ステップを実行し、演算結果を得る基準モデル実行手段と、基準モデルと同様の演算処理を表すモデルであって、少なくとも一つの演算ステップが基準モデルとは異なる態様で記述されているモデルを比較モデルとし、基準モデル実行手段により実行された演算ステップに関して、基準モデル実行手段と同一の入力値を用いて比較モデルに基づき該演算ステップを実行し、演算結果を得る比較モデル実行手段と、を備える。また、同一の演算ステップについて、基準モデル実行手段により得られた演算結果と、比較モデル実行手段により得られた演算結果とを比較する比較手段と、比較手段による比較結果に基づき表示を行う表示手段と、を備える。
In addition, there may be a case where a calculation step causing a difference in calculation accuracy can be predicted between the reference model and the comparison model.
Therefore, the design support apparatus according to claim 4 uses a model representing a calculation process including a plurality of calculation steps as a reference model, sets a predetermined input value, and performs any calculation based on the reference model. A reference model execution means for executing steps and obtaining calculation results, and a model representing calculation processing similar to the reference model, wherein at least one calculation step is described in a manner different from the reference model And a comparison model execution unit that executes the calculation step based on the comparison model using the same input value as that of the reference model execution unit and obtains a calculation result with respect to the calculation step executed by the reference model execution unit. Further, for the same calculation step, comparison means for comparing the calculation result obtained by the reference model execution means and the calculation result obtained by the comparison model execution means, and display means for displaying based on the comparison result by the comparison means And comprising.

こうすることにより、演算精度が相違する原因となっていると予測される演算ステップに絞って演算結果を比較することができ、より短期間で、各モデルの演算結果が相違する原因となっている箇所を見つけ出すことが可能となる。   By doing this, it is possible to compare the calculation results by focusing on the calculation step that is predicted to be the cause of the difference in calculation accuracy, and the cause of the difference in the calculation results of each model in a shorter period of time. It is possible to find out where it is.

また、設計支援装置は、次のような態様で演算ステップについての比較結果を表示しても良い。
すなわち、請求項5に記載されているように、表示手段は、演算ステップに対応する箇所と、該演算ステップについての比較結果とを関連付けた状態で、基準モデル或いは比較モデルを表示しても良い。
Further, the design support apparatus may display the comparison result for the calculation step in the following manner.
That is, as described in claim 5, the display means may display the reference model or the comparison model in a state in which the location corresponding to the calculation step is associated with the comparison result for the calculation step. .

こうすることにより、演算ステップについての比較結果を把握し易くなり、より容易に、基準モデルと比較モデルから得られる演算結果が相違する原因となっている箇所を見つけ出すことが可能となる。   By doing so, it becomes easier to grasp the comparison result for the calculation step, and it is possible to more easily find a location that causes a difference between the calculation results obtained from the reference model and the comparison model.

また、請求項6に記載されているように、比較手段は、演算ステップについて、基準モデル実行手段により得られた演算結果と、比較モデル実行手段により得られた演算結果との差分を算出し、該差分に関する情報を比較結果としても良い。   Further, as described in claim 6, the comparison means calculates a difference between the calculation result obtained by the reference model execution means and the calculation result obtained by the comparison model execution means for the calculation step, Information regarding the difference may be used as a comparison result.

こうすることにより、基準モデルと比較モデルとの間で、各演算ステップでどの程度の演算結果の相違が生じているかを正確に把握することができる。
また、請求項7に記載されているように、基準モデルでは、比較モデルに比べ、より高い精度で演算結果が得られる態様で演算ステップが記述されており、比較手段は、演算ステップについての差分が予め定められた許容範囲内か否かを判定し、該判定結果を比較結果としても良い。
By doing so, it is possible to accurately grasp how much the calculation result is different in each calculation step between the reference model and the comparison model.
Further, as described in claim 7, in the reference model, the calculation step is described in a mode in which the calculation result can be obtained with higher accuracy than in the comparison model, and the comparison means includes a difference between the calculation steps. May be determined within a predetermined allowable range, and the determination result may be used as a comparison result.

こうすることにより、演算結果が許容範囲を超えて相違している演算ステップを容易に特定することができ、より容易に、基準モデルと比較モデルから得られる演算結果が相違する原因となっている箇所を見つけ出すことが可能となる。   By doing so, it is possible to easily identify the calculation step whose calculation result is different from the allowable range, and more easily, the calculation result obtained from the reference model and the comparison model is the cause of the difference. It becomes possible to find the location.

なお、演算ステップにおける演算結果の差分の許容範囲とは、次のようにして設定されても良い。
すなわち、請求項8に記載されているように、比較手段による差分の判定に用いられる許容範囲とは、該差分に係る演算ステップの入力値に含まれることが想定される最大誤差に基づき設定されていても良い。
Note that the allowable range of the difference between the calculation results in the calculation step may be set as follows.
That is, as described in claim 8, the allowable range used for the determination of the difference by the comparison means is set based on the maximum error that is assumed to be included in the input value of the calculation step related to the difference. May be.

こうすることにより、演算ステップにおける演算結果の差分の許容範囲を適切に設定することができ、容易かつ確実に、基準モデルと比較モデルから得られる演算結果が相違する原因となっている箇所を見つけ出すことが可能となる。   By doing this, the allowable range of the difference between the calculation results in the calculation step can be set appropriately, and the location causing the difference between the calculation results obtained from the reference model and the comparison model can be found easily and reliably. It becomes possible.

なお、請求項9には、請求項1に記載の設計支援装置としてコンピュータを動作させる設計支援プログラムについて記載されている。このような設計支援プログラムを用いることで、モデルベース開発において、作成済みのモデルの一部に変更を加える等して該モデルと同一の演算処理を行う新たなモデルを作成した場合に、これらのモデルから得られる演算結果が相違する原因となっている箇所を容易に見つけ出すことが可能となる。   In claim 9, a design support program for operating a computer as the design support apparatus described in claim 1 is described. By using such a design support program, in model-based development, when a new model that performs the same arithmetic processing as the model is created by changing a part of the created model, these It is possible to easily find a location that causes a difference in calculation results obtained from the model.

また、請求項10には、請求項4に記載の設計支援装置としてコンピュータを動作させる設計支援プログラムについて記載されている。このような設計支援プログラムを用いることで、演算精度が相違する原因となっていると予測される演算ステップに絞って演算結果を比較することができ、より短期間で、各モデルの演算結果が相違する原因となっている箇所を見つけ出すことが可能となる。   Further, claim 10 describes a design support program for operating a computer as the design support apparatus according to claim 4. By using such a design support program, it is possible to compare the calculation results with the calculation steps predicted to be the cause of the difference in calculation accuracy, and the calculation results of each model can be compared in a shorter period of time. It becomes possible to find the location causing the difference.

モデル検証装置として作動するPCの構成を示すブロック図である。It is a block diagram which shows the structure of PC which operate | moves as a model verification apparatus. モデルの一例を示す説明図である。It is explanatory drawing which shows an example of a model. モデルベース開発の流れを示す作業フロー図である。It is a work flow figure showing a flow of model base development. 検証作業フローを示すフローチャートである。It is a flowchart which shows a verification work flow. 比較処理についてのフローチャートである。It is a flowchart about a comparison process. 各ブロックで得られた演算結果を比較した結果を示す表示画面についての説明図である。It is explanatory drawing about the display screen which shows the result of having compared the calculation result obtained by each block.

以下、本発明の実施形態について図面を用いて説明する。なお、本発明の実施の形態は、下記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。   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)モデル検証装置の構成について
図1には、本実施形態におけるモデル検証装置として作動する周知のパーソナルコンピュータ(PC)1の構成を示すブロック図が記載されている。図1に記載されているように、PC1は、ディスプレイ10,HDD(ハードディスクドライブ)20,CPU(演算装置)30,ROM40,RAM50,入力装置60等を備える。
[Description of configuration]
(1) Configuration of Model Verification Device FIG. 1 is a block diagram showing the configuration of a known personal computer (PC) 1 that operates as a model verification device in the present embodiment. As shown in FIG. 1, the PC 1 includes a display 10, an HDD (hard disk drive) 20, a CPU (arithmetic unit) 30, a ROM 40, a RAM 50, an input device 60, and the like.

ディスプレイ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が読み出して実行するプログラム等が予め記憶されている。また、HDD20には、後述するモデルが記憶されている。   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. The HDD 20 stores a model to be described later.

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は、PC1に電源が投入されることによって起動すると、ROM40から所定のブートプログラムを読み出して実行し、このブートプログラムに規定されるオペレーティングシステム(OS)その他のプログラムをHDD20から読み出して実行することにより、起動処理を行う。起動処理以後、電源が遮断されるまで、CPU30は、入力装置60からの信号や、OSによってあらかじめ定められたスケジュール等に基づいて、HDD20に記録されている各種プログラムをOS上のプロセスとして実行する。また、上記の起動処理及びプロセスにおいて、CPU30は必要に応じて入力装置60から信号の入力を受け付け、また、ディスプレイ10に映像信号を出力し、また、RAM50,HDD20に対してデータの読み出し/書き込みの制御を行う。   When the CPU 30 is activated by turning on the power of the PC 1, the CPU 30 reads and executes a predetermined boot program from the ROM 40, and reads and executes an operating system (OS) and other programs defined in the boot program from the HDD 20. The startup process is performed. After the startup process, until the power is turned off, the CPU 30 executes various programs recorded in the HDD 20 as processes on the OS based on a signal from the input device 60, a schedule predetermined by the OS, and the like. . In the startup process and process, the CPU 30 receives a signal input from the input device 60 as necessary, outputs a video signal to the display 10, and reads / writes data to / from the RAM 50 and the HDD 20. Control.

(2)モデル検証ツールについて
次に、PC1にインストールされている本実施形態のモデル検証ツールの概要について説明する。モデル検証ツールは、HDD20に保存され、OS上のプロセスとして実行されるアプリケーションの1つであり、PC1は、モデル検証ツールを動作させることで、モデルベース開発を行うためのモデル検証装置として作動する。モデル検証ツールは、OSの仕様に従ったユーザの入力装置60の操作によって起動し、その後ユーザの入力装置60の操作に基づいてモデルのシミュレーション等を行う。
(2) Model Verification Tool Next, an outline of the model verification tool of the present embodiment installed in the PC 1 will be described. The model verification tool is one of applications stored in the HDD 20 and executed as a process on the OS, and the PC 1 operates as a model verification apparatus for performing model-based development by operating the model verification tool. . The model verification tool is activated by the user's operation of the input device 60 according to the specifications of the OS, and then performs model simulation and the like based on the operation of the user's input device 60.

なお、モデル検証装置は、車載装置等といった組み込みシステム向けのプログラム開発に用いられることが考えられるが、これに限定されることは無く、あらゆる用途のプログラム開発に用いることができる。   The model verification device can be used for developing programs for embedded systems such as in-vehicle devices, but is not limited to this, and can be used for developing programs for all purposes.

[モデルベース開発について]
次に、モデルベース開発について説明する。
モデルとは、ソースコードよりも記述が簡易になり、かつ人による可読性が高くなる目的で定められたモデル言語仕様に基づいて作成されるプログラムの一表現形態である。モデルとしては、例えばSimulink(登録商標)によって作成されるSimulinkモデルがある。Simulink(登録商標)モデルが、Matlab(登録商標)上で動作するReal Time Workshop(登録商標:以下RTWと記す)に入力されることにより、このRTWが当該Simulink(登録商標)モデルに対応するソースコードを生成する。
[About model-based development]
Next, model-based development will be described.
A model is an expression form of a program that is created based on a model language specification that is defined for the purpose of making description easier than source code and improving human readability. As a model, for example, there is a Simulink model created by Simulink (registered trademark). When a Simulink (registered trademark) model is input to a Real Time Workshop (registered trademark: hereinafter referred to as RTW) operating on Matlab (registered trademark), the RTW is a source corresponding to the Simulink (registered trademark) model. Generate code.

Simulink(登録商標)モデルは、ブロックと呼ばれる機能単位の組み合わせからなる集合体として作成される。組み合わせとは、機能単位間の入出力の繋がりをいう。ブロックの具体例としては、例えば入力される2つの数値データの加算をして出力する加算ブロック等がある。また、モデルでは、ブロックに対する入出力データが保存される変数の型や、データ長や、固定小数点数型の変数における重み(詳細は後述する)等が定義されている。   The Simulink (registered trademark) model is created as an aggregate composed of combinations of functional units called blocks. A combination refers to an input / output connection between functional units. As a specific example of the block, for example, there is an addition block for adding two input numerical data and outputting the result. In the model, the type of a variable in which input / output data for the block is stored, the data length, the weight of a fixed-point number type variable (details will be described later), and the like are defined.

また、複数のブロックの集合体をサブシステムというブロックの一種として定義することもできる。このサブシステムは、プログラミングにおける関数に相当し、ブロックの中にブロックが含まれるような入れ子構造のブロックの作成も許されており、サブシステムを有するモデルに基づき生成されたソースコードにおいては、サブシステムでの処理はサブルーチンとして記述される。   An aggregate of a plurality of blocks can also 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 block having a nested structure in which the block is included in the block. In the source code generated based on the model having the subsystem, Processing in the system is described as a subroutine.

また、Simulink(登録商標)モデル中の各ブロックは、それぞれ属性情報を有することができる。属性情報としては、例えば当該ブロックの名称、入出力データの値域定義等がある。   Each block in the Simulink (registered trademark) model can have attribute information. The attribute information includes, for example, the name of the block, the range definition of input / output data, and the like.

なお、図2には、一例として、A演算ブロック101〜C演算ブロック103等から構成されるモデル100が記載されている(これらのブロックがサブシステムとして構成されていても良いということは、言うまでもない)。このモデル100では、各ブロックで得られた演算結果(出力データ)が、他のブロックの入力データとなっている。すなわち、各ブロックに接続される結線が数値データの入出力を示しており、ブロックに向かう矢印が付された結線が該ブロックへの入力データであると共に、ブロックを起点とする矢印が付された結線が、該ブロックからの出力データとなっている。また、各結線には、該結線に対応する数値データが保存される変数の型等の定義がなされる(図示省略)。   Note that FIG. 2 shows, as an example, a model 100 including A calculation blocks 101 to C calculation blocks 103 and the like (it goes without saying that these blocks may be configured as subsystems). I). In the model 100, the calculation result (output data) obtained in each block is input data of other blocks. That is, the connection connected to each block indicates the input / output of numerical data, the connection with the arrow pointing to the block is the input data to the block, and the arrow starting from the block is attached The connection is the output data from the block. Each connection is defined with a variable type or the like in which numerical data corresponding to the connection is stored (not shown).

また、言うまでも無く、モデル100では、当該モデルへの入力データが入力されるブロックが最初に実行され、以後、入力データが全て得られたブロックから順に実行される(換言すれば、結線の矢印の向きに基づく上流側に位置するブロックから、下流側のブロックの順に実行され、具体例を挙げると、A演算ブロック101からC演算ブロック103の順で実行される)。   Needless to say, in the model 100, the block to which the input data to the model is input is executed first, and thereafter, the input data is executed in order from the block from which all the input data is obtained (in other words, the connection The blocks are executed in the order from the block located on the upstream side based on the direction of the arrow to the block on the downstream side. To be specific, the blocks are executed in the order of the A calculation block 101 to the C calculation block 103).

また、図2に記載されているように、Simulink(登録商標)では、モデル中のブロックの演算手順をソースコード110により記述することもでき、これにより、ソースコードと全く同じ演算処理を行うSimulink(登録商標)モデルを作成することができる。   In addition, as shown in FIG. 2, in Simulink (registered trademark), the calculation procedure of the block in the model can be described by the source code 110, thereby performing the same calculation processing as the source code. (Registered trademark) model can be created.

本実施形態におけるモデルも、Simulink(登録商標)モデルと同様にブロックから成り、サブシステムとしてのブロックの記述やブロックの入れ子構造が許され、各ブロックが属性情報を有することや、ソースコードによる演算手順の記述が可能となっている。また、ブロック或いはサブシステムへの入出力データが保存される変数の型等を任意に定義することができる。   The model in the present embodiment is also composed of blocks as in the Simulink (registered trademark) model, and description of blocks as a subsystem and block nesting structure are allowed, each block has attribute information, and calculation by source code The procedure can be described. In addition, it is possible to arbitrarily define the type of variable in which input / output data for the block or subsystem is stored.

次に、本実施形態におけるモデルベース開発の流れについて、図3に記載の作業フロー200を用いて説明する。本実施形態では、Simulink(登録商標)を用いて以下のような段階を経てモデルの作成やソースコードの自動生成が行われる。   Next, the flow of model-based development in this embodiment will be described using the work flow 200 shown in FIG. In this embodiment, model creation and source code automatic generation are performed through the following steps using Simulink (registered trademark).

すなわち、プログラミングにおいて、小数により数値を表現することができる変数の型として、予め設定された精度で一定範囲の数値を表現する固定小数点数型と、固定小数点数型よりも広範囲の数値を表現可能な浮動小数点数型とが知られている。そして、一般的に、固定小数点数型よりも浮動小数点数型の変数を用いたほうが演算の精度を向上させることができるが、その反面、プログラムを動作させる上で必要となるROM,RAM容量や、CPUの処理負荷等が増加してしまうという問題がある。   In other words, in programming, as variable types that can represent numbers with decimal numbers, a fixed-point number type that represents a certain range of numbers with preset precision and a wider range of numbers than fixed-point number types can be represented The floating-point number type is known. In general, it is possible to improve the accuracy of calculation by using a floating-point number type variable rather than a fixed-point number type variable. However, on the other hand, the ROM and RAM capacities required for operating the program, There is a problem that the processing load of the CPU increases.

このため、本実施形態では、最初の段階として、浮動小数点数型の変数を用いて、制御仕様210に基づく演算処理を表す浮動小数点数モデル220が作成される。そして、次の段階で、浮動小数点数モデル220における全部または一部の変数の型を浮動小数点数型から固定小数点数型に変更することで、演算精度の低下と引き換えにROM容量等を低減させた固定小数点数モデル230が作成される。   Therefore, in the present embodiment, as a first stage, a floating-point number model 220 representing an arithmetic process based on the control specification 210 is created using a floating-point number type variable. Then, at the next stage, by changing the type of all or some of the variables in the floating-point model 220 from the floating-point number type to the fixed-point number type, the ROM capacity and the like can be reduced in exchange for a decrease in calculation accuracy. A fixed-point number model 230 is created.

なお、固定小数点数型の変数においては、該変数の値が1増減する際の該変数が表す数値の変動幅(例えば、2バイト長の固定小数点数型の変数ならば、0x000Aが表す数値と0x0009が表す数値の差分の絶対値、以後、重み或いは1LSBと記載)が固定される。このため、固定小数点数モデル230を作成する際には、要求される演算精度を考慮して固定小数点数型の各変数の重みが設定される。   In the case of a fixed-point number type variable, the fluctuation range of the numerical value represented by the variable when the value of the variable is increased or decreased by 1 (for example, in the case of a fixed-point number type variable of 2 bytes length, the numerical value represented by 0x000A) The absolute value of the difference between the numerical values represented by 0x0009 (hereinafter referred to as weight or 1LSB) is fixed. For this reason, when creating the fixed-point number model 230, the weight of each variable of the fixed-point number type is set in consideration of the required calculation accuracy.

そして、その次の段階では、浮動小数点数モデル220と固定小数点数モデル230の演算精度を比較するモデル検証作業240(詳細は後述)が行われ、モデル検証作業240にて固定小数点数モデル230における演算精度の低下が許容範囲内と判断されると、RTWを用いて、固定小数点数モデル230に基づき固定小数点数コード250が自動生成される。   In the next stage, a model verification operation 240 (details will be described later) for comparing the calculation accuracy of the floating point number model 220 and the fixed point number model 230 is performed. If it is determined that the reduction in the calculation accuracy is within the allowable range, the fixed-point number code 250 is automatically generated based on the fixed-point number model 230 using the RTW.

ここで、RTWは、モデルからソースコードを自動生成する際に、異なる型の変数や、重みの異なる固定小数点数型の変数を用いた演算手順において、これらの変数の型や重みを統一する変換処理の記述を追加する。また、これ以外にも、例えば、各ブロックへの入出力データが属性情報により定義された値域を越えた際のガード処理等の記述を追加する。このため、固定小数点数モデル230と固定小数点数コード250とからは異なる演算結果が得られる場合がある。   Here, when automatically generating source code from a model, RTW performs a conversion that unifies the types and weights of these variables in calculation procedures using different types of variables and fixed-point number variables with different weights. Add a description of the process. In addition to this, for example, a description such as guard processing when input / output data to each block exceeds a value range defined by the attribute information is added. Therefore, different calculation results may be obtained from the fixed-point number model 230 and the fixed-point number code 250.

そこで、次の段階では、固定小数点数コード250における各ブロックに対応する演算手順を、固定小数点数モデル230における対応するブロックに記述することで、固定小数点数コード250と同じ演算処理を行うソースコードモデル260が作成される。そして、固定小数点数モデル230とソースコードモデル260の演算精度を比較するコード検証作業270(詳細は後述)が行われ、ソースコードモデル260での演算処理について検証される。   Therefore, in the next stage, the calculation procedure corresponding to each block in the fixed-point number code 250 is described in the corresponding block in the fixed-point number model 230, thereby performing the same calculation processing as the fixed-point number code 250. A model 260 is created. Then, a code verification operation 270 (details will be described later) for comparing the calculation accuracy of the fixed-point number model 230 and the source code model 260 is performed, and the calculation processing in the source code model 260 is verified.

[検証作業について]
次に、浮動小数点数モデル220と固定小数点数モデル230の演算精度を比較するモデル検証作業240や、固定小数点数モデル230とソースコードモデル260の演算精度を比較するコード検証作業270について説明する。これらの作業は、モデル検証装置を用いて、図4に記載の検証作業フローに従い行われる。
[About verification work]
Next, a model verification operation 240 for comparing the calculation accuracy of the floating-point number model 220 and the fixed-point number model 230 and a code verification operation 270 for comparing the calculation accuracy of the fixed-point number model 230 and the source code model 260 will be described. These operations are performed according to the verification work flow shown in FIG. 4 using the model verification apparatus.

なお、以下の説明では、モデル検証作業240においては、浮動小数点数モデル220を基準モデル、固定小数点数モデル230を比較モデルとすると共に、コード検証作業270においては、固定小数点数モデル230を基準モデル、ソースコードモデル260を比較モデルとする。   In the following description, in the model verification operation 240, the floating-point number model 220 is a reference model and the fixed-point number model 230 is a comparison model, and in the code verification operation 270, the fixed-point number model 230 is a reference model. The source code model 260 is used as a comparison model.

S305では、モデル検証装置を用いて比較モデルのシミュレーションが実行される。
続くS310では、比較モデルから得られた演算結果と理論値とを比較し、該演算結果に含まれる誤差が許容範囲内か否かが判定される。なお、この許容範囲は、制御仕様210等に基づき定められる。そして、肯定判定の場合には(S310:Yes)、S315に処理が移行され、否定判定の場合には(S310:No)、検証作業は終了となる。
In S305, simulation of the comparison model is executed using the model verification apparatus.
In subsequent S310, the calculation result obtained from the comparison model is compared with the theoretical value, and it is determined whether or not the error included in the calculation result is within an allowable range. This allowable range is determined based on the control specification 210 and the like. If the determination is affirmative (S310: Yes), the process proceeds to S315. If the determination is negative (S310: No), the verification operation ends.

S315では、モデル検証装置を用いて、基準モデルと比較モデルのそれぞれのブロックにて得られる演算結果を比較し、許容範囲を超える誤差が生成されるブロックを特定する比較処理が行われる。   In S315, using the model verification apparatus, a comparison process is performed in which the calculation results obtained in the respective blocks of the reference model and the comparison model are compared, and a block in which an error exceeding the allowable range is generated is identified.

続くS320では、S315にて、許容範囲を超える誤差が生成されるブロックが特定されたか否かが判定される。そして、肯定判定が得られた場合には(S320:Yes)、S325に処理が移行され、否定判定が得られた場合には(S320:No)、S330に処理が移行される。   In subsequent S320, it is determined whether or not a block in which an error exceeding the allowable range is generated is determined in S315. When an affirmative determination is obtained (S320: Yes), the process proceeds to S325, and when a negative determination is obtained (S320: No), the process proceeds to S330.

S325では、許容範囲を超える誤差が生成されるブロックの記述を見直し、演算精度の改善について検討する作業が行われる。
具体的には、当該検証作業フローに従いモデル検証作業240が行われている場合であれば、例えば、変数の型を固定小数点数型に変更する際の重みの設定のミスについて検証し、ミスがあった場合には、固定小数点数型の変数の重みをより小さくする等といった対処を行うことが考えられる。また、例えば、固定小数点数型の変数を浮動小数点数型に戻すこと等も考えられる。
In S325, the description of the block in which the error exceeding the allowable range is generated is reviewed, and the work of improving the calculation accuracy is performed.
Specifically, if the model verification work 240 is performed according to the verification work flow, for example, a mistake in setting the weight when changing the variable type to the fixed-point number type is verified. In such a case, it is conceivable to take measures such as reducing the weight of the fixed-point number type variable. Further, for example, it is conceivable to return a fixed-point number type variable to a floating-point number type.

また、当該検証作業フローに従いコード検証作業270が行われている場合であれば、例えば、ソースコードの自動生成の際に追加された変換処理やガード処理の妥当性について検討し、必要に応じて属性情報や変数の型等を変更すること等が考えられる。   In addition, if the code verification operation 270 is performed according to the verification work flow, for example, the validity of the conversion processing and guard processing added at the time of automatic source code generation is examined, and if necessary It may be possible to change attribute information, variable type, or the like.

一方、S330では、比較モデルの演算結果は、各ブロックにて生成される許容範囲内の誤差が積み上げられたものと判断し、演算処理全体の設計を再度見直す作業が行われる。   On the other hand, in S330, it is determined that the calculation results of the comparison model are accumulated errors within the allowable range generated in each block, and the design of the entire calculation process is reviewed again.

そして、比較モデルから得られる演算結果に含まれる誤差が許容範囲内となるまで、検証作業フローが繰り返し行われる。
次に、モデル検証装置により行われる比較処理について、図5に記載のフローチャートを用いて説明する。
Then, the verification work flow is repeatedly performed until the error included in the calculation result obtained from the comparison model is within the allowable range.
Next, the comparison process performed by the model verification apparatus will be described with reference to the flowchart shown in FIG.

S405では、モデル検証装置は、HDD20或いはRAM50に記憶されている基準モデルの読み込みを行うと共に、続くS410では、HDD20等に記憶されている比較モデルの読み込みを行い、基準モデル(或いは比較モデル)を、ディスプレイ10に表示する。そして、各モデルに対しての入力データとして同一の数値を設定すると共に、各モデルが表すブロックのうち、最初に実行すべき一つのブロック(該入力データが入力されるいずれかのブロック)を選択する。   In S405, the model verification apparatus reads the reference model stored in the HDD 20 or the RAM 50, and in subsequent S410, reads the comparison model stored in the HDD 20 or the like to obtain the reference model (or comparison model). Is displayed on the display 10. Then, the same numerical value is set as input data for each model, and one block to be executed first (any block to which the input data is input) is selected from the blocks represented by each model. To do.

続くS415では、モデル検証装置は、基準モデルに基づき、選択されたブロックに対応する演算手順を実行すると共に、比較モデルに基づき、該ブロックに対応する演算手順を実行し、S420に処理を移行する。   In subsequent S415, the model verification apparatus executes a calculation procedure corresponding to the selected block based on the reference model, and executes a calculation procedure corresponding to the block based on the comparison model, and the process proceeds to S420. .

S420では、モデル検証装置は、基準モデルに基づき算出された演算結果と、比較モデルに基づき算出された演算結果との差分を、比較モデルにおける選択中のブロックで生じる誤差として算出し、該誤差が許容範囲内か否かを判定する。   In S420, the model verification apparatus calculates a difference between the calculation result calculated based on the reference model and the calculation result calculated based on the comparison model as an error generated in the selected block in the comparison model, and the error is calculated. Determine whether it is within the allowable range.

ここで、誤差が許容範囲内か否かの判定を以下のようにして行うことが考えられる。
すなわち、例えば、比較モデルにおいて、選択中のブロックにて固定小数点数型変数が用いられている場合であれば、これらの固定小数点数型変数の重みのうち、最も大きい重みを誤差の絶対値の許容範囲としても良い。また、出力データが固定小数点数型変数に保存される場合であれば、該固定小数点数型変数の重みを誤差の絶対値の許容範囲としても良い。
Here, it is conceivable to determine whether or not the error is within the allowable range as follows.
That is, for example, in the comparative model, if a fixed-point number type variable is used in the selected block, the largest weight among the weights of these fixed-point number type variables is the absolute value of the error. It may be an allowable range. If the output data is stored in a fixed-point number type variable, the weight of the fixed-point number type variable may be set as the allowable range of the absolute value of the error.

また、例えば、比較モデルにおいて、選択中のブロックへの入力データが固定小数点数型の変数に保存されている場合であれば、該入力データが示す入力値から該重みを減じた下限値から、該入力値に該重みを加算した上限値までの範囲を、該入力値の想定変動範囲としても良い。そして、各入力値が想定変動範囲内で変動した場合に当該ブロックの演算結果が変動する変動範囲を、当該ブロックにて得られる誤差を含んだ演算結果の許容範囲とし、これに基づき誤差の許容範囲を特定しても良い。なお、上記入力データが保存されている変数の重みが、特許請求の範囲における最大誤差に相当する。   Also, for example, in the comparison model, if the input data to the selected block is stored in a fixed-point number type variable, from the lower limit value obtained by subtracting the weight from the input value indicated by the input data, A range up to an upper limit value obtained by adding the weight to the input value may be set as an assumed fluctuation range of the input value. The fluctuation range in which the calculation result of the block fluctuates when each input value fluctuates within the assumed fluctuation range is set as the allowable range of the calculation result including the error obtained in the block. A range may be specified. The weight of the variable storing the input data corresponds to the maximum error in the claims.

具体例を挙げると、選択中のブロックの入力データをx,y、当該ブロックの演算手順をx+y=z、xについての重みを0.5,yについての重みを0.1、誤差を含まないx,yの値をX,Yと仮定する。このとき、x,yは、X−0.5<x<X+0.5,Y−0.1<y<Y+0.1の範囲で変動し、当該ブロックにて得られる誤差を含んだ演算結果は、X+Y−0.6<z<X+Y+0.6となる。このため、当該ブロックの誤差ΔZの許容範囲は、−0.6<ΔZ<0.6となる。   As a specific example, the input data of the selected block is x, y, the calculation procedure of the block is x + y = z, the weight for x is 0.5, the weight for y is 0.1, and no error is included. Assume that the values of x and y are X and Y. At this time, x and y vary in the range of X−0.5 <x <X + 0.5 and Y−0.1 <y <Y + 0.1, and the calculation result including an error obtained in the block is X + Y−0.6 <z <X + Y + 0.6. For this reason, the allowable range of the error ΔZ of the block is −0.6 <ΔZ <0.6.

また、上述の方法に限らず、制御仕様210に基づき、選択中のブロックにおける入力データに含まれる誤差の想定範囲(例えば、最大で±3%の誤差が含まれることが想定される等)を予め設定しておき、該想定範囲を、入力データが示す入力値の想定変動範囲としても良い。そして、各入力値が想定変動範囲内で変動した場合に当該ブロックの演算結果が変動する変動範囲を、当該ブロックにて得られる誤差を含んだ演算結果の許容範囲とし、これに基づき誤差の許容範囲を特定しても良い。なお、上記誤差の想定範囲における最大値並びに最小値が、特許請求の範囲における最大誤差に相当する。   Further, not limited to the above-described method, based on the control specification 210, an estimated range of errors included in input data in the selected block (for example, it is assumed that a maximum of ± 3% error is included). It may be set in advance and the assumed range may be an assumed fluctuation range of the input value indicated by the input data. The fluctuation range in which the calculation result of the block fluctuates when each input value fluctuates within the assumed fluctuation range is set as the allowable range of the calculation result including the error obtained in the block. A range may be specified. The maximum value and the minimum value in the assumed range of the error correspond to the maximum error in the claims.

そして、モデル検証装置は、誤差が許容範囲内である場合には(S420:Yes)、S425に処理を移行し、許容範囲内でない場合には(S420:No)、S430に処理を移行する。   If the error is within the allowable range (S420: Yes), the model verification apparatus shifts the process to S425. If the error is not within the allowable range (S420: No), the model verification apparatus shifts the process to S430.

S425では、モデル検証装置は、ディスプレイ10に表示中のモデルにおいて、選択中のブロックの強調表示(警告表示)を行い、S430に処理を移行する。なお、ブロックにおける誤差が許容範囲を超えた場合に限らず、誤差が生じていることを表す表示を行っても良い。   In S425, the model verification apparatus performs highlighted display (warning display) of the selected block in the model currently displayed on the display 10, and shifts the processing to S430. In addition, not only when the error in the block exceeds the allowable range, a display indicating that an error has occurred may be performed.

S430では、モデル検証装置は、選択中のブロックが、最後に実行されるブロックであるか否かを判定し、肯定判定が得られた場合には(S430:Yes)、本処理を終了すると共に、否定判定が得られた場合には(S430:No)、S435に処理を移行する。   In S430, the model verification apparatus determines whether or not the selected block is the block to be executed last. If an affirmative determination is obtained (S430: Yes), the process ends. If a negative determination is obtained (S430: No), the process proceeds to S435.

S435では、モデル検証装置は、比較モデルにおける選択中のブロックの演算結果(出力データ)を、基準モデルにおける選択中のブロックの出力データに置き換えることで、次以降に実行されるブロックへの入力データを同一にする(換言すれば、比較モデルにおける選択中のブロックで生成された誤差をキャンセルする)。そして、S440に処理を移行する。   In S435, the model verification apparatus replaces the calculation result (output data) of the block being selected in the comparison model with the output data of the block being selected in the reference model, so that the input data to the block to be executed next and thereafter (In other words, the error generated in the selected block in the comparison model is canceled). Then, the process proceeds to S440.

S440では、モデル検証装置は、次に実行されるべきブロックを選択し、S415に処理を移行する。
次に、モデル検証装置のディスプレイ10に表示される、比較処理での各ブロックの比較結果を示す表示画面500について、図6を用いて説明する。
In S440, the model verification apparatus selects a block to be executed next, and proceeds to S415.
Next, a display screen 500 showing a comparison result of each block in the comparison process displayed on the display 10 of the model verification apparatus will be described with reference to FIG.

表示画面500には、基準モデル(或いは比較モデル)を表示するモデル表示領域510が設けられており、モデル表示領域510には、基準モデルを構成する各ブロック(A演算ブロック511〜C演算ブロック513等)が表示される。これらのブロックは、比較処理における誤差の判定結果に応じて異なる態様で表示される。   The display screen 500 is provided with a model display area 510 for displaying a reference model (or a comparison model). Each block (A calculation block 511 to C calculation block 513) constituting the reference model is provided in the model display area 510. Etc.) is displayed. These blocks are displayed in different modes depending on the error determination result in the comparison process.

なお、図6の表示画面500は、一例として、誤差の絶対値の許容範囲として、ブロックにて用いられている固定小数点数型変数(或いは、ブロックからの出力データが保存される固定小数点数型変数)の重み(1LSB)が設定されている場合における、各ブロックの表示態様を示している。   Note that the display screen 500 of FIG. 6 shows, as an example, a fixed-point number type variable used in a block (or a fixed-point number type in which output data from the block is stored) as an allowable range of absolute values of errors. The display mode of each block when the weight (1LSB) of (variable) is set is shown.

表示画面500では、出力データの誤差の絶対値が重みを超えるC演算ブロック513については、最も目立つ態様で強調表示がなされている。また、本実施形態の比較処理では、許容範囲を超えるブロックについてのみ強調表示を行うものとしたが、表示画面500では、許容範囲内の誤差が生じているB演算ブロック512についても、強調表示がなされている。   In the display screen 500, the C calculation block 513 in which the absolute value of the error of the output data exceeds the weight is highlighted in the most conspicuous manner. In the comparison processing of the present embodiment, highlighting is performed only for blocks that exceed the allowable range. However, on the display screen 500, highlighting is also performed for the B operation block 512 in which an error within the allowable range occurs. Has been made.

また、モデル表示領域510の下方には、各ブロックの誤差を表示する誤差表示領域520が設けられており、該領域では、各ブロックにおける誤差と、該誤差が許容範囲内か否かが表示されている。   An error display area 520 for displaying the error of each block is provided below the model display area 510. In this area, an error in each block and whether or not the error is within an allowable range are displayed. ing.

[効果]
本実施形態の検証作業フローでは、比較モデルから得られる演算結果と理論値との比較により、該演算結果に許容範囲を超える誤差が含まれていることが判明した場合には、モデル検証装置により比較処理が行われる。そして、比較処理では、基準モデル並びに比較モデルにおける各ブロックについて、各モデルから得られる演算結果を比較した結果が表示される。
[effect]
In the verification work flow of the present embodiment, if it is found by comparison between the calculation result obtained from the comparison model and the theoretical value that the calculation result includes an error exceeding the allowable range, the model verification apparatus Comparison processing is performed. In the comparison process, the result of comparing the calculation results obtained from each model is displayed for each block in the reference model and the comparison model.

このため、各ブロックについて、基準モデルから得られる演算結果と比較モデルから得られる演算結果とがどの程度乖離しているかを容易に把握することができ、比較モデルにて生じる演算誤差の原因となっているブロックを容易に特定することができる。   For this reason, for each block, it can be easily grasped how much the calculation result obtained from the reference model and the calculation result obtained from the comparison model are different, which causes a calculation error in the comparison model. Can be easily identified.

[他の実施形態]
(1)本実施形態の比較処理のS415では、基準モデル,比較モデルにおける全てのブロックが予め定められた順序で実行され、続くS420にて全てのブロックについて演算結果の比較が行われる。しかしながら、設計支援装置は、開発者からの指示に基づき特定のブロックを選択すると共に、選択したブロックの入力値として、各モデルに対し同一の値を設定しても良い。そして、比較処理のS415において、設定した入力値を用いて選択したブロックのみを実行し、続くS420,S425にて該ブロックについての比較結果のみを表示しても良い。このような場合であっても、各モデルの演算結果が相違する原因となっている箇所を容易に見つけ出すことができる。
[Other Embodiments]
(1) In S415 of the comparison process of the present embodiment, all the blocks in the reference model and the comparison model are executed in a predetermined order, and in S420, the operation results are compared for all the blocks. However, the design support apparatus may select a specific block based on an instruction from the developer and set the same value for each model as an input value of the selected block. Then, only the block selected using the set input value may be executed in S415 of the comparison process, and only the comparison result for the block may be displayed in subsequent S420 and S425. Even in such a case, it is possible to easily find a location that causes a difference in the calculation result of each model.

(2)また、本実施形態の比較処理のS435では、誤差をキャンセルする処理を行っているが、該処理を行わなくても良い。こうすることにより、各ブロックで累積的に生じている誤差に基づき、各モデルの演算結果が相違する原因となっている箇所を見つけ出すことができる。   (2) Further, in S435 of the comparison process of the present embodiment, a process for canceling the error is performed, but the process may not be performed. By doing so, it is possible to find a location that causes a difference in the calculation result of each model based on the error generated cumulatively in each block.

(3)また、本実施形態では、演算精度が高いモデルを基準モデル、演算精度の低いモデルを比較モデルとしているが、これに限定されることは無く、演算精度が低いモデルを基準モデル、演算精度の高いモデルを比較モデルとしても良い。このような場合であっても、同様の効果を得ることができる。   (3) In this embodiment, a model with high calculation accuracy is used as a reference model, and a model with low calculation accuracy is used as a comparison model. However, the present invention is not limited to this. A model with high accuracy may be used as a comparative model. Even in such a case, the same effect can be obtained.

(4)また、本実施形態の比較処理では、一つのブロック単位で演算結果の比較が行われているが、複数のブロック単位で演算結果の比較を行っても良い。このような場合であっても、比較モデルにて生じる演算誤差の原因となっている箇所を容易に特定することができる。   (4) In the comparison processing of this embodiment, the calculation results are compared in units of one block, but the calculation results may be compared in units of a plurality of blocks. Even in such a case, it is possible to easily identify the location that causes the calculation error that occurs in the comparison model.

(5)また、本実施形態では、作業フロー200に従いモデルベース開発が行われた場合を例に挙げて、モデル検証装置により行われる比較処理について説明したが、このような場合に限らず、随時、モデル検証装置を用いて比較処理を行うことができる。すなわち、浮動小数点数モデル220と固定小数点数モデル230や、固定小数点数モデル230とソースコードモデル260のように、同一の演算処理を表しているが、用いられる変数の型や、対応するブロックにおける手順の一部等が異なる二つのモデルが存在する場合には、これらのモデルを対象として比較処理を行うことができる。こうすることにより、これらのモデルにおける演算精度の相違の原因となっている箇所を、容易に見つけ出すことができる。   (5) In the present embodiment, the case where model-based development is performed according to the work flow 200 has been described as an example, but the comparison process performed by the model verification apparatus has been described. Comparison processing can be performed using a model verification apparatus. That is, the same arithmetic processing is represented as in the floating-point model 220 and the fixed-point model 230, and the fixed-point model 230 and the source code model 260, but in the type of variable used and the corresponding block. If there are two models that differ in part of the procedure, comparison processing can be performed on these models. By doing so, it is possible to easily find a location that causes a difference in calculation accuracy in these models.

[特許請求の範囲との対応]
上記実施形態の説明で用いた用語と、特許請求の範囲の記載に用いた用語との対応を示す。
[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.

モデル検証装置が設計支援装置に、モデル検証ツールが設計支援プログラムに相当し、ブロックが演算ステップに相当する。
また、比較処理のS415が基準モデル実行手段,比較モデル実行手段,基準モデル実行手順,比較モデル実行手順に、S420が比較手段,比較手順に、S425が表示手段,表示手順に、S435が調整手段に相当する。
The model verification device corresponds to a design support device, the model verification tool corresponds to a design support program, and the blocks correspond to calculation steps.
Further, S415 of the comparison process is a reference model execution means, a comparison model execution means, a reference model execution procedure, a comparison model execution procedure, S420 is a comparison means, a comparison procedure, S425 is a display means, a display procedure, and S435 is an adjustment means. It corresponds to.

1…PC、10…ディスプレイ、20…HDD、30…CPU、40…ROM、50…RAM、60…入力装置、100…モデル、110…ソースコード、200…作業フロー、210…制御仕様、220…浮動小数点数モデル、230…固定小数点数モデル、240…モデル検証作業、250…固定小数点数コード、260…ソースコードモデル、270…コード検証作業、500…表示画面、510…モデル表示領域、520…誤差表示領域。   DESCRIPTION OF SYMBOLS 1 ... PC, 10 ... Display, 20 ... HDD, 30 ... CPU, 40 ... ROM, 50 ... RAM, 60 ... Input device, 100 ... Model, 110 ... Source code, 200 ... Work flow, 210 ... Control specification, 220 ... Floating point number model, 230 ... Fixed point number model, 240 ... Model verification work, 250 ... Fixed point number code, 260 ... Source code model, 270 ... Code verification work, 500 ... Display screen, 510 ... Model display area, 520 ... Error display area.

Claims (10)

複数の演算ステップから構成される演算処理を表すモデルを基準モデルとし、予め定められた入力値を設定して該基準モデルに基づき該演算処理を実行してそれぞれの前記演算ステップにおける演算結果を得る基準モデル実行手段と、
前記基準モデルと同様の前記演算処理を表すモデルであって、少なくとも一つの前記演算ステップが前記基準モデルとは異なる態様で記述されているモデルを比較モデルとし、前記基準モデル実行手段と同一の入力値を設定して該比較モデルに基づき該演算処理を実行してそれぞれの前記演算ステップにおける演算結果を得る比較モデル実行手段と、
同一の前記演算ステップについて、前記基準モデル実行手段により得られた演算結果と、前記比較モデル実行手段により得られた演算結果とを比較する比較手段と、
前記比較手段による比較結果に基づき表示を行う表示手段と、
を備えることを特徴とする設計支援装置。
A model representing a calculation process composed of a plurality of calculation steps is set as a reference model, a predetermined input value is set, the calculation process is executed based on the reference model, and calculation results in the calculation steps are obtained. A reference model execution means;
A model representing the arithmetic processing similar to the reference model, in which at least one of the calculation steps is described in a manner different from the reference model, and the same input as the reference model execution means Comparison model execution means for setting the value and executing the calculation processing based on the comparison model to obtain the calculation result in each of the calculation steps;
Comparing means for comparing the calculation result obtained by the reference model execution means with the calculation result obtained by the comparison model execution means for the same calculation step;
Display means for displaying based on a comparison result by the comparison means;
A design support apparatus comprising:
請求項1に記載の設計支援装置において、
前記基準モデル実行手段による前記演算処理の実行時と、前記比較モデル実行手段による前記演算処理の実行時とにおいて、同一の前記演算ステップの入力値が同一の値となるように調整する調整手段をさらに備えること、
を特徴とする設計支援装置。
The design support apparatus according to claim 1,
An adjusting unit configured to adjust an input value of the same calculation step to be the same value when the calculation process is performed by the reference model execution unit and when the calculation process is performed by the comparison model execution unit; Further preparation,
Design support device characterized by
請求項2に記載の設計支援装置において、
前記演算処理は、それぞれの前記演算ステップが予め定められた順番で実行されると共に、前記演算ステップでの演算結果が、後に実行される前記演算ステップの入力値となるよう構成されており、
前記基準モデルでは、前記比較モデルに比べ、より高い精度で演算結果が得られる態様で前記演算ステップが記述されており、
前記調整手段は、前記比較モデル実行手段による前記演算処理の実行時の前記演算ステップの入力値が、前記基準モデル実行手段による前記演算処理の実行により得られた同一の前記演算ステップの入力値となるよう調整すること、
を特徴とする設計支援装置。
The design support apparatus according to claim 2,
The calculation process is configured such that each calculation step is executed in a predetermined order, and the calculation result in the calculation step is an input value of the calculation step to be executed later,
In the reference model, the calculation step is described in a manner in which the calculation result is obtained with higher accuracy than the comparison model,
The adjustment means is configured such that the input value of the calculation step at the time of execution of the calculation process by the comparison model execution means is the same as the input value of the calculation step obtained by the execution of the calculation process by the reference model execution means. Adjusting to be
Design support device characterized by
複数の演算ステップから構成される演算処理を表すモデルを基準モデルとし、予め定められた入力値を設定して該基準モデルに基づきいずれかの前記演算ステップを実行し、演算結果を得る基準モデル実行手段と、
前記基準モデルと同様の前記演算処理を表すモデルであって、少なくとも一つの前記演算ステップが前記基準モデルとは異なる態様で記述されているモデルを比較モデルとし、前記基準モデル実行手段により実行された前記演算ステップに関して、前記基準モデル実行手段と同一の入力値を用いて前記比較モデルに基づき該演算ステップを実行し、演算結果を得る比較モデル実行手段と、
同一の前記演算ステップについて、前記基準モデル実行手段により得られた演算結果と、前記比較モデル実行手段により得られた演算結果とを比較する比較手段と、
前記比較手段による比較結果に基づき表示を行う表示手段と、
を備えることを特徴とする設計支援装置。
A model representing a calculation process composed of a plurality of calculation steps is used as a reference model, a predetermined input value is set, one of the calculation steps is executed based on the reference model, and a reference model is executed to obtain a calculation result. Means,
A model representing the same arithmetic processing as the reference model, wherein at least one of the calculation steps is a model described in a different form from the reference model, and is executed by the reference model execution means With respect to the calculation step, a comparison model execution unit that executes the calculation step based on the comparison model using the same input value as the reference model execution unit, and obtains a calculation result;
Comparing means for comparing the calculation result obtained by the reference model execution means with the calculation result obtained by the comparison model execution means for the same calculation step;
Display means for displaying based on a comparison result by the comparison means;
A design support apparatus comprising:
請求項1から請求項4のうちのいずれか1項に記載の設計支援装置であって、
前記表示手段は、前記演算ステップに対応する箇所と、該演算ステップについての前記比較結果とを関連付けた状態で、前記基準モデル或いは前記比較モデルを表示すること、
を特徴とする設計支援装置。
The design support apparatus according to any one of claims 1 to 4,
The display means displays the reference model or the comparison model in a state in which the location corresponding to the calculation step is associated with the comparison result for the calculation step;
Design support device characterized by
請求項1から請求項5のうちのいずれか1項に記載の設計支援装置において、
前記比較手段は、前記演算ステップについて、前記基準モデル実行手段により得られた演算結果と、前記比較モデル実行手段により得られた演算結果との差分を算出し、該差分に関する情報を前記比較結果とすること、
を特徴とする設計支援装置。
The design support apparatus according to any one of claims 1 to 5,
The comparison means calculates a difference between the calculation result obtained by the reference model execution means and the calculation result obtained by the comparison model execution means for the calculation step, and information about the difference is calculated as the comparison result. To do,
Design support device characterized by
請求項6に記載の設計支援装置において、
前記基準モデルでは、前記比較モデルに比べ、より高い精度で演算結果が得られる態様で前記演算ステップが記述されており、
前記比較手段は、前記演算ステップについての前記差分が予め定められた許容範囲内か否かを判定し、該判定結果を前記比較結果とすること、
を特徴とする設計支援装置。
The design support apparatus according to claim 6,
In the reference model, the calculation step is described in a manner in which the calculation result is obtained with higher accuracy than the comparison model,
The comparing means determines whether the difference with respect to the calculation step is within a predetermined allowable range, and sets the determination result as the comparison result;
Design support device characterized by
請求項7に記載の設計支援装置において、
前記比較手段による前記差分の判定に用いられる前記許容範囲とは、該差分に係る前記演算ステップの入力値に含まれることが想定される最大誤差に基づき設定されること、
を特徴とする設計支援装置。
The design support apparatus according to claim 7,
The allowable range used for the determination of the difference by the comparison means is set based on a maximum error assumed to be included in the input value of the calculation step related to the difference;
Design support device characterized by
複数の演算ステップから構成される演算処理を表すモデルを基準モデルとし、予め定められた入力値を設定して該基準モデルに基づき該演算処理を実行してそれぞれの前記演算ステップにおける演算結果を得る基準モデル実行手順と、
前記基準モデルと同様の前記演算処理を表すモデルであって、少なくとも一つの前記演算ステップが前記基準モデルとは異なる態様で記述されているモデルを比較モデルとし、前記基準モデル実行手順と同一の入力値を設定して該比較モデルに基づき該演算処理を実行してそれぞれの前記演算ステップにおける演算結果を得る比較モデル実行手順と、
同一の前記演算ステップについて、前記基準モデル実行手順で得られた演算結果と、前記比較モデル実行手順で得られた演算結果とを比較する比較手順と、
前記比較手順にて得られた比較結果に基づき表示を行う表示手順と、
をコンピュータに実行させることを特徴とする設計支援プログラム。
A model representing a calculation process composed of a plurality of calculation steps is set as a reference model, a predetermined input value is set, the calculation process is executed based on the reference model, and calculation results in the calculation steps are obtained. Reference model execution procedure,
A model representing the same arithmetic processing as the reference model, in which at least one of the calculation steps is described in a mode different from the reference model, and the same input as the reference model execution procedure A comparison model execution procedure for setting the value and executing the calculation process based on the comparison model to obtain the calculation result in each of the calculation steps;
For the same calculation step, a comparison procedure for comparing the calculation result obtained in the reference model execution procedure with the calculation result obtained in the comparison model execution procedure;
A display procedure for displaying based on the comparison result obtained in the comparison procedure;
A design support program characterized by causing a computer to execute.
複数の演算ステップから構成される演算処理を表すモデルを基準モデルとし、予め定められた入力値を設定して該基準モデルに基づきいずれかの前記演算ステップを実行し、演算結果を得る基準モデル実行手順と、
前記基準モデルと同様の前記演算処理を表すモデルであって、少なくとも一つの前記演算ステップが前記基準モデルとは異なる態様で記述されているモデルを比較モデルとし、前記基準モデル実行手順にて実行された前記演算ステップに関して、前記基準モデル実行手順と同一の入力値を用いて前記比較モデルに基づき該演算ステップを実行し、演算結果を得る比較モデル実行手順と、
同一の前記演算ステップについて、前記基準モデル実行手順で得られた演算結果と、前記比較モデル実行手順で得られた演算結果とを比較する比較手順と、
前記比較手順にて得られた比較結果に基づき表示を行う表示手順と、
をコンピュータに実行させることを特徴とする設計支援プログラム。
A model representing a calculation process composed of a plurality of calculation steps is used as a reference model, a predetermined input value is set, one of the calculation steps is executed based on the reference model, and a reference model is executed to obtain a calculation result. Procedure and
A model representing the calculation process similar to the reference model, wherein at least one of the calculation steps is a model described in a different form from the reference model, and is executed in the reference model execution procedure. With respect to the calculation step, a comparison model execution procedure for executing the calculation step based on the comparison model using the same input values as the reference model execution procedure and obtaining a calculation result;
For the same calculation step, a comparison procedure for comparing the calculation result obtained in the reference model execution procedure with the calculation result obtained in the comparison model execution procedure ;
A display procedure for displaying based on the comparison result obtained in the comparison procedure;
A design support program characterized by causing a computer to execute.
JP2011063119A 2011-03-22 2011-03-22 Design support device, design support program Active JP5589919B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011063119A JP5589919B2 (en) 2011-03-22 2011-03-22 Design support device, design support program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011063119A JP5589919B2 (en) 2011-03-22 2011-03-22 Design support device, design support program

Publications (2)

Publication Number Publication Date
JP2012198804A JP2012198804A (en) 2012-10-18
JP5589919B2 true JP5589919B2 (en) 2014-09-17

Family

ID=47180943

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011063119A Active JP5589919B2 (en) 2011-03-22 2011-03-22 Design support device, design support program

Country Status (1)

Country Link
JP (1) JP5589919B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6519530B2 (en) * 2016-06-02 2019-05-29 株式会社デンソー Verification apparatus, verification program, and verification method
KR102564456B1 (en) 2017-10-19 2023-08-07 삼성전자주식회사 Method and apparatus for quantizing parameter of neural network
JP7318485B2 (en) * 2019-10-25 2023-08-01 株式会社デンソー Automatic code generation method, code program, electronic controller, automatic code generation program, and automatic code generation device
JP7415593B2 (en) * 2020-01-24 2024-01-17 株式会社デンソー Code inspection tools, code inspection methods
JP7352107B2 (en) * 2021-09-24 2023-09-28 東芝情報システム株式会社 Arithmetic error warning device and arithmetic error warning program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61134841A (en) * 1984-12-05 1986-06-21 Nec Corp Program production system
JP4403945B2 (en) * 2003-12-19 2010-01-27 株式会社デンソー Inspection method, inspection apparatus and inspection program for control program
JP2010282551A (en) * 2009-06-08 2010-12-16 Toyota Motor Corp Information processing apparatus

Also Published As

Publication number Publication date
JP2012198804A (en) 2012-10-18

Similar Documents

Publication Publication Date Title
JP5589919B2 (en) Design support device, design support program
CN110506256B (en) Method for generating source code
US20190258460A1 (en) Method and system for generating a software component
JP2005078243A (en) Microcomputer resource consumption estimating program, microcomputer resource consumption estimating device, and program generating method
EP3721303B1 (en) Simulation apparatus, system, method and program
JP2014174728A (en) Cost calculation device, cost calculation method, and program
US11126408B2 (en) Incremental code generation method
JP6471615B2 (en) Performance information generation program, performance information generation method, and information processing apparatus
JP2012185542A (en) Code generation device and code generation program
JP5811978B2 (en) Test case generation apparatus and test case generation method for model-based control apparatus
JP2013161219A (en) Code generation device and code generation program
JP6320269B2 (en) Software test support apparatus and software test support program
US10223077B2 (en) Determination of signals for readback from FPGA
JP6519530B2 (en) Verification apparatus, verification program, and verification method
JP2008090699A (en) Method, apparatus and program of trace logging
JP2015056140A (en) Clone detection method and clone common function method
JP4529964B2 (en) Simulation device, simulation method, and simulation program
JP2013045421A (en) Maintenance degree measurement device
US20100077383A1 (en) Simulation method and storage medium for storing program
JP4196773B2 (en) Electronic control device design and development system, program, recording medium
JP2010009435A (en) Software development environment, and equipment mounted with software developed using the same
US20150310134A1 (en) Interference detection in a three-dimensional data model
JP5602273B1 (en) Power system simulator, power system simulation program, and simulation method
JP2007323299A (en) Apparatus and program for determining review execution order, recording medium with the program stored, and method for determining review execution order
JP5867055B2 (en) Control device and simulation method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140526

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: 20140701

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140714

R151 Written notification of patent or utility model registration

Ref document number: 5589919

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250