JP2008276556A - Cross verification device - Google Patents

Cross verification device Download PDF

Info

Publication number
JP2008276556A
JP2008276556A JP2007119935A JP2007119935A JP2008276556A JP 2008276556 A JP2008276556 A JP 2008276556A JP 2007119935 A JP2007119935 A JP 2007119935A JP 2007119935 A JP2007119935 A JP 2007119935A JP 2008276556 A JP2008276556 A JP 2008276556A
Authority
JP
Grant status
Application
Patent type
Prior art keywords
step
assertion
specification
language
plurality
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007119935A
Other languages
Japanese (ja)
Other versions
JP4924188B2 (en )
Inventor
Meichin Cho
明珍 丁
Original Assignee
Toyota Motor 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

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a cross verification device capable of performing cross verification among a natural language specification, a C-language program and a GUI-base control logic in development of control software for engine, and capable of consequently enhancing the efficiency of the development; a cross verification method; and a cross verification program. <P>SOLUTION: The cross verification device prepares operation specifications, a C-code for engine control and a GUI logic for engine control, generates an assertion based on the prepared operation specifications, C-code and GUI logic, inserts the generated assertion to the C-code and the GUI logic, converts the generated assertion, the C-code with the assertion inserted thereto and the GUI logic with the assertion inserted thereto into CNF (conjunctive normal form), performs cross verification of the converted C-code and GUI logic based on the formed operation specification, and displays the verification result. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、クロス検証装置、クロス検証方法およびクロス検証プログラムに関するものである。 The present invention is a cross verification apparatus, and a cross-validation method and cross validation program.

近年、UML(Unified Modeling Language)などのモデリング言語によるソフトウェアの設計や検査、テストケースの生成の手法が様々な形で紹介されており、例えばEsterel Technologies社のSCADEやカーネギーメロン大学(Carnegie Mellon University)のCBMCがその代表である。 In recent years, UML (Unified Modeling Language) modeling language design and testing of the software by, such as, the method of generation of test cases has been introduced in various forms, for example Esterel Technologies, Inc. of SCADE and Carnegie Mellon University (Carnegie Mellon University) of CBMC is its representative. また、このような手法は、ソフトウェアの設計初期段階から導入しなければならない。 In addition, such an approach must be introduced from the initial design phase of the software.

しかし、自動車メーカーなどにおいてエンジンの制御ソフトウェアを開発する場合、仕様記述言語を使わず、信頼性が保証されている既存のCコード(いわゆるレガシコード)を使用して、例えばMathwork社のMATLAB(登録商標)のようなGUIベースのツールで、新たなモジュールを開発して既存のモジュールに加えることが多い。 However, when developing the engine control software in the automobile manufacturers, without a specification description language, using existing C code reliability is guaranteed (so-called legacy code), for example Mathwork Inc. MATLAB (registered a GUI-based tool, such as a trademark), are often added to the existing module to develop a new module. また、C言語で記述されたロジックとGUIベースで設計されたロジックとで、同じモジュールが混在する場合が多い。 Further, in a logic designed with logic and GUI-based written in C language, often identical modules are also present. そのため、既存のCコードと新たに開発されたGUIベースのロジックとの間に自然言語の検証項目を埋め込んで検証を行うことが望まれていた。 Therefore, it has been desired be verified by embedding verification item natural language between the existing C code and the newly developed GUI-based logic. つまり、自然言語で記述した仕様書、作成したC言語プログラムおよび作成したGUIベースの制御ロジックの間でクロス検証(クロス検査)を行うことが望まれていた。 That is, specifications written in natural language, to perform cross-validation (cross check) has been desired between the C language program and created GUI-based control logic created.

そこで、ソフトウェアの検証に関する技術として、特許文献1や特許文献2、特許文献3が開示されている。 Therefore, as a technique relating to verification of software, Patent Document 1 and Patent Document 2, Patent Document 3 discloses. 特許文献1には、コミュニケーションプロトコルソフトウェアの開発において、標準仕様記述言語を使って仕様を記述してテストケースを自動生成したり、当該テストケース生成のために標準仕様記述言語を第2の仕様記述言語へ変換したりするシステム等に関する技術が開示されている。 Patent Document 1, in the development of communication protocol software, or automatically generate test cases by writing specifications using standard specification language, the second specification describe the standard specification language for the test case generation It discloses a technique related to a system or the like or to convert to language. 特許文献2には、モデル検査プログラムの使用のために、モデル記述言語を翻訳するモデル検査支援装置等に関する技術が開示されている。 Patent Document 2, for use in model checking programs, discloses a technique for the model inspection support apparatus or the like for translating the model description language. 特許文献3には、多くのモデルを並列動作させるための検証機能を持つ機能検証装置等に関する技術が開示されている。 Patent Document 3, a technique for functional verification device or the like having a verification function for causing the parallel operation of many models have been disclosed.

特開2006−134284号公報 JP 2006-134284 JP 特開2007−11605号公報 JP 2007-11605 JP 特開2006−18429号公報 JP 2006-18429 JP

しかしながら、従来技術では、自然言語の仕様とC言語プログラムとの検証や自然言語の仕様と制御ロジックとの検証が個別に支援されているのみなので(従来技術の一例を示す図38を参照)、エンジンの制御ソフトウェアの開発において依然として上述したクロス検証を実現できないという問題点があった。 However, in the prior art, (see Figure 38 illustrates an example of a prior art) because only the validation of the specification and the control logic verification and natural language and natural language specification and C language program is assisted individually, still there is a problem that can not be realized cross validation described above in the development of control software of the engine.

本発明は、上記問題点に鑑みてなされたものであって、エンジンの制御ソフトウェアの開発において自然言語の仕様とC言語のプログラムとGUIベースの制御ロジックとのクロス検証を行うことができ、結果的に当該開発の効率を高めることができるクロス検証装置、クロス検証方法およびクロス検証プログラムを提供することを目的とする。 The present invention was made in view of the above problems, it can be cross validation with the natural language specifications and C language program and GUI based control logic in the development of control software of the engine, results to cross the verification device that can increase the efficiency of the development, and to provide a cross-validation method and cross validation program.

上述した課題を解決し、目的を達成するために、本発明にかかる請求項1に記載のクロス検証装置は、所定の言語で仕様を作成する仕様作成手段と、互いに異なる所定の言語でモデルを作成する複数のモデル作成手段と、前記仕様作成手段で作成した前記仕様および複数の前記モデル作成手段で作成した複数の前記モデルを所定の言語に変換する言語変換手段と、前記言語変換手段で言語が変換された後の前記仕様に基づいて、言語が変換された後の各々の前記モデルを、他の前記モデルと対比しながら検証するクロス検証手段と、前記クロス検証手段での検証結果を出力したり、前記クロス検証手段で反例を生成した場合にはさらに前記反例をテストデータとして出力したりする結果出力手段と、を備えたことを特徴とする。 To solve the above problems and achieve the object, the cross validation device according to claim 1 according to the present invention includes: a specification creation means for creating a specification in a predetermined language, the model with different predetermined language from each other a plurality of model creation means for creating a language conversion means for converting a plurality of the models created by the specification and a plurality of said model creating means created in the specification creation means in a predetermined language, the language in the language conversion means There, based on the specification after conversion, each said model after the language is converted, and cross verification means for verifying while comparing with other of said model outputs the verification result in the cross validation means or, characterized by comprising a result output means for further and outputs the counterexample as test data when generating the counter-example by the cross validation means.

本発明にかかる請求項2に記載のクロス検証装置は、請求項1に記載のクロス検証装置において、前記仕様作成手段で作成した前記仕様および複数の前記モデル作成手段で作成した複数の前記モデルに基づいてアサーションを生成するアサーション生成手段と、前記アサーション生成手段で生成した前記アサーションを、複数の前記モデル作成手段で作成した複数の前記モデルに挿入するアサーション挿入手段とをさらに備え、前記言語変換手段は、前記仕様作成手段で作成した前記仕様、前記アサーション挿入手段で前記アサーションが挿入された後の複数の前記モデルおよび前記アサーション生成手段で生成した前記アサーションを前記所定の言語に変換することを特徴とする。 Cross verification device according to claim 2 according to the present invention, in a cross verification apparatus according to claim 1, the plurality of the models created by the specification and a plurality of said model creating means created in the specification creation means and assertion generating unit that generates an assertion based on, the assertion generated in the assertion generating means, anda assertion inserting means for inserting a plurality of the models created by a plurality of said model generating means, said language conversion means , the specification created by the specification creation means, characterized in that converting the assertion generated in the plurality of the models and the assertion generating means after said assertion is inserted in the assertion inserting means to the predetermined language to.

また、本発明にかかる請求項3に記載のクロス検証装置は、請求項1または2に記載のクロス検証装置において、前記言語変換手段は、前記仕様および複数の前記モデルに含まれる変数を論理ゲートを用いて並列的に2進変数へ変換し、2進変数へ変換した後の前記仕様および複数の前記モデルを所定の手法でCNF(Conjnctive Normal Form)へ変換することを特徴とする。 Also, the cross validation apparatus of claim 3 according to the present invention, in a cross verification apparatus according to claim 1 or 2, wherein the language conversion means, said specifications and logic gates variables included in the plurality of said model parallel transformed to binary variables using, and converting the specification and a plurality of said models after converting to binary variables at a predetermined approach to CNF (Conjnctive Normal Form).

また、本発明はクロス検証方法に関するものであり、本発明にかかる請求項4に記載のクロス検証方法は、所定の言語で仕様を作成する仕様作成ステップと、互いに異なる所定の言語でモデルを作成する複数のモデル作成ステップと、前記仕様作成ステップで作成した前記仕様および複数の前記モデル作成ステップで作成した複数の前記モデルを所定の言語に変換する言語変換ステップと、前記言語変換ステップで言語が変換された後の前記仕様に基づいて、言語が変換された後の各々の前記モデルを、他の前記モデルと対比しながら検証するクロス検証ステップと、前記クロス検証ステップでの検証結果を出力したり、前記クロス検証ステップで反例を生成した場合にはさらに前記反例をテストデータとして出力したりする結果出力ステッ Further, the present invention relates to cross-validation method, the cross validation method according to claim 4 of the present invention, creation and specifications generating step of generating a specification in a predetermined language, the model with different predetermined language from each other a plurality of model creation step of, a language conversion step of converting a plurality of the models created by the specification and the plurality of said modeling step created in the specification creation step to a predetermined language, the language in the language conversion step based on the specifications after being transformed, each said model after the language is converted, the cross validation step of verifying while comparing with other of the model, and outputs the verification result in the cross validation step or the result and outputs the further the counterexample in the case that generated the counterexample cross validation step as the test data output step と、を含むことを特徴とする。 Characterized in that it comprises a and.

また、本発明にかかる請求項5に記載のクロス検証方法は、請求項4に記載のクロス検証方法において、前記仕様作成ステップで作成した前記仕様および複数の前記モデル作成ステップで作成した複数の前記モデルに基づいてアサーションを生成するアサーション生成ステップと、前記アサーション生成ステップで生成した前記アサーションを、複数の前記モデル作成ステップで作成した複数の前記モデルに挿入するアサーション挿入ステップとをさらに含み、前記言語変換ステップは、前記仕様作成ステップで作成した前記仕様、前記アサーション挿入ステップで前記アサーションが挿入された後の複数の前記モデルおよび前記アサーション生成ステップで生成した前記アサーションを前記所定の言語に変換することを特徴とする。 Also, the cross validation method according to claim 5 according to the present invention, the cross validation method according to claim 4, a plurality of said created by the specification and the plurality of said modeling step created in the specification creation step and assertion generating step of generating an assertion based on the model, the assertion generated in the assertion generating step further includes the assertion insertion step of inserting a plurality of the models created by a plurality of said model creating step, the language conversion step, the specifications created by the specification creation step, converting the assertion generated in the plurality of the models and the assertion generating step after the assertion is inserted in the assertion insertion step into the predetermined language the features.

また、本発明にかかる請求項6に記載のクロス検証方法は、請求項4または5に記載のクロス検証方法において、前記言語変換ステップは、前記仕様および複数の前記モデルに含まれる変数を論理ゲートを用いて並列的に2進変数へ変換し、2進変数へ変換した後の前記仕様および複数の前記モデルを所定の手法でCNF(Conjnctive Normal Form)へ変換することを特徴とする。 Also, the cross validation method according to claim 6 according to the present invention, the cross validation method according to claim 4 or 5, wherein the language conversion step, the variable logic gates included in the specification and a plurality of said model parallel transformed to binary variables using, and converting the specification and a plurality of said models after converting to binary variables at a predetermined approach to CNF (Conjnctive Normal Form).

また、本発明はクロス検証プログラムに関するものであり、本発明にかかる請求項7に記載のクロス検証プログラムは、所定の言語で仕様を作成する仕様作成ステップと、互いに異なる所定の言語でモデルを作成する複数のモデル作成ステップと、前記仕様作成ステップで作成した前記仕様および複数の前記モデル作成ステップで作成した複数の前記モデルを所定の言語に変換する言語変換ステップと、前記言語変換ステップで言語が変換された後の前記仕様に基づいて、言語が変換された後の各々の前記モデルを、他の前記モデルと対比しながら検証するクロス検証ステップと、前記クロス検証ステップでの検証結果を出力したり、前記クロス検証ステップで反例を生成した場合にはさらに前記反例をテストデータとして出力したりする結 Further, the present invention relates to cross-validation program, cross verification program according to claim 7 according to the present invention, creation and specifications generating step of generating a specification in a predetermined language, the model with different predetermined language from each other a plurality of model creation step of, a language conversion step of converting a plurality of the models created by the specification and the plurality of said modeling step created in the specification creation step to a predetermined language, the language in the language conversion step based on the specifications after being transformed, each said model after the language is converted, the cross validation step of verifying while comparing with other of the model, and outputs the verification result in the cross validation step or, binding or to output further the counterexample in the case that generated counterexample in the cross validation step as test data 出力ステップと、を含むクロス検証方法をコンピュータに実行させることを特徴とする。 Characterized in that to execute an output step, the cross-validation method comprising to a computer.

また、本発明にかかるクロス検証プログラムは、請求項7に記載のクロス検証プログラムにおいて、前記仕様作成ステップで作成した前記仕様および複数の前記モデル作成ステップで作成した複数の前記モデルに基づいてアサーションを生成するアサーション生成ステップと、前記アサーション生成ステップで生成した前記アサーションを、複数の前記モデル作成ステップで作成した複数の前記モデルに挿入するアサーション挿入ステップとをさらに含み、前記言語変換ステップは、前記仕様作成ステップで作成した前記仕様、前記アサーション挿入ステップで前記アサーションが挿入された後の複数の前記モデルおよび前記アサーション生成ステップで生成した前記アサーションを前記所定の言語に変換することを特徴とする。 Also, cross verification program according to the present invention, in a cross verification program according to claim 7, assertions based on a plurality of the models created by the specification and the plurality of said modeling step created in the specification creation step and assertion generating step of generating, the assertion generated in the assertion generating step further includes the assertion insertion step of inserting a plurality of the models created by a plurality of said model creating step, the language conversion step, the specification the specification created by creating step, and converting the assertion generated in the plurality of the models and the assertion generating step after the assertion is inserted in the assertion inserting step to the predetermined language.

また、本発明にかかるクロス検証プログラムは、前記のいずれか1つに記載のクロス検証プログラムにおいて、前記言語変換ステップは、前記仕様および複数の前記モデルに含まれる変数を論理ゲートを用いて並列的に2進変数へ変換し、2進変数へ変換した後の前記仕様および複数の前記モデルを所定の手法でCNF(Conjnctive Normal Form)へ変換することを特徴とする。 Also, cross verification program according to the present invention, in the cross verification program according to any one of the language conversion step, parallel variables included in the specification and the plurality of the model using the logic gate to convert to a binary variable, and converting the specification and a plurality of said models after converting to binary variables to CNF (Conjnctive Normal Form) in a predetermined manner.

また、本発明は記録媒体に関するものであり、本発明にかかるコンピュータ読み取り可能な記録媒体は、前記のいずれか1つに記載のクロス検証プログラムを記録したことを特徴とする。 Further, the present invention relates to a recording medium, a computer-readable recording medium according to the present invention is characterized by recording a cross verification program according to any one of the.

本発明にかかるクロス検証装置、クロス検証方法およびクロス検証プログラムによれば、所定の言語で仕様を作成し、互いに異なる所定の言語でモデルを作成し、作成した仕様および作成した複数のモデルを所定の言語に変換し、言語が変換された後の仕様に基づいて、言語が変換された後の各々のモデルを、他のモデルと対比しながら検証し、その検証結果を出力したり、その検証で反例を生成した場合にはさらに反例をテストデータとして出力したりするので、エンジンの制御ソフトウェアの開発において自然言語の仕様とC言語のプログラムとGUIベースの制御ロジックとのクロス検証を行うことができ、結果的に当該開発の効率を高めることができるという効果を奏する。 Cross verification device according to the present invention, according to the cross-validation method and cross verification program, creates a specification in a predetermined language, a plurality of models to create a model, which is the specification and creation created by a different predetermined language from each other a predetermined converting the language, the language is based on the specification after conversion, each model after the language is converted to validate while comparing with other models, and outputs the verification result, the verification in so and outputs a further counterexample as test data when generating the counter-example, is possible to cross-validation of the natural language specification and C language program and GUI based control logic in the development of control software of the engine can, an effect that can be consequently increase the efficiency of the development. 換言すると、その過程で異なる言語が使われるエンジン(車両)開発のような環境下でクロス検証を行うことができ、結果的に当該開発の効率を高めることができるという効果を奏する。 In other words, an effect that the environment cross validated as engines different languages ​​in the course is used (vehicle) development can be performed, it is possible to eventually improve the efficiency of the development.

また、本発明にかかるクロス検証装置、クロス検証方法およびクロス検証プログラムによれば、作成した仕様および複数のモデルに基づいてアサーションを生成し、生成したアサーションを複数のモデルに挿入し、作成した仕様、アサーションが挿入された後の複数のモデルおよび生成したアサーションを所定の言語に変換するので、エンジンの制御ソフトウェアの開発において仕様の検証を効果的に行うことができるという効果を奏する。 Also, cross verification device according to the present invention, according to the cross-validation method and cross validation program, and generates an assertion based on the specification and the plurality of models created, insert the generated assertion to a plurality of models, specifications created since convert multiple models and the generated assertion after assertion is inserted into a predetermined language, an effect that it is possible to effectively carry out the verification of the specifications in the development of control software of the engine.

また、本発明にかかるクロス検証装置、クロス検証方法およびクロス検証プログラムによれば、仕様および複数のモデルに含まれる変数を論理ゲートを用いて並列的に2進変数へ変換し、2進変数へ変換した後の仕様および複数のモデルを所定の手法でCNF(Conjnctive Normal Form)へ変換するので、エンジンの制御ソフトウェアの開発において、当該ソフトウェアのCNFへの変換(具体的には、マップ変数のCNFへの変換(後述する「実施の形態」を参照))を、計算量を減らして効率よく行うことができるという効果を奏する。 Also, cross verification device according to the present invention, according to the cross-validation method and cross validation program, parallel converted to binary variables variables included in specifications and a plurality of models using logic gates, the binary variable because converting the specification and a plurality of models of after conversion into CNF (Conjnctive Normal Form) in a predetermined manner, in the development of control software of the engine, the conversion to CNF for the software (specifically, the map variables CNF conversion (see "embodiment" described below)) to an effect that can be performed efficiently by reducing the amount of calculation.

また、本発明にかかる記録媒体によれば、コンピュータ読み取り可能なものであり、本発明にかかるクロス検証プログラムを記録するので、当該記録媒体に記録されたクロス検証プログラムをコンピュータに読み取らせて実行させることによって本発明にかかるクロス検証プログラムを、コンピュータを利用して実現することができ、本発明にかかるクロス検証プログラムと同様の効果を得ることができる。 Further, according to the recording medium according to the present invention are those computer-readable, since recording a cross verification program according to the present invention, is performed to read the cross validation program recorded in the recording medium into a computer cross verification program according to the present invention by, can be implemented using a computer, it is possible to obtain the same effect as exerted cross verification program of the present invention.

以下に、本発明にかかるクロス検証装置、クロス検証方法、クロス検証プログラムおよび記録媒体の実施の形態を、図面に基づいて詳細に説明する。 Hereinafter, the cross-validation device according to the present invention, the cross-validation method, the embodiment of the cross-validation program, and a recording medium will be described in detail with reference to the drawings. なお、本実施の形態により本発明が限定されるものではない。 It should be understood that the present invention be limited by this embodiment.

[1. [1. 本実施の形態の概要] Overview of the present embodiment]
まず、本実施の形態の概要について、図1から図4を参照して詳細に説明する。 First, an outline of this embodiment will be described in detail with reference to FIGS. 図1から図4は、本実施の形態の概要を示す図である。 Figures 1 to 4 is a diagram showing an outline of this embodiment.

本実施の形態は、図1に示すように、例えば日本語で記述した検証仕様に基づいて、例えばMathwork社のMATLAB(登録商標)で設計したエンジン制御ロジック(MATLABロジック)と例えばC言語で記述したエンジン制御ロジック(C言語ロジック)との検証を行う。 This embodiment, as shown in FIG. 1, for example on the basis of the verification specification written in Japanese, described in example Mathwork's MATLAB engine control logic (MATLAB logic), for example, C language designed (R) performing the verification of the engine control logic (C language logic).

具体的には、本実施の形態は、互いに同じモジュールが混在するMATLABロジックとC言語ロジックとを、CNFに変換した検証仕様(クロス検査項目)に基づいて、同じモジュールに関しては図2に示すようにクロスさせながら同時に検証する。 Specifically, the present embodiment, the MATLAB logic and C language logic is the same as each other module coexist, based on the verification specification converted into CNF (cross test items), for the same module as shown in FIG. 2 to verify at the same time while cross in. より具体的には、本実施の形態は、仕様マネージャーを用いて、Cコードマネージャーで記述したCコードに対応する検証項目1、MATLABロジックマネージャーで設計したMATLABロジックに対応する検証項目2を記述するだけでなく、さらに、当該Cコードと当該MATLABロジックとの両方に対応する検証項目3を記述することで、CコードとMATLABロジックとのクロス検証を実現する。 More specifically, in this embodiment, by using the specification manager describes verification item 2 corresponding to MATLAB logic designed in verification item 1, MATLAB logic manager corresponding to the C code written in C code manager well, further by describing the verification item 3 corresponding to both with the C code and the MATLAB logic, implementing the cross validation of the C code and MATLAB logic.

また、具体的には、本実施の形態は、図4に示すように、動作仕様および互いに異なるロジックに関する複数のプログラム(例えばCコードで記述されたものとMathwork社のSimulink(登録商標)で設計されたもの)をクロス検証のためにCNFに変換し、変換した後のものに基づいて動作仕様ベースのブラックボックステスト(カバレージ分析やテストケース生成を含む)とプログラムベースのホワイトボックステストとを同時に並行して行なう。 Also, specifically, in this embodiment, as shown in FIG. 4, designed with operating specifications and mutually plurality of programs for different logic (such as those written in C code and Mathwork's Simulink (registered trademark) are ones) were converted into CNF for cross verification, including operation specifications based black box testing (coverage analysis and test case generation based on what after converting) and program-based white-box testing at the same time parallel carried out.

これにより、エンジンの制御ソフトウェアの開発において自然言語の仕様とC言語のプログラムとGUIベースの制御ロジックとのクロス検証を行うことができ、結果的に当該開発の効率を高めることができる。 Thus, in the development of control software of the engine can be cross validation with the natural language specifications and C programs and GUI-based control logic, can result in increasing the efficiency of the development. 換言すると、その過程で異なる言語が使われるエンジン(車両)開発のような環境下でクロス検証を行うことができ、結果的に当該開発の効率を高めることができる。 In other words, it is possible to increase the efficiency of its environment cross validated such as engine (vehicle) developed different languages ​​in process is used can be performed, resulting in the development.

[2. [2. 本実施の形態の構成] Configuration of the Embodiment]
つぎに、本実施の形態にかかるクロス検証装置10の構成について、図5から図18を参照して説明する。 Next, the configuration of the cross verification device 10 according to this embodiment will be described with reference to FIG. 18 from FIG. 図5は、クロス検証装置10の構成の一例を示すブロック図であり、該構成のうち本発明に関係する部分のみを概念的に示している。 Figure 5 is a block diagram showing an example of the configuration of the cross verification device 10, showing conceptually only the region relevant to the present invention of the structure.

クロス検証装置10は、仕様マネージャー12aと、Cコードマネージャー12bと、GUIロジックマネージャー12cと、仕様CNF変換機14aと、CコードCNF変換機14bと、GUIロジックCNF変換機14cと、SATソルバー16と、ユーザインターフェース18と、で構成されており、これら各部は任意の通信路を介して通信可能に接続されている。 Cross verification device 10 includes a specification manager 12a, a C code manager 12b, a GUI logic manager 12c, and specifications CNF converter 14a, a C code CNF converter 14b, a GUI logic CNF converter 14c, the SAT solver 16 , a user interface 18, in which is constituted, these units are communicably connected through an optional communication channel.

仕様マネージャー12aは、本発明における仕様作成手段に相当するものであり、システムの動作や安全性を記述した仕様の管理や編集を行う。 Specifications manager 12a is equivalent to the specification creation means in the present invention, to manage and edit specifications describing the operation and safety of the system. 仕様マネージャー12aは、仕様を、CコードおよびGUIロジックで使われている変数の名前を使用して、自然言語で作成する。 Specification manager 12a is, the specification, using the name of the variables that are used in the C code and GUI logic, to create a natural language. ここで、仕様マネージャー12aの構成の一例について、図7を参照して説明する。 Here, an example of the configuration specification manager 12a, will be described with reference to FIG. 図7は、仕様マネージャー12aの構成の一例を示すブロック図である。 Figure 7 is a block diagram showing an example of the configuration specification manager 12a. 仕様マネージャー12aは、編集機能12a1と、呼び出し機能12a2と、保存機能12a3と、文法検査機能12a4と、で構成されている。 Specification manager 12a is, and editing functions 12a1, and call function 12a2, and saving function 12a3, and grammar checking function 12a4, in is configured. 編集機能12a1は、仕様の作成や編集を行う。 Edit function 12a1 is, to create and edit specifications. 呼び出し機能12a2は、仕様の作成や編集を行う際に使用する変数の名称に関するファイルを呼び出す。 Call function 12a2 calls the file relating to the name of the variable to use when you create or edit a specification. 保存機能12a3は、仕様を保存する。 Save function 12a3 is, to save the specification. 文法検査機能12a4は、仕様の文法を検査する。 Grammar checking function 12a4 is, to check the grammar of the specification.

図5に戻り、Cコードマネージャー12bは、本発明におけるモデル作成手段に相当するものであり、エンジン制御用Cコードの作成や編集、Cコード単体のシミュレーションを行う。 Returning to FIG. 5, C code manager 12b is equivalent to the model generating means in the present invention, to create and edit C code for the engine control, the simulation of C code itself. ここで、Cコードマネージャー12bの構成の一例について、図8を参照して説明する。 Here, an example of the configuration of C code manager 12b, is described with reference to FIG. 図8は、Cコードマネージャー12bの構成の一例を示すブロック図である。 Figure 8 is a block diagram showing an example of the configuration of the C code manager 12b. Cコードマネージャー12bは、編集機能12b1と、呼び出し機能12b2と、保存機能12b3と、文法検査機能12b4と、コンパイル機能12b5と、で構成されている。 C code manager 12b includes an editing function 12b1, the calling function 12b2, and storage functions 12b3, grammar checking function 12b4, there is a compilation 12b5, in configuration. 編集機能12b1は、Cコードの作成や編集を行う。 Edit function 12b1 is, to create and edit C code. 呼び出し機能12b2は、Cコードの作成や編集を行う際に使用する変数の名称に関するファイルを呼び出す。 Call function 12b2 calls a file on the name of the variable to be used when you create or edit C code. 保存機能12b3は、Cコードを保存する。 Storage function 12b3 stores C code. 文法検査機能12b4は、Cコードの文法を検査する。 Grammar checking function 12b4 is, to check the grammar of C code. コンパイル機能12b5は、Cコードをコンパイルする。 Compilation 12b5 compiles C code.

図5に戻り、GUIロジックマネージャー12cは、本発明におけるモデル作成手段に相当するものであり、GUIベースでのエンジン制御用ロジック(GUIロジック)の作成や編集、GUIロジック単体のシミュレーションを行う。 Returning to FIG. 5, GUI logic manager 12c, which corresponds to a model generating means in the present invention, create and edit GUI basis of the engine control logic (GUI logic), a simulation of the GUI logic alone performed. ここで、GUIロジックマネージャー12cの構成の一例について、図9を参照して説明する。 Here, an example of the configuration of a GUI logic manager 12c, is described with reference to FIG. 図9は、GUIロジックマネージャー12cの構成の一例を示すブロック図である。 Figure 9 is a block diagram showing an example of a configuration of a GUI logic manager 12c. GUIロジックマネージャー12cは、編集機能12c1と、呼び出し機能12c2と、保存機能12c3と、文法検査機能12c4と、で構成されている。 GUI logic manager 12c is, and editing functions 12c1, and call function 12c2, and saving function 12c3, and grammar checking function 12c4, in is configured. 編集機能12a1は、GUIロジックの作成や編集を行う。 Edit function 12a1 is, to create and edit GUI logic. 呼び出し機能12a2は、GUIロジックの作成や編集を行う際に使用する変数の名称に関するファイルを呼び出す。 Call function 12a2 calls the file relating to the name of the variable to use when you create or edit a GUI logic. 保存機能12a3は、GUIロジックを保存する。 Save function 12a3 is, to save the GUI logic. 文法検査機能12a4は、GUIロジックの文法を検査する。 Grammar checking function 12a4 is, to check the grammar of the GUI logic.

図5に戻り、仕様CNF変換機14aは、本発明における言語変換手段に相当するものであり、仕様マネージャー12aで作成した自然言語の仕様をCNFに変換する。 Returning to FIG. 5, the specification CNF converter 14a is equivalent to a language conversion means in the present invention, to convert the specifications of natural language created in specification manager 12a in CNF. CコードCNF変換機14bは、本発明における言語変換手段に相当するものであり、Cコードマネージャー12bで作成したCコードをCNFに変換する。 C code CNF converter 14b, which corresponds to a language conversion means in the present invention, to convert the C code generated by C code manager 12b in CNF. GUIロジックCNF変換機14cは、本発明における言語変換手段に相当するものであり、GUIロジックマネージャー12cで作成したGUIベースのロジックをCNFに変換する。 GUI logic CNF converter 14c, which corresponds to a language conversion means in the present invention, converts the GUI-based logic created in the GUI logic manager 12c in CNF. ここで、仕様CNF変換機14a、CコードCNF変換機14bおよびGUIロジックCNF変換機14cで行う処理の具体例について、図10を参照して説明する。 Here, specifications CNF converter 14a, a specific example of processing performed by the C code CNF converter 14b and GUI logic CNF converter 14c, is described with reference to FIG. 10. 図10は、仕様CNF変換機14a、CコードCNF変換機14bおよびGUIロジックCNF変換機14cで行う処理の具体例を示す図である。 Figure 10 is a diagram showing a specific example of a process for performing specification CNF converter 14a, C code CNF converter 14b and GUI logic CNF converter 14c. 図10に示すように、仕様CNF変換機14aは、仕様(Cコード、GUIロジック)に書かれた各単位モジュール毎に、当該モジュールがCNFライブラリとして存在する場合にはそのCNFライブラリで置き換え、CNFライブラリとして存在しない場合にはTseitin手法によりラン−タイムでCNF変換を行う。 As shown in FIG. 10, specification CNF converter 14a is, specifications (C code, GUI logic) in each unit module written in, when the module is present as CNF library replaced by its CNF library, CNF if not present as library run by Tseitin technique - performing CNF conversion time. CNFライブラリには、各単位モジュールの最適化されたCNFライブラリを用意している。 The CNF libraries are prepared optimized CNF library of each unit module.

図5に戻り、SATソルバー16は、本発明におけるクロス検証手段に相当するものであり、仕様CNF変換機14aでCNFに変換した後の仕様、CコードCNF変換機14bでCNFに変換した後のCコードおよびGUIロジックCNF変換機14cでCNFに変換した後のGUIロジックについて、互いを対比させながら同時に且つ並列的に検証を行う、つまり図2に示すようなクロス検証を行う。 Returning to FIG. 5, SAT solver 16, which corresponds to the cross validation means in the present invention, after converting into CNF specifications CNF converter 14a specifications, after converting into CNF in C code CNF converter 14b the GUI logic after converting into CNF in C code and GUI logic CNF converter 14c, simultaneously and in parallel verified while comparing each other, i.e. for cross verification, as shown in FIG. SATソルバー16は、性質が成り立つ場合には検証成功のメッセージをユーザインターフェース18に渡し、性質が成り立たない場合には検証失敗のメッセージをユーザインターフェース18に渡す。 SAT solver 16, if the property holds passes the message verification success to the user interface 18, if the property does not hold pass verification failure message to the user interface 18. SATソルバー16は、CNFが1になる2進変数の組み合わせを探し、組み合わせが無い場合には未満足(UNSAT)のメッセージを出力し、組み合わせが有る場合には満足(SAT)のメッセージおよびその組み合わせを出力する。 SAT solver 16, CNF looks for a combination of the binary variables of 1, and outputs a message of non-satisfactory when a combination is not (UNSAT), the message and its combination of satisfaction (SAT) if the combination is present to output.

ユーザインターフェース18は、本発明における結果出力手段に相当するものであり、仕様マネージャー12a、Cコードマネージャー12b、GUIロジックマネージャー12cおよびSATソルバー16への統合インターフェース環境を提供し、SATソルバー16での検証結果やテストデータを表示する。 The user interface 18 is equivalent to the result output means in the present invention, specification manager 12a, C code manager 12b, provides an integrated interface environment to the GUI logic manager 12c and SAT solver 16, verification at SAT solver 16 to view the results and test data.

ここで、ユーザインターフェース18の構成の一例について、図11を参照して説明する。 An example of the configuration of the user interface 18 will be described with reference to FIG. 11. 図11は、ユーザインターフェース18の構成の一例を示す図である。 Figure 11 is a diagram showing an example of the configuration of the user interface 18. ユーザインターフェース18は、仕様編集画面の選択領域18aと、Cコード編集画面の選択領域18bと、GUIロジック編集画面の選択領域18cと、SATソルバーオプション設定画面の選択領域18dと、クロス検証結果・テストデータ表示画面の選択領域18eと、で構成されている。 User interface 18, and the selected region 18a of the specification editing screen, and the selected region 18b of the C code editing screen, and the selected region 18c of the GUI logic editing screen, and the selected region 18d of the SAT Solver Options screen, cross-validation results test a selection area 18e of the data display screen, in being configured.

仕様編集画面の選択領域18aは、図13に示すような仕様編集画面MAを表示させるためのものである。 Selected region 18a of the specification editing screen is for displaying a specification editing screen MA as shown in Figure 13. ここで、仕様編集画面MAの一例について、図13を参照して説明する。 An example of the specifications editing screen MA, will be described with reference to FIG. 13. 図13は、仕様編集画面MAの一例を示す図である。 Figure 13 is a diagram showing an example of a specification editing screen MA. 仕様編集画面MAは、メニュー表示領域MA1と、仕様表示・編集領域MA2と、で構成されている。 Specifications editing screen MA is, the menu display area MA1, the specification display and editing area MA2, in is configured. メニュー表示領域MA1には、仕様の編集項目に関するメニュー(編集メニュー)が選択可能に表示される。 The menu display area MA1, menu about editing items in the specifications (Edit menu) are displayed so as to be selectable. 仕様表示・編集領域MA2には、仕様が編集可能に表示される。 The specification display and editing area MA2, the specification is to be able to display editing.

図11に戻り、Cコード編集画面の選択領域18bは、図14に示すようなCコード編集画面MBを表示させるためのものである。 Returning to Figure 11, the selected region 18b of the C code editing screen is for displaying the C code editing screen MB as shown in FIG. 14. ここで、Cコード編集画面MBの一例について、図14を参照して説明する。 Here, an example of C code editing screen MB, will be described with reference to FIG. 14. 図14は、Cコード編集画面MBの一例を示す図である。 Figure 14 is a diagram showing an example of the C code editing screen MB. Cコード編集画面MBは、メニュー表示領域MB1と、Cコード表示・編集領域MB2と、で構成されている。 C code editing screen MB includes a menu display area MB1, a C code display and editing area MB2, in being configured. メニュー表示領域MB1には、Cコードの編集項目に関するメニュー(編集メニュー)およびCコード単体でのシミュレーションに関するメニューが選択可能に表示される。 The menu display region MB1, menu on the Simulation of the menu (Edit menu) and C code itself about editing items C code is selectably displayed. Cコード表示・編集領域MB2には、Cコードが編集可能に表示される。 The C code display and editing area MB2, C code is capable displayed editing.

図11に戻り、GUIロジック編集画面の選択領域18cは、図15に示すようなGUIロジック編集画面MCを表示させるためのものである。 Returning to Figure 11, the selected region 18c of the GUI logic editing screen is for displaying a GUI logic editing screen MC as shown in FIG. 15. ここで、GUIロジック編集画面MCの一例について、図15を参照して説明する。 Here, an example of GUI logic editing screen MC, will be described with reference to FIG. 15. 図15は、GUIロジック編集画面MCの一例を示す図である。 Figure 15 is a diagram showing an example of a GUI logic editing screen MC. GUIロジック編集画面MCは、メニュー表示領域MC1と、GUIロジック表示・編集領域MC2と、で構成されている。 GUI logic editing screen MC is, the menu display area MC1, the GUI logic display and editing area MC2, in is configured. メニュー表示領域MC1には、GUIロジックの編集項目に関するメニュー(編集メニュー)およびGUIロジック単体でのシミュレーションに関するメニューが選択可能に表示される。 The menu display area MC1, menu on the Simulation of the menu (Edit menu) and GUI logic alone about editing item GUI logic is selectively displayed. GUIロジック表示・編集領域MC2には、GUIロジックが編集可能に表示される。 The GUI logic display and editing area MC2 is, GUI logic is able to display editing.

図11に戻り、SATソルバーオプション設定画面の選択領域18dは、図16に示すようなSATソルバーオプション設定画面MDを表示させるためのものである。 Returning to Figure 11, the selected region 18d of the SAT Solver Options screen is for displaying a SAT Solver Options screen MD as shown in FIG. 16. ここで、SATソルバーオプション設定画面MDの一例について、図16を参照して説明する。 Here, an example of SAT Solver Options screen MD, will be described with reference to FIG. 16. 図16は、SATソルバーオプション設定画面MDの一例を示す図である。 Figure 16 is a diagram showing an example of a SAT Solver Options screen MD. SATソルバーオプション設定画面MDは、SATソルバーの種類を選択したり、ループの最大iteration(繰り返し)数を指定したりするための選択・指定領域MD1で構成されている。 SAT Solver Options screen MD is to select the type of SAT solvers, and a selection-specifying areas MD1 to or specify the maximum iteration (repetition) number of loops.

図11に戻り、クロス検証結果・テストデータ表示画面の選択領域18eは、図17に示すようなクロス検証結果・テストデータ表示画面MEを表示させるためのものである。 Returning to Figure 11, the selected region 18e of the cross validation results Test data display screen is for displaying the cross validation results Test data display screen ME shown in FIG. 17. ここで、クロス検証結果・テストデータ表示画面MEの一例について、図17を参照して説明する。 Here, an example of cross validation results Test data display screen ME, it will be described with reference to FIG. 17. 図17は、クロス検証結果・テストデータ表示画面MEの一例を示す図である。 Figure 17 is a diagram showing an example of the cross validation results Test data display screen ME. クロス検証結果・テストデータ表示画面MEは、性質の成立可否や、性質が成り立たない場合に生成されたテストデータを表示したり、性質に引っ掛かるCコードおよびGUIロジックへのトレース(回答部の色反転)を行ったりする表示・トレース領域ME1で構成されている。 Cross validation results Test data display screen ME is and established whether the nature, and displays the test data generated when a property does not hold or the color of the trace (answer portion of the C code and GUI logic hooked on the nature inversion ) and a display trace area ME1 to or perform.

ここで、ユーザインターフェース18の構成は、図12に示すようなものでもよい。 Here, configuration of the user interface 18 may be as shown in Figure 12. 図12は、ユーザインターフェース18の構成の他の一例を示す図である。 Figure 12 is a diagram showing another example of a configuration of the user interface 18. 図12に示すユーザインターフェース18は、図11に示すユーザインターフェース18に、統合シミュレーション画面の選択領域18fをさらに加えたものである。 The user interface 18 shown in FIG. 12, the user interface 18 shown in FIG. 11, in which further added to the selection area 18f of the integrated simulation screen. 統合シミュレーション画面の選択領域18fは、図18に示すような統合シミュレーション画面MFを表示させるためのものである。 Selection area 18f of the integrated simulation screen is for displaying the integrated simulation screen MF shown in FIG. 18. ここで、統合シミュレーション画面MFの一例について、図18を参照して説明する。 An example of the integrated simulation screen MF, will be described with reference to FIG. 18. 図18は、統合シミュレーション画面MFの一例を示す図である。 Figure 18 is a diagram showing an example of an integrated simulation screen MF. 統合シミュレーション画面MFは、メニュー表示領域MF1と、統合シミュレーション結果表示領域MF2と、で構成されている。 Integrated simulation screen MF includes a menu display area MF1, the integrated simulation result display area MF2, in being configured. メニュー表示領域MF1には、統合シミュレーションの実行やそれに必要なデータの読み込みに関するメニュー(統合シミュレーションメニュー)が選択可能に表示される。 The menu display area MF1, menus for importing execution and data necessary for its integrated simulation (integrated simulation menu) is displayed in a selectable manner. 統合シミュレーション結果表示領域MF2には、統合シミュレーションの結果が図として表示される。 The integrated simulation result display area MF2 as a result of the integrated simulation is displayed as FIG.

また、クロス検証装置10の構成は、図6に示すようなものでもよい。 The configuration of the cross verification device 10 may be as shown in FIG. 図6は、クロス検証装置10の構成の他の一例を示すブロック図である。 Figure 6 is a block diagram showing another example of the configuration of the cross verification device 10. 図6に示すクロス検証装置10は、図5に示すクロス検証装置10に、アサーション生成・挿入部20を図示の如くさらに加えたものである。 Cross verification device 10 shown in FIG. 6, the cross verification device 10 shown in FIG. 5, is obtained by adding further as illustrated assertion generation and insertion portion 20. 図6に示すクロス検証装置10は、図5に示す仕様CNF変換機14aとCコードCNF変換機14bとGUIロジックCNF変換機14cとを一体化したCNF変換機14を図示の如く備えている。 Cross verification device 10 shown in FIG. 6 includes as a CNF converter 14 which integrates the specifications CNF converter 14a and C code CNF converter 14b and GUI logic CNF converter 14c shown in FIG. 5 shown.

アサーション生成・挿入部20は、仕様、CコードおよびGUIロジックの検証用のアサーション(assertion)を生成し、生成したアサーションをCコードおよびGUIロジックに挿入する。 Assertion generating and inserting unit 20, specification, and generates an assertion (assertion) verification of the C code and GUI logic, inserts the generated assertion to the C code and GUI logic. 具体的には、アサーション生成・挿入部20は、仕様を検証するためにアサーションを生成し、生成したアサーションがCコード(またはGUIロジック)のみの性質の場合には当該アサーションをCコード(またはGUIロジック)に直接挿入し、当該アサーションが挿入された後のCコード(またはGUIロジック)をCNF変換機14へ伝達すると共に、生成したアサーションがCコードとGUIロジックの両方に引っ掛かる場合には当該アサーションをCNF変換機14へ伝達する。 Specifically, the assertion generation and insertion unit 20 generates an assertion to verify the specification, the assertion C code when the generated assertion to the nature of C code (or GUI logic) only (or GUI directly into logic), the assertion in the case together with the assertion convey the inserted C code after (or GUI logic) to CNF converter 14, which generates the assertion is caught by both the C code and GUI logic the transmitted to CNF converter 14.

CNF変換機14は、アサーション生成・挿入部20で生成したアサーション(CコードとGUIロジックの両方に引っ掛かるもの)、アサーションが挿入された後のCコードおよびアサーションが挿入された後のGUIロジックをCNFに変換する。 CNF converter 14, assertions generated by the assertion generating and inserting unit 20 (C code to those caught by both the GUI logic), the GUI logic after the C code and assertions after assertion is inserted is inserted CNF to convert to. 具体的には、CNF変換機14は、まず、アサーションが挿入された後のCコードおよび当該アサーションが挿入された後のGUIロジックをCNFに変換し、つぎに、この変換の際に発生する2進変数のCNFエンコーディング情報からアサーションをCNFに変換し、そして、CNFに変換した後のCコード、GUIロジックおよびアサーションをSATソルバー16に伝達する。 Specifically, CNF converter 14 first converts the GUI logic after C code and the assertion after assertion is inserted is inserted into the CNF, it will be generated upon this conversion 2 converted from CNF encoding information of the advance variable assertions CNF, and transmits C code after converted into CNF, the GUI logic and assertions to the SAT solver 16. また、CNF変換機14は、SATソルバー16から反例(2進変数)が返された場合、その2進変数をCNFエンコーディング情報に基づいて一般のデータタイプに変換し、変換した後の反例をテストデータとしてユーザインターフェース18に渡す。 Further, CNF converter 14, if the counterexamples from SAT solver 16 (binary variable) is returned, and converts the binary variable for general data type based on the CNF encoding information, test counterexample after converting It passed to the user interface 18 as data. SATソルバー16は、性質が成り立たない場合には検証失敗のメッセージをユーザインターフェース18に渡すと共に、検証の際に生成した反例(2進変数)をCNF変換機14に伝達する。 SAT solver 16, if the property does not hold together pass verification failure message to the user interface 18, and transmits counterexample generated during verify (binary variables) to CNF converter 14.

[3. [3. 本実施の形態の処理] Processing of the present embodiment]
つぎに、クロス検証装置10で実行するクロス検証処理の一例を、図19を参照して説明する。 Next, an example of the cross-validation process to be executed by the cross verification device 10 will be described with reference to FIG. 19. 図19は、クロス検証装置10で実行するクロス検証処理の一例を示すフローチャートである。 Figure 19 is a flowchart showing an example of a cross-validation process performed by the cross-validation device 10. なお、ここでは、本処理を、図6に示すクロス検証装置10で行う場合について説明する。 Here, the present process, will be described a case of performing a cross verification device 10 shown in FIG.

まず、クロス検証装置10は、仕様マネージャー12aで、ユーザインターフェース18を介して、CコードやGUIロジックで使われている変数の名前を使って動作仕様を作成(記述)する(ステップSA−1)。 First, cross-verification device 10 is a specification manager 12a, via a user interface 18, create operation specification using the name of the variables used in C code or GUI logic (description) (step SA-1) . また、クロス検証装置10は、Cコードマネージャー12bで、ユーザインターフェース18を介して、エンジン制御用のCコードを作成する(ステップSA−2)。 Also, cross-verification device 10 is a C code manager 12b, via the user interface 18, to create a C code for the engine control (step SA-2). また、クロス検証装置10は、GUIロジックマネージャー12cで、ユーザインターフェース18を介して、エンジン制御用のGUIロジックを作成する(ステップSA−3)。 Also, cross-verification device 10 is a GUI logic manager 12c, via the user interface 18, to create a GUI logic for engine control (Step SA-3).

つぎに、クロス検証装置10は、アサーション生成・挿入部20で、ステップSA−1で作成した動作仕様、ステップSA−2で作成したCコードおよびステップSA−3で作成したGUIロジックに基づいて、当該動作仕様を検証するためにアサーションを生成し、生成したアサーションを当該Cコードや当該GUIロジックに挿入する(ステップSA−4:アサーション生成・挿入処理)。 Then, cross-verification device 10, in the assertion generating and inserting unit 20, operation specifications created in step SA-1, based on the GUI logic written in C code and step SA-3 created at step SA-2, generating an assertion to verify the operation specifications, it inserts the generated assertion to the C code and the GUI logic (step SA-4: assertion generating-insertion process).

ここで、アサーション生成・挿入部20で実行するアサーション生成・挿入処理の一例を、図20から図26を参照して説明する。 Here, an example of the assertion generating-insertion process to be executed by the assertion generating-insertion unit 20 will be described with reference to FIG. 26 from FIG. 20. 図20は、アサーション生成・挿入部20で実行するアサーション生成・挿入処理の一例を示す図である。 Figure 20 is a diagram showing an example of the assertion generating-insertion process to be executed by the assertion generating-insertion portion 20.

まず、クロス検証装置10は、アサーション生成・挿入部20で、ステップSA−1で作成した動作仕様からアサーションを生成する(ステップSB−1)。 First, cross-verification device 10, in the assertion generating and inserting unit 20, generates an assertion from operation specification created in step SA-1 (step SB-1). また、クロス検証装置10は、アサーション生成・挿入部20で、ステップSA−2で作成したCコードについて当該Cコードに含まれる分岐(具体的には、if−then−else、Switch、など)を分析(検出)し(ステップSB−2)、分析した分岐ごとに当該分岐に対応するアサーションを生成する(ステップSB−3)。 Also, cross-verification device 10, in the assertion generating and inserting unit 20, a branch included in the C code for C code created in step SA-2 (specifically, if-then-else, Switch, etc.) analysis (detection) (step SB-2), which generates an assertion corresponding to the branch for each analyzed branches (step SB-3). また、クロス検証装置10は、アサーション生成・挿入部20で、ステップSA−3で作成したGUIロジックについて当該GUIロジックに含まれる分岐(具体的には、if−then−else、Switch、など)を分析(検出)し(ステップSB−4)、分析した分岐ごとに当該分岐に対応するアサーションを生成する(ステップSB−5)。 Also, cross-verification device 10, in the assertion generating and inserting unit 20, a branch included in the GUI logic for GUI logic created in step SA-3 (specifically, if-then-else, Switch, etc.) analysis (detection) (step SB-4), which generates an assertion corresponding to the branch for each analyzed branches (step SB-5).

つぎに、クロス検証装置10は、アサーション生成・挿入部20で、ステップSB−1で生成したアサーションやステップSB−3で生成した分岐ごとのアサーションを、CコードやGUIロジックで使われる変数名をその使用場所(ファイル名や行番号)と関連付けて格納した変数ディクショナリーを参照して、ステップSA−2で作成したCコードに挿入する(ステップSB−6)。 Then, cross-verification device 10, in the assertion generating and inserting unit 20, the assertion of each branch generated in assertions and Step SB-3 produced in Step SB-1, the variable names used in C code and GUI logic refers to a variable dictionary stored in association with the place of use (the file name and line number), inserted into C code created in step SA-2 (step SB-6). また、クロス検証装置10は、アサーション生成・挿入部20で、ステップSB−1で生成したアサーションやステップSB−5で生成した分岐ごとのアサーションを、変数ディクショナリーを参照して、ステップSA−3で作成したGUIロジックに挿入する(ステップSB−7)。 Also, cross-verification device 10, in the assertion generating and inserting unit 20, the assertion of each branch generated in assertions and step SB-5 produced in step SB-1, with reference to the variable dictionary, in step SA-3 to insert the GUI logic created (step SB-7).

ここで、動作仕様からのアサーションの生成および生成したアサーションのCコードへの挿入(図20におけるステップSB−1およびステップSB−6に対応)は、具体的には図21に示すように行う。 Here, insertion into C code generation and the generated assertion assertions from operating specifications (corresponding to the step SB-1 and Step SB-6 in FIG. 20) is specifically performed as shown in FIG. 21. 図21は、動作仕様からのアサーションの生成および生成したアサーションのCコードへの挿入の具体例を示す図である。 Figure 21 is a diagram showing a specific example of insertion into C code generation and the generated assertion assertions from operating specifications. 具体的には、クロス検証装置10は、アサーション生成・挿入部20で、動作仕様に含まれるVVT(可変バルブタイミング機構)異常無しコード(VVTの異常が発生しないことを表すCコード(「s4t_case != 0」:s4t_caseは、VVTの異常が発生したか否かを表す変数。))からアサーション(「assert(s4t_case);」)を生成し、生成したアサーションを、変数ディクショナリーを参照して、図示の如く、Cコードに含まれるVVT異常検出コード(VVTの異常を検出するためのCコード)の直後に挿入する。 Specifically, cross-verification device 10, in the assertion generating and inserting unit 20, C code that means VVT included in the operation specification (variable valve timing mechanism) no abnormality code (VVT abnormality does not occur ( "S4t_case! = 0 ":. s4t_case are assertions from the variable)) indicating whether VVT abnormality has occurred (" assert (s4t_case); generating a "), the generated assertion, with reference to the variable dictionary, shown as is inserted immediately after the VVT ​​abnormality detection code included in the C code (C code for detecting the VVT ​​abnormality).

また、CコードおよびGUIコードに含まれる分岐の分析(図20におけるステップSB−2およびステップSB−4に対応)は、具体的には図22に示すように行う。 The analysis of the branch included in the C code and GUI code (corresponding to the step SB-2 and Step SB-4 in FIG. 20) is specifically performed as shown in FIG. 22. 図22は、CコードおよびGUIコードに含まれる分岐の分析の具体例を示す図である。 Figure 22 is a diagram showing a specific example of the analysis of the branch included in the C code and GUI code. 具体的には、クロス検証装置10は、アサーション生成・挿入部20で、図22に示すCコードから、分岐条件1および分岐条件2を検出する。 Specifically, cross-verification device 10, in the assertion generating and inserting unit 20, the C code shown in FIG. 22, detects the branch condition 1 and branch condition 2.
分岐条件1:(u2t_emthwgd) > (u2s_ekmw_THWH) Branch condition 1: (u2t_emthwgd)> (u2s_ekmw_THWH)
分岐条件2:(u2t_emthwgd) < (u2s_ekmw_THWL) Branch condition 2: (u2t_emthwgd) <(u2s_ekmw_THWL)
なお、図22に示すCコードにおいて、分岐条件2は、分岐条件1と「else if」で繋がっているため、「{(u2t_emthwgd) > (u2s_ekmw_THWH)}&&{(u2t_emthwgd) < (u2s_ekmw_THWL)}」である。 Note that in C code shown in FIG. 22, the branch condition 2, since the connected branch condition 1 and the "else if", "{(u2t_emthwgd)> (u2s_ekmw_THWH)} && {(u2t_emthwgd) <(u2s_ekmw_THWL)}" it is.

また、分岐条件に合わせたアサーションの生成およびその挿入(図20におけるステップSB−3およびステップSB−6ならびにステップSB−5およびステップSB−7に対応)は、具体的には図23に示すように行う。 Further, (corresponding to the step SB-3 and Step SB-6 and Step SB-5 and step SB-7 in FIG. 20) product and its insertion assertion tailored to branch condition is specifically as shown in FIG. 23 performed. 図23は、分岐条件に合わせたアサーションの生成およびその挿入の具体例を示す図である。 Figure 23 is a diagram showing a specific example of the generation and the insertion of the assertion to match the branch condition. 具体的には、クロス検証装置10は、アサーション生成・挿入部20で、図22に示す分岐条件1に合わせたアサーション1および図22に示す分岐条件2に合わせたアサーション2を生成し、生成したアサーション1およびアサーション2を、図23に示すように、図22に示すCコードの前に挿入する。 Specifically, cross-verification device 10, in the assertion generating and inserting unit 20, and generates an assertion 2 tailored to branch condition 2 shown in assertion 1 and 22 combined to branch condition 1 shown in FIG. 22 was produced assertion 1 and assertion 2, as shown in FIG. 23, is inserted in front of C code shown in FIG. 22.
アサーション1:assert(!!((u2t_emthwgd) > (u2s_e Assertion 1: assert (!! ((u2t_emthwgd)> (u2s_e
kmw_THWH))); kmw_THWH)));
assert(!((u2t_emthwgd) > (u2s_ek assert (! ((u2t_emthwgd)> (u2s_ek
mw_THWH))); mw_THWH)));
アサーション2:assert(((u2t_emthwgd) > (u2s_ekm Assertion 2: assert (((u2t_emthwgd)> (u2s_ekm
w_THWH)) || ! w_THWH)) ||! ! ((u2t_emthwgd) < ( ((U2t_emthwgd) <(
u2s_ekmw_THWL))); u2s_ekmw_THWL)));
assert(((u2t_emthwgd) > (u2s_ekm assert (((u2t_emthwgd)> (u2s_ekm
w_THWH)) || ! w_THWH)) ||! ((u2t_emthwgd) < (u ((U2t_emthwgd) <(u
2s_ekmw_THWL))); 2s_ekmw_THWL)));

また、分岐条件に合わせたアサーションの生成(図20におけるステップSB−3およびステップSB−5に対応)は、具体的には図24に示すように行う。 Further, generation of assertion to match the branch condition (corresponding to the step SB-3 and Step SB-5 in FIG. 20) is specifically performed as shown in FIG. 24. 図24は、分岐条件に合わせたアサーションの生成の具体例を示す図である。 Figure 24 is a diagram showing a specific example of generation of assertions fit the branch condition. 具体的には、クロス検証装置10は、アサーション生成・挿入部20で、検出した分岐条件から、カバレージとして設定したMC/DCが100%となるテストパターン(図24の場合には3つのテストパターン)を求め、求めたテストパターンごとにアサーション(図24の場合には、「!(C1&&C2)」、「!(C1&&!C2)」および「!(!C1&&C2)」)を生成する。 Specifically, cross-verification device 10, in the assertion generating and inserting unit 20, three test patterns in the case of the test pattern (FIG. 24 from the detected branch condition, MC / DC set as the coverage is 100% ) is obtained, the assertion for each test pattern obtained (in the case of FIG. 24, "! (C1 && C2)" to generate, "! (C1 &&! C2)" and "! (! C1 && C2)"). なお、MC/DCとは、米国連邦航空局のソフト検証基準(DO−178B)であり、全ての分岐および論理組み合わせについて確認できる最少のテストパターン数のカバー率を表す。 Note that the MC / DC, is US Federal Aviation Administration software validation criteria (DO-178B), representative of all branches and minimum number of test patterns coverage can be confirmed for the logical combination.

なお、アサーションの挿入(図20におけるステップSB−6およびステップSB−7に対応)は、具体的には図25や図26のように行ってもよい。 Incidentally, the insertion of the assertion (corresponding to the step SB-6 and step SB-7 in FIG. 20), specifically may be carried out as shown in FIG. 25 and FIG. 26. 図25および図26は、アサーションの挿入の他の具体例を示す図である。 25 and FIG. 26 is a diagram showing another specific example of the insertion of the assertion.

これにて、アサーション生成・挿入処理の一例の説明を終了する。 This at ends of an example of a description of the assertion generating and insertion process.

図19に戻り、クロス検証装置10は、CNF変換機14で、ステップSA−4で生成したアサーション(具体的にはCコードおよびGUIロジックの両方に引っ掛かるアサーション)、当該アサーションが挿入された後のCコードおよび当該アサーションが挿入された後のGUIロジックを、CNFに変換する。 Returning to Figure 19, a cross verification device 10 is in CNF converter 14, (assertions caught on both the C code and GUI logic in particular) assertions generated at step SA-4, after which the assertion is inserted the GUI logic after C code and the assertion is inserted into a CNF. (ステップSA−5:CNF変換処理)。 (Step SA-5: CNF conversion process).

ここで、CNF変換機14で実行するCNF変換処理の一例を、図27から図37を参照して説明する。 Here, an example of CNF conversion processing executed by the CNF converter 14 will be described with reference to FIG. 37 from FIG. 27. 図27は、CNF変換機14で実行するCNF変換処理の一例を示す図である。 Figure 27 is a diagram showing an example of a CNF conversion processing executed by the CNF converter 14.

まず、クロス検証装置10は、CNF変換機14で、当該CNF変換機が備えた2進変数割り当て機により、アサーションが挿入された後のCコードに含まれる変数およびアサーションが挿入された後のGUIロジックに含まれる変数を2進変数へ変換する(ステップSC−1)。 First, cross-verification device 10 is in CNF converter 14, GUI after the binary variable allocation unit to which the CNF converter is provided, the variable and assertions contained in C code after the assertion has been inserted is inserted converting the variables included in the logic to binary variable (step SC-1). また、クロス検証装置10は、CNF変換機14で、当該CNF変換機が備えた2進変数割り当て機により、CコードとGUIロジックの両方に引っ掛かるアサーションに含まれる変数を2進変数へ変換する(ステップSC−2)。 Also, cross-verification device 10 is in CNF converter 14, the binary variable allocation unit to which the CNF converter is provided to convert the variables included in the assertions caught on both the C code and the GUI logic to binary variables ( step SC-2).

つぎに、クロス検証装置10は、CNF変換機14で、ステップSC−1で2進変数へ変換した後のCコードおよびGUIロジックならびにステップSC−2で2進変数へ変換した後のアサーションを、それぞれCNFに変換する(ステップSC−3)。 Then, cross-verification device 10 is in CNF converter 14, the assertion after converting the C code and GUI logic and steps SC-2 after converting to binary variables at step SC-1 to the binary variable, respectively converted into CNF (step SC-3).

ここで、図27に示すステップSC−1からステップSC−3までの処理は、具体的には図28に示すように行う。 Here, the process from Step SC-1 shown in FIG. 27 to step SC-3 is specifically performed as shown in FIG. 28. 図28は、CNF変換機14で実行するCNF変換処理の具体例を示す図である。 Figure 28 is a diagram showing a specific example of the CNF conversion processing executed by the CNF converter 14. 具体的には、クロス検証装置10は、CNF変換機14で、変数をN次元マップにおけるN個の軸(第1軸〜第N軸)と個々に比較し、その比較結果から軸ごとに近接代表点を抽出し、この比較に関するロジックおよびこの抽出に関するロジックをそれぞれCNFへ変換する(ステップSD−1)。 Specifically, cross-verification device 10 is in CNF converter 14, compares the variable individually and the N-axis (first axis to N-th axis) in N-dimensional map, close to each axis from the result of the comparison extracting the representative points, and converts the logic related logic and this extract on this comparison to CNF respectively (step SD-1). より具体的には、クロス検証装置10は、CNF変換機14で、まず、図29に示すような論理ゲートを用いて、図30に示すような2次元マップにおける2つの軸(X軸およびY軸)の代表点(( 1 x, 2 x,・・・, N x)および( 1 y, 2 y,・・・, M y))と変数(xおよびy)との大小を比較し、つぎに、その比較結果と2次元マップの軸の代表点とを図31に示すような論理ゲートで演算する(具体的には、比較結果と代表点との論理ANDをとり、その結果全ての論理ORをとる)ことで軸ごとに近接代表点(( L x, H x)および( L y, H y))を抽出し、つぎに、この比較に関するロジック(図29に示すロジック)およびこの抽出に関するロジック(図31に示すロジック)をTseitin手法でCNFへ変換す More specifically, the cross-verification device 10 is in CNF converter 14, first, using logic gates as shown in FIG. 29, two axes (X axis and in the two-dimensional map shown in FIG. 30 Y representative points of the axis) compared ((1 x, 2 x, ···, N x) and (1 y, 2 y, ··· , M y) the magnitude of) a variable (x and y), then, the result of the comparison and the representative point of the axes of the two-dimensional map for calculating a logic gate shown in FIG. 31 (specifically, a logical aND between the representative point and the comparison result, so that all the proximity representative points for each axis by taking the logical oR) ((L x, H x) and (L y, H y) to extract), then the logic shown in logic (FIG. 29 for this comparison) and this convert logic (logic shown in FIG. 31) on extraction into CNF with Tseitin technique . なお、図29は、変数(x)と2次元マップのX軸の代表点( 1 x, 2 x,・・・, N x)との比較を行う論理ゲートの具体例を示す図である。 Incidentally, FIG. 29 is a diagram showing a specific example of a logic gate performing variable (x) and the representative point of the X-axis of the two-dimensional map (1 x, 2 x, ··· , N x) compared with the. 図30は、2次元マップの具体例を示す図である。 Figure 30 is a diagram showing a specific example of a two-dimensional map. 図31は、近接代表点の抽出を行う論理ゲートの具体例を示す図である。 Figure 31 is a diagram showing a specific example of a logic gate for extracting the proximity representative points. 図31において、 N x[b]は、x軸のN番目(Nは1以上の整数)の代表点におけるb番目のビットを表す配列である。 In Figure 31, N x [b] is (are N 1 or more integer) N-th x-axis is the array representing the b-th bit at the representative point.

図28に戻り、クロス検証装置10は、CNF変換機14で、ステップSD−1での軸の比較結果を用いて補間に必要なマップデータを抽出し、この抽出に関するロジックをCNFへ変換する(ステップSD−2)。 Returning to Figure 28, a cross verification device 10 is in CNF converter 14, using the comparison result of the shaft in the step SD-1 to extract the map data required for interpolation to convert the logic on this extracted into CNF ( step SD-2). より具体的には、クロス検証装置10は、CNF変換機14で、まず、補間に必要なマップデータを図32に示すような論理ゲートで演算する(具体的には、軸の比較結果に基づいて用意した図33に示すような2次元マスクと当該2次元マスクを型としてコピーした図34に示すような各2次元マップ( 11 zのマップ、 12 zのマップ、 21 zのマップおよび22 zのマップ;そのサイズはマスクと同じ)とについてセルごとに論理ANDをとり、その結果全ての論理ORをとり、この論理ANDおよび論理ORの演算を変数のワードの長さに相当する回数(ワード長さ−1)繰り返す)ことで抽出し、つぎに、この抽出に関するロジック(図32に示すロジック)をTseitin手法でCNFへ変換する。 More specifically, the cross-verification device 10 is in CNF converter 14, first, the interpolation map data necessary for arithmetic logic gates as shown in FIG. 32 (specifically, based on the comparison result of the axial each of the two-dimensional map shown in FIG. 34 the two-dimensional mask and the two-dimensional mask shown in FIG. 33 which is prepared copied as a mold Te (11 z of the map, 12 z maps, 21 z maps and 22 z map; its size takes a logical aND for each cell for a mask the same) and, as a result take all the logical oR, the number of times (words corresponding to operation of the logical aND and logical oR to the length of the word of variables extracted with length -1) repeatedly) it can, then, converts the logic (logic shown in FIG. 32) on this extracted into CNF with Tseitin technique. なお、図32は、マップデータの抽出を行う論理ゲートならびにそれで用いる2次元マスクおよび2次元マップの具体例を示す図である。 Incidentally, FIG. 32 is a diagram showing a specific example of a logic gate and a two-dimensional mask and the two-dimensional map used in it to extract the map data. 図33は、2次元マスクの具体例を示す図である。 Figure 33 is a diagram showing a specific example of a two-dimensional mask. 図34は、2次元マスクを型としてコピーした4つの2次元マップの具体例を示す図である。 Figure 34 is a diagram showing a specific example of four two-dimensional map obtained by copying the two-dimensional mask as a mold.

図28に戻り、クロス検証装置10は、CNF変換機14で、ステップSD−1で抽出した近接代表点およびステップSD−2cで抽出したマップデータに基づいてマップ変数の値を計算することでマップ変数の補間を行い、この補間に関するロジックをTseitin手法でCNFへ変換する(ステップSD−3)。 Returning to Figure 28, the map by cross verification device 10 is in CNF converter 14, to calculate the value of the map variable based on the map data extracted in proximity representative point and step SD-2c extracted in step SD-1 It performs interpolation variables, converts the logic for this interpolation to CNF in Tseitin technique (step SD-3). より具体的には、クロス検証装置10は、CNF変換機14で、図35に示すように、近接代表点L x、 H x、 L yおよびH yならびにマップデータ11 z、 12 z、 21 zおよび22 zを用いてマップ変数( L z、 H zおよびz)を計算し、この計算に関するロジックをTseitin手法でCNFへ変換する。 More specifically, the cross-verification device 10 is in CNF converter 14, as shown in FIG. 35, near the representative point L x, H x, L y and H y and map data 11 z, 12 z, 21 z and map variables using 22 z to calculate the (L z, H z and z), to convert the logic for this calculation to CNF in Tseitin technique. なお、図35は、補間のロジックの具体例を示す図である。 Incidentally, FIG. 35 is a diagram showing a specific example of the interpolation logic.

以上、CNF変換処理の具体例について2次元マップの場合を一例として説明したが、論理ゲートを使うことにより1回で並列的に各種の計算を完了することができ、その結果、2進変数の数を効果的に減らすことができる。 It has been described as an example in the case of 2-dimensional map for a specific example of CNF conversion process can be completed in parallel various calculations once by using the logic gates, as a result, the binary variable it is possible to reduce the number effectively. ここで、2次元マップの場合、2進変数の数Sは数式1で示すものとなる。 In the case of two-dimensional map, the number S of binary variables is as shown in Equation 1. 上述した各図における論理ゲートは2つの入力と1つの出力を持ち、1つの論理ゲートが1つの2進変数に対応する。 Logic gates in each figure described above has two inputs and one output, one logic gate corresponds to one binary variable. そして、数式1において、一般的にCx、CyおよびCzはそれぞれ数千の単位になるので、右辺における左側の小カッコの部分(X軸、Y軸および補間にかかる2進変数の数)に比べて、右辺における右側の中カッコの部分(並列化のために追加した論理ゲートの数)の比重は無視できる。 Then, in Equation 1, generally Cx, since Cy and Cz is the unit of each thousands compared with parentheses portion of the left side in the right-hand side (X-axis, the number of binary variables according to Y-axis and interpolation) Te, the specific gravity of the portion of the braces of the right on the right side (the number of logic gates added to the parallelization) are negligible.
なお、数式1において、CxはX軸の1回の比較にかかる2進変数の数であり、CyはY軸の1回の比較にかかる2進変数の数であり、Czは補間にかかる2進変数の数である。 Incidentally, in Equation 1, Cx is the number of binary variables according to one comparison of the X-axis, Cy is the number of binary variables according to one comparison of the Y-axis, Cz is according to the interpolation 2 is the number of advanced variable. また、数式1において、NはX軸における代表点の数であり、MはY軸における代表点の数である。 Further, in Equation 1, N is the number of representative points in the X axis, M is the number of representative points in the Y-axis. また、数式1において、Wは変数のワード長さである。 Further, in Equation 1, W is the word length of the variable.

また、N次元マップの場合、2進変数の数Sは数式2で示すものとなる。 Also, if an N-dimensional map, the number S of binary variables is as shown in Equation 2.
なお、数式2において、C iは番号iの軸の1回の比較にかかる2進変数の数であり、Czは補間にかかる2進変数の数である。 Note that in Equation 2, C i is the number of binary variables according to one comparison of the axis of the number i, Cz is the number of binary variables according to interpolation. また、数式2において、N iは番号iの軸における代表点の数で、Wは変数のワード長さである。 Further, in Equation 2, N i is the number of the representative points in the axis of the number i, W is the word length of the variable.

また、ステップSD−1において、クロス検証装置10は、CNF変換機14で、図36上段に示すような論理ゲートを用いて2次元マップの各軸の代表点と変数とを比較し、その比較結果と2次元マップの各軸の代表点とを図36下段に示すような論理ゲートを用いて演算することで、近接代表点(( L x「b」, H x[b])および( L y[b], H y[b]))を抽出してもよい。 Further, in step SD-1, cross verification device 10 is in CNF converter 14, compares the and variables representative point of each axis of the two-dimensional map using the logic gates as shown in the upper part of FIG. 36, the comparison results by calculation using the logic gates as shown in Figure 36 the lower part of the representative point of each axis of the two-dimensional map, near the representative point ((L x "b", H x [b]) and (L y [b], H y [ b])) may be extracted. すなわち、論理ゲートは、多数の入力を同時に受け入れるものでもよい。 That is, the logic gate may be one that accepts multiple inputs simultaneously. また、bitごとに処理するロジック以外にも、latchを使ってword単位で処理するロジックを用いてもよい。 In addition to the processing logic for each bit, it may be used logic to be processed in word units using latch. さらに、変数(x)が2次元マップの代表点のmin−maxの範囲内に入るようにguard処理部を含めてもよい。 Furthermore, it may be included guard processing unit to fall within a range of min-max of the variable (x) is the representative point of the two-dimensional map. なお、図36は、変数(x)と2次元マップのX軸の代表点( 1 x, 2 x,・・・, N x)との比較を行う論理ゲートならびに近接代表点の抽出を行う論理ゲートの他の具体例を示す図である。 Incidentally, FIG. 36 is a logic for extracting the variable (x) and the representative point of the X-axis of the two-dimensional map (1 x, 2 x, ··· , N x) logic gates and proximity representative points for comparing the it is a diagram showing another specific example of the gate.

また、ステップSD−2において、クロス検証装置10は、CNF変換機14で、図37に示すような論理ゲートを用いてマップデータを抽出してもよい。 Further, in step SD-2, cross verification device 10 is in CNF converter 14 may extract the map data by using logic gates as shown in Figure 37. すなわち、論理ゲートは、多数の入力を同時に受け入れるものでもよい。 That is, the logic gate may be one that accepts multiple inputs simultaneously. また、bitごとに処理するロジック以外にも、latchを使ってword単位で処理するロジックを用いてもよい。 In addition to the processing logic for each bit, it may be used logic to be processed in word units using latch. なお、図37は、マップデータの抽出を行う論理ゲートの他の具体例を示す図である。 Incidentally, FIG. 37 is a diagram showing another specific example of a logic gate for extracting the map data.

これにて、CNF変換処理の具体例の説明を終了する。 This at the end of the description of specific examples of CNF conversion process.

図27に戻り、クロス検証装置10は、CNF変換機14で、ステップSC−3でCNFに変換した後のCコードおよびGUIコードならびにアサーションを収集し、SATソルバー16に伝達する(ステップSC−4)。 Returning to Figure 27, a cross verification device 10 is in CNF converter 14 collects C code and GUI code and assertions after conversion to CNF Step SC-3, are transmitted to the SAT solver 16 (Step SC-4 ).

そして、クロス検証装置10は、CNF変換機14で、SATソルバー16から反例(2進変数)が返された場合には、当該反例を一般変数へ変換し、それをテストデータとしてユーザインターフェース18に伝達する(ステップSC−5)。 The cross verification device 10 is in CNF converter 14, when the counter-example (binary variable) is returned from SAT solver 16 converts the counterexample to the general variable, the user interface 18 that as test data transmitting (step SC-5).

これにて、CNF変換処理の一例の説明を終了する。 This at ends of an example of a description of CNF conversion process.

図19に戻り、クロス検証装置10は、SATソルバー16で、ステップSA−5でCNFに変換した後の動作仕様に基づいてCコードおよびGUIロジックを対比させながら同時且つ並列的に検証し(つまりクロス検証を行ない)、当該検証において性質が成り立つ場合には検証成功のメッセージを検証結果としてユーザインターフェース18へ伝達し、一方、当該検証において性質が成り立たない場合には検証失敗のメッセージを検証結果としてユーザインターフェース18へ伝達すると同時に当該検証で生成した反例をCNF変換機14へ伝達する(ステップSA−6)。 Returning to Figure 19, a cross verification device 10 is a SAT solver 16, simultaneously and in parallel to verify while comparing the C code and GUI logic based on the operation specification after converting into CNF in step SA-5 (i.e. performs cross validation), if the properties in the verification holds is transmitted to the user interface 18 as a result verifies the message verification successful, whereas, as a verification result of the verification failure message if not hold nature in the verification When transferred to the user interface 18 a counterexample generated in the verification at the same time transmitted to the CNF converter 14 (step SA-6).

つぎに、クロス検証装置10は、ユーザインターフェース18で、ステップSA−6で伝達した検証結果を表示し、ステップSA−6で反例をCNF変換機14へ伝達した場合には、CNF変換機14から伝達された当該反例に対応するテストデータをさらに表示する(ステップSA−7)。 Then, cross-verification device 10 is a user interface 18, and displays the verification result transmitted in step SA-6, a counterexample in Step SA-6 when transmitted to the CNF converter 14, the CNF converter 14 further displays the test data corresponding to the transmitted said counterexample (step SA-7).

これにて、クロス検証処理の一例の説明を終了する。 This in, to end an example of a description of cross-verification process.

[4. [4. 本実施の形態のまとめ、およびその他の実施の形態] Summary of this embodiment, and other embodiments]
以上、詳細に説明したように、本実施の形態にかかるクロス検証装置10によれば、動作仕様、エンジン制御用のCコードおよびエンジン制御用のGUIロジックを作成し、作成した動作仕様、CコードおよびGUIロジックに基づいてアサーションを生成し、生成したアサーションを当該Cコードおよび当該GUIロジックに挿入し、生成したアサーション、アサーションが挿入された後のCコードおよびアサーションが挿入された後のGUIロジックをCNFへ変換し、変換した後のアサーション、CコードおよびGUIロジックの検証を行い、その検証結果を表示する。 As described above in detail, according to the cross-verification device 10 according to this embodiment, the operation specifications to create the C code and GUI logic for engine control for the engine control, operation specification created, C code and generate the assertion based on GUI logic, the generated assertion inserted into the C code and the GUI logic, generated assertion, the GUI logic after the C code and assertions after assertion is inserted is inserted converted into CNF, assertion after converting, it verifies the C code and GUI logic, and displays the verification result. これにより、エンジンの制御ソフトウェアの開発において動作仕様とCコードとGUIロジックとのクロス検証を行うことができ、結果的に当該開発の効率を高めることができる。 Thus, the cross-validation of the operation specifications and C code and GUI logic in the development of control software of the engine can be performed, it is possible to eventually improve the efficiency of the development. 換言すると、その過程で異なる言語が使われるエンジン(車両)開発のような環境下でクロス検証を行うことができ、結果的に当該開発の効率を高めることができる。 In other words, it is possible to increase the efficiency of its environment cross validated such as engine (vehicle) developed different languages ​​in process is used can be performed, resulting in the development. また、アサーションを生成・挿入するので、エンジンの制御ソフトウェアの開発において仕様の検証を効果的に行うことができる。 Moreover, since the generation and insertion assertions can be effectively verified specifications in the development of control software of the engine.

また、本実施の形態にかかるクロス検証装置10によれば、動作仕様ならびにCコードおよびGUIロジックに含まれる変数を論理ゲートを用いて並列的に2進変数へ変換し、2進変数へ変換した後の動作仕様ならびにCコードおよびGUIロジックを例えばTseitin手法でCNFへ変換するので、エンジンの制御ソフトウェアの開発において、当該ソフトウェアのCNFへの変換(具体的には、マップ変数のCNFへの変換)を、計算量を減らして効率よく行うことができる。 Further, according to the cross-verification device 10 according to this embodiment, parallel converted to binary variables variables included in the operation specifications and C code and GUI logic using logic gates, was converted into binary variable because converting the operation specification and the C code and GUI logic after example in Tseitin approach to CNF, in the development of control software of the engine, conversion to CNF for the software (specifically, conversion to CNF map variable) the can be done efficiently by reducing the amount of calculation. 具体的には、マップをCNFに変換する際、通常、上述した補間に必要なデータを抽出して当該補間を行うが、本実施の形態にかかるクロス検証装置10によれば、従来とは異なり、当該補間を当該マップにおける各軸の代表点の数だけ繰り返さないので、上述した軸の比較や補間に必要な2進変数の数を効果的に減らすことができる。 Specifically, when converting a map into CNF, usually by extracting data necessary for interpolation as described above performs the interpolation, according to the cross-verification device 10 according to this embodiment, unlike the conventional since not repeated the interpolation by the number of representative points of each axis in the map, it is possible to reduce the number of binary variables required for comparison and interpolation of axes as described above effectively.

さらに、本発明は、上述した実施の形態以外にも、特許請求の範囲の書類に記載した技術的思想の範囲内において種々の異なる実施の形態にて実施されてよいものである。 Furthermore, the present invention is, in addition to the above-described embodiments, but can be implemented with various different embodiments within the scope of the technical idea described in the document in the claims. 例えば、本実施の形態において説明した各処理のうち、自動的に行なわれるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行なわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。 For example, among the processes explained in the present embodiment, all or part of the processes explained as being automatically performed can be manually performed. Alternatively, explained as being manually performed processing It can be automatically performed in all or part of the known methods. また、この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種の情報、データベース構成については、特記する場合を除いて任意に変更することができる。 In addition to this, processing procedures, specific names, control procedures, specific names, various kinds of information about the database structure can be arbitrarily changed unless otherwise specified.

また、クロス検証装置10の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷等に応じた任意の単位で、機能的または物理的に分散・統合して構成することができる。 Further, specific forms of distribution and integration of cross verification device 10 is not limited to the illustrated, in whole or in part, in arbitrary units according to various loads such as, functionally or physically distributed or integrated it can be configured. 例えば、各データベースを独立したデータベース装置として独立に構成してもよく、また、処理の一部をCGI(Common Gateway Interface)を用いて実現してもよい。 For example, it may be constituted independently as a separate database device each database, also a part of the processing may be implemented using a CGI (Common Gateway Interface).

また、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。 The constituent elements illustrated are merely conceptual and are not necessarily physically configured as depicted. 例えば、クロス検証装置10に含まれる各装置またはその各部が備える処理機能については、その全部または任意の一部を、CPUおよび当該CPUにて解釈実行されるプログラムにて実現することができ、あるいはワイヤードロジックによるハードウェアとして実現することも可能である。 For example, the processing functions of the respective devices or respective parts included in the cross-verification device 10, all or any part, can be implemented by a program that is interpreted and executed by a CPU and the CPU, or it is also possible to realize a hardware using wired logic. なお、プログラムは、後述する記録媒体に記録されており、必要に応じて制御装置に機械的に読み取られる。 The computer program, recorded on a recording medium to be described later, can be mechanically read by the control unit as required.

また、クロス検証装置10に含まれる各装置におけるROMやHDなどの記憶装置には、OSと協働してCPUに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。 The storage device such as ROM or HD in each device included in the cross-validation device 10, providing instructions to the CPU in cooperation with the OS, computer programs for performing various processes is recorded. このコンピュータプログラムは、RAM等にロードされることによって実行され、クロス検証装置10に含まれる各装置の機能をCPUと協働して実現する。 This computer program is executed by being loaded in the RAM or the like, realized in cooperation with CPU functions of each device included in the cross-validation device 10. また、このコンピュータプログラムは、任意のネットワークを介して接続されたアプリケーションプログラムサーバに記録されてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。 Further, the computer program, can be downloaded in whole or in part if required may also be recorded in an application program server connected via any network.

また、このプログラムを、コンピュータ読み取り可能な記録媒体に格納することもできる。 Also, this program can be stored in a computer-readable recording medium. ここで、「記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、EPROM、EEPROM、CD−ROM、MO、DVD等の任意の「可搬用の物理媒体」や、各種コンピュータシステムに内蔵されるROM、RAM、HD等の任意の「固定用の物理媒体」、あるいは、LAN、WAN、インターネットに代表されるネットワークを介してプログラムを送信する場合の通信回線や搬送波のように、短期にプログラムを保持する「通信媒体」を含むものとする。 Here, the "recording medium", a flexible disk, a magneto-optical disk, ROM, EPROM, EEPROM, CD-ROM, MO, any "fixed physical medium" such as a DVD and is built in various computer systems ROM, RAM, any "fixed physical medium" such as HD, or, LAN, WAN, such as a communication line or a carrier wave when over a network such as the Internet for transmitting the program, a short-term program holds is intended to include "communications media." 「プログラム」とは、任意の言語や記述方法にて記述されたデータ処理方法であり、ソースコードやバイナリコード等の形式を問わない。 The "program" is a data processing method written in any computer language and written method, may be of any format such as source code or binary code. なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、OSに代表される別個のプログラムと協働してその機能を達成するものをも含む。 Note that "program" is not necessarily limited to those composed singularly, what is distributed configuration as a plurality of modules or libraries, or in cooperation with a different program such as the OS achieves its functions including things. なお、本実施の形態に示した各装置において記録媒体を読み取るための具体的な構成、読み取り手順、あるいは、読み取り後のインストール手順等については、周知の構成や手順を用いることができる。 It should be noted that the specific configuration for reading the recording medium in each device shown in this embodiment, the reading procedure or, for installing or the like after reading, may be well-known configuration and procedure.

以上のように、本発明にかかるクロス検証装置、クロス検証方法およびクロス検証プログラムは、特に自動車製造産業で好適に実施することができ、極めて有用である。 As described above, the cross-validation device according to the present invention, the cross-validation method and cross verification program may be suitably carried out especially in the automotive manufacturing industry, it is extremely useful.

本実施の形態の概要を示す図である。 Is a diagram showing an outline of this embodiment. 本実施の形態の概要を示す図である。 Is a diagram showing an outline of this embodiment. 本実施の形態の概要を示す図である。 Is a diagram showing an outline of this embodiment. 本実施の形態の概要を示す図である。 Is a diagram showing an outline of this embodiment. クロス検証装置10の構成の一例を示すブロック図である。 Is a block diagram showing an example of the configuration of the cross verification device 10. クロス検証装置10の構成の他の一例を示すブロック図である。 It is a block diagram showing another example of the configuration of the cross verification device 10. 仕様マネージャー12aの構成の一例を示すブロック図である。 Is a block diagram showing an example of the configuration specification manager 12a. Cコードマネージャー12bの構成の一例を示すブロック図である。 Is a block diagram showing an example of the configuration of the C code manager 12b. GUIロジックマネージャー12cの構成の一例を示すブロック図である。 It is a block diagram showing an example of a configuration of a GUI logic manager 12c. 仕様CNF変換機14a、CコードCNF変換機14bおよびGUIロジックCNF変換機14cで行う処理の具体例を示す図である。 Specifications CNF converter 14a, a diagram illustrating a specific example of a process performed by the C code CNF converter 14b and GUI logic CNF converter 14c. ユーザインターフェース18の構成の一例を示す図である。 Is a diagram illustrating an example of a configuration of the user interface 18. ユーザインターフェース18の構成の他の一例を示す図である。 It is a diagram showing another example of the configuration of the user interface 18. 仕様編集画面MAの一例を示す図である。 Is a diagram showing an example of a specification editing screen MA. Cコード編集画面MBの一例を示す図である。 Is a diagram illustrating an example of a C code editing screen MB. GUIロジック編集画面MCの一例を示す図である。 Is a diagram illustrating an example of a GUI logic editing screen MC. SATソルバーオプション設定画面MDの一例を示す図である。 Is a diagram illustrating an example of a SAT Solver Options screen MD. クロス検証結果・テストデータ表示画面MEの一例を示す図である。 Is a diagram illustrating an example of a cross validation results Test data display screen ME. 統合シミュレーション画面MFの一例を示す図である。 Is a diagram illustrating an example of an integrated simulation screen MF. クロス検証装置10で実行するクロス検証処理の一例を示すフローチャートである。 Is a flowchart illustrating an example of a cross-validation process performed by the cross-validation device 10. アサーション生成・挿入部20で実行するアサーション生成・挿入処理の一例を示す図である。 Is a diagram illustrating an example of the assertion generating and inserting processing executed by the assertion generating-insertion portion 20. 動作仕様からのアサーションの生成および生成したアサーションのCコードへの挿入の具体例を示す図である。 It is a diagram showing a specific example of insertion into C code generation and the generated assertion assertions from operating specifications. CコードおよびGUIコードに含まれる分岐の分析の具体例を示す図である。 Is a diagram showing a specific example of the analysis of the branch included in the C code and GUI code. 分岐条件に合わせたアサーションの生成およびその挿入の具体例を示す図である。 It is a diagram showing a specific example of the generation and the insertion of the assertion to match the branch condition. 分岐条件に合わせたアサーションの生成の具体例を示す図である。 Is a diagram showing a specific example of generation of assertions fit the branch condition. アサーションの挿入の他の具体例を示す図である。 It is a diagram showing another specific example of insertion of assertions. アサーションの挿入の他の具体例を示す図である。 It is a diagram showing another specific example of insertion of assertions. CNF変換機14で実行するCNF変換処理の一例を示す図である。 Is a diagram illustrating an example of a CNF conversion processing executed by the CNF converter 14. CNF変換機14で実行するCNF変換処理の具体例を示す図である。 It is a diagram showing a specific example of the CNF conversion processing executed by the CNF converter 14. 変数と2次元マップのX軸の代表点との比較を行う論理ゲートの具体例を示す図である。 It is a diagram showing a specific example of a logic gate for comparing the representative point of the X-axis variable and two-dimensional map. 2次元マップの具体例を示す図である。 It is a diagram showing a specific example of a two-dimensional map. 近接代表点の抽出を行う論理ゲートの具体例を示す図である。 It is a diagram showing a specific example of a logic gate for extracting the proximity representative points. マップデータの抽出を行う論理ゲートならびにそれで用いる2次元マスクおよび2次元マップの具体例を示す図である。 It is a diagram showing a specific example of a logic gate and a two-dimensional mask and the two-dimensional map used in it to extract the map data. 2次元マスクの具体例を示す図である。 It is a diagram showing a specific example of a two-dimensional mask. 2次元マスクを型としてコピーした4つの2次元マップの具体例を示す図である。 It is a diagram showing a specific example of four two-dimensional map obtained by copying the two-dimensional mask as a mold. 補間のロジックの具体例を示す図である。 It is a diagram showing a specific example of the interpolation logic. 変数と2次元マップのX軸の代表点との比較を行う論理ゲートならびに近接代表点の抽出を行う論理ゲートの他の具体例を示す図である。 It is a diagram showing another specific example of a logic gate for extracting the logic gate and near the representative point is compared with the representative point of the X-axis variable and two-dimensional map. マップデータの抽出を行う論理ゲートの他の具体例を示す図である。 It is a diagram showing another specific example of a logic gate for extracting the map data. 従来技術の一例を示す図である。 Is a diagram illustrating an example of the prior art.

符号の説明 DESCRIPTION OF SYMBOLS

10 クロス検証装置 12a 仕様マネージャー 12b Cコードマネージャー 12c GUIロジックマネージャー 14 CNF変換機 14a 仕様CNF変換機 14b CコードCNF変換機 14c GUIロジックCNF変換機 16 SATソルバー 18 ユーザインターフェース 20 アサーション生成・挿入部 10 Cross verification device 12a specifications manager 12b C code manager 12c GUI logic manager 14 CNF converter 14a specifications CNF converter 14b C code CNF converter 14c GUI logic CNF converter 16 SAT solver 18 user interface 20 assertion generating and inserting unit

Claims (7)

  1. 所定の言語で仕様を作成する仕様作成手段と、 And specifications creation means for creating a specification in a predetermined language,
    互いに異なる所定の言語でモデルを作成する複数のモデル作成手段と、 A plurality of model creation means for creating a model at different predetermined language,
    前記仕様作成手段で作成した前記仕様および複数の前記モデル作成手段で作成した複数の前記モデルを所定の言語に変換する言語変換手段と、 A language conversion means for converting a plurality of the models created by the specification and a plurality of said model creating means created in the specification creation means in a predetermined language,
    前記言語変換手段で言語が変換された後の前記仕様に基づいて、言語が変換された後の各々の前記モデルを、他の前記モデルと対比しながら検証するクロス検証手段と、 And cross validation means the language based on the specifications after conversion, each said model after language has been converted, to verify while comparing with other the models in the language conversion means,
    前記クロス検証手段での検証結果を出力したり、前記クロス検証手段で反例を生成した場合にはさらに前記反例をテストデータとして出力したりする結果出力手段と、 And result output means for further and outputs the counterexample as test data when generating the counter-example by the and outputs a verification result of cross validation means, said cross validation means,
    を備えたことを特徴とするクロス検証装置。 Cross verification apparatus characterized by comprising a.
  2. 前記仕様作成手段で作成した前記仕様および複数の前記モデル作成手段で作成した複数の前記モデルに基づいてアサーションを生成するアサーション生成手段と、 And assertion generating unit that generates an assertion based on a plurality of the models created by the specification and a plurality of said model creating means created in the specification creation means,
    前記アサーション生成手段で生成した前記アサーションを、複数の前記モデル作成手段で作成した複数の前記モデルに挿入するアサーション挿入手段と をさらに備え、 The assertion generated in the assertion generating means, anda assertion inserting means for inserting a plurality of the models created by a plurality of said model generating means,
    前記言語変換手段は、前記仕様作成手段で作成した前記仕様、前記アサーション挿入手段で前記アサーションが挿入された後の複数の前記モデルおよび前記アサーション生成手段で生成した前記アサーションを前記所定の言語に変換すること を特徴とする請求項1に記載のクロス検証装置。 The language conversion means, said specification created by the specification creation means, converting the assertion generated in the plurality of the models and the assertion generating means after said assertion is inserted in the assertion inserting means to the predetermined language cross verification device according to claim 1, characterized in that.
  3. 前記言語変換手段は、前記仕様および複数の前記モデルに含まれる変数を論理ゲートを用いて並列的に2進変数へ変換し、2進変数へ変換した後の前記仕様および複数の前記モデルを所定の手法でCNF(Conjnctive Normal Form)へ変換すること を特徴とする請求項1または2に記載のクロス検証装置。 The language conversion unit, the variables included in the specification and the plurality of the models parallel converted to binary variables using logic gates, predetermined the specification and a plurality of said models after converting into binary variable cross verification apparatus according to claim 1 or 2 in the method and converting into CNF (Conjnctive Normal Form).
  4. 所定の言語で仕様を作成する仕様作成ステップと、 And specifications creation step to create a specification in a predetermined language,
    互いに異なる所定の言語でモデルを作成する複数のモデル作成ステップと、 A plurality of model creation step of creating a model at different predetermined language,
    前記仕様作成ステップで作成した前記仕様および複数の前記モデル作成ステップで作成した複数の前記モデルを所定の言語に変換する言語変換ステップと、 And language conversion step of converting a plurality of the models created by the specification and the plurality of said modeling step created in the specification creation step to a predetermined language,
    前記言語変換ステップで言語が変換された後の前記仕様に基づいて、言語が変換された後の各々の前記モデルを、他の前記モデルと対比しながら検証するクロス検証ステップと、 Cross validation step a language based on the specifications after conversion, each said model after language has been converted, to verify while comparing with other the models in the language conversion step,
    前記クロス検証ステップでの検証結果を出力したり、前記クロス検証ステップで反例を生成した場合にはさらに前記反例をテストデータとして出力したりする結果出力ステップと、 And it outputs the verification result in the cross validation step, and results output step and outputs the further the counterexample in the case that generated counterexample in the cross validation step as test data,
    を含むことを特徴とするクロス検証方法。 Cross verification method, which comprises a.
  5. 前記仕様作成ステップで作成した前記仕様および複数の前記モデル作成ステップで作成した複数の前記モデルに基づいてアサーションを生成するアサーション生成ステップと、 And assertion generating step of generating an assertion based on a plurality of the models created by the specification and the plurality of said modeling step created in the specification creation step,
    前記アサーション生成ステップで生成した前記アサーションを、複数の前記モデル作成ステップで作成した複数の前記モデルに挿入するアサーション挿入ステップと をさらに含み、 The assertion generated in the assertion generating step further includes the assertion insertion step of inserting a plurality of the models created by the plurality of the model building step,
    前記言語変換ステップは、前記仕様作成ステップで作成した前記仕様、前記アサーション挿入ステップで前記アサーションが挿入された後の複数の前記モデルおよび前記アサーション生成ステップで生成した前記アサーションを前記所定の言語に変換すること を特徴とする請求項4に記載のクロス検証方法。 The language conversion step converts the specifications created by the specification creation step, the assertion generated in the plurality of the models and the assertion generating step after the assertion is inserted in the assertion insertion step into the predetermined language cross validation method according to claim 4, characterized in that.
  6. 前記言語変換ステップは、前記仕様および複数の前記モデルに含まれる変数を論理ゲートを用いて並列的に2進変数へ変換し、2進変数へ変換した後の前記仕様および複数の前記モデルを所定の手法でCNF(Conjnctive Normal Form)へ変換すること を特徴とする請求項4または5に記載のクロス検証方法。 The language conversion step, predetermined the specification and the plurality of variables included in the model parallel converted to binary variables using logic gates, the specification and the plurality of the models after the conversion to binary variables cross validation method according to claim 4 or 5, characterized in that in the method the conversion into CNF (Conjnctive Normal Form).
  7. 所定の言語で仕様を作成する仕様作成ステップと、 And specifications creation step to create a specification in a predetermined language,
    互いに異なる所定の言語でモデルを作成する複数のモデル作成ステップと、 A plurality of model creation step of creating a model at different predetermined language,
    前記仕様作成ステップで作成した前記仕様および複数の前記モデル作成ステップで作成した複数の前記モデルを所定の言語に変換する言語変換ステップと、 And language conversion step of converting a plurality of the models created by the specification and the plurality of said modeling step created in the specification creation step to a predetermined language,
    前記言語変換ステップで言語が変換された後の前記仕様に基づいて、言語が変換された後の各々の前記モデルを、他の前記モデルと対比しながら検証するクロス検証ステップと、 Cross validation step a language based on the specifications after conversion, each said model after language has been converted, to verify while comparing with other the models in the language conversion step,
    前記クロス検証ステップでの検証結果を出力したり、前記クロス検証ステップで反例を生成した場合にはさらに前記反例をテストデータとして出力したりする結果出力ステップと、 And it outputs the verification result in the cross validation step, and results output step and outputs the further the counterexample in the case that generated counterexample in the cross validation step as test data,
    を含むクロス検証方法をコンピュータに実行させることを特徴とするクロス検証プログラム。 Cross verification program, characterized in that to execute the cross-validation method in a computer including.
JP2007119935A 2007-04-27 2007-04-27 Cross-verification device Expired - Fee Related JP4924188B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007119935A JP4924188B2 (en) 2007-04-27 2007-04-27 Cross-verification device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007119935A JP4924188B2 (en) 2007-04-27 2007-04-27 Cross-verification device

Publications (2)

Publication Number Publication Date
JP2008276556A true true JP2008276556A (en) 2008-11-13
JP4924188B2 JP4924188B2 (en) 2012-04-25

Family

ID=40054423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007119935A Expired - Fee Related JP4924188B2 (en) 2007-04-27 2007-04-27 Cross-verification device

Country Status (1)

Country Link
JP (1) JP4924188B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9678855B2 (en) 2014-12-30 2017-06-13 International Business Machines Corporation Managing assertions while compiling and debugging source code
US9703552B2 (en) 2014-12-18 2017-07-11 International Business Machines Corporation Assertions based on recently changed code
US9720657B2 (en) 2014-12-18 2017-08-01 International Business Machines Corporation Managed assertions in an integrated development environment
US9733903B2 (en) 2014-12-18 2017-08-15 International Business Machines Corporation Optimizing program performance with assertion management

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04205358A (en) * 1990-11-30 1992-07-27 Toshiba Corp Program verifying system
JPH11102291A (en) * 1997-09-29 1999-04-13 Hitachi Ltd Specification consistency certification system
JP2001014298A (en) * 1999-07-01 2001-01-19 Nec Corp Method and device for obtaining sat solver architecture with a little overhead of synthesis and layout
WO2006038394A1 (en) * 2004-10-04 2006-04-13 Matsushita Electric Industrial Co., Ltd. Source code inspection device, method, program, and recording medium
JP2007011467A (en) * 2005-06-28 2007-01-18 Matsushita Electric Ind Co Ltd Method and device for automatically generating assertion description
JP2007528059A (en) * 2004-01-22 2007-10-04 エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. Modeling software, abstract, and systems and methods for analysis

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04205358A (en) * 1990-11-30 1992-07-27 Toshiba Corp Program verifying system
JPH11102291A (en) * 1997-09-29 1999-04-13 Hitachi Ltd Specification consistency certification system
JP2001014298A (en) * 1999-07-01 2001-01-19 Nec Corp Method and device for obtaining sat solver architecture with a little overhead of synthesis and layout
JP2007528059A (en) * 2004-01-22 2007-10-04 エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. Modeling software, abstract, and systems and methods for analysis
WO2006038394A1 (en) * 2004-10-04 2006-04-13 Matsushita Electric Industrial Co., Ltd. Source code inspection device, method, program, and recording medium
JP2007011467A (en) * 2005-06-28 2007-01-18 Matsushita Electric Ind Co Ltd Method and device for automatically generating assertion description

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9747082B2 (en) 2014-12-18 2017-08-29 International Business Machines Corporation Optimizing program performance with assertion management
US9823904B2 (en) 2014-12-18 2017-11-21 International Business Machines Corporation Managed assertions in an integrated development environment
US9703552B2 (en) 2014-12-18 2017-07-11 International Business Machines Corporation Assertions based on recently changed code
US9703553B2 (en) 2014-12-18 2017-07-11 International Business Machines Corporation Assertions based on recently changed code
US9720657B2 (en) 2014-12-18 2017-08-01 International Business Machines Corporation Managed assertions in an integrated development environment
US9733903B2 (en) 2014-12-18 2017-08-15 International Business Machines Corporation Optimizing program performance with assertion management
US9678855B2 (en) 2014-12-30 2017-06-13 International Business Machines Corporation Managing assertions while compiling and debugging source code
US9684584B2 (en) 2014-12-30 2017-06-20 International Business Machines Corporation Managing assertions while compiling and debugging source code

Also Published As

Publication number Publication date Type
JP4924188B2 (en) 2012-04-25 grant

Similar Documents

Publication Publication Date Title
Garavel Open/Cæsar: An open software architecture for verification, simulation, and testing
Uchitel et al. Synthesis of partial behavior models from properties and scenarios
Cimatti et al. Nusmv 2: An opensource tool for symbolic model checking
Alves et al. Refactoring product lines
Egyed A scenario-driven approach to traceability
Nadi et al. Mining configuration constraints: Static analyses and empirical results
US20050256665A1 (en) System and method for model based system testing of interactive applications
Aichernig et al. Test case generation by OCL mutation and constraint solving
Guerra et al. Automated verification of model transformations based on visual contracts
US20120216176A1 (en) Computer implemented system and method for indexing and optionally annotating use cases and generating test scenarios therefrom
US20080276221A1 (en) Method and apparatus for relations planning and validation
Georg et al. An aspect-oriented methodology for designing secure applications
Jackson et al. Formalizing the structural semantics of domain-specific modeling languages
LaMantia et al. Analyzing the evolution of large-scale software systems using design structure matrices and design rule theory: Two exploratory cases
Acher et al. Reverse engineering architectural feature models
US20080229276A1 (en) Automatic composition of model transformations
Burdonov et al. Kvest: Automated generation of test suites from formal specifications
Rahim et al. A survey of approaches for verifying model transformations
US7194726B2 (en) Method for automatically decomposing dynamic system models into submodels
Philipps et al. Model-Based Test Case Generation for Smart Cards1
Jaffar‐ur Rehman et al. Testing software components for integration: a survey of issues and techniques
Roychoudhury et al. Verification of parameterized systems using logic program transformations
Barthe et al. JACK—a tool for validation of security and behaviour of Java applications
US20090064111A1 (en) Formal Verification of Graphical Programs
Salay et al. Language independent refinement using partial modeling

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111212

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120123

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees