JP6169302B2 - Specification configuration apparatus and method - Google Patents
Specification configuration apparatus and method Download PDFInfo
- Publication number
- JP6169302B2 JP6169302B2 JP2017507175A JP2017507175A JP6169302B2 JP 6169302 B2 JP6169302 B2 JP 6169302B2 JP 2017507175 A JP2017507175 A JP 2017507175A JP 2017507175 A JP2017507175 A JP 2017507175A JP 6169302 B2 JP6169302 B2 JP 6169302B2
- Authority
- JP
- Japan
- Prior art keywords
- model
- transition
- event
- state
- data
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 162
- 230000007704 transition Effects 0.000 claims description 115
- 238000012545 processing Methods 0.000 claims description 85
- 238000012795 verification Methods 0.000 claims description 43
- 238000005206 flow analysis Methods 0.000 claims description 36
- 230000008878 coupling Effects 0.000 claims 2
- 238000010168 coupling process Methods 0.000 claims 2
- 238000005859 coupling reaction Methods 0.000 claims 2
- 238000007689 inspection Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000011144 upstream manufacturing Methods 0.000 description 13
- 238000012360 testing method Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
本発明は、システム設計の初期工程においてシステムの仕様を検証し、その構成を支援する装置および方法に関わる。 The present invention relates to an apparatus and method for verifying system specifications in an initial process of system design and supporting the configuration.
従来、組込みシステムやビジネスシステムの開発では、システムを熟知した設計者がソフトウェアを開発するのが通例であった。このため、もしシステム設計の初期工程(以下、上流工程と呼ぶ)で曖昧さや誤りが存在したとしても、後のソフトウェア開発工程で発見し修正することができ、開発後のシステムの運用段階まで持ち越され欠陥として発見されることは少なかった。しかし、システムが複雑になるにつれて設計者がシステム全体を把握することが困難になり、ソフトウェア開発工程での修正に依存した方法では欠陥が除去しきれなくなりつつある。 Conventionally, in the development of embedded systems and business systems, it is customary for designers who are familiar with the system to develop software. For this reason, even if there is ambiguity or error in the initial process of system design (hereinafter referred to as upstream process), it can be discovered and corrected in the later software development process, and it is carried over to the system operation stage after development. It was rarely found as a defect. However, as the system becomes more complex, it becomes difficult for the designer to grasp the entire system, and it is becoming impossible to remove defects by a method that relies on correction in the software development process.
このような背景から現在では、上流工程で誤りを除去し、ソフトウェア開発工程での手戻りを減らすことが、ソフトウェアの信頼性と生産性を向上させるうえで有効であると考えられている。上流工程の誤り除去を実現するため、上流工程の仕様記述と仕様の整合性確認が重要であり、上流工程に適した仕様記述法の利用が進んでいる。仕様は一般に、システムが扱うデータに関する記述、システムが実行する処理に関する記述、及びシステムの動的な振舞いに関する記述から構成される。上流工程では、処理に関する記述にはユースケース、振舞いに関する記述には処理フロー図が使われる一方、データに関する記述は抽象化されてユースケースに埋め込まれることが多い。 From such a background, it is considered that removing errors in the upstream process and reducing rework in the software development process are effective in improving the reliability and productivity of the software. In order to realize error elimination in the upstream process, it is important to check the consistency between the specification description of the upstream process and the specification, and the use of a specification description method suitable for the upstream process is progressing. The specification generally includes a description regarding data handled by the system, a description regarding processing executed by the system, and a description regarding dynamic behavior of the system. In the upstream process, a use case is used for a description relating to processing, and a processing flow diagram is used for a description relating to behavior, while a description relating to data is often abstracted and embedded in a use case.
上流工程の仕様における、処理に関する記述、動的な振舞いに関する記述の間には関連があり、システムの仕様はこれらの総体として表現される。しかし、各記述をまたがった仕様の整合性のチェックは困難であり、記述間の不整合による欠陥が除ききれなかった。これに対し特許文献1では、状態遷移表、アクション表、条件判定表、および制約条件表の4つの表に仕様を記述した後、それらを結合して1つの形式的なモデルを構成し、整合性を検証する方法が開示されている。
There is a relationship between the description of processing and the description of dynamic behavior in the specifications of the upstream process, and the system specifications are expressed as a whole of these. However, it is difficult to check the consistency of specifications across descriptions, and defects due to inconsistencies between descriptions cannot be completely removed. On the other hand, in
具体的には、動的な振舞いを状態遷移表に、処理をアクション表に、遷移条件を条件判定表に記述し、制約条件表に記述したデータと状態の対応をチェックする。状態遷移表は、状態、イベント、及び遷移に加えて、遷移が起こるガード条件、及び遷移にともなうアクションから構成される。アクション表は、アクションに関して、アクションを起こすための事前条件、アクション後に成立すべき事後条件、アクションによる要素の値の更新を表す処理内容から構成される。条件判定表は、アクションと遷移が実行可能か否かの判定条件を表現し、ガード条件と事前条件から構成される。制約条件表は要素の値を状態ごとに記述する。 Specifically, the dynamic behavior is described in the state transition table, the process is described in the action table, the transition condition is described in the condition determination table, and the correspondence between the data described in the constraint condition table and the state is checked. The state transition table includes a state, an event, and a transition, a guard condition in which the transition occurs, and an action associated with the transition. The action table is composed of pre-conditions for causing an action, post-conditions to be established after the action, and processing contents representing element value update by the action. The condition determination table expresses a determination condition as to whether or not an action and a transition can be executed, and includes a guard condition and a precondition. The constraint table describes element values for each state.
特許文献1の装置は、記述された仕様から1つの形式的なモデルを生成する。このモデルをモデル検査器に入力し、モデル検査器を使って整合性を検証することにより、記述された仕様の不整合を機械的に検出する。
The apparatus of
特許文献1に記載された仕様記述方法によれば、システムがある状態にあるときイベントが発生すると、システムは、状態とイベントに対して指定されたアクションを実行し、指定された状態に遷移する。アクションまたは遷移が実行可能か否かは、条件判定表の記述によって判定される。これは、プログラムモジュールの呼び出しをアクションと対応付け易い点で、設計工程で実装の仕様を記述するのに適していると考えられる。
According to the specification description method described in
一方、上流工程の仕様記述の観点からは、イベントとアクションの区分が煩雑である。設計工程での仕様記述が計算機における実装方法の明確化を目的とするのに対し、上流工程での仕様記述は、人のための処理概要の明確化を目的としており、人が把握容易な仕様記述であることが求められる。例えば上記の場合、どのような時に何が起こり、その結果どのような効果が得られるか、が簡潔に表現できれば良い。特許文献1の方法では、できごとをイベントに、処理をアクションに分離しているため、人が仕様を把握するにはイベント名とアクション名の照合が必要であるとともに、アクションあるいは遷移が実行可能かどうかを判定するために条件判定表を参照する必要がある。このことは、人が仕様を直感的に把握することを難しくしている。人が把握しにくい仕様から形式的なモデルを生成し、整合性を検証すると、仕様の不整合が多く検出される。
On the other hand, from the viewpoint of description of specifications of upstream processes, the classification of events and actions is complicated. While the specification description in the design process aims to clarify the implementation method in the computer, the specification description in the upstream process is intended to clarify the processing outline for people, and it is a specification that is easy for humans to grasp. It is required to be a description. For example, in the case described above, it is only necessary to be able to express concisely what happens and what effect is obtained as a result. In the method of
また、モデル検査器に入力するためのモデル作成支援装置の提供を目的としており、モデル検査器を使って検証することが前提である。モデル検査は、すべての状態遷移の組み合わせについて網羅的に検査するので、並行動作を含むシステムの仕様検証には有効な検証方法であるが、並行動作を含まないシステムの仕様不整合の検出には効率が悪い。 Moreover, it aims at provision of the model creation assistance apparatus for inputting into a model checker, and it is premised on verifying using a model checker. Model checking is an exhaustive check for all combinations of state transitions, so it is an effective verification method for system specification verification that includes parallel operations. ineffective.
そこで、システム設計の初期工程おいて、人(設計者)が記述した仕様の整合性を効率的に検証できることが求められる。 Therefore, it is required that the consistency of specifications described by a person (designer) can be efficiently verified in the initial process of system design.
開示する仕様構成装置は、システムの動的な振る舞いを、システムの状態とイベントによる状態の遷移の組み合わせにより記述した遷移モデルを入力する遷移モデル入力部、イベントによる遷移に伴うデータ値の更新を記述した処理モデルを入力する処理モデル入力部、システムが満たすべきデータ値の条件を状態に対応付けて記述した検証条件を入力する検証条件入力部、遷移モデルと処理モデルを共通のイベントで関連付けることにより、遷移モデルと処理モデルを結合した結合モデルを生成するモデル結合部、および、結合モデルをデータフロー解析し、状態について検証条件が満たされることを検証するデータフロー解析部を有する。 The specification component device to be disclosed is a transition model input unit that inputs a transition model in which the dynamic behavior of the system is described by a combination of the system state and the state transition by the event, and the data value update accompanying the transition by the event is described A processing model input unit that inputs a processed model, a verification condition input unit that inputs a verification condition in which a condition of a data value that the system should satisfy is associated with a state, and a transition model and a processing model are associated with a common event A model combining unit that generates a combined model obtained by combining the transition model and the processing model, and a data flow analyzing unit that performs data flow analysis on the combined model and verifies that the verification condition is satisfied for the state.
開示する仕様構成装置によれば、システム設計の初期工程おいて、人が記述した仕様を効率的に検証できる。 According to the disclosed specification component apparatus, it is possible to efficiently verify a specification written by a person in the initial process of system design.
利用者は、遷移モデルと処理モデルと検証条件を入力し、遷移モデルと処理モデルの間に不整合が無いこと、および別途入力した検証条件が満たされることを、仕様構成装置を用いて検証する。また、遷移モデルが複数の状態遷移系列に関わる並行動作を含むとき、状態遷移が進行しないデッドロックが各状態遷移系列の実行順序によって起こらないことを、仕様構成装置が生成するデッドロック検査モデルについて検査する。 The user inputs the transition model, processing model, and verification condition, and verifies that there is no inconsistency between the transition model and the processing model and that the verification condition that is input separately is satisfied using the specification component device. . In addition, when the transition model includes parallel operations related to a plurality of state transition sequences, the deadlock inspection model generated by the specification component device indicates that a deadlock in which the state transition does not proceed does not occur depending on the execution order of each state transition sequence. inspect.
図1は、仕様構成装置における仕様構成方法を示すフロー図である。利用者は仕様構成装置に、遷移モデルを入力し(ステップ1)、処理モデルを入力し(ステップ2)、検証条件を入力する(ステップ3)。これらの入力は、どのような順序で行われても良い。また、検証条件の入力は、次のステップ4の後でも良い。
FIG. 1 is a flowchart showing a specification configuration method in the specification configuration apparatus. The user inputs a transition model (step 1), a processing model (step 2), and a verification condition (step 3) into the specification component device. These inputs may be performed in any order. The verification condition may be input after the
仕様構成装置は、入力された遷移モデルと処理モデルを照合し、両者を結合したモデルを生成する(ステップ4)。仕様構成装置は、結合されたモデルのデータフローを解析し、処理モデルの処理を遷移モデルの順序で実行することが可能であり、さらに検証条件が満たされることを検証する(ステップ5)。 The specification component device collates the input transition model with the processing model, and generates a model in which both are combined (step 4). The specification configuration apparatus analyzes the data flow of the combined model, can execute the processing of the processing model in the order of the transition model, and further verifies that the verification condition is satisfied (step 5).
仕様構成装置は、検証条件が満たされることを判定し(ステップ6)、検証条件が満たされない場合には、不整合箇所出力(ステップ7)へ進む。検証条件が満たされている場合には、仕様構成装置は、並行動作の有無を判定する(ステップ8)。並行動作が無い場合には、入力されたモデルは整合しているので、仕様構成装置は処理を終了する。 The specification configuration apparatus determines that the verification condition is satisfied (step 6), and if the verification condition is not satisfied, the specification configuration apparatus proceeds to the inconsistent location output (step 7). If the verification condition is satisfied, the specification configuration apparatus determines whether or not there is a parallel operation (step 8). If there is no parallel operation, the input model is consistent, and the specification configuration apparatus ends the process.
モデルに並行動作が含まれている場合には、仕様構成装置は、デッドロックの有無を検査するためのデッドロック検査モデルを生成する(ステップ9)。仕様構成装置は、たとえば、SPINモデル(Mordechai Ben-Ari著 中島震監訳 谷津弘一、野中哲、足立太郎共訳:SPINモデル検査入門、オーム社 2010年)のような一般のモデル検査器を用いて、デッドロックの有無を検査する(ステップ10)。仕様構成装置は、デッドロックの有無を判定し(ステップ11)、デッドロックがある場合には不整合箇所出力を実行する(ステップ7)。デッドロックが無い場合には、仕様構成装置は、入力されたモデルは整合しているとして、処理を終了する。 If the model includes a parallel operation, the specification configuration apparatus generates a deadlock inspection model for inspecting the presence or absence of deadlock (step 9). For example, SPIN model (Mordechai Ben-Ari, translated by Nakajima Earthquake, translated by Koichi Yatsu, Satoshi Nonaka, Taro Adachi: Introduction to SPIN Model Checking, Ohm Company 2010) The presence or absence of deadlock is inspected (step 10). The specification configuration apparatus determines whether or not there is a deadlock (step 11), and if there is a deadlock, executes the inconsistent location output (step 7). If there is no deadlock, the specification component apparatus determines that the input model is consistent and ends the process.
図2は、仕様構成装置の構成を示す図であり、図1の各ステップに対応した構成要素を持つ。仕様構成装置21は、検証結果27とデッドロック検査モデル210を出力する。
FIG. 2 is a diagram showing the configuration of the specification configuration apparatus, which has components corresponding to the steps in FIG. The
遷移モデル入力部22は、利用者からの遷移モデルを入力する。図2では、仕様構成装置21を利用者が操作して遷移モデルを入力する形態について図示しているが、この形態に限らず、利用者が予め記述した遷移モデルを、ファイル等を通じて入力する形態でも良い。また、遷移モデルの入力の際に、処理モデルや検証条件を参照して利用者の入力を支援する形態であっても良い。これは、処理モデル入力部23、検証条件入力部24についても同様である。
The transition
処理モデル入力部23は、利用者からの処理モデルを入力する。検証条件入力部24は、利用者からの検証条件を入力する。
The processing
モデル結合部25は、入力された遷移モデルと処理モデルを結合したモデルを生成する。データフロー解析部26は、モデル結合部25で生成されたモデルについてデータフローを解析し、処理モデルの処理を遷移モデルの順序で実行することが可能であり、さらに検証条件が満たされることを検証する。仕様構成装置21は、データフロー解析部26による検証結果27を出力する。
The
デッドロック検査モデル生成部28であり、一般のモデル検査器を利用してデッドロック検査を行うための、モデル検査器が処理できる形式にモデルを変換する。なお、デッドロック検査の入力は必ずしも検証済モデルである必要はなく、遷移モデルと処理モデルから改めて生成しても良い。
The deadlock check
仕様構成装置21は、デッドロック検査モデル生成部28が生成したデッドロック検査モデル29を出力する。利用者は、デッドロック検査モデル29をモデル検査器210に入力し、デッドロック検査結果211を得る。
The
図3は、利用者が入力する遷移モデルの記述例を示す図である。遷移モデルは、上流工程で使われる処理フローに準ずる形式で、処理の流れを記述したものである。SIは開始状態31、SEは終了状態32を表し、処理の流れは開始状態31から始まり、一連の処理を経由して、終了状態32に至れば終了する。
FIG. 3 is a diagram illustrating a description example of the transition model input by the user. The transition model describes the flow of processing in a format that conforms to the processing flow used in the upstream process. SI represents a
四角形32〜36は処理を示し、ここではイベントと呼ぶ。矢印は次に実行すべき処理を表し、ここでは遷移と呼ぶ。矢印と矢印を繋ぐ丸は、ここでは状態と呼ぶ。
図3の遷移モデルが表す処理フローは、次の通りである。開始状態31から処理が始まり、受付区分判定新規32および受付区分判定更改33のいずれかの処理が実行された後、契約書作成34が実行される。その後、契約者情報登録36が実行されて終了状態37に至るか、申込区分変更35により再び受付区分判定新規32および受付区分判定更改33のいずれかの処理に戻る。
The processing flow represented by the transition model in FIG. 3 is as follows. The process starts from the
遷移モデルには、このような処理フローを複数記述することができる。すなわち、互いに交わることのない、開始状態から終了状態への一連の処理が、複数存在し得る。その場合、それらの処理フローは並行動作するものとみなす。ここで、異なる一連の処理フローの間に共通のイベントが出現する場合、処理フローは共通のイベントを通じて同期すると考える。 A transition model can describe a plurality of such processing flows. That is, there can be a plurality of series of processes from the start state to the end state that do not intersect with each other. In that case, it is considered that those processing flows operate in parallel. Here, when a common event appears between different series of processing flows, the processing flow is considered to be synchronized through the common event.
このような複数記述は、大きな1つの処理フローを複数の処理フローに分割して記述できるので利便性が高いが、処理の実行順序に依存してデッドロックが起きる可能性がある。仕様構成装置21は、遷移モデルに並行動作を含む場合にデッドロックが起こらないことを、図1のステップ10で検査する。
Such a plurality of descriptions is highly convenient because it can be described by dividing a large processing flow into a plurality of processing flows, but there is a possibility of deadlock depending on the execution order of the processing. The
遷移モデルの記述形式は、図3のような図形式に限定されるものではなく、状態とイベントによる遷移が記述できるものであれば、テキスト形式や表形式でも良い。 The description format of the transition model is not limited to the diagram format as shown in FIG. 3, and may be a text format or a table format as long as it can describe transitions according to states and events.
図4は、利用者が入力する処理モデルの記述例を示す図である。処理モデルは、上流工程で使われるユースケース図の事前事後記述に準ずる形式で、処理を実行するためのデータ値の条件と、処理後のデータ値を記述する。遷移モデルと同様に、処理モデルに記述する処理を、ここではイベントと呼ぶ。遷移モデルのイベントと処理モデルのイベントは一致しなければならず、仕様構成装置21は、図1のステップ4でモデルを結合する際にチェックする。
FIG. 4 is a diagram illustrating a description example of the processing model input by the user. The processing model describes the data value condition for executing the process and the data value after the process in a format that conforms to the prior ex post description of the use case diagram used in the upstream process. Similar to the transition model, the process described in the process model is referred to as an event here. The event of the transition model and the event of the processing model must match, and the
受付区分判定新規41の処理は、データ申込区分の値が新規であるとき、データ受付区分の値が新規になることを表す、ここでは、処理の前提となるデータ値の記述を条件部、処理によって設定されるデータ値の記述を帰結部と呼ぶ。 The processing of the acceptance category determination new 41 indicates that the value of the data acceptance category becomes new when the value of the data application category is new. Here, the description of the data value that is the premise of the processing is a condition part, processing The description of the data value set by is called a consequence.
受付区分判定更改42の処理は、帰結部で2つのデータに値を設定している。これは、データ受付区分の値が更改になるとともに、データ契約書の値が確定になることを表す。
In the processing of the acceptance
契約書作成43a、43bの処理は、1つの処理を複数の項目に分割して記述した例である。契約書作成43aはデータ受付区分の値が新規のとき契約書の値を確定にすることを、契約書作成43bはデータ受付区分の値が更改のとき何もしないことを表す。
The process of creating the
図4の処理モデルは、さらに受付区分変更44a、44bの処理、および契約者情報登録45の処理を記述している。
The processing model of FIG. 4 further describes the processing of the reception category changes 44a and 44b and the processing of the
処理の条件部の記載項目は複数個であっても良く、また0個であっても良い。条件部の記載が0個の場合、条件が常に成り立つとみなす。また、条件部の記載が複数の場合、それらの条件が全て成り立つことが処理の前提となる。条件部にはデータ値に関する論理式が記載されていても良い。 There may be a plurality of items described in the processing condition part, or zero. If the condition part is described as zero, it is considered that the condition always holds. In addition, when there are a plurality of description of the condition part, it is a premise of the processing that all these conditions are satisfied. A logical expression related to the data value may be described in the condition part.
帰結部も同様に、記載項目は複数個であっても良く、また0個であっても良い。複数個の場合には、それらの値が同時に設定されることを、契約書作成43bの例のように、0個の場合には何もしないことを表す。
Similarly, the result part may include a plurality of items or zero. If there are a plurality of values, the values are set at the same time. If the number is zero, nothing is done as in the example of the
処理モデルの記述形式は、図4のような表形式に限定されるものではなく、イベントが起こるためのデータ値の条件とイベント後のデータ値の条件が記述できるものであれば、テキスト形式や図形式でも良い。 The description format of the processing model is not limited to the table format as shown in FIG. 4, and any text format or data format can be used as long as the data value condition for the event to occur and the data value condition after the event can be described. It may be in diagram form.
図5は、利用者が入力する検証条件の記述例を示す図である。検証条件は、図3の遷移モデルの状態に対応付けて、処理がその状態まで進行した場合に期待されるデータ値を列挙する。 FIG. 5 is a diagram illustrating a description example of the verification condition input by the user. The verification condition is associated with the state of the transition model in FIG. 3 and lists data values expected when the process has progressed to that state.
図5では、図3の遷移モデルが表す処理が終了状態まで進んだとき、すなわち一連の処理が終わったとき、データ契約者情報の値が確定である(51)ことを要求している。同様に、図3の遷移モデルが表す処理が終了状態まで進んだとき、申込区分の値が新規かつ受付区分の値が新規、または、申込区分の値が更改かつ受付区分の値が更改である(52)ことを要求している。後者のように、検証条件には論理式が記載されていても良い。 In FIG. 5, when the process represented by the transition model in FIG. 3 has advanced to the end state, that is, when a series of processes have been completed, it is requested that the value of the data contractor information is fixed (51). Similarly, when the process represented by the transition model in FIG. 3 proceeds to the end state, the application category value is new and the acceptance category value is new, or the application category value is updated and the acceptance category value is updated. (52) requesting that Like the latter, a logical expression may be described in the verification condition.
検証条件の記述形式は、図5のような図形式に限定されるものではなく、期待されるデータ値を状態に関連付けて記述できるものであれば、テキスト形式や表形式でも良い。 The description format of the verification condition is not limited to the diagram format as shown in FIG. 5, and may be a text format or a table format as long as an expected data value can be described in association with the state.
図6は、モデルの結合部25のフロー図(図1のステップ4の遷移モデルと処理モデルの結合手順を示すフロー図)である。この手順により、入力された遷移モデルと処理モデルを照合して、1つのモデルにまとめ上げる。
FIG. 6 is a flowchart of the model combining unit 25 (flow diagram showing the procedure for combining the transition model and the processing model in
モデルの結合部25は、遷移モデルからイベントを抽出し(ステップ61)、処理モデルからイベントを抽出する(ステップ62)。モデルの結合部25は、これらのイベントが一致するかを判定し(ステップ63)、不一致であれば、不一致であることを出力して(ステップ67)、終了する。
The
遷移モデルのイベントと処理モデルのイベントが一致するならば、モデルの結合部25は、遷移モデルから状態を抽出し(ステップ64)、状態をノード、イベントをエッジとする有向グラフを構成する(ステップ65)。モデルの結合部25は、構成した有向グラフに、開始状態と終了状態に対応するノードを付加し、エッジで結ぶ(ステップ66)。
If the event of the transition model matches the event of the processing model, the
このようにして遷移モデルと処理モデルを結合して構成したモデルを、ここでは結合モデルと呼ぶ。遷移モデルには一般に複数の処理フローが含まれ得るので、1つの結合モデルには複数の有向グラフが存在し得る。 A model configured by combining the transition model and the processing model in this manner is referred to as a combined model here. Since a transition model can generally include a plurality of processing flows, a single coupled model can have a plurality of directed graphs.
図7は、結合モデルの例を示した図である。この例は、図3の遷移モデルと図4の処理モデルに対応しており、結合モデルは1つの有向グラフからなる。図7で、円は有向グラフのノードを、矢印はエッジを表す。エッジのラベル(名称)は、イベント名である。 FIG. 7 is a diagram illustrating an example of a combined model. This example corresponds to the transition model of FIG. 3 and the processing model of FIG. 4, and the combined model is composed of one directed graph. In FIG. 7, a circle represents a directed graph node, and an arrow represents an edge. The label (name) of the edge is an event name.
図8は、データフロー解析部26のフロー図(図1のステップ5のデータフロー解析の手順を示すフロー図)である。データフロー解析部26は、遷移モデルと処理モデルを結合した有向グラフの上に、データとその値の変化を付加する。このとき、有向グラフのノードである状態には一般に複数のデータ値の組が対応付くので、データフロー解析部26はそれらを処理する方法を与える。また、図7のように、有向グラフは一般に分岐や合流、繰り返しを含むので、処理済のデータ値の組を繰り返し処理することを防ぐ方法も与える。
FIG. 8 is a flow diagram of the data flow analysis unit 26 (flow diagram showing the procedure of data flow analysis in
データフロー解析部26は、有向グラフの全てのノードに、複数のデータ値の組を格納する格納領域Dを割り当てる(ステップ81)。割り当てたDの初期値は、空とする。データフロー解析部26は、開始状態に対応するノードの格納領域Dに、初期データ値の組を格納する(ステップ82)。
The data
一般に初期データ値の組は複数あり、それらの各々について、データフロー解析部26は、処理モデルの処理を遷移モデルの順で実行した際のデータ値の変化を解析する。データフロー解析部26は、この解析を、手続き1を呼び出すことで実行する(ステップ83)。
In general, there are a plurality of sets of initial data values, and for each of them, the data
ステップ83が終了すると、各ノードにデータ値の組が付加されているので、データフロー解析部26は、これらが検証条件を満たすことを検証する。この検証のために、データフロー解析部26は、検証条件に指定された格納領域Dにある全てのデータ値の組を得(ステップ84)、それが検証条件を満たすかを判定する(ステップ85)。
When
検証条件が満たされない場合、データフロー解析部26は、不具合であることを出力し(ステップ86)、終了する。検証条件が満たされた場合には、遷移モデルと処理モデルは整合するとして、データフロー解析部26は、終了する。
If the verification condition is not satisfied, the data
図9は、データフロー解析部26の手続き1の手順を示すフロー図である。手続き1は、データフロー解析を実行する手続き2を、全ての初期データの組について呼び出す(ステップ91)。
FIG. 9 is a flowchart showing the procedure of the
手続き1は、手続き2が処理するノードnと処理するデータ値の組dを、初期データの組に設定する。具体的には、nを開始ノードに設定し(ステップ92)、dを初期データの組として設定し(ステップ93)、手続き2を呼び出す(ステップ94)。
The
図10は、データフロー解析26の手続き2の手順を示すフロー図である。手続き2では、与えられたノードnとデータ値の組dに対して、イベントによって遷移する先のノードにおけるデータ値の組を、nにおいて起こり得る全てのイベントについて計算する。
FIG. 10 is a flowchart showing the
このため、手続き2は、ノードnから外向きのエッジを得る(ステップ101)。外向きのエッジが存在するならば(ステップ102)、nから外向きの全てのエッジについて順に(ステップ103)、処理するエッジをeとして(ステップ104)手続き3を呼び出す(ステップ105)。
Therefore, the
ステップ102において、nからの外向きのエッジが存在しない場合はnからの遷移先がないことを意味するので、手続き2は、nが終了状態であるかを判定(ステップ106)し、終了状態であれば、終了し、終了状態でなければ、遷移モデルが不整合であることを出力する(ステップ107)。
In
図11は、データフロー解析26の手続き3の手順を示すフロー図である。手続き3は、与えられたエッジeとデータ値の組dに対して処理モデルを参照し、dの下で起こり得るeを選択して、遷移後のデータ値を計算する。
FIG. 11 is a flowchart showing the procedure of the procedure 3 of the
一般に、同一のイベントに対して処理モデルの項目は複数存在するので、与えられたエッジeとデータ値の組dに対して遷移先が複数存在し得る。手続き3は、それら全ての遷移先についてデータ値の組を計算する。 In general, since there are a plurality of processing model items for the same event, a plurality of transition destinations may exist for a given edge e and data value set d. Procedure 3 calculates a set of data values for all these transition destinations.
このため、手続き3は、eに対応するイベントから処理モデルの項目の条件部がdにマッチする項目を選ぶ(ステップ111)。そのような項目が存在するならば(ステップ112)、手続き3は、それらの項目全てについて(ステップ113)、手続き4を呼び出す(ステップ114)。
Therefore, the procedure 3 selects an item whose condition part of the process model item matches d from the event corresponding to e (step 111). If such items exist (step 112), procedure 3 calls
一方、条件部がdにマッチする処理モデルの項目が一つもない場合には、遷移モデルの処理フローの通りに処理を進めることができないことを意味するので、手続き3は、処理モデルが不整合であることを出力(ステップ115)する。 On the other hand, if there is no processing model item whose condition part matches d, it means that the processing cannot proceed according to the processing flow of the transition model. Is output (step 115).
図12は、データフロー解析部26の手続き4の手順を示すフロー図である。手続き4は、与えられたデータ値の組dとノードn、エッジeから遷移先のデータ値の組を計算して遷移先のノードの格納領域Dに加えるとともに、ノードを遷移先のノードに進めて、データフロー解析部26の手続き2を再帰的に呼び出す。
FIG. 12 is a flowchart showing the procedure of the
具体的には、手続き4は、手続き3で選び出した処理モデルの項目の帰結部とdから、遷移先のデータ値の組dn+1を計算する(ステップ121)。手続き4は、エッジeをたどって遷移先ノードn+1を得る(ステップ122)とともに、ノードn+1に対応付けられたデータ値の格納領域Dn+1を得る(ステップ123)。
Specifically, the
手続き4は、Dn+1にデータ値の組dn+1が存在するかを判定し(ステップ124)、存在しないならば、dn+1をDn+1に加え、dnからdn+1へエッジを張る(ステップ125)。これでノードnからエッジeによるデータ値の組dnの変化に関する処理の一つが終わったのでノードを一つ進め、n+1をn、d+1をdとして手続き2を呼び出す(ステップ126)。
一方、ステップ124でDn+1にdn+1が存在する場合には、ノードn+1でデータ値の組dn+1に関する解析が既に終了していることを意味するので、手続き4は、dnからdn+1へのエッジを張り(ステップ127)、終了する。
On the other hand, if dn + 1 exists in Dn + 1 at
図12では、データ値の組がどのように変化したかを記録するため、ステップ125とステップ127で、手続き4はdnからdn+1へのエッジを張っている。これにより、状態をノード、イベントをエッジとする有向グラフとは別に、データ値の組をノード、イベントをエッジとする有向グラフが構成される。以下では、これをデータ遷移グラフと呼ぶ。データ遷移グラフは、データ値の組の変化の追跡を容易にするとともに、デッドロック検証の際の検証効率を向上する。
In FIG. 12, in order to record how the set of data values has changed, in
図13は、データフロー解析部26が生成するデータ値の組の例を示す図である。この図は、図3の遷移モデルおよび図4の処理モデルの例に対応する。
FIG. 13 is a diagram illustrating an example of a set of data values generated by the data
図13の吹き出しは、各ノードに対応付けられた格納領域Dを表す。Dの中の<と>で囲まれた符号の組は、その状態における各データ値の組を表し、図中では<申込区分、受付区分、契約書、契約者情報>の順である。-は値が決まっていないことを表す。 The balloon in FIG. 13 represents the storage area D associated with each node. A set of codes surrounded by <and> in D represents a set of data values in that state, and in the figure, the order is <application category, acceptance category, contract, contractor information>. -Indicates that the value has not been determined.
吹き出し131は、開始状態に2つの初期データの組<新規、-、-、->と<更改、-、-、->が存在することを示す。これは、開始状態では申込区分が新規であること以外はデータの値が決まっていないデータ値の組と、申込区分が更新であること以外はデータの値が決まっていないデータ値の組が存在することを表す。
A
吹き出し132は、開始状態の次の状態におけるデータ値の組を示す。開始状態からのデータ値の組に加えて、イベント申込区分変更により戻ったデータ値の組があるため、4つのデータ値の組が存在する。吹き出し135はイベント契約者情報登録の後のデータ値の組であり、吹き出し136は終了状態におけるデータ値の組である。
A
図5の検証条件の例では、終了状態において契約者情報は確定であること(51)、申込区分は新規であり受付区分も新規であることまたは申込区分は更改であり受付区分も更改であること(52)を要求しており、吹き出し136がこの条件を満たしていることは容易に検証できる。この検証は、図8のステップ84およびステップ85で実行される。
In the example of the verification condition in FIG. 5, the contractor information is confirmed in the final state (51), the application category is new and the reception category is new, or the application category is renewal and the reception category is also renewal. (52) is requested, and it can be easily verified that the
図14は、データフロー解析部26が生成するデータ遷移グラフの例を示す図である。図13の吹き出し131の2つの初期データ値の組は、図14ではノード141とノード142に対応する。同様に、吹き出し132はノード143からノード146、吹き出し133はノード147からノード149、吹き出し134はノード1410からノード1411、吹き出し135はノード1412からノード1413、吹き出し136はノード1414からノード1415に対応する。
FIG. 14 is a diagram illustrating an example of a data transition graph generated by the data
図14では、図12のステップ125とステップ127でdnからdn+1へのエッジを張った結果を示している。これにより、データ値の組をノード、イベントをエッジとするデータ遷移グラフが構成される。データ遷移グラフは、データ値の組がどのように変化したかを記録しており、デッドロック検査モデル生成部28が使用するために、仕様構成装置21のメモリに格納される。
FIG. 14 shows the result of extending the edge from dn to dn + 1 in
図15は、デッドロック検査モデル生成部28のフロー図(図1のステップ9のデッドロック検査モデルを生成する手順を示すフロー図)である。仕様構成装置21は、遷移モデルが並行動作を含むとき、すなわち遷移モデルの中に独立した処理フローが複数存在するときに、それらの間のデッドロックの有無を、モデル検査器210を使って検査する。図15は、モデル検査器210の入力となるデッドロック検査モデル29を生成する手順を示す。
FIG. 15 is a flowchart of the deadlock check model generation unit 28 (flow chart showing a procedure for generating a deadlock check model in
デッドロック検査モデル29は、各処理フローから生成した結合モデルに対応するプロセスの記述と、それらの間の同期をとる連携プロセスの記述、およびプロセス間の共有情報の記述を含む。このため、デッドロック検査モデル生成部28は、手続きAを呼び出してプロセス間共有情報を生成し(ステップ151)、次に手続きBを呼び出して連携プロセス記述を生成する(ステップ152)。その後、全ての結合モデルについて(ステップ153)、手続きCを呼び出してプロセスの記述を生成する(ステップ154)。
The
図16は、デッドロック検査モデル生成部28の手続きAの手順を示すフロー図である。手続きAは、プロセス間で共有される、イベント受け渡しチャネルと状態変数の記述を生成する。このため、手続きAは全ての結合モデルについて(ステップ161)、イベントを受け渡すチャネルを生成し(ステップ162)、状態変数を生成する(ステップ163)。また、データ遷移グラフのデータノードに付番し、状態変数の値とする(ステップ164)。
FIG. 16 is a flowchart showing the procedure of the procedure A of the deadlock inspection
図17は、デッドロック検査モデル生成部28の手続きBの手順を示すフロー図である。手続きBは、連携プロセスの記述を生成する。連携プロセスは、各結合モデルのデータ遷移グラフの情報を下に、発生し得るイベントを生成し、チャネルを通じて各結合モデルから生成されたプロセスに送信する。
FIG. 17 is a flowchart showing the procedure B of the deadlock check
手続きBは、プロセスの枠組みを生成し(ステップ171)、全てのイベントeについて(ステップ172)、ステップ173からステップ174を実行する。すなわち、全てのデータ遷移グラフについて、eを外向きエッジとするデータノードを抽出し(ステップ173)、eに関わる全ての結合モデルで状態変数の値が、抽出したデータノードであるときイベントeを発生させる文を生成する(ステップ174)。発生させたイベントを、チャネルを通じて各プロセスに送信する文を生成する(ステップ175)。
The procedure B generates a process framework (step 171), and executes
図18は、デッドロック検査モデル生成部28の手続きCの手順を示すフロー図である。手続きCは、並行動作する各結合モデルについて、プロセスの記述を生成する。
FIG. 18 is a flowchart showing the procedure of the procedure C of the deadlock inspection
手続きCは、チャネルを通じてイベントを受信する文を生成する(ステップ181)。手続きCは、初期状態に対応して、状態変数にデータ遷移モデルの開始データノードを代入する文を生成する(ステップ182)とともに、終了状態に対応して状態変数の値がデータ遷移モデルの終了データノードである文を生成する(ステップ183)。なお、初期値が複数ある場合にはデータ遷移モデルの開始データノードが複数存在するが、プロセスの記述は結合モデルに対して生成するので、それらの開始データノードに遷移するダミーの開始ノードを1つ設定する。 The procedure C generates a sentence for receiving an event through the channel (step 181). The procedure C generates a statement that assigns the start data node of the data transition model to the state variable corresponding to the initial state (step 182), and the value of the state variable corresponding to the end state ends the data transition model A sentence that is a data node is generated (step 183). When there are a plurality of initial values, there are a plurality of start data nodes of the data transition model. However, since a process description is generated for the combined model, a dummy start node that transitions to these start data nodes is set to 1 Set one.
手続きCは、初期状態と終了状態の中間にあるデータノードに関する記述を生成するため、開始データノードと終了データノードを除く全てのデータノードについて手続きDを呼び出す(ステップ184)。 The procedure C calls the procedure D for all the data nodes except the start data node and the end data node in order to generate a description about the data node in the intermediate state between the initial state and the end state (step 184).
図19は、デッドロック検査モデル生成部28の手続きDの手順を示すフロー図である。手続きDは、データ遷移グラフをもとに、イベントによる遷移を記述する。
FIG. 19 is a flowchart showing the procedure of the procedure D of the deadlock inspection
手続きDは、データ遷移グラフのデータノードから外向きエッジと遷移先ノードを抽出する(ステップ191)。手続きDは、状態変数の値が外向きエッジを持つデータノードでありイベントが外向きエッジであるとき、状態変数を遷移先ノードで置き換える文を生成する(ステップ192)。手続きDは、データ遷移グラフのデータノードに名前をつけ、状態変数の値とする(ステップ193)。 The procedure D extracts an outward edge and a transition destination node from the data nodes of the data transition graph (step 191). The procedure D generates a statement for replacing the state variable with the transition destination node when the value of the state variable is a data node having an outward edge and the event is an outward edge (step 192). The procedure D assigns a name to the data node of the data transition graph and sets it as the value of the state variable (step 193).
図20は、デッドロック検査モデル生成部28が生成したデッドロック検査モデル29の例を示す図である。デッドロック検査モデル201は、例えばこのようなテキスト形式で出力される。このデッドロック検査モデル201は、プロセス間で共有される情報の記述(202)、連携プロセスの記述(203)、及び各結合モデルに対応するプロセスの記述(204a、204b)を含む。
FIG. 20 is a diagram illustrating an example of the
プロセス間で共有される情報の記述(202)は、デッドロック検査モデル生成部28の手続きA(図16)で生成される。この例では、結合モデルAとBに対して、チャネルcAとcB、及び状態変数stateAとstateBが作成される。 A description (202) of information shared between processes is generated by the procedure A (FIG. 16) of the deadlock check model generation unit. In this example, channels cA and cB and state variables stateA and stateB are created for combined models A and B.
連携プロセスの記述(203)は、デッドロック検査モデル生成部28の手続きB(図17)で生成される。この例では、Aがa1、Bがb1にあるとき、共有イベントe1を、チャネルを通じて送信する。一方、Aがa2にあるとき、Bに関わらずイベントe2を、チャネルを通じて送信する。e2は、Aの遷移に関わるイベントであり、共有イベントではない。
The description (203) of the cooperation process is generated by the procedure B (FIG. 17) of the deadlock inspection
プロセスの記述(204a、204b)は、デッドロック検査モデル生成部28の手続きC(図18)と手続きD(図19)で生成される。各プロセスは、まず状態変数を初期状態に設定する。その後、チャネルを通じてイベントを受信し、現在の状態変数の値と受信したイベントから遷移先状態を決定し、状態変数に代入する。
The process descriptions (204a, 204b) are generated by the procedure C (FIG. 18) and the procedure D (FIG. 19) of the deadlock check
デッドロック検査モデル29では、プロセスが共有イベントの発生を待つ、一方で対応するプロセスが他の共有イベントの発生を待つ、またはイベント発生を終了した際に、デッドロックが起こる。このように構成したデッドロック検査モデル29をモデル検査器210に入力し、デッドロックの有無を検査する。
In the
本実施形態の仕様構成装置によれば、システム設計の初期工程おいて、人が記述した仕様を効率的に検証できる。 According to the specification configuration apparatus of the present embodiment, it is possible to efficiently verify a specification written by a person in the initial process of system design.
また、上流工程の設計者は処理フローとユースケースに相当する方法で仕様を記述し、それらの間の整合性を検証できるので、組込みシステムやビジネスシステムなどの分野において、複雑なシステムの上流設計を信頼性高く効率的に行うことができる。 In addition, upstream designers can write specifications in a way that corresponds to the processing flow and use cases, and verify the consistency between them, so in the fields of embedded systems and business systems, the upstream design of complex systems Can be performed with high reliability and efficiency.
21:仕様構成装置、 22:遷移モデル入力部、23:処理モデル入力部、24:検証条件入力部、25:モデル結合部、26:データフロー解析部、27:検証結果、28:デッドロック検査モデル生成部、29:デッドロック検査モデル、210:モデル検査器、211検証結果。 21: Specification component device 22: Transition model input unit 23: Processing model input unit 24: Verification condition input unit 25: Model combination unit 26: Data flow analysis unit 27: Verification result 28: Deadlock check Model generation unit, 29: deadlock inspection model, 210: model checker, 211 verification result.
Claims (12)
前記イベントによる前記遷移に伴うデータ値の更新を記述した処理モデルを入力する処理モデル入力部、
前記システムが満たすべき前記データ値の条件を前記状態に対応付けて記述した検証条件を入力する検証条件入力部、
前記遷移モデルと前記処理モデルを共通の前記イベントで関連付けることにより、前記遷移モデルと前記処理モデルを結合した結合モデルを生成するモデル結合部、および、
前記結合モデルをデータフロー解析し、前記状態について前記検証条件が満たされることを検証するデータフロー解析部を有することを特徴とする仕様構成装置。 A transition model input unit for inputting a transition model in which the dynamic behavior of the system is described by a combination of the state transition of the system and the state transition by an event;
A processing model input unit for inputting a processing model describing an update of a data value accompanying the transition by the event;
A verification condition input unit for inputting a verification condition in which the condition of the data value to be satisfied by the system is described in association with the state;
A model combining unit that generates a combined model obtained by combining the transition model and the processing model by associating the transition model and the processing model with the common event; and
A specification configuration apparatus comprising: a data flow analysis unit that performs data flow analysis on the combined model and verifies that the verification condition is satisfied for the state.
システムの動的な振る舞いを、前記システムの状態とイベントによる前記状態の遷移の組み合わせにより記述した遷移モデルを入力し、
前記イベントによる前記遷移に伴うデータ値の更新を記述した処理モデルを入力し、
前記システムが満たすべき前記データ値の条件を前記状態に対応付けて記述した検証条件を入力し、
前記遷移モデルと前記処理モデルを共通の前記イベントで関連付けることにより、前記遷移モデルと前記処理モデルを結合した結合モデルを生成し、
前記結合モデルをデータフロー解析し、前記状態について前記検証条件が満たされることを検証することを特徴とする仕様構成方法。 A specification configuration method using a specification configuration device, wherein the specification configuration device is:
Input a transition model that describes the dynamic behavior of the system by combining the state transition of the system and the state transition caused by an event.
Input a processing model describing the update of the data value accompanying the transition by the event,
Enter a verification condition describing the condition of the data value that the system should satisfy in association with the state,
By associating the transition model and the processing model with the common event, a combined model that combines the transition model and the processing model is generated,
A specification configuration method characterized by performing data flow analysis on the combined model and verifying that the verification condition is satisfied for the state.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/058610 WO2016151710A1 (en) | 2015-03-20 | 2015-03-20 | Specification configuration device and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2016151710A1 JPWO2016151710A1 (en) | 2017-05-25 |
JP6169302B2 true JP6169302B2 (en) | 2017-07-26 |
Family
ID=56977052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017507175A Expired - Fee Related JP6169302B2 (en) | 2015-03-20 | 2015-03-20 | Specification configuration apparatus and method |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6169302B2 (en) |
WO (1) | WO2016151710A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7064367B2 (en) * | 2018-03-30 | 2022-05-10 | 株式会社デンソー | Deadlock avoidance method, deadlock avoidance device |
JP7039365B2 (en) * | 2018-03-30 | 2022-03-22 | 株式会社デンソー | Deadlock avoidance method, deadlock avoidance device |
FR3091106B1 (en) | 2018-12-20 | 2021-02-12 | Commissariat Energie Atomique | Formal communications supervision system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07283847A (en) * | 1994-04-13 | 1995-10-27 | Hitachi Ltd | Communication software verification device |
JP2013057985A (en) * | 2009-12-09 | 2013-03-28 | Hitachi Ltd | System design support 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 |
-
2015
- 2015-03-20 JP JP2017507175A patent/JP6169302B2/en not_active Expired - Fee Related
- 2015-03-20 WO PCT/JP2015/058610 patent/WO2016151710A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2016151710A1 (en) | 2016-09-29 |
JPWO2016151710A1 (en) | 2017-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5412510B2 (en) | Method for automatically creating test cases to verify at least part of a piece of software | |
US9965252B2 (en) | Method and system for generating stateflow models from software requirements | |
KR102013657B1 (en) | Apparatus for statically analyzing assembly code including assoxiated multi files | |
JP2019029015A (en) | Interactive software program repair | |
JP6169302B2 (en) | Specification configuration apparatus and method | |
Tierno et al. | Open issues for the automotive software testing | |
US9043746B2 (en) | Conducting verification in event processing applications using formal methods | |
Lee et al. | Requirements modeling and automated requirements-based test generation | |
US10915427B2 (en) | Equivalence verification apparatus and computer readable medium | |
JP2008305079A (en) | Requirement specification automatic verification method | |
US10585779B2 (en) | Systems and methods of requirements chaining and applications thereof | |
JP2016031622A (en) | Software verification system and control device | |
JP5463226B2 (en) | Source code inspection method and source code inspection apparatus | |
JP2009134360A (en) | Model inspection system, model inspection method, and model inspection program | |
CN110795142B (en) | Configuration file generation method and device | |
JP6369269B2 (en) | Verification support apparatus, verification support method, and computer program | |
JP2011154568A (en) | Information processing apparatus, program verification method and program | |
JPWO2012049816A1 (en) | Model checking apparatus, method and program | |
JP6658297B2 (en) | Test case generation method, test case generation program and test case generation device | |
US20240241816A1 (en) | Automated test generation | |
JP2013206310A (en) | Model inspection device, model inspection method, and program | |
JP5736588B2 (en) | Source code conversion method and source code conversion program | |
Saifan et al. | Using formal methods for test case generation according to transition-based coverage criteria | |
JP2014229168A (en) | Test device | |
JP2014032447A (en) | Degradation test support system, degradation test support method, and degradation test support program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161214 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161214 |
|
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: 20170613 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170627 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6169302 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |