JP2007011605A - Model inspection support device for software operation specification, model inspection system provided with the same, and model inspection support program - Google Patents
Model inspection support device for software operation specification, model inspection system provided with the same, and model inspection support program Download PDFInfo
- Publication number
- JP2007011605A JP2007011605A JP2005190293A JP2005190293A JP2007011605A JP 2007011605 A JP2007011605 A JP 2007011605A JP 2005190293 A JP2005190293 A JP 2005190293A JP 2005190293 A JP2005190293 A JP 2005190293A JP 2007011605 A JP2007011605 A JP 2007011605A
- Authority
- JP
- Japan
- Prior art keywords
- model
- program
- model checking
- logical structure
- input
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
Description
本発明は、ソフトウェア動作仕様が、自己矛盾、不安定性、想定外動作等の不具合を含まず、正しく記述されていることを数理的に検証する装置に関し、特に、動作仕様を有限状態遷移系に変換してモデル検査法を適用する検証装置に関する。 The present invention relates to an apparatus for mathematically verifying that a software operation specification is correctly described without including defects such as self-contradiction, instability, and unexpected operation, and in particular, the operation specification is a finite state transition system. The present invention relates to a verification apparatus that converts and applies a model checking method.
従来、ソフトウェア開発においては、動作仕様を経験者が査読することにより、不具合の有無を確認している。このため、不具合が完全に検出できないままにソフトウェアの設計・開発が行われることもあり、完成後の検査により不具合を発見して手直しする必要があった。従って、ソフトウェアの信頼度が十分に確保できず、また、手直しが必要なために開発効率が低下する、といった問題があった。 Conventionally, in software development, the presence or absence of a defect is confirmed by an experienced person reviewing operation specifications. For this reason, software design / development may be performed without completely detecting the defect, and it is necessary to find and fix the defect by inspection after completion. Therefore, there is a problem that the reliability of the software cannot be sufficiently secured and the development efficiency is lowered because the software needs to be reworked.
そこで、ソフトウェアの動作仕様を数理的に検証するためのモデル検査法が知られている。モデル検査法は、ソフトウェア動作仕様を状態遷移系として記述したモデル検査プログラムが、検査項目として入力された時相論理式を満足しているかどうかを数理的に検証するものであり(例えば特許文献1参照)、ソフトウェアの動作仕様に潜在する自己矛盾、不安定性、想定外動作等の不具合検出にも適用可能である(非特許文献1参照)。 Therefore, a model checking method for mathematically verifying the operation specifications of software is known. The model checking method mathematically verifies whether a model checking program in which a software operation specification is described as a state transition system satisfies a temporal logic expression input as a check item (for example, Patent Document 1). It is also possible to detect defects such as self-contradiction, instability, and unexpected operation that are latent in the operation specifications of software (see Non-Patent Document 1).
従来、ソフトウェア動作仕様へモデル検査器を適用する際は、動作仕様から人手により図表を作成して論理構造を抽出し、モデル記述言語によりモデル検査プログラムを作成している(例えば非特許文献2参照)。
しかしながら、上記従来のモデル検査は、ソフトウェア開発言語と異質のモデル記述言語の習得が必要であることから、研究目的では実施されているが、実際のソフトウェア開発には採用されていない。 However, the conventional model checking described above is performed for research purposes because it requires acquisition of a model description language that is different from the software development language, but has not been adopted for actual software development.
さらに、モデル検査の結果、検査項目を満足する動作仕様が得られても、その動作仕様からソフトウェアを作成する際には、開発者が動作仕様から論理構造を抽出し、ソフトウェア開発言語によりプログラミングを行うことが必要であった。 Furthermore, even if an operation specification that satisfies the inspection items is obtained as a result of model checking, when creating software from the operation specification, the developer extracts the logical structure from the operation specification and performs programming using the software development language. It was necessary to do.
本発明は、上記の問題に鑑み、モデル記述言語の習得を必要とせずに、動作仕様からモデル検査プログラムを生成でき、より好ましくは、検証済みの動作仕様に応じたソフトウェアを自動的に生成することも可能なモデル検査支援装置を提供することを目的とする。 In view of the above problems, the present invention can generate a model checking program from an operation specification without requiring learning of a model description language, and more preferably automatically generates software according to a verified operation specification. An object of the present invention is to provide a model checking support device that can also be used.
上記の目的を達成するために、本発明にかかるソフトウェア動作仕様のモデル検査支援装置は、ソフトウェアの動作仕様を、変数の状態遷移関係で表した論理記述として入力する仕様入力部と、モデル検査プログラムの雛型を格納したモデル記述言語辞書記憶部と、前記仕様入力部へ入力された論理記述から前記動作仕様の論理構造を抽出し、抽出された論理構造と前記モデル記述言語辞書記憶部の前記雛型とを用いて、モデル検査プログラムを作成する翻訳部とを備えたことを特徴とする。 In order to achieve the above object, a model checking support apparatus for software operation specifications according to the present invention includes a specification input unit for inputting software operation specifications as a logical description represented by variable state transition relationships, and a model checking program. A model description language dictionary storage unit storing a model of the model, a logical structure of the operation specification is extracted from a logical description input to the specification input unit, and the extracted logical structure and the model description language dictionary storage unit A translation unit that creates a model checking program using a template is provided.
また、本発明にかかるモデル検査システムは、本発明にかかるモデル検査支援装置と、前記モデル検査支援装置により生成されたモデル検査プログラムのモデル検査を行うモデル検査器とを備えたことを特徴とする。 The model checking system according to the present invention includes the model checking support device according to the present invention and a model checker that performs model checking of the model checking program generated by the model checking support device. .
また、本発明にかかるモデル検査支援プログラムは、コンピュータにソフトウェア動作仕様のモデル検査支援処理を実行させるモデル検査支援プログラムであって、ソフトウェアの動作仕様を、変数の状態遷移関係で表した論理記述として入力する仕様入力処理と、前記仕様入力処理で入力された論理記述から前記動作仕様の論理構造を抽出し、抽出された論理構造と、モデル記述言語辞書記憶部から取得したモデル検査プログラムの雛型とを用いて、モデル検査プログラムを作成する翻訳処理とを、コンピュータに実行させることを特徴とする。 A model checking support program according to the present invention is a model checking support program that causes a computer to execute a model checking support process for software operation specifications, and that the software operation specifications are expressed as a logical description represented by variable state transition relationships. The specification input process to be input, the logical structure of the operation specification is extracted from the logical description input in the specification input process, and the extracted logical structure and the model checking program template acquired from the model description language dictionary storage unit And a computer is caused to execute a translation process for creating a model checking program.
本発明によれば、モデル記述言語の習得を必要とせずに、動作仕様からモデル検査プログラムを自動的に生成できる。その結果として、モデル検査をソフトウェア開発実務へ適用することが可能となる。 According to the present invention, it is possible to automatically generate a model checking program from an operation specification without requiring learning of a model description language. As a result, model checking can be applied to software development practices.
本発明にかかるソフトウェア動作仕様のモデル検査支援装置は、ソフトウェアの動作仕様を、変数の状態遷移関係で表した論理記述として入力する仕様入力部と、モデル検査プログラムの雛型を格納したモデル記述言語辞書記憶部と、前記仕様入力部へ入力された論理記述から前記動作仕様の論理構造を抽出し、抽出された論理構造と前記モデル記述言語辞書記憶部の前記雛型とを用いて、モデル検査プログラムを作成する翻訳部とを備えた構成である。 A model operation support apparatus for software operation specifications according to the present invention includes a specification input unit for inputting software operation specifications as a logical description represented by a state transition relationship of variables, and a model description language storing a model of a model inspection program Extracting the logical structure of the operation specification from the dictionary storage unit and the logical description input to the specification input unit, and using the extracted logical structure and the model of the model description language dictionary storage unit, model checking And a translation unit for creating a program.
上記の構成では、翻訳部が、変数の状態遷移関係で表された論理記述から動作仕様の論理構造を抽出し、抽出した論理構造に、モデル記述言語辞書記憶部の雛型を適用することにより、モデル検査プログラムを作成することができる。これにより、従来のように動作仕様から手作業により論理構造を抽出する必要がなくなり、開発効率を大幅に向上させることができる。 In the above configuration, the translation unit extracts the logical structure of the operation specification from the logical description expressed by the variable state transition relationship, and applies the model description language dictionary storage unit template to the extracted logical structure. A model checking program can be created. As a result, there is no need to manually extract a logical structure from an operation specification as in the prior art, and development efficiency can be greatly improved.
上記のモデル検査支援装置において、前記仕様入力部が、前記変数の状態遷移関係を図形表現として入力し、前記翻訳部は、前記仕様入力部に入力された図形表現から動作仕様の論理構造を抽出することが好ましい。図形表現としては、例えばフローチャート、PAD、あるいは状態遷移図などを用いることができる。 In the model checking support device, the specification input unit inputs a state transition relationship of the variables as a graphic representation, and the translation unit extracts a logical structure of an operation specification from the graphic representation input to the specification input unit. It is preferable to do. As the graphic representation, for example, a flowchart, a PAD, or a state transition diagram can be used.
上記のモデル検査支援装置において、前記翻訳部により抽出された動作仕様の論理構造を記憶する論理構造記憶部と、開発言語プログラムの雛型を格納した開発言語辞書記憶部と、前記論理構造記憶部に記憶された論理構造と、前記開発言語辞書記憶部の前記雛型とを用いて、開発言語によるプログラムを作成するプログラム作成部とをさらに備えた構成とすることが好ましい。これにより、プログラムの開発効率をさらに向上させることが可能となる。 In the model checking support apparatus, a logical structure storage unit that stores a logical structure of an operation specification extracted by the translation unit, a development language dictionary storage unit that stores a template of a development language program, and the logical structure storage unit It is preferable to further include a program creation unit that creates a program in a development language using the logical structure stored in the development language dictionary and the template in the development language dictionary storage unit. As a result, the program development efficiency can be further improved.
また、本発明にかかるモデル検査システムは、上記したいずれかの構成にかかるモデル検査支援装置と、前記モデル検査支援装置により生成されたモデル検査プログラムのモデル検査を行うモデル検査器とを備えた構成である。 A model checking system according to the present invention includes a model checking support device according to any one of the above-described configurations, and a model checker that performs model checking of a model checking program generated by the model checking support device. It is.
さらに、本発明にかかるモデル検査プログラムは、コンピュータにソフトウェア動作仕様のモデル検査支援処理を実行させるモデル検査支援プログラムであって、ソフトウェアの動作仕様を、変数の状態遷移関係で表した論理記述として入力する仕様入力処理と、前記仕様入力処理で入力された論理記述から前記動作仕様の論理構造を抽出し、抽出された論理構造と、モデル記述言語辞書記憶部から取得したモデル検査プログラムの雛型とを用いて、モデル検査プログラムを作成する翻訳処理とを、コンピュータに実行させるプログラムである。 Furthermore, the model checking program according to the present invention is a model checking support program that causes a computer to execute model checking support processing of software operation specifications, and inputs the operation specifications of the software as a logical description expressed by variable state transition relationships. A specification input process, a logical structure of the operation specification is extracted from the logical description input in the specification input process, and the extracted logical structure and a model of the model checking program acquired from the model description language dictionary storage unit Is a program that causes a computer to execute translation processing for creating a model checking program.
上記のモデル検査プログラムは、前記仕様入力処理において、前記変数の状態遷移関係を図形表現として入力し、前記翻訳処理において、前記仕様入力処理で入力された図形表現から動作仕様の論理構造を抽出することが好ましい。 In the specification input process, the model checking program inputs the state transition relationship of the variables as a graphic expression, and in the translation process, extracts a logical structure of the operation specification from the graphic expression input in the specification input process. It is preferable.
また、上記のモデル検査プログラムは、前記翻訳処理により抽出された動作仕様の論理構造を記憶した論理構造記憶部と、開発言語プログラムの雛型を格納した開発言語辞書記憶部とを参照し、前記論理構造記憶部から取得した論理構造と、前記開発言語辞書記憶部から取得した前記雛型とを用いて、開発言語によるプログラムを作成するプログラム作成処理をコンピュータに実行させることが好ましい。 The model checking program refers to a logical structure storage unit that stores a logical structure of an operation specification extracted by the translation process, and a development language dictionary storage unit that stores a model of a development language program, It is preferable to cause a computer to execute a program creation process for creating a program in a development language using the logical structure acquired from the logical structure storage unit and the template acquired from the development language dictionary storage unit.
以下、本発明にかかるモデル検査システムの具体的な実施形態について、図面を参照しながら説明する。なお、以下の実施形態では、ソフトウェア動作仕様をフローチャートにより図形入力し、モデル検査プログラムを作成する例を説明するが、ソフトウェア動作仕様の入力方法はこの例のみに限定されず、例えばPAD(Problem Analysis Diagram)や状態遷移図等を用いることも可能である。
(第1の実施形態)
最初に、図1を参照し、本発明の第1の実施形態にかかるモデル検査システムの概略構成について説明する。図1は、本実施形態のモデル検査システムのブロック構成図である。
Hereinafter, specific embodiments of a model checking system according to the present invention will be described with reference to the drawings. In the following embodiment, an example in which a software operation specification is graphically input by a flowchart and a model checking program is created will be described. However, a method for inputting a software operation specification is not limited to this example. For example, PAD (Problem Analysis) is used. Diagram) and state transition diagrams can also be used.
(First embodiment)
First, the schematic configuration of the model checking system according to the first embodiment of the present invention will be described with reference to FIG. FIG. 1 is a block diagram of the model checking system according to the present embodiment.
図1に示すように、本実施形態のモデル検査システムは、ソフトウェアの動作仕様1からモデル検査プログラムを生成するモデル検査支援装置2と、モデル検査支援装置2で生成されたモデル検査プログラムを、検査項目9に従って検査し、検査結果11を出力するモデル検査器10とを備えている。
As shown in FIG. 1, the model checking system according to the present embodiment checks a model
モデル検査支援装置2は、ソフトウェアのプログラム仕様書である動作仕様1からモデル検査に必要な情報を入力する仕様入力部3と、動作仕様1から論理構造を読み取り、モデル検査専用言語によりモデル検査プログラムを作成する翻訳部4とを備えている。モデル検査支援装置2は、さらに、論理構造記憶部5とモデル記述言語辞書6とを備え、これらは翻訳部4に接続されている。論理構造記憶部5は、動作仕様1から抽出した論理構造を記憶する。モデル記述言語辞書6は、状態遷移と状態遷移条件との組み合わせについて、定型的な雛型を記憶している。
The model
モデル検査支援装置2およびモデル検査器10は、例えばパーソナルコンピュータ等のコンピュータを用いて実現することが可能である。その場合、仕様入力部3および翻訳部4の機能は、当該コンピュータに所定のプログラムを実行させることによって実現される。論理構造記憶部5およびモデル記述言語辞書6は、コンピュータのハードディスクやその他の記憶媒体によって実現される。なお、モデル検査支援装置2およびモデル検査器10は、1台のコンピュータによって実施することも可能であるが、複数台のコンピュータで実施することも可能である。
The model
次に、図2を参照しながら、本実施形態のモデル検査システムの動作について説明する。 Next, the operation of the model checking system of this embodiment will be described with reference to FIG.
本実施形態のモデル検査システムにおいてモデル検査を行う場合、まず、作業者が、モデル検査に必要な項目の名前と各項目が取り得る状態とを動作仕様1から抽出し、抽出結果を仕様入力部3により入力する(ステップS10)。仕様入力部3は、キーボード等の入力デバイスやディスプレイ等の出力デバイス(いずれも図示せず)を含んでおり、作業者はこれらの入出力デバイスを用いて、項目名と状態をモデル検査システムへ入力する。
When performing model checking in the model checking system of the present embodiment, first, an operator extracts the names of items necessary for model checking and the states that each item can take from the
次に、作業者は、ステップS10で入力された項目名に対して割り当てる変数名を、仕様入力部3より入力する(ステップS11)。この変数名は、モデル検査プログラムで用いられる変数名となる。この時、作業者が、予め定められたルールに従って変数名の割り当てを行えば、モデル検査プログラムのメンテナンス性が向上する。また、作業者は、ステップS10で項目毎に入力された状態に対して割り当てる変数値を、仕様入力部3より入力する(ステップS12)。この変数値も、モデル検査プログラムで用いられる。 Next, the operator inputs a variable name to be assigned to the item name input in step S10 from the specification input unit 3 (step S11). This variable name is a variable name used in the model checking program. At this time, if the operator assigns variable names according to a predetermined rule, the maintainability of the model checking program is improved. Further, the worker inputs a variable value to be assigned to the state input for each item in step S10 from the specification input unit 3 (step S12). This variable value is also used in the model checking program.
なお、上記のステップS10〜S12で入力された項目および状態と、それらの各々に割り当てられた変数名および変数値とを、一覧表としてディスプレイ等に画面表示すれば、あるいは、例えば表計算ソフト等のデータとして出力すれば、次のステップS13における作業者の図表作成が容易になるという利点がある。 The items and states input in the above steps S10 to S12 and the variable names and variable values assigned to them can be displayed as a list on a display or the like, or, for example, spreadsheet software or the like If the data is output as the above data, there is an advantage that it becomes easy for the operator to create a chart in the next step S13.
次に、作業者は、ステップS10〜S12で作成された一覧表を参照し、動作仕様1の内容を表すフローチャートを作成して、仕様入力部3より入力する(ステップS13)。フローチャートは、作業者が、ディスプレイの画面上で図表として作成し、入力する。この時、仕様入力部3は、予め用意された、図形記号の描画・配置機能と、図形記号間の結線機能と、図形記号への数式入力機能等を用いて、フローチャートのブロックの配置、ブロック間の結線、およびブロック内の動作内容の、作業者による入力作業を支援する。動作仕様1の内容をフローチャート化して入力・表示することで、作業者が入力結果を容易に確認することができる。
Next, the worker creates a flowchart representing the contents of the
翻訳部4は、フローチャートの各接続線に、プログラムカウンタの値を重複しないように割り当てる(ステップS14)。プログラムカウンタは、入力された項目と同様に変数として扱われる。
The
次に、翻訳部4は、フローチャートを変数毎に最初からトレースして、各変数の初期値と、次の値と、次の値へ変化するための条件式、すなわち状態遷移関係を抽出する(ステップS15)。この時、変数の値が変化するための条件式にプログラムカウンタの変数を含めることにより、フローチャートの時系列を状態遷移系に表現する。
Next, the
得られた全ての変数の状態遷移関係は、動作仕様1の論理構造として、論理構造記憶部5に記憶保存される(ステップS16)。 The obtained state transition relationships of all variables are stored and saved in the logical structure storage unit 5 as the logical structure of the operation specification 1 (step S16).
次に、翻訳部4は、変数毎の状態遷移関係を、モデル記述言語辞書6に記憶されている雛型にあてはめ、モデル記述言語のプログラムコードに変換する(ステップS17)。さらに、翻訳部4は、ステップS17で得られたモデル記述言語のプログラムコードを所定の順序で並べ替えて、モデル検査プログラムを作成する(ステップS18)。
Next, the
以上の手順でモデル検査支援装置2により得られたモデル検査プログラムは、モデル検査器10に入力される。モデル検査器10は、上記のモデル検査プログラムが、別途入力された検査項目9を満足しているかどうかを、数理的に検査する(ステップS19)。モデル検査器10による検査結果は、検査結果11として出力される。
The model checking program obtained by the model checking
作業者は、検査結果11を見て、動作仕様1が検査項目9を満足しているかを判定し(ステップS20)、満足していない場合は、動作仕様もしくは論理構造の修正を行い、再度、モデル検査を繰り返す(ステップS21)。動作仕様1が検査項目9を満足している場合には、検証作業を終了する(ステップS22)。
The operator looks at the
ここで、図2のステップS10〜S22の処理の具体例について、図3〜図10を参照しながらより詳細に説明する。 Here, a specific example of the processing of steps S10 to S22 in FIG. 2 will be described in more detail with reference to FIGS.
例えば、プログラムの動作仕様1の内容が、「数字の値が1であれば、出力を『奇数』とする。数字の値が2であれば、出力を『偶数』とする。数字の初期値は1とし、その後の値は、出力後に非決定的に書き換えられて最初に戻り、書き換えられた数字に応じて『奇数』または『偶数』を出力する処理を繰り返し実行する。」というものであったとする。
For example, the contents of the
この場合、上記ステップS10〜S12により、モデル検査に必要な項目と状態について、図3の一覧表に示すような変数名および変数値が割り当てられる。すなわち、項目名として抽出されるのは「数字」と「出力」であり、「数字」が取り得る状態は「1」と「2」、「出力」が取り得る状態は「奇数」と「偶数」である。 In this case, variable names and variable values as shown in the list of FIG. 3 are assigned to the items and states necessary for model checking through the above steps S10 to S12. That is, “number” and “output” are extracted as item names, the states that “number” can take are “1” and “2”, and the states that “output” can take are “odd” and “even”. It is.
図3に例示した一覧表には、項目名およびその状態の他に、初期値の欄と状態の非決定性を示す欄とが設けられている。「数字」という項目については、上記プログラムの動作仕様1の記述内容に従い、初期値が「1」であることと、この項目の非決定性が「あり」であることが記述される。「非決定性」は、例えば、当該項目がランダムに選ばれる場合や、当該項目の状態が外部から入力される場合、あるいは、当該項目の状態が他の項目の処理結果などとして与えられる場合で、当該項目の状態が決定的でない場合に「あり」とされる。上記の具体例では、「数字」は、動作仕様1により非決定的に書き換えられることが明示されていることから、非決定性は「あり」と記述される。
The list illustrated in FIG. 3 includes an initial value column and a column indicating non-deterministic state in addition to the item name and its state. For the item “number”, it is described that the initial value is “1” and the nondeterminism of this item is “Yes” in accordance with the description contents of the
図3に例示した一覧表において、項目「数字」には「num」、項目「出力」には「out」が、変数名としてそれぞれ割り当てられている。また、項目「数字」の状態である「1」と「2」には、変数値として“1”と“2”がそれぞれ割り当てられている。項目「出力」の状態である「奇数」と「偶数」には、変数値として“ODD”と“EVEN”がそれぞれ割り当てられている。さらに、項目「出力」の初期値の欄には、「数字」の初期値が「1」であることから、“ODD”が記述されている。また、項目「出力」の値は、「数字」の値によって一意に決定されるため、非決定性の欄には「なし」が記述される。 In the list illustrated in FIG. 3, “num” is assigned to the item “number” and “out” is assigned to the item “output” as variable names. In addition, “1” and “2”, which are the state of the item “number”, are assigned variable values “1” and “2”, respectively. “ODD” and “EVEN” are respectively assigned as variable values to “odd” and “even” which are the states of the item “output”. Furthermore, since the initial value of “number” is “1”, “ODD” is described in the initial value column of the item “output”. In addition, since the value of the item “output” is uniquely determined by the value of “number”, “none” is described in the non-deterministic column.
図4は、図3に例示した一覧表に基づいて作成され、作業者によって仕様入力部3より入力されるフローチャートである。このフローチャートでは、スタート(ステップS1)の後、numの値が“1”であるか否かを判断する(ステップS2)。ステップS2の結果がYESであれば変数outに“ODD”を代入し(ステップS3)、ステップS2の結果がNOであれば変数outに“EVEN”を代入する(ステップS4)。変数outへの代入後、変数numに“1”または“2”が代入され(ステップS5)、以上の処理が繰り返し実行される。
FIG. 4 is a flowchart created based on the list illustrated in FIG. 3 and input from the
図5〜図7は、図4のフローチャートが仕様入力部3から入力された場合に、翻訳部4による図2のステップS14〜S16の処理により、フローチャートの変数毎の状態遷移関係が抽出される様子を示す。
5 to 7, when the flowchart of FIG. 4 is input from the
翻訳部4は、まず、図5に示すように、フローチャートに含まれる全てのブロックと接続線について、各ブロックの処理または接続線の種類を判別すると共に、それぞれにID番号(1,2,・・・)を付与する。ID番号は、まず、ブロックに対して順に付与され、全てのブロックへのID番号付与が終わった後に、接続線に対してID番号の付与が行われる。
As shown in FIG. 5, the
具体的には、ステップS1は、開始処理を行うブロックであり、最初のブロックであるため、「開始処理/1」とされる。ステップS2は、「一般条件処理/2」とされる。ステップS3は「一般処理/3」、ステップS4は「一般処理/4」とされる。ステップS5は「非決定処理/5」とされる。 Specifically, step S1 is a block for performing the start process, and is the first block, and is therefore “start process / 1”. Step S2 is “general condition processing / 2”. Step S3 is “general processing / 3”, and step S4 is “general processing / 4”. Step S5 is “non-decision process / 5”.
さらに、ステップS1とステップS2との接続線は、「接続線/6」とされる。ステップS2とステップS3との接続線は、「Yes接続線/7」、ステップS2とステップS4との接続線は、「No接続線/8」とされる。ステップS3とステップS5との接続線は「接続線/9」、ステップS4とステップS5との接続線は「接続線/10」、ステップS5とステップS1との接続線は「接続線/11」とされる。 Furthermore, the connection line between step S1 and step S2 is “connection line / 6”. The connection line between step S2 and step S3 is “Yes connection line / 7”, and the connection line between step S2 and step S4 is “No connection line / 8”. The connection line between step S3 and step S5 is “connection line / 9”, the connection line between step S4 and step S5 is “connection line / 10”, and the connection line between step S5 and step S1 is “connection line / 11”. It is said.
また、翻訳部4は、フローチャートの各接続線に、プログラムカウンタ(以下、PCと表記する)を割り当てる(図2のステップS14)。図5の例では、接続線/6にPC=1、Yes接続線/7にPC=2、No接続線/8にPC=3、接続線/9にPC=4を、それぞれ割り当てる。接続線/10および接続線/11は、接続先が他の接続線であるため、PCを割り当てない。
The
次に、翻訳部4は、図3の一覧表と図5の割り当て結果に従って、フローチャートの要素の定義リストを作成する。その一例を図6に示す。図6の定義リストは、変数宣言部61と、フローチャートの各要素の定義部62を有する。変数宣言部61の内容は、図3の一覧表から得られる。定義部62の内容は、図5の割り当て結果から得られる。
Next, the
すなわち、変数宣言部61は、先頭行に、変数宣言部であることを表すコメントである「#Variables」が記述され、次の行に、図3に示した変数「num」について、当該変数の変数型(整数)、変数名(num)、初期値(1)、下限値(1)、上限値(2)が定義されている。その次の行には、図3に示した変数「out」について、当該変数の変数型(シンボルセット型)、変数名(out)、初期値(ODD)、全シンボル(ODD,EVEN)が定義されている。 That is, in the variable declaration part 61, “#Variables” which is a comment indicating that it is a variable declaration part is described in the first line, and the variable “num” shown in FIG. Variable type (integer), variable name (num), initial value (1), lower limit value (1), and upper limit value (2) are defined. The next line defines the variable type (symbol set type), variable name (out), initial value (ODD), and all symbols (ODD, EVEN) for the variable “out” shown in FIG. Has been.
定義部62は、先頭行に、フローチャートの要素の定義部であることを示すコメントである「#Flow-Chart」が記述されている。2行目以降には、開始処理/1からID番号順に、各要素の定義が記述される。例えば、一般条件処理/2は分岐処理であるため、分岐条件となる変数名(num)と、比較値(1)と、比較演算子(=)が記述される。一般処理/3は代入処理であるため、変数名(out)、代入値(ODD)が記述される。一般処理/4もこれと同様である。非決定処理/5は、ランダムな代入処理であるため、変数名(num)と、代入値候補(1/2:このスラッシュ記号は候補値の区切りを表す)が記述される。接続線/6は、前後の処理を結ぶ接続線であるため、前の処理(開始処理/1)と、後の処理(一般条件処理/2)と、この接続線のPC値(1)が記述される。Yes接続線/7、No接続線/8、接続線/9についても、同様に、前の処理と、後の処理と、当該接続線のPC値が記述される。接続線/10および接続線/11は、PC値を持たないので、前の処理と後の処理のみが記述される。 In the definition part 62, “# Flow-Chart” which is a comment indicating that it is a definition part of an element of a flowchart is described in the first line. In the second and subsequent lines, the definition of each element is described in the order of ID number from start processing / 1. For example, since the general condition process / 2 is a branch process, a variable name (num), a comparison value (1), and a comparison operator (=) that are branch conditions are described. Since the general process / 3 is an assignment process, a variable name (out) and an assigned value (ODD) are described. The general process / 4 is the same as this. Since the non-decision process / 5 is a random substitution process, a variable name (num) and a substitution value candidate (1/2: this slash symbol represents a break between candidate values) are described. Since the connection line / 6 is a connection line connecting the preceding and following processes, the previous process (start process / 1), the subsequent process (general condition process / 2), and the PC value (1) of this connection line are Described. Similarly, for the Yes connection line / 7, No connection line / 8, and connection line / 9, the previous process, the subsequent process, and the PC value of the connection line are described. Since the connection line / 10 and the connection line / 11 do not have a PC value, only the previous process and the subsequent process are described.
翻訳部4は、次に、図6の定義リストから、変数毎に、変数名と、初期値と、値域と、状態遷移を抽出する(図2のステップS15)。その抽出結果を図7に示す。変数名、初期値、および値域は、定義リストの変数宣言部61から取得される。状態遷移は、定義リストの定義部62から取得され、状態遷移条件と代入値とをカンマで区切って列挙した態様で記述される。例えば変数numは、PC値が4のときに変数値として1または2が代入されるので、状態遷移は、図7中に示すように、「PC=4,1/2」のように記述される。また、変数outは、PC値が2のときに変数値ODDが代入され、PC値が3のときに変数値EVENが代入されるので、状態遷移は、図7中に示すように、「PC=2,ODD」、「PC=3,EVEN」のように記述される。以上のように抽出された状態遷移関係は、動作仕様1から得られた論理構造として、論理構造記憶部5へ記憶される。
Next, the
翻訳部4は、次に、図2のステップS17〜S18において、図7の抽出結果に基づき、モデル記述言語辞書6を参照し、モデル検査器10への入力言語列(モデル検査プログラム)を生成する。ここで、図8に、モデル記述言語辞書6に格納されている雛型の一例を示す。図8の例は、SMV(Symbolic Model Verifier)言語の雛型であるが、本発明においてモデル記述言語として用いることができる言語は、これのみに限定されない。
Next, the
図8に示した雛型において、斜体文字で示したシンボルは定型部分である。「VAR」は、変数の宣言部分であり、値域を定義する。「ASSIGN」は、状態遷移を定義する。「init(xx)」は変数xxの初期値を定義する。「next(xx)」は、case文(case〜esac)の中で、状態遷移条件と変数xxへの代入値を定義する。case文では、コロン“:”の左側に状態遷移条件、右側に変数xxへの代入値が、それぞれ記述される。なお、図8におけるcase文の1行目は、コロンの左側の状態遷移条件が満たされれば、1行目に記述されている代入値を変数xxに代入することを意味し、2行目は、1:xxと記述されていることから(1はtrueを表す)、1行目の状態遷移条件以外の全ての場合において、変数xxへ変数xxの値を代入する、すなわち、変数xxの値を保持することを意味する。翻訳部4は、個々のシステムに応じて、上記の雛型のxxの部分に変数を割り当てると共に、値域、初期値、代入値を適切に割り当てることにより、モデル検査器10へのモデル検査プログラムを生成する。
In the template shown in FIG. 8, the symbols shown in italic characters are fixed portions. “VAR” is a variable declaration part and defines a value range. “ASSIGN” defines a state transition. “Init (xx)” defines an initial value of the variable xx. “Next (xx)” defines a state transition condition and an assignment value to a variable xx in a case statement (case to esac). In the case statement, the state transition condition is described on the left side of the colon “:”, and the assignment value to the variable xx is described on the right side. The first line of the case statement in FIG. 8 means that if the state transition condition on the left side of the colon is satisfied, the substitution value described in the first line is substituted into the variable xx. 1: xx (1 represents true), in all cases except for the state transition condition in the first row, the value of variable xx is substituted for variable xx, that is, the value of variable xx Means holding. The
図7の抽出結果から、図8の雛型を用いて翻訳部4により生成されるモデル検査プログラムの一例を図9に示す。モデル検査プログラムの冒頭の「MODULE main」という記述は、メインモジュールであることを表す。また、図9において、「&」は積条件の演算子、「!」は否定条件の演算子である。
FIG. 9 shows an example of a model checking program generated by the
このように生成されたモデル検査プログラムは、翻訳部4からモデル検査器10へ渡される。作業者は、モデル検査器10へ、検査項目9として、例えば図10に示すような時相論理式(EF)を入力する。モデル検査器10は、入力された検査項目9をモデル検査プログラムの最後に「SPEC」というシンボルで追記して、モデル検査を実行する。時相論理式は、例えば、EF(P)というフォーマットを持ち、「あるパスにおいて(Exist)、将来のある時点において(Future)、Pが成立する」ことの真偽を返す。すなわち、図10に示す時相論理式は、被検査プログラムが最終ステップに到達すること、つまり、PCの値が4に到達すること、を表現している。検査項目は、この他に、例えば、EF(num=2)のような記述の仕方も可能である。この時相論理式は、変数numの値が2となることがあるかどうかを検査するための式である。また、AF(P)というフォーマットの時相論理式を用いることも可能である。これは、「全てのパスにおいて(All)、将来のある時点において(Future)、Pが成立する」ことの真偽を返す式である。
The model check program generated in this way is transferred from the
モデル検査器10は、図2のステップS19において、上述のように生成されたモデル検査プログラムを用い、時相論理式として与えられた検査項目の真偽を、検査結果11として返す。そして、その検査結果11を作業者が確認し、検査結果が良であれば検証作業を終了し、不良であれば、ステップS21で動作仕様や論理構造の見直しを行い、再度検証作業を行う。
In step S19 of FIG. 2, the
以上のように、本実施形態によれば、作業者が、動作仕様1の項目および状態に変数を割り当て、動作仕様1の内容を表すフローチャートを仕様入力部3から入力すれば、翻訳部4により、そのフローチャートから変数毎の状態遷移関係が抽出され、動作仕様1に応じたモデル検査プログラムが自動的に生成される。これにより、従来のように動作仕様から手作業により論理構造を抽出する必要がなくなり、開発効率を大幅に向上させることができる。
(第2の実施形態)
次に、図11を参照し、本発明の第2の実施形態にかかるモデル検査システムの概略構成について説明する。図11は、本実施形態のモデル検査システムのブロック構成図である。
As described above, according to the present embodiment, if the operator assigns variables to the items and states of the
(Second Embodiment)
Next, a schematic configuration of a model checking system according to the second embodiment of the present invention will be described with reference to FIG. FIG. 11 is a block configuration diagram of the model checking system of this embodiment.
図11に示すように、本実施形態のモデル検査システムは、モデル検査支援装置2が、開発言語辞書8と、開発言語プログラムを作成するプログラム作成部7とを備えている点において、第1の実施形態にかかるモデル検査システムと異なっている。
As shown in FIG. 11, the model checking system according to the present embodiment is the first in that the model checking
プログラム作成部7は、モデル検査器10による検査結果11が良であった場合、論理構造記憶部5に記憶されている論理構造から、開発言語プログラム12を作成する。すなわち、動作仕様1が検査項目9を満足している場合は、その動作仕様1から抽出されて論理構造記憶部5に記憶されている論理構造は当然に検査項目9を満足している。従って、その論理構造に基づいてプログラム作成部7がプログラムを生成すれば、検査項目9を満足する開発言語プログラム12が得られる。
The program creation unit 7 creates a development language program 12 from the logical structure stored in the logical structure storage unit 5 when the
次に、図12のフローチャートを参照して、プログラム作成部7により行われる開発言語プログラム12の作成について説明する。なお、翻訳部4によるモデル検査プログラムの生成およびそのモデル検査プログラムを用いたモデル検査器10による検査の手順については、第1の実施形態で図2を参照しながら説明したとおりであるため、重複した説明は省略する。
Next, creation of the development language program 12 performed by the program creation unit 7 will be described with reference to the flowchart of FIG. Note that the generation of the model checking program by the
モデル検査器10による検査結果11が良であった場合(図2のステップS20の結果が良の場合)、ステップS22に移行して検証作業は終了する。本実施形態では、その後、プログラム作成部7が、図12に示すように、論理構造記憶部5から、各変数の状態遷移関数を呼び出す(ステップS31)。次に、プログラム作成部7は、変数毎の状態遷移関係を、開発言語辞書8に記憶されている開発言語の雛型にあてはめることにより、開発言語のプログラムソースコードに変換する(ステップS32)。さらに、プログラム作成部7は、開発言語のプログラムソースコードを所定の順序で並べ替え、開発言語プログラムを完成させる(ステップS33)。
When the
ここで、図12のステップS31〜S33の処理の具体例について、図13〜図14を参照しながらより詳細に説明する。 Here, a specific example of the processing in steps S31 to S33 in FIG. 12 will be described in more detail with reference to FIGS.
図13は、開発言語辞書8に記憶されている開発言語の雛型の一例として、JavaScript(登録商標)言語用の雛型を示す。ただし、本発明で用いられる開発言語は、これに限定されるものではない。図13において、斜体文字で表した部分は定型部分である。プログラム作成部7は、個々のシステムに応じて、xxに変数、yyyにクラス名/メソッド名、変数型、初期値、状態遷移条件、代入値などを適切に割り当てる。図13の雛型では、冒頭で、変数の変数型および初期値を記述する。そして、3行目以降で、状態遷移条件と、状態遷移時の代入値を記述する。 FIG. 13 shows a JavaScript (registered trademark) language template as an example of a development language template stored in the development language dictionary 8. However, the development language used in the present invention is not limited to this. In FIG. 13, the part represented by italic characters is a fixed part. The program creation unit 7 appropriately assigns a variable to xx, a class name / method name, a variable type, an initial value, a state transition condition, an assignment value, and the like according to each system. In the template of FIG. 13, the variable type and initial value of the variable are described at the beginning. In the third and subsequent lines, state transition conditions and substitution values at the time of state transition are described.
例えば、図7に示した論理構造に、図13の雛型を適用することにより、図14に示すようなプログラムソースコードが得られる。ここで、クラス名とメソッド名は、ユニークであることを条件として、プログラム作成部7が任意に付与して良い。なお、図14の例では、JavaScript(登録商標)言語では用いないPC値を省略して、図7のPC値の順に処理をたどることで、PC値が示す動作順序をJavaScript(登録商標)言語の実行順序に置き換えている。さらに、プログラム作成部7は、非決定処理をRandomクラスで実装している。 For example, by applying the template shown in FIG. 13 to the logical structure shown in FIG. 7, a program source code as shown in FIG. 14 is obtained. Here, the program creation unit 7 may arbitrarily assign the class name and the method name on condition that they are unique. In the example of FIG. 14, the PC values that are not used in JavaScript (registered trademark) language are omitted, and the processing order indicated by the PC values is changed to JavaScript (registered trademark) language by processing in the order of the PC values of FIG. The execution order has been replaced. Furthermore, the program creation unit 7 implements non-determination processing with a Random class.
以上のように、第2の実施形態によれば、モデル検査支援装置2は、動作仕様1に対するモデル検査プログラムを自動作成するだけでなく、検証結果11が良であった場合、その動作仕様1の論理構造と開発言語辞書8とに基づいて、開発言語プログラム12を自動的に生成する。これにより、プログラムの開発効率をさらに向上させることが可能となる。
As described above, according to the second embodiment, the model checking
1 動作仕様
2 モデル検査支援装置
3 仕様入力部
4 翻訳部
5 論理構造記憶部
6 モデル記述言語辞書
7 プログラム作成部
8 開発言語辞書
9 検査項目
10 検査結果
11 検査結果
DESCRIPTION OF
Claims (7)
モデル検査プログラムの雛型を格納したモデル記述言語辞書記憶部と、
前記仕様入力部へ入力された論理記述から前記動作仕様の論理構造を抽出し、抽出された論理構造と前記モデル記述言語辞書記憶部の前記雛型とを用いて、モデル検査プログラムを作成する翻訳部とを備えたことを特徴とする、ソフトウェア動作仕様のモデル検査支援装置。 A specification input unit for inputting software operation specifications as a logical description represented by state transition relations of variables;
A model description language dictionary storage unit storing model checking program templates;
Translation that extracts a logical structure of the operation specification from the logical description input to the specification input unit, and creates a model checking program using the extracted logical structure and the template of the model description language dictionary storage unit A model checking support device for software operation specifications, characterized by comprising:
前記翻訳部は、前記仕様入力部に入力された図形表現から動作仕様の論理構造を抽出する、請求項1に記載のモデル検査支援装置。 The specification input unit inputs the state transition relationship of the variable as a graphic expression,
The model checking support device according to claim 1, wherein the translation unit extracts a logical structure of an operation specification from a graphic expression input to the specification input unit.
開発言語プログラムの雛型を格納した開発言語辞書記憶部と、
前記論理構造記憶部に記憶された論理構造と、前記開発言語辞書記憶部の前記雛型とを用いて、開発言語によるプログラムを作成するプログラム作成部とを備えた、請求項1に記載のモデル検査支援装置。 A logical structure storage unit for storing a logical structure of the operation specification extracted by the translation unit;
A development language dictionary storage unit storing development language program templates;
The model according to claim 1, further comprising: a program creation unit that creates a program in a development language using the logical structure stored in the logical structure storage unit and the template in the development language dictionary storage unit. Inspection support device.
前記モデル検査支援装置により生成されたモデル検査プログラムのモデル検査を行うモデル検査器とを備えたことを特徴とするモデル検査システム。 The model checking support device according to any one of claims 1 to 3,
A model checking system comprising: a model checker that performs model checking of a model checking program generated by the model checking support device.
ソフトウェアの動作仕様を、変数の状態遷移関係で表した論理記述として入力する仕様入力処理と、
前記仕様入力処理で入力された論理記述から前記動作仕様の論理構造を抽出し、抽出された論理構造と、モデル記述言語辞書記憶部から取得したモデル検査プログラムの雛型とを用いて、モデル検査プログラムを作成する翻訳処理とを、コンピュータに実行させることを特徴とするモデル検査支援プログラム。 A model checking support program for causing a computer to execute model checking support processing of software operation specifications,
Specification input processing for inputting software operation specifications as a logical description represented by variable state transition relationships;
Extracting the logical structure of the operation specification from the logical description input in the specification input process, and using the extracted logical structure and the model of the model checking program acquired from the model description language dictionary storage unit, model checking A model checking support program that causes a computer to execute a translation process for creating a program.
前記翻訳処理において、前記仕様入力処理で入力された図形表現から動作仕様の論理構造を抽出する、請求項5に記載のモデル検査支援プログラム。 In the specification input process, the state transition relationship of the variable is input as a graphic expression,
6. The model checking support program according to claim 5, wherein in the translation process, a logical structure of an operation specification is extracted from a graphic expression input in the specification input process.
開発言語プログラムの雛型を格納した開発言語辞書記憶部とを参照し、
前記論理構造記憶部から取得した論理構造と、前記開発言語辞書記憶部から取得した前記雛型とを用いて、開発言語によるプログラムを作成するプログラム作成処理をコンピュータに実行させる、請求項5または6に記載のモデル検査支援プログラム。 A logical structure storage unit storing a logical structure of the operation specification extracted by the translation process;
With reference to the development language dictionary storage section that stores the development language program template,
7. The computer is caused to execute a program creation process for creating a program in a development language using the logical structure acquired from the logical structure storage unit and the template acquired from the development language dictionary storage unit. Model checking support program described in 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005190293A JP2007011605A (en) | 2005-06-29 | 2005-06-29 | Model inspection support device for software operation specification, model inspection system provided with the same, and model inspection support program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005190293A JP2007011605A (en) | 2005-06-29 | 2005-06-29 | Model inspection support device for software operation specification, model inspection system provided with the same, and model inspection support program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007011605A true JP2007011605A (en) | 2007-01-18 |
Family
ID=37750034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005190293A Pending JP2007011605A (en) | 2005-06-29 | 2005-06-29 | Model inspection support device for software operation specification, model inspection system provided with the same, and model inspection support program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007011605A (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008242737A (en) * | 2007-03-27 | 2008-10-09 | Toshiba Corp | Apparatus, method and program for creating program verification specification |
JP2009157661A (en) * | 2007-12-26 | 2009-07-16 | Fuji Soft Inc | Model inspection support device |
WO2011024314A1 (en) * | 2009-08-31 | 2011-03-03 | 株式会社 東芝 | State-transition verifying device, and method therefor |
WO2012049816A1 (en) * | 2010-10-14 | 2012-04-19 | 日本電気株式会社 | Model checking device, method, and program |
CN102521136A (en) * | 2011-12-31 | 2012-06-27 | 山东中创软件商用中间件股份有限公司 | Application program monitoring device and method |
JP2013200787A (en) * | 2012-03-26 | 2013-10-03 | Fukuoka Pref Gov Sangyo Kagaku Gijutsu Shinko Zaidan | Model inspection device, model inspection processing method, and program |
JP2013205306A (en) * | 2012-03-29 | 2013-10-07 | Ono Sokki Co Ltd | Test procedure generation apparatus and program |
CN113076622A (en) * | 2021-02-22 | 2021-07-06 | 南京远思智能科技有限公司 | System and method for normative analysis and verification of FMU (functional modeling Unit) simulation model |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07168709A (en) * | 1993-12-15 | 1995-07-04 | Nec Corp | Method and device for simulating program generator utilization specification |
JPH103405A (en) * | 1996-06-14 | 1998-01-06 | Mitsubishi Electric Corp | Test support device |
JPH1091409A (en) * | 1996-09-17 | 1998-04-10 | Toshiba Corp | Program execution device/method for developing software |
JPH1139378A (en) * | 1997-02-18 | 1999-02-12 | Lucent Technol Inc | Device for specifying system design specification |
JP2000242477A (en) * | 1998-12-24 | 2000-09-08 | Fuji Electric Co Ltd | Preparation supporting tool and specification verifying tool for software |
JP2003108220A (en) * | 2001-09-28 | 2003-04-11 | Omron Corp | System and method for assisting development of control program |
-
2005
- 2005-06-29 JP JP2005190293A patent/JP2007011605A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07168709A (en) * | 1993-12-15 | 1995-07-04 | Nec Corp | Method and device for simulating program generator utilization specification |
JPH103405A (en) * | 1996-06-14 | 1998-01-06 | Mitsubishi Electric Corp | Test support device |
JPH1091409A (en) * | 1996-09-17 | 1998-04-10 | Toshiba Corp | Program execution device/method for developing software |
JPH1139378A (en) * | 1997-02-18 | 1999-02-12 | Lucent Technol Inc | Device for specifying system design specification |
JP2000242477A (en) * | 1998-12-24 | 2000-09-08 | Fuji Electric Co Ltd | Preparation supporting tool and specification verifying tool for software |
JP2003108220A (en) * | 2001-09-28 | 2003-04-11 | Omron Corp | System and method for assisting development of control program |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008242737A (en) * | 2007-03-27 | 2008-10-09 | Toshiba Corp | Apparatus, method and program for creating program verification specification |
JP4607918B2 (en) * | 2007-03-27 | 2011-01-05 | 株式会社東芝 | Program verification specification generation apparatus, method and program |
JP2009157661A (en) * | 2007-12-26 | 2009-07-16 | Fuji Soft Inc | Model inspection support device |
WO2011024314A1 (en) * | 2009-08-31 | 2011-03-03 | 株式会社 東芝 | State-transition verifying device, and method therefor |
WO2012049816A1 (en) * | 2010-10-14 | 2012-04-19 | 日本電気株式会社 | Model checking device, method, and program |
CN102521136A (en) * | 2011-12-31 | 2012-06-27 | 山东中创软件商用中间件股份有限公司 | Application program monitoring device and method |
JP2013200787A (en) * | 2012-03-26 | 2013-10-03 | Fukuoka Pref Gov Sangyo Kagaku Gijutsu Shinko Zaidan | Model inspection device, model inspection processing method, and program |
JP2013205306A (en) * | 2012-03-29 | 2013-10-07 | Ono Sokki Co Ltd | Test procedure generation apparatus and program |
CN113076622A (en) * | 2021-02-22 | 2021-07-06 | 南京远思智能科技有限公司 | System and method for normative analysis and verification of FMU (functional modeling Unit) simulation model |
CN113076622B (en) * | 2021-02-22 | 2023-12-12 | 南京远思智能科技有限公司 | FMU simulation model normalization analysis and verification system and method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6621204B2 (en) | Systems and methods for model-based techniques and processes for safety-oriented software development | |
Baudry et al. | Barriers to systematic model transformation testing | |
JP2007011605A (en) | Model inspection support device for software operation specification, model inspection system provided with the same, and model inspection support program | |
EP3695310A1 (en) | Blackbox matching engine | |
JP5005510B2 (en) | Software design support method, design support apparatus, and design support program | |
CN113632018B (en) | Method, computer program and apparatus for analyzing programmable logic controller program | |
US20140214396A1 (en) | Specification properties creation for a visual model of a system | |
Aichernig et al. | Integration of requirements engineering and test-case generation via OSLC | |
CN107622017A (en) | A kind of analytic method of general automation software test | |
JP7557431B2 (en) | Apparatus and method for supporting source code modification | |
JP4835859B2 (en) | State transition diagram creation device and state transition diagram creation method | |
JP2008305079A (en) | Requirement specification automatic verification method | |
JP6451417B2 (en) | Debug support device, debug support system, debug support method, and debug support program | |
Muram et al. | Counterexample analysis for supporting containment checking of business process models | |
Akhtar et al. | A Systematic Literature Review on Software-refactoring Techniques, Challenges, and Practices | |
WO2012049816A1 (en) | Model checking device, method, and program | |
CN114385155A (en) | vue project visualization tool generation method, device, equipment and storage medium | |
Erazo et al. | Maritaca: from textual use case descriptions to behavior models | |
JP2016126700A (en) | Program verification device, program verification method, and program verification program | |
JP4387324B2 (en) | Property conversion device | |
Kaufmann et al. | Intra-and interdiagram consistency checking of behavioral multiview models | |
JP5736588B2 (en) | Source code conversion method and source code conversion program | |
Cammaerts et al. | Assessing the value of incomplete deadlock verification in Model-Driven Engineering | |
JP6084706B2 (en) | Source code generation device, source code verification device, source code generation method, and source code generation program | |
JP6062735B2 (en) | Software development support device, software development support method, software development support program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070824 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101104 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110301 |