WO2012049816A1 - Model checking device, method, and program - Google Patents
Model checking device, method, and program Download PDFInfo
- Publication number
- WO2012049816A1 WO2012049816A1 PCT/JP2011/005572 JP2011005572W WO2012049816A1 WO 2012049816 A1 WO2012049816 A1 WO 2012049816A1 JP 2011005572 W JP2011005572 W JP 2011005572W WO 2012049816 A1 WO2012049816 A1 WO 2012049816A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- model
- checking
- check
- input
- uml
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
Definitions
- the present invention relates to a model checking apparatus, a model checking method, and a model checking program for verifying a system and software using a model checking technique, and more particularly to a model checking apparatus and model used for verifying a design described in UML of the system and software.
- the present invention relates to an inspection method and a model inspection program.
- UML Unified Modeling Language
- Patent Document 1 An example of such a model checking apparatus is described in Patent Document 1.
- This apparatus verifies a model described by a class diagram representing a process structure and a state machine diagram representing a state transition of the class using a model checking technique.
- This apparatus includes model information storage means, inspection object model setting means, and inspection execution means.
- the model information storage means stores model information representing a system model by a class representing a process structure and a state machine representing a state transition of the class.
- the inspection target model setting means accepts the selection of a specific state machine among the state machines that can be associated with the class stored in the model information storage means, and selects the selected specific state machine and class. Set the combined model to be inspected.
- the inspection execution means executes an inspection to determine whether the inspection object model information representing the set inspection object model satisfies a predetermined inspection expression.
- the first problem is that the model that is subject to model checking (generated inside the tool) and the checking options at the time of model checking are not flexible, and there is a possibility that appropriate checking cannot be performed.
- the model described in UML used in normal design is an abstraction, and the same model may have different meanings.
- a model created in the analysis phase and a model created in the design phase may have different meanings for the same model element (for example, “class”).
- the same model for example, the same state machine diagram
- the target domain is different.
- the second problem is that the model checker to be used is fixed to one and there is a possibility that proper check cannot be performed.
- model checkers There are various types of model checkers, and it is desirable to select and use the best model checker depending on the nature of the model to be checked.
- the model checker to be used is fixed, there is a possibility that an appropriate check according to the intention of the UML model writer cannot be performed.
- an object of the present invention is to provide a model checking apparatus, a model checking method, and a model checking program that can perform appropriate model checking according to the intention of a UML model writer.
- a model checking apparatus is a model checking apparatus that, when a UML model is input, executes model checking on a UML model and outputs a check result on the UML model.
- a model checking input model that generates a model checking input model described in the above, a checking setting file that indicates an option for model checking, a model checking input model generated by the model checking input generating means, and a checking setting file.
- a model checking execution means for executing model checking based on the above.
- a model checking method is a model checking method for executing a model check on a UML model and outputting a check result for the UML model when a UML model is input.
- a model check input model described in the above and a check setting file indicating options for model check are generated, and model check is executed based on the generated model check input model and check setting file .
- a model checking program is a model checking program for executing a model check on a UML model and outputting a check result on the UML model when a UML model is input. Based on the model check input generation process for generating the model check input model described in the model check language, the check setting file indicating the options for the model check, and the generated model check input model and the check setting file. And performing model checking execution processing for executing model checking.
- FIG. 1 is a block diagram showing a configuration example of a first embodiment of a model checking apparatus according to the present invention.
- the first embodiment of the model checking apparatus according to the present invention includes a model checking input generation unit 1, a model checking execution unit 2, and a profile conversion rule storage unit 10.
- the model checking apparatus is realized by an information processing apparatus such as a personal computer that operates according to a program. Each means operates in the following manner.
- the model check input generation means 1 is specifically realized by a CPU that operates according to a program.
- the model check input generation unit 1 has a function of receiving the UML model information 5 as an input and generating a model check input model 6 that is input to the model check execution unit 2 with reference to the profile conversion rule 4. Further, the model check input generation unit 1 receives the UML model information 5 as an input, and refers to the profile conversion rule 4 to generate a test setting file 7 indicating options when the model check execution unit 2 executes the model check. It has a function to do.
- the model checking execution means 2 is specifically realized by a CPU that operates according to a program.
- the model checking execution means 2 is a model checking engine itself or a means for actually starting model checking by starting the model checking engine.
- the model checking input model 6 and the check setting file 7 generated by the model checking input generating means 1 And has a function to perform model checking.
- the model checking engine is realized by, for example, SPIN (model checking tool).
- the model checking execution means 2 outputs a verification result 8 as a model checking result.
- the UML model information 5 includes model data (hereinafter also simply referred to as a model) described in UML projection such as a class diagram and a state machine diagram.
- the input of the UML model information 5 to the model check input generation unit 1 may be realized by inputting the UML model information 5 stored as a file, or the model check input generation unit 1 from an editor that draws the UML model. It may be realized by directly inputting to.
- the model included in the UML model information 5 is described depending on the profile definition 3.
- the UML model information 5 also includes information indicating which profile definition 3 the model depends on.
- a profile is one of the UML extension mechanisms, and can give a specific meaning to a model by stereotype and tagged value.
- the profile definition 3 is composed of a set of a set of model elements (classes, etc.) and stereotypes and tagged values assigned thereto.
- a plurality of such profile definitions may exist, but the model included in the UML model information 5 depends on any one of them.
- the profile definition 3 may be any definition that is generally used. If a corresponding profile conversion rule 4 (details will be described later) is defined, a unique definition can be used.
- the profile conversion rule storage means 10 is realized by a storage device such as an optical disk device or a magnetic disk device.
- the profile conversion rule storage unit 10 stores the profile conversion rule 4.
- the profile conversion rule 4 is referred to when the model check input generation unit 1 generates the model check input model 6 and the check setting file 7 from the UML model information 5.
- the profile conversion rule 4 includes a rule that indicates how to convert a model element included in the model of the UML model information 5 when the model element matches the model element defined in the profile definition 3.
- the profile conversion rule 4 is output when a model included in the UML model information 5 depends on a predetermined profile definition 3 and a necessary inspection option corresponding to the profile (this is included in the inspection setting file 7). ) Is included.
- the profile conversion rule 4 is predetermined by an administrator and registered in the profile conversion rule storage unit 10.
- the model check input model 6 is generated by the model check input generation means 1 and input to the model check model check execution means 2.
- the model checking input model 6 is a file described in a language for a model checking engine that implements the model checking execution unit 2 (or is activated by the model checking execution unit 2).
- the model checking engine is SPIN
- the model checking input model 6 is a file described in Promela.
- the inspection setting file 7 is generated by the model inspection input generation unit 1 and input to the model inspection model inspection execution unit 2.
- the inspection setting file 7 is a file that describes options when the model checking engine that implements the model checking execution unit 2 (or started by the model checking execution unit 2) executes model checking. .
- the model checking engine (model checking execution means 2) executes model checking according to this option.
- FIG. 2 is a flowchart showing an example of the operation of the model checking apparatus.
- the model checking apparatus When the UML model information 5 to be checked is input to the model checking apparatus, the model checking apparatus inputs the UML model information 5 to the model checking input generation means 1 (step S1 in FIG. 2).
- the UML model information 5 includes information indicating which profile is dependent on and information on a model such as a class diagram or a state machine diagram.
- the model information can be expressed as follows, for example.
- the model check input generation unit 1 uses the profile conversion rule 4 stored in the profile conversion rule storage unit 10 based on the information indicating the dependent profile included in the input UML model information 5 to refer to the profile conversion.
- Rule 4 is determined (step S2 in FIG. 2).
- the profile conversion rule 4 includes the following two types of rules.
- Type 1 Rules that specify inspection options corresponding to profiles Type 2. Rules that indicate how model elements defined in profile definition 3 are converted
- the model inspection input generation means 1 generates an inspection setting file 7 showing inspection options according to the type 1 rule included in the determined profile conversion rule 4 (step S3 in FIG. 2).
- model check input generation means 1 generates a model check input model 6 according to the type 2 rule included in the determined profile conversion rule 4 (step S4 in FIG. 2).
- type 2 rule can be expressed as follows, for example.
- the tagged value condition is a condition constituted by a tag value name, and indicates a condition that the value is a specific value or that the value is within a certain range.
- the model check input generation means 1 generates a model check input model according to this type 2 rule, for example, as shown in FIG.
- FIG. 3 is a flowchart illustrating an example of an operation for generating a model check input model.
- the model check input generation means 1 extracts one model component from the model included in the UML model information 5 (step S42 in FIG. 3).
- the model check input generation means 1 determines whether or not the type 2 rule corresponding to the extracted model component exists in the profile conversion rule 4 determined in step S2 shown in FIG. 3 in step S43).
- the model check input generation means 1 applies the conversion method indicated by the rule (step S44 in FIG. 3). Specifically, the model check input generation unit 1 converts the extracted model component according to the conversion method indicated by the type 2 rule.
- model check input generation unit 1 repeats the above-described steps S42 to S44 for all model components (step S41 in FIG. 3).
- the model check input generation unit 1 converts all model components and generates the model check input model 6.
- the model checking input model is generated according to the intention of the UML model writer by referring to the profile conversion rule 4 and performing the conversion process according to the rule corresponding to each model component. be able to.
- model check input generation unit 1 outputs the generated model check input model 6 and the check setting file 7 to the model check execution unit 2 (step S5 in FIG. 2).
- model checking execution means 2 executes model checking based on the model checking input model 6 and the checking setting file 7 (step S6 in FIG. 2).
- the model checking execution unit 2 executes model checking of the model checking input model 6 according to the checking option indicated by the checking setting file 7. For example, when the model checker includes a plurality of model checkers, the model check execution unit 2 selects and uses one of the model checkers according to the check option. That is, in this embodiment, an optimal model checker can be selected and used according to the properties of the UML model.
- the model checking execution means 2 outputs a verification result 8.
- the model inspection execution unit 2 outputs the inspection result 8 so as to be displayed on a display device such as a display device.
- the model checking apparatus includes the model checking input generation unit 1 and the model checking execution unit 2, and the model checking input generation unit 1 has a profile conversion rule that depends on the profile definition 3. 4, a model check input model that is an input to the model checker from the UML model is generated.
- the means for executing model checking based on UML model information is separated into model checking input generating means and model checking executing means.
- the model check input generation unit 1 defines a verification profile using a profile that is an extension mechanism of UML, and generates a model check input by referring to a profile conversion rule depending on the profile.
- the model inspection input generation unit 1 refers to the profile conversion rule 4 depending on the profile definition 3 and generates an inspection setting file indicating inspection options from the UML model. More specifically, one conversion rule corresponding to the profile definition on which the original UML model information depends is selected from a plurality of profile conversion rules, and a model inspection input model and an inspection setting file are generated according to the rule. .
- the input to the model checking engine can be made different for each profile, and appropriate according to the intention of the UML model writer Can be performed.
- the first effect is that verification that is optimal for the intention of the UML model writer can be performed. This is because the model check input model to be generated can be changed by referring to the profile conversion rule. Specifically, in this embodiment, a model checking input model is generated in accordance with the intention of the UML model writer because the conversion process is performed according to the rule corresponding to each model component with reference to the profile conversion rule. Because it can.
- the second effect is that it is possible to use model checking suitable for performing verification optimal to the intention of the UML model writer.
- the reason is that the model check input model to be generated can be changed by referring to the profile conversion rule, so that a file serving as an input for the model checker to be used can be generated.
- an inspection setting file indicating inspection options is generated according to the profile conversion rule, and model inspection is executed according to the generated inspection setting file, so inspection according to the nature of the UML model can be executed. It is.
- FIG. 4 is a block diagram showing a configuration example of the second embodiment of the model checking apparatus.
- the model checking apparatus according to the second embodiment of the present invention includes a profile conversion correspondence table storage unit 11 in addition to the configuration of the first embodiment shown in FIG.
- the profile conversion correspondence table storage unit 11 is realized by a storage device such as an optical disk device or a magnetic disk device.
- the profile conversion correspondence table storage unit 11 stores a profile conversion correspondence table 9.
- the profile conversion correspondence table 9 indicates which profile conversion rule 4 is used to convert the profile definition 3 on which the UML model information 5 depends. That is, the correspondence between the profile definition 3 and the profile conversion rule 4 is shown.
- the profile conversion correspondence table 9 is determined in advance by an administrator, for example, and is registered in the profile conversion correspondence table storage unit 11.
- the model check input generation unit 1 refers based on the information of the dependent profile (profile definition 3) included in the input UML model information 5. In order to determine the profile conversion rule 4, the profile conversion correspondence table 9 is referred to. Then, the model check input generation unit 1 determines the profile conversion rule 4 to be used based on the profile information (profile definition 3) and the profile conversion correspondence table 9.
- model check input generation unit 1 generates the model check input model 6 and the check setting file 7 with reference to the determined profile conversion rule 4 as in the first embodiment. Since the subsequent processing is the same as that of the first embodiment, description thereof is omitted.
- the profile definition 3 and the profile conversion rule 4 are associated with each other by the profile conversion correspondence table 9, so that model checking input by more flexible conversion Model 6 can be generated.
- FIG. 5 is an explanatory diagram showing an example of the profile definition 3.
- FIG. 6 is an explanatory diagram showing an example of the profile conversion rule 4.
- the model check input generation unit 1 reads what profile the model depends on. Specifically, the model check input generation unit 1 reads information indicating a dependent profile included in the UML model information 5. If the read profile is, for example, UML Verification, the model check input generation unit 1 performs conversion according to the profile conversion rule 4 shown in FIG.
- the model check input generation unit 1 For example, if there is a class to which the stereotype ⁇ Process >> is assigned, the model check input generation unit 1 generates a Proctype.
- the model check input generation means 1 generates a channel of size 0 (chan [0]).
- FIG. 7 is a block diagram illustrating a minimum configuration example of the model checking apparatus.
- the model checking apparatus includes a model check input generating unit 1 and a model check executing unit 2 as minimum components.
- the model checking input generating unit 1 includes a model checking input model described in a model checking language from a UML model, and a check setting file indicating options for model checking, Is generated. Then, the model checking execution unit 2 executes model checking based on the model checking input model generated by the model checking input generating unit 1 and the checking setting file.
- model checking apparatus with the minimum configuration, various model checking can be applied depending on the options at the time of model checking, and appropriate model checking according to the intention of the UML model writer can be performed. .
- the model checking device When a UML model (for example, included in the UML model information 5) is input, the model checking device performs model checking on the UML model and outputs a verification result on the UML model. From the UML model, a model checking input model (for example, model checking input model 6) described in a model checking language, and a checking setting file (for example, checking setting file 7) indicating options for model checking, A model that performs model checking based on a model checking input model generated by the model checking input generating unit (for example, realized by the model checking input generating unit 1) and a model checking input model generated by the model checking input generating unit And inspection execution means (for example, realized by the model inspection execution means 2) That.
- a model checking input model for example, model checking input model 6
- a checking setting file for example, checking setting file
- the model checking input generation unit is configured to select a model checking input model from a UML model described depending on any of a plurality of predefined profiles (for example, profile definition 3).
- the inspection setting file may be generated.
- Profile conversion rule storage means (for example, profile conversion rule) that stores a conversion rule including a predetermined rule and a profile conversion rule (for example, profile conversion rule 4) determined in advance for each profile in the model checking apparatus.
- a storage means 10) and the model check input generation means specifies which profile the UML model depends on, and refers to the profile conversion rule corresponding to the specified profile from the profile conversion rule storage means, The model check input model and the check setting file may be generated.
- profile conversion correspondence table storage means (for example, profile conversion correspondence table storage means 11) that stores a profile conversion correspondence table (for example, profile conversion correspondence table 9) that associates profiles with profile conversion rules.
- the model check input generation means is configured to determine a profile conversion rule to be referred to when generating the model check input model and the check setting file with reference to the profile conversion correspondence table. It may be.
- the model checking input generation unit performs conversion processing for each component of the UML model according to a predetermined rule (for example, a type 2 rule) included in the profile conversion rule to be referred to. It may be configured to generate an input model.
- a predetermined rule for example, a type 2 rule
- design in a specific field such as embedded software is performed by UML, and the design can be applied to a use such as a Dell inspection apparatus that performs model checking by SPIN or the like.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
A model checking device for executing, when a UML model is inputted, a model check on the UML model, and outputting the check results for the UML model, wherein the model checking device comprises: model check input generation means for generating, from the UML model, a model check input model written in a model checking language, as well as a checking settings file indicating options for the model check; and model check executing means for executing a model check on the basis of the model check input model and the check settings file generated by the model check input generation means.
Description
本発明は、システム及びソフトウェアをモデル検査技術を利用して検証するモデル検査装置、モデル検査方法及びモデル検査プログラムに関し、特にシステム及びソフトウェアのUMLで記述された設計の検証に用いるモデル検査装置、モデル検査方法及びモデル検査プログラムに関する。
The present invention relates to a model checking apparatus, a model checking method, and a model checking program for verifying a system and software using a model checking technique, and more particularly to a model checking apparatus and model used for verifying a design described in UML of the system and software. The present invention relates to an inspection method and a model inspection program.
モデル検査技術を用いると、モデル検査専用言語を用いて、作成されたモデルが与えられた性質を満たすかどうかを検証することができる。通常の設計では、モデリング言語UML(Unified Modeling Language)を用いてモデルを設計することが多い。しかし、UMLはモデル検査専用言語とは異なる言語であるので、直ちにモデル検査技術を用いてモデルを検証することはできない。そのため、UMLで記述されたモデル(以下、UMLモデルともいう)をモデル検査専用言語に変換する等を行った後にモデルを検査する方法が知られている。
Using model checking technology, it is possible to verify whether the created model satisfies the given properties using a model checking language. In normal design, a model is often designed using a modeling language UML (Unified Modeling Language). However, since UML is a language different from the model checking language, it is not possible to immediately verify the model using the model checking technique. Therefore, a method for inspecting a model after converting a model described in UML (hereinafter also referred to as a UML model) into a model-exclusive language is known.
こうしたモデル検査装置の一例が、特許文献1に記載されている。この装置は、プロセスの構造を表わすクラス図と、そのクラスの状態遷移を表わすステートマシン図とにより記述されたモデルを、モデル検査技術により検証する。この装置は、モデル情報記憶手段と、検査対象モデル設定手段と、検査実行手段とを備えている。
An example of such a model checking apparatus is described in Patent Document 1. This apparatus verifies a model described by a class diagram representing a process structure and a state machine diagram representing a state transition of the class using a model checking technique. This apparatus includes model information storage means, inspection object model setting means, and inspection execution means.
モデル情報記憶手段は、プロセスの構造を表すクラスと、そのクラスの状態遷移を表すステートマシンとによるシステムモデルを表すモデル情報を記憶する。また、検査対象モデル設定手段は、モデル情報記憶手段に記憶されているクラスに対応付け可能なステートマシンのうち特定のステートマシンの選択を受け付けて、その選択された特定のステートマシンとクラスとを組み合わせた検査対象モデルを設定する。また、検査実行手段は、設定された検査対象モデルを表す検査対象モデル情報が、予め定められた検査式を満たすか否かの検査を実行する。
The model information storage means stores model information representing a system model by a class representing a process structure and a state machine representing a state transition of the class. The inspection target model setting means accepts the selection of a specific state machine among the state machines that can be associated with the class stored in the model information storage means, and selects the selected specific state machine and class. Set the combined model to be inspected. The inspection execution means executes an inspection to determine whether the inspection object model information representing the set inspection object model satisfies a predetermined inspection expression.
第1の問題点は、モデル検査の対象となる(ツール内部で生成される)モデルやモデル検査の際の検査オプションに柔軟性がなく、適切な検査ができない可能性があることである。
The first problem is that the model that is subject to model checking (generated inside the tool) and the checking options at the time of model checking are not flexible, and there is a possibility that appropriate checking cannot be performed.
通常の設計で用いられるUMLで記述されたモデルは、抽象化されたものであり、同じモデルが異なる意味を持つ場合がある。例えば、分析フェーズで作成されるモデルと設計フェーズで作成されるモデルとでは、同じモデル要素(例えば「クラス」)が異なる意味を持つ場合がある。また、開発のフェーズは同じでも、対象ドメインが異なれば、同じモデル(例えば同じステートマシン図)が異なる意味を持つ場合がある。
The model described in UML used in normal design is an abstraction, and the same model may have different meanings. For example, a model created in the analysis phase and a model created in the design phase may have different meanings for the same model element (for example, “class”). Even if the development phase is the same, the same model (for example, the same state machine diagram) may have different meanings if the target domain is different.
モデルの意味が異なれば、本来は意味の違いに応じて異なる検査をしなければならない。そのため、UMLモデルにおいて同じモデル要素であっても、モデル検査の対象となるモデル検査専用言語での記述を異ならせることが好ましい。また、モデル検査の際に指定する検査対処オプションも異ならせることが好ましい。
¡If the meaning of the model is different, it must be inspected differently depending on the meaning. For this reason, it is preferable that descriptions in a model checking language to be model-checked are different even if they are the same model element in the UML model. In addition, it is preferable that the inspection coping options specified at the time of model checking are also different.
しかし、特許文献1で示されるような装置では、UMLモデルから、予め定められたモデル検査専用言語で記述したモデルおよび検査オプションを作成する。そのため、生成する検査用のモデルやモデル検査の際の検査オプションに柔軟性がなく、UMLモデルの記述者の意図に応じた適切な検査ができない可能性がある。
However, in the apparatus as shown in Patent Document 1, a model and an inspection option described in a predetermined model checking language are created from the UML model. Therefore, there is a possibility that the generated model for inspection and the inspection option at the time of model inspection are not flexible, and appropriate inspection according to the intention of the UML model writer may not be possible.
第2の問題点は、使用するモデル検査器が一つに固定されており、適切な検査ができない可能性があることである。
The second problem is that the model checker to be used is fixed to one and there is a possibility that proper check cannot be performed.
モデル検査器には様々なものがあり、検査したいモデルの性質により、最適なモデル検査器を選択して使用するのが望ましい。しかし、特許文献1で示されるような装置では、使用するモデル検査器が固定されているので、UMLモデルの記述者の意図に応じた適切な検査ができない可能性がある。
There are various types of model checkers, and it is desirable to select and use the best model checker depending on the nature of the model to be checked. However, in the apparatus shown in Patent Document 1, since the model checker to be used is fixed, there is a possibility that an appropriate check according to the intention of the UML model writer cannot be performed.
そこで、本発明は、UMLモデルの記述者の意図に応じた適切なモデル検査をすることができるモデル検査装置、モデル検査方法及びモデル検査プログラムを提供することを目的とする。
Therefore, an object of the present invention is to provide a model checking apparatus, a model checking method, and a model checking program that can perform appropriate model checking according to the intention of a UML model writer.
本発明によるモデル検査装置は、UMLモデルが入力されると、UMLモデルに対してモデル検査を実行し、UMLモデルに対する検査結果を出力するモデル検査装置であって、UMLモデルから、モデル検査用言語で記述されたモデル検査入力モデルと、モデル検査の際のオプションを示す検査設定ファイルとを生成するモデル検査入力生成手段と、モデル検査入力生成手段が生成したモデル検査入力モデルと検査設定ファイルとに基づいてモデル検査を実行するモデル検査実行手段とを備えていることを特徴とする。
A model checking apparatus according to the present invention is a model checking apparatus that, when a UML model is input, executes model checking on a UML model and outputs a check result on the UML model. A model checking input model that generates a model checking input model described in the above, a checking setting file that indicates an option for model checking, a model checking input model generated by the model checking input generating means, and a checking setting file. And a model checking execution means for executing model checking based on the above.
本発明によるモデル検査方法は、UMLモデルが入力されると、UMLモデルに対してモデル検査を実行し、UMLモデルに対する検査結果を出力するモデル検査方法であって、UMLモデルから、モデル検査用言語で記述されたモデル検査入力モデルと、モデル検査の際のオプションを示す検査設定ファイルとを生成し、生成したモデル検査入力モデルと検査設定ファイルとに基づいてモデル検査を実行する
ことを特徴とする。 A model checking method according to the present invention is a model checking method for executing a model check on a UML model and outputting a check result for the UML model when a UML model is input. A model check input model described in the above and a check setting file indicating options for model check are generated, and model check is executed based on the generated model check input model and check setting file .
ことを特徴とする。 A model checking method according to the present invention is a model checking method for executing a model check on a UML model and outputting a check result for the UML model when a UML model is input. A model check input model described in the above and a check setting file indicating options for model check are generated, and model check is executed based on the generated model check input model and check setting file .
本発明によるモデル検査プログラムは、UMLモデルが入力されると、UMLモデルに対してモデル検査を実行し、UMLモデルに対する検査結果を出力させるためのモデル検査プログラムであって、コンピュータに、UMLモデルから、モデル検査用言語で記述されたモデル検査入力モデルと、モデル検査の際のオプションを示す検査設定ファイルとを生成するモデル検査入力生成処理と、生成したモデル検査入力モデルと検査設定ファイルとに基づいてモデル検査を実行するモデル検査実行処理とを実行させることを特徴とする。
A model checking program according to the present invention is a model checking program for executing a model check on a UML model and outputting a check result on the UML model when a UML model is input. Based on the model check input generation process for generating the model check input model described in the model check language, the check setting file indicating the options for the model check, and the generated model check input model and the check setting file. And performing model checking execution processing for executing model checking.
本発明によれば、UMLモデルの記述者の意図に応じた適切なモデル検査をすることができる。
According to the present invention, it is possible to perform an appropriate model check according to the intention of the UML model writer.
実施形態1.
次に、本発明の第1の実施形態について図面を参照して説明する。Embodiment 1. FIG.
Next, a first embodiment of the present invention will be described with reference to the drawings.
次に、本発明の第1の実施形態について図面を参照して説明する。
Next, a first embodiment of the present invention will be described with reference to the drawings.
図1は、本発明によるモデル検査装置の第1の実施形態の構成例を示すブロック図である。図1を参照すると、本発明によるモデル検査装置の第1の実施形態は、モデル検査入力生成手段1と、モデル検査実行手段2と、プロファイル変換規則記憶手段10とを含む。モデル検査装置は、具体的には、プログラムに従って動作するパーソナルコンピュータ等の情報処理装置によって実現される。また、各手段は、それぞれ概略次のように動作する。
FIG. 1 is a block diagram showing a configuration example of a first embodiment of a model checking apparatus according to the present invention. Referring to FIG. 1, the first embodiment of the model checking apparatus according to the present invention includes a model checking input generation unit 1, a model checking execution unit 2, and a profile conversion rule storage unit 10. Specifically, the model checking apparatus is realized by an information processing apparatus such as a personal computer that operates according to a program. Each means operates in the following manner.
モデル検査入力生成手段1は、具体的には、プログラムに従って動作するCPUによって実現される。モデル検査入力生成手段1は、UMLモデル情報5を入力として受け取り、プロファイル変換規則4を参照して、モデル検査実行手段2への入力となるモデル検査入力モデル6を生成する機能を備えている。また、モデル検査入力生成手段1は、UMLモデル情報5を入力として受け取り、プロファイル変換規則4を参照して、モデル検査実行手段2がモデル検査を実行する時のオプションを示す検査設定ファイル7を生成する機能を備えている。
The model check input generation means 1 is specifically realized by a CPU that operates according to a program. The model check input generation unit 1 has a function of receiving the UML model information 5 as an input and generating a model check input model 6 that is input to the model check execution unit 2 with reference to the profile conversion rule 4. Further, the model check input generation unit 1 receives the UML model information 5 as an input, and refers to the profile conversion rule 4 to generate a test setting file 7 indicating options when the model check execution unit 2 executes the model check. It has a function to do.
モデル検査実行手段2は、具体的には、プログラムに従って動作するCPUによって実現される。モデル検査実行手段2は、モデル検査エンジンそのもの、またはモデル検査エンジンを起動してモデル検査を実際に行う手段であり、モデル検査入力生成手段1が生成したモデル検査入力モデル6と検査設定ファイル7とを受け取り、モデル検査を行う機能を備えている。モデル検査エンジンは、例えばSPIN(モデル検査ツール)等によって実現される。モデル検査実行手段2は、モデル検査の結果として、検証結果8を出力する。
The model checking execution means 2 is specifically realized by a CPU that operates according to a program. The model checking execution means 2 is a model checking engine itself or a means for actually starting model checking by starting the model checking engine. The model checking input model 6 and the check setting file 7 generated by the model checking input generating means 1 And has a function to perform model checking. The model checking engine is realized by, for example, SPIN (model checking tool). The model checking execution means 2 outputs a verification result 8 as a model checking result.
UMLモデル情報5は、クラス図やステートマシン図等のUMLの図法で記述されたモデルデータ(以下、単にモデルともいう)を含む。このUMLモデル情報5のモデル検査入力生成手段1への入力は、ファイルとして保存したUMLモデル情報5を入力することによって実現されても良いし、UMLモデルを描画するエディタからモデル検査入力生成手段1に直接入力されることによって実現されても良い。
The UML model information 5 includes model data (hereinafter also simply referred to as a model) described in UML projection such as a class diagram and a state machine diagram. The input of the UML model information 5 to the model check input generation unit 1 may be realized by inputting the UML model information 5 stored as a file, or the model check input generation unit 1 from an editor that draws the UML model. It may be realized by directly inputting to.
UMLモデル情報5が含むモデルは、プロファイル定義3に依存して記述される。UMLモデル情報5は、モデルがどのプロファイル定義3に依存しているかを示す情報も含む。
The model included in the UML model information 5 is described depending on the profile definition 3. The UML model information 5 also includes information indicating which profile definition 3 the model depends on.
プロファイルとは、UMLの拡張機構の一つであり、ステレオタイプ及びタグ付き値により、モデルに特定の意味付けができるものである。したがって、プロファイル定義3は、モデル要素(クラス等)とそれに付与されるステレオタイプ及びタグ付き値との組の集合からなる。このようなプロファイル定義は複数存在して良いが、UMLモデル情報5が含むモデルはそれらのうちのいずれか一つに依存する。プロファイル定義3については、一般に用いられているどのような定義であってもよい。また、対応するプロファイル変換規則4(詳細については後述する)を定めていれば、独自の定義を用いることもできる。
A profile is one of the UML extension mechanisms, and can give a specific meaning to a model by stereotype and tagged value. Accordingly, the profile definition 3 is composed of a set of a set of model elements (classes, etc.) and stereotypes and tagged values assigned thereto. A plurality of such profile definitions may exist, but the model included in the UML model information 5 depends on any one of them. The profile definition 3 may be any definition that is generally used. If a corresponding profile conversion rule 4 (details will be described later) is defined, a unique definition can be used.
プロファイル変換規則記憶手段10は、具体的には、光ディスク装置や磁気ディスク装置等の記憶装置によって実現される。プロファイル変換規則記憶手段10は、プロファイル変換規則4を記憶する。
Specifically, the profile conversion rule storage means 10 is realized by a storage device such as an optical disk device or a magnetic disk device. The profile conversion rule storage unit 10 stores the profile conversion rule 4.
プロファイル変換規則4は、モデル検査入力生成手段1がUMLモデル情報5からモデル検査入力モデル6と検査設定ファイル7とを生成する際に参照される。プロファイル変換規則4は、UMLモデル情報5のモデルに含まれるモデル要素が、プロファイル定義3に定義されたモデル要素と合致する場合に、そのモデル要素をどのように変換するかを示す規則を含む。
The profile conversion rule 4 is referred to when the model check input generation unit 1 generates the model check input model 6 and the check setting file 7 from the UML model information 5. The profile conversion rule 4 includes a rule that indicates how to convert a model element included in the model of the UML model information 5 when the model element matches the model element defined in the profile definition 3.
また、プロファイル変換規則4は、UMLモデル情報5が含むモデルが所定のプロファイル定義3に依存する場合に、そのプロファイルに対応した必要な検査オプション(これは検査設定ファイル7に含まれて出力される)を示す規則を含む。
The profile conversion rule 4 is output when a model included in the UML model information 5 depends on a predetermined profile definition 3 and a necessary inspection option corresponding to the profile (this is included in the inspection setting file 7). ) Is included.
したがって、プロファイル変換規則4は、プロファイル定義3に依存して定められ、各プロファイル定義に対応してプロファイル変換規則が必要になるため、複数存在する。プロファイル変換規則4は、例えば、予め管理者によって定められ、プロファイル変換規則記憶手段10に登録される。
Therefore, there are a plurality of profile conversion rules 4 because they are determined depending on the profile definition 3 and a profile conversion rule is required for each profile definition. For example, the profile conversion rule 4 is predetermined by an administrator and registered in the profile conversion rule storage unit 10.
モデル検査入力モデル6は、モデル検査入力生成手段1によって生成され、モデル検査モデル検査実行手段2に入力される。モデル検査入力モデル6は、具体的には、モデル検査実行手段2を実現する(またはモデル検査実行手段2により起動される)モデル検査エンジン用の言語で記述されたファイルである。例えば、モデル検査エンジンがSPINであれば、モデル検査入力モデル6は、Promelaで記述されたファイルとなる。
The model check input model 6 is generated by the model check input generation means 1 and input to the model check model check execution means 2. Specifically, the model checking input model 6 is a file described in a language for a model checking engine that implements the model checking execution unit 2 (or is activated by the model checking execution unit 2). For example, if the model checking engine is SPIN, the model checking input model 6 is a file described in Promela.
検査設定ファイル7は、モデル検査入力生成手段1によって生成され、モデル検査モデル検査実行手段2に入力される。検査設定ファイル7は、具体的には、モデル検査実行手段2を実現する(またはモデル検査実行手段2により起動される)モデル検査エンジンがモデル検査を実行する際のオプションが記載されたファイルである。モデル検査エンジン(モデル検査実行手段2)は、このオプションに従ってモデル検査を実行する。
The inspection setting file 7 is generated by the model inspection input generation unit 1 and input to the model inspection model inspection execution unit 2. Specifically, the inspection setting file 7 is a file that describes options when the model checking engine that implements the model checking execution unit 2 (or started by the model checking execution unit 2) executes model checking. . The model checking engine (model checking execution means 2) executes model checking according to this option.
次に、図1、図2及び図3を参照して本実施形態の全体の動作について説明する。図2は、モデル検査装置の動作の一例を示す流れ図である。
Next, the overall operation of this embodiment will be described with reference to FIG. 1, FIG. 2, and FIG. FIG. 2 is a flowchart showing an example of the operation of the model checking apparatus.
検査対象のUMLモデル情報5がモデル検査装置に入力されると、モデル検査装置は、UMLモデル情報5をモデル検査入力生成手段1に入力する(図2におけるステップS1)。
When the UML model information 5 to be checked is input to the model checking apparatus, the model checking apparatus inputs the UML model information 5 to the model checking input generation means 1 (step S1 in FIG. 2).
ここで、UMLモデル情報5は、どのプロファイルに依存するかを示す情報とクラス図やステートマシン図等のモデルの情報とを含む。モデルの情報は、例えば以下のように表現することができる。
Here, the UML model information 5 includes information indicating which profile is dependent on and information on a model such as a class diagram or a state machine diagram. The model information can be expressed as follows, for example.
[<モデル構成要素>[ステレオタイプ]+[タグ付き値]+<付加情報>]+
[<Model component> [Stereotype] + [Tagged value] + <Additional information>] +
次いで、モデル検査入力生成手段1は、入力されたUMLモデル情報5に含まれる、依存するプロファイルを示す情報に基づいて、プロファイル変換規則記憶手段10が記憶するプロファイル変換規則4から、参照するプロファイル変換規則4を決定する(図2におけるステップS2)。ここで、プロファイル変換規則4は、以下の2種類の規則を含む。
Next, the model check input generation unit 1 uses the profile conversion rule 4 stored in the profile conversion rule storage unit 10 based on the information indicating the dependent profile included in the input UML model information 5 to refer to the profile conversion. Rule 4 is determined (step S2 in FIG. 2). Here, the profile conversion rule 4 includes the following two types of rules.
種類1.プロファイルに対応した検査オプションを指定する規則
種類2.プロファイル定義3に定義されたモデル要素をどのように変換するかを示す規則Type 1. Rules that specify inspection options corresponding to profiles Type 2. Rules that indicate how model elements defined in profile definition 3 are converted
種類2.プロファイル定義3に定義されたモデル要素をどのように変換するかを示す規則
次いで、モデル検査入力生成手段1は、決定したプロファイル変換規則4に含まれる種類1の規則に従って、検査オプションが示された検査設定ファイル7を生成する(図2におけるステップS3)。
Next, the model inspection input generation means 1 generates an inspection setting file 7 showing inspection options according to the type 1 rule included in the determined profile conversion rule 4 (step S3 in FIG. 2).
さらに、モデル検査入力生成手段1は、決定したプロファイル変換規則4に含まれる種類2の規則に従って、モデル検査入力モデル6を生成する(図2におけるステップS4)。なお、種類2の規則は、例えば以下のように表現することができる。
Further, the model check input generation means 1 generates a model check input model 6 according to the type 2 rule included in the determined profile conversion rule 4 (step S4 in FIG. 2). Note that the type 2 rule can be expressed as follows, for example.
[<モデル構成要素>[<ステレオタイプ>]+[<タグ付き値条件>]<変換方法>]+
[<Model component> [<Stereotype>] + [<Tagged value condition>] <Conversion method>] +
ここで、タグ付き値条件とは、タグ値名によって構成される条件のことであり、値が特定の値であることや、値がある範囲にある等の条件を示す。
Here, the tagged value condition is a condition constituted by a tag value name, and indicates a condition that the value is a specific value or that the value is within a certain range.
モデル検査入力生成手段1は、例えば図3に示すように、この種類2の規則に従って、モデル検査入力モデルを生成する。図3は、モデル検査入力モデルを生成する動作の一例を示す流れ図である。
The model check input generation means 1 generates a model check input model according to this type 2 rule, for example, as shown in FIG. FIG. 3 is a flowchart illustrating an example of an operation for generating a model check input model.
最初に、モデル検査入力生成手段1は、UMLモデル情報5に含まれるモデルから、モデル構成要素を一つ抽出する(図3におけるステップS42)。
First, the model check input generation means 1 extracts one model component from the model included in the UML model information 5 (step S42 in FIG. 3).
次いで、モデル検査入力生成手段1は、抽出したモデル構成要素に対応する種類2の規則が、図2に示されたステップS2で決定したプロファイル変換規則4に存在するか否かを判断する(図3におけるステップS43)。
Next, the model check input generation means 1 determines whether or not the type 2 rule corresponding to the extracted model component exists in the profile conversion rule 4 determined in step S2 shown in FIG. 3 in step S43).
ステップS43において種類2の規則が存在すると判断すると、モデル検査入力生成手段1は、その規則が示す変換方法を適用する(図3におけるステップS44)。具体的には、モデル検査入力生成手段1は、種類2の規則が示す変換方法に従って、抽出したモデル構成要素を変換する。
If it is determined that there is a type 2 rule in step S43, the model check input generation means 1 applies the conversion method indicated by the rule (step S44 in FIG. 3). Specifically, the model check input generation unit 1 converts the extracted model component according to the conversion method indicated by the type 2 rule.
その後、モデル検査入力生成手段1は、上記のステップS42からS44の処理を、全てのモデル構成要素について繰り返す(図3におけるステップS41)。
Thereafter, the model check input generation unit 1 repeats the above-described steps S42 to S44 for all model components (step S41 in FIG. 3).
以上のようにして、モデル検査入力生成手段1は、全てのモデル構成要素を変換し、モデル検査入力モデル6を生成する。このように、本実施形態では、プロファイル変換規則4を参照し、モデル構成要素ごとに対応する規則に従って変換処理を行うことで、UMLモデルの記述者の意図に応じたモデル検査入力モデルを生成することができる。
As described above, the model check input generation unit 1 converts all model components and generates the model check input model 6. As described above, in this embodiment, the model checking input model is generated according to the intention of the UML model writer by referring to the profile conversion rule 4 and performing the conversion process according to the rule corresponding to each model component. be able to.
次いで、モデル検査入力生成手段1は、生成したモデル検査入力モデル6と検査設定ファイル7とをモデル検査実行手段2に出力する(図2におけるステップS5)。
Next, the model check input generation unit 1 outputs the generated model check input model 6 and the check setting file 7 to the model check execution unit 2 (step S5 in FIG. 2).
次いで、モデル検査実行手段2は、モデル検査入力モデル6と検査設定ファイル7とに基づいてモデル検査を実行する(図2におけるステップS6)。
Next, the model checking execution means 2 executes model checking based on the model checking input model 6 and the checking setting file 7 (step S6 in FIG. 2).
具体的には、モデル検査実行手段2は、検査設定ファイル7によって示された検査オプションに従って、モデル検査入力モデル6のモデル検査を実行する。例えば、モデル検査装置が複数のモデル検査器を備えている場合には、モデル検査実行手段2は、検査オプションに従って、いずれかのモデル検査器を選択して使用する。すなわち、本実施形態では、UMLモデルの性質に応じて、最適なモデル検査器を選択して使用することができる。
Specifically, the model checking execution unit 2 executes model checking of the model checking input model 6 according to the checking option indicated by the checking setting file 7. For example, when the model checker includes a plurality of model checkers, the model check execution unit 2 selects and uses one of the model checkers according to the check option. That is, in this embodiment, an optimal model checker can be selected and used according to the properties of the UML model.
その後、モデル検査実行手段2は、検証結果8を出力する。例えば、モデル検査実行手段2は、検査結果8をディスプレイ装置等の表示装置に表示させるように出力する。
Thereafter, the model checking execution means 2 outputs a verification result 8. For example, the model inspection execution unit 2 outputs the inspection result 8 so as to be displayed on a display device such as a display device.
以上の説明したように、本実施形態のモデル検査装置は、モデル検査入力生成手段1と、モデル検査実行手段2とを備え、モデル検査入力生成手段1は、プロファイル定義3に依存するプロファイル変換規則4を参照してUMLモデルからモデル検査器への入力となるモデル検査入力モデルを生成する。
As described above, the model checking apparatus according to the present embodiment includes the model checking input generation unit 1 and the model checking execution unit 2, and the model checking input generation unit 1 has a profile conversion rule that depends on the profile definition 3. 4, a model check input model that is an input to the model checker from the UML model is generated.
つまり、本実施形態では、UMLモデル情報に基づいてモデル検査を実行する手段が、モデル検査入力生成手段とモデル検査実行手段とに分離されている。さらに、モデル検査入力生成手段1は、UMLの拡張機構であるプロファイルを利用して検証用プロファイルを定義し、プロファイルに依存したプロファイル変換規則を参照してモデル検査用の入力を生成する。具体的には、モデル検査入力生成手段1は、プロファイル定義3に依存するプロファイル変換規則4を参照して、UMLモデルから検査オプションを示す検査設定ファイルを生成する。より具体的には、複数のプロファイル変換規則から、もとのUMLモデル情報が依存するプロファイル定義に対応する変換規則を一つ選択し、その規則に従ってモデル検査入力モデルと検査設定ファイルとを生成する。
That is, in this embodiment, the means for executing model checking based on UML model information is separated into model checking input generating means and model checking executing means. Further, the model check input generation unit 1 defines a verification profile using a profile that is an extension mechanism of UML, and generates a model check input by referring to a profile conversion rule depending on the profile. Specifically, the model inspection input generation unit 1 refers to the profile conversion rule 4 depending on the profile definition 3 and generates an inspection setting file indicating inspection options from the UML model. More specifically, one conversion rule corresponding to the profile definition on which the original UML model information depends is selected from a plurality of profile conversion rules, and a model inspection input model and an inspection setting file are generated according to the rule. .
モデル検査を実行する手段の分離とモデル検査入力生成手段1が実行する処理によって、モデル検査エンジンへの入力をプロファイルごとに異なるようにすることができ、UMLモデルの記述者の意図に応じた適切な検査を実行することが可能になる。
By separating the means for executing model checking and the processing executed by the model checking input generating means 1, the input to the model checking engine can be made different for each profile, and appropriate according to the intention of the UML model writer Can be performed.
したがって、本実施形態では次のような効果を得ることができる。
Therefore, in this embodiment, the following effects can be obtained.
第1の効果は、UMLモデルの記述者の意図に最適な検証ができるようになることである。その理由は、プロファイル変換規則を参照することにより、生成するモデル検査入力モデルが変更できるからである。具体的には、本実施形態では、プロファイル変換規則を参照して、モデル構成要素ごとに対応する規則に従って変換処理を行うため、UMLモデルの記述者の意図に応じたモデル検査入力モデルを生成することができるからである。
The first effect is that verification that is optimal for the intention of the UML model writer can be performed. This is because the model check input model to be generated can be changed by referring to the profile conversion rule. Specifically, in this embodiment, a model checking input model is generated in accordance with the intention of the UML model writer because the conversion process is performed according to the rule corresponding to each model component with reference to the profile conversion rule. Because it can.
第2の効果は、UMLモデルの記述者の意図に最適な検証を行うために適したモデル検査の利用ができるようになることである。その理由は、プロファイル変換規則を参照することにより、生成するモデル検査入力モデルが変更できるので、使用するモデル検査器のための入力となるファイルを生成することができるからである。具体的には、本実施形態では、プロファイル変換規則に従って検査オプションを示す検査設定ファイルを生成し、生成した検査設定ファイルに従ってモデル検査を実行するため、UMLモデルの性質に応じた検査を実行できるからである。
The second effect is that it is possible to use model checking suitable for performing verification optimal to the intention of the UML model writer. The reason is that the model check input model to be generated can be changed by referring to the profile conversion rule, so that a file serving as an input for the model checker to be used can be generated. Specifically, in the present embodiment, an inspection setting file indicating inspection options is generated according to the profile conversion rule, and model inspection is executed according to the generated inspection setting file, so inspection according to the nature of the UML model can be executed. It is.
実施形態2.
次に、本発明の第2の実施形態について図面を参照して説明する。Embodiment 2. FIG.
Next, a second embodiment of the present invention will be described with reference to the drawings.
次に、本発明の第2の実施形態について図面を参照して説明する。
Next, a second embodiment of the present invention will be described with reference to the drawings.
図4は、モデル検査装置の第2の実施形態の構成例を示すブロック図である。図4を参照すると、本発明によるモデル検査装置の第2の実施形態は、図1に示された第1の実施形態の構成に加えて、プロファイル変換対応表記憶手段11を備えている。
FIG. 4 is a block diagram showing a configuration example of the second embodiment of the model checking apparatus. Referring to FIG. 4, the model checking apparatus according to the second embodiment of the present invention includes a profile conversion correspondence table storage unit 11 in addition to the configuration of the first embodiment shown in FIG.
プロファイル変換対応表記憶手段11は、具体的には、光ディスク装置や磁気ディスク装置等の記憶装置によって実現される。プロファイル変換対応表記憶手段11は、プロファイル変換対応表9を記憶する。
Specifically, the profile conversion correspondence table storage unit 11 is realized by a storage device such as an optical disk device or a magnetic disk device. The profile conversion correspondence table storage unit 11 stores a profile conversion correspondence table 9.
プロファイル変換対応表9は、UMLモデル情報5が依存するプロファイル定義3に対して、いずれのプロファイル変換規則4を使って変換するのかを示す。すなわち、プロファイル定義3とプロファイル変換規則4との対応を示す。プロファイル変換対応表9は、例えば、予め管理者によって定められ、プロファイル変換対応表記憶手段11に登録される。
The profile conversion correspondence table 9 indicates which profile conversion rule 4 is used to convert the profile definition 3 on which the UML model information 5 depends. That is, the correspondence between the profile definition 3 and the profile conversion rule 4 is shown. The profile conversion correspondence table 9 is determined in advance by an administrator, for example, and is registered in the profile conversion correspondence table storage unit 11.
次に、本実施形態におけるモデル検査装置の動作例について説明する。ここでは、第1の実施形態と異なる動作についてのみ説明する。
Next, an operation example of the model checking apparatus according to this embodiment will be described. Here, only operations different from those of the first embodiment will be described.
本実施形態では、図2に示されたステップS2において、モデル検査入力生成手段1は、入力されたUMLモデル情報5に含まれる、依存するプロファイルの情報(プロファイル定義3)に基づいて、参照するプロファイル変換規則4を決定するために、プロファイル変換対応表9を参照する。そして、モデル検査入力生成手段1は、プロファイルの情報(プロファイル定義3)とプロファイル変換対応表9とに基づいて、利用するプロファイル変換規則4を決定する。
In the present embodiment, in step S2 shown in FIG. 2, the model check input generation unit 1 refers based on the information of the dependent profile (profile definition 3) included in the input UML model information 5. In order to determine the profile conversion rule 4, the profile conversion correspondence table 9 is referred to. Then, the model check input generation unit 1 determines the profile conversion rule 4 to be used based on the profile information (profile definition 3) and the profile conversion correspondence table 9.
その後、モデル検査入力生成手段1は、第1の実施形態と同様に、決定したプロファイル変換規則4を参照して、モデル検査入力モデル6と、検査設定ファイル7とを生成する。以降の処理については、第1の実施形態と同様であるため、説明を省略する。
Thereafter, the model check input generation unit 1 generates the model check input model 6 and the check setting file 7 with reference to the determined profile conversion rule 4 as in the first embodiment. Since the subsequent processing is the same as that of the first embodiment, description thereof is omitted.
以上のことから、本実施形態では、第1の実施形態の効果に加えて、プロファイル変換対応表9によりプロファイル定義3とプロファイル変換規則4とが対応付けられるため、より柔軟な変換によるモデル検査入力モデル6の生成が可能となる。
From the above, in this embodiment, in addition to the effects of the first embodiment, the profile definition 3 and the profile conversion rule 4 are associated with each other by the profile conversion correspondence table 9, so that model checking input by more flexible conversion Model 6 can be generated.
次に、上記の第1の実施形態及び第2の実施形態におけるモデル検査入力生成手段1の動作について、具体例を用いて説明する。図5は、プロファイル定義3の一例を示す説明図である。図6は、プロファイル変換規則4の一例を示す説明図である。
Next, the operation of the model check input generation unit 1 in the first embodiment and the second embodiment will be described using a specific example. FIG. 5 is an explanatory diagram showing an example of the profile definition 3. FIG. 6 is an explanatory diagram showing an example of the profile conversion rule 4.
モデル検査入力生成手段1は、UMLモデル情報5が入力されると、そのモデルが依存するプロファイルが何であるかを読み取る。具体的には、モデル検査入力生成手段1は、UMLモデル情報5に含まれる依存するプロファイルを示す情報を読み取る。そして、読み取ったプロファイルが例えばUMLVerificationであれば、モデル検査入力生成手段1は、図6に示されるプロファイル変換規則4に従って変換を行う。
When the UML model information 5 is input, the model check input generation unit 1 reads what profile the model depends on. Specifically, the model check input generation unit 1 reads information indicating a dependent profile included in the UML model information 5. If the read profile is, for example, UML Verification, the model check input generation unit 1 performs conversion according to the profile conversion rule 4 shown in FIG.
例えば、ステレオタイプ<<Process>>が付与されたクラスがあれば、モデル検査入力生成手段1は、Proctypeを生成する。
For example, if there is a class to which the stereotype << Process >> is assigned, the model check input generation unit 1 generates a Proctype.
また、関連がステレオタイプ<<ChannelSync>>を付与されていれば、モデル検査入力生成手段1は、サイズ0のチャネル(chan[0])を生成する。
Also, if the relationship is given the stereotype << ChannelSync >>, the model check input generation means 1 generates a channel of size 0 (chan [0]).
次に、本発明によるモデル検査装置の最小構成について説明する。図7は、モデル検査装置の最小の構成例を示すブロック図である。図7に示すように、モデル検査装置は、最小の構成要素として、モデル検査入力生成手段1と、モデル検査実行手段2とを備えている。
Next, the minimum configuration of the model checking apparatus according to the present invention will be described. FIG. 7 is a block diagram illustrating a minimum configuration example of the model checking apparatus. As shown in FIG. 7, the model checking apparatus includes a model check input generating unit 1 and a model check executing unit 2 as minimum components.
図7に示す最小構成のモデル検査装置では、モデル検査入力生成手段1は、UMLモデルから、モデル検査用言語で記述されたモデル検査入力モデルと、モデル検査の際のオプションを示す検査設定ファイルとを生成する。そして、モデル検査実行手段2は、モデル検査入力生成手段1が生成したモデル検査入力モデルと検査設定ファイルとに基づいてモデル検査を実行する。
In the model checking apparatus having the minimum configuration shown in FIG. 7, the model checking input generating unit 1 includes a model checking input model described in a model checking language from a UML model, and a check setting file indicating options for model checking, Is generated. Then, the model checking execution unit 2 executes model checking based on the model checking input model generated by the model checking input generating unit 1 and the checking setting file.
従って、最小構成のモデル検査装置によれば、モデル検査の際のオプション等により様々なモデル検査を適用することができ、UMLモデルの記述者の意図に応じた適切なモデル検査をすることができる。
Therefore, according to the model checking apparatus with the minimum configuration, various model checking can be applied depending on the options at the time of model checking, and appropriate model checking according to the intention of the UML model writer can be performed. .
なお、本実施形態では、以下の(1)~(5)に示すようなモデル検査装置の特徴的構成が示されている。
In this embodiment, the characteristic configuration of the model checking apparatus as shown in the following (1) to (5) is shown.
(1)モデル検査装置は、UMLモデル(例えば、UMLモデル情報5に含まれる)が入力されると、UMLモデルに対してモデル検査を実行し、UMLモデルに対する検証結果を出力するモデル検査装置であって、UMLモデルから、モデル検査用言語で記述されたモデル検査入力モデル(例えば、モデル検査入力モデル6)と、モデル検査の際のオプションを示す検査設定ファイル(例えば、検査設定ファイル7)とを生成するモデル検査入力生成手段(例えば、モデル検査入力生成手段1によって実現される)と、モデル検査入力生成手段が生成したモデル検査入力モデルと検査設定ファイルとに基づいてモデル検査を実行するモデル検査実行手段(例えば、モデル検査実行手段2によって実現される)とを備えていることを特徴とする。
(1) When a UML model (for example, included in the UML model information 5) is input, the model checking device performs model checking on the UML model and outputs a verification result on the UML model. From the UML model, a model checking input model (for example, model checking input model 6) described in a model checking language, and a checking setting file (for example, checking setting file 7) indicating options for model checking, A model that performs model checking based on a model checking input model generated by the model checking input generating unit (for example, realized by the model checking input generating unit 1) and a model checking input model generated by the model checking input generating unit And inspection execution means (for example, realized by the model inspection execution means 2) That.
(2)モデル検査装置において、モデル検査入力生成手段は、あらかじめ定義された複数のプロファイル(例えば、プロファイル定義3)のうちのいずれかに依存して記述されたUMLモデルから、モデル検査入力モデルと検査設定ファイルとを生成するように構成されていてもよい。
(2) In the model checking apparatus, the model checking input generation unit is configured to select a model checking input model from a UML model described depending on any of a plurality of predefined profiles (for example, profile definition 3). The inspection setting file may be generated.
(3)モデル検査装置において、所定の規則を含む変換規則であってプロファイルごとにあらかじめ定められたプロファイル変換規則(例えば、プロファイル変換規則4)を記憶するプロファイル変換規則記憶手段(例えば、プロファイル変換規則記憶手段10)を備え、モデル検査入力生成手段は、UMLモデルがいずれのプロファイルに依存しているかを特定し、プロファイル変換規則記憶手段から、特定したプロファイルに対応するプロファイル変換規則を参照して、モデル検査入力モデルと検査設定ファイルとを生成するように構成されていてもよい。
(3) Profile conversion rule storage means (for example, profile conversion rule) that stores a conversion rule including a predetermined rule and a profile conversion rule (for example, profile conversion rule 4) determined in advance for each profile in the model checking apparatus. A storage means 10), and the model check input generation means specifies which profile the UML model depends on, and refers to the profile conversion rule corresponding to the specified profile from the profile conversion rule storage means, The model check input model and the check setting file may be generated.
(4)モデル検査装置において、プロファイルとプロファイル変換規則とを対応付けたプロファイル変換対応表(例えば、プロファイル変換対応表9)を記憶するプロファイル変換対応表記憶手段(例えば、プロファイル変換対応表記憶手段11によって実現される)を備え、モデル検査入力生成手段は、プロファイル変換対応表を参照して、モデル検査入力モデルと検査設定ファイルとを生成する際に参照するプロファイル変換規則を決定するように構成されていてもよい。
(4) In the model checking apparatus, profile conversion correspondence table storage means (for example, profile conversion correspondence table storage means 11) that stores a profile conversion correspondence table (for example, profile conversion correspondence table 9) that associates profiles with profile conversion rules. The model check input generation means is configured to determine a profile conversion rule to be referred to when generating the model check input model and the check setting file with reference to the profile conversion correspondence table. It may be.
(5)モデル検査装置において、モデル検査入力生成手段は、UMLモデルの構成要素ごとに、参照するプロファイル変換規則に含まれる所定の規則(例えば、種類2の規則)に従って変換処理を行い、モデル検査入力モデルを生成するように構成されていてもよい。
(5) In the model checking device, the model checking input generation unit performs conversion processing for each component of the UML model according to a predetermined rule (for example, a type 2 rule) included in the profile conversion rule to be referred to. It may be configured to generate an input model.
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
As mentioned above, although this invention was demonstrated with reference to embodiment and an Example, this invention is not limited to the said embodiment and Example. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
この出願は、2010年10月14日に出願された日本特許出願2010-231733を基礎とする優先権を主張し、その開示の全てをここに取り込む。
This application claims priority based on Japanese Patent Application 2010-231733 filed on October 14, 2010, the entire disclosure of which is incorporated herein.
本発明によれば、ソフトウェアの設計時に、組込みソフトウェア等特定分野の設計をUMLで行い、その設計をSPIN等でモデル検査するデル検査装置といった用途に適用できる。
According to the present invention, at the time of software design, design in a specific field such as embedded software is performed by UML, and the design can be applied to a use such as a Dell inspection apparatus that performs model checking by SPIN or the like.
1 モデル検査入力生成手段
2 モデル検査実行手段
3 プロファイル定義
4 プロファイル変換規則
5 UMLモデル情報
6 モデル検査入力モデル
7 検査設定ファイル
8 検査結果
9 プロファイル変換対応表
10 プロファイル変換規則記憶手段
11 プロファイル変換対応表記憶手段 DESCRIPTION OFSYMBOLS 1 Model inspection input production | generation means 2 Model inspection execution means 3 Profile definition 4 Profile conversion rule 5 UML model information 6 Model inspection input model 7 Inspection setting file 8 Inspection result 9 Profile conversion correspondence table 10 Profile conversion rule storage means 11 Profile conversion correspondence table Storage means
2 モデル検査実行手段
3 プロファイル定義
4 プロファイル変換規則
5 UMLモデル情報
6 モデル検査入力モデル
7 検査設定ファイル
8 検査結果
9 プロファイル変換対応表
10 プロファイル変換規則記憶手段
11 プロファイル変換対応表記憶手段 DESCRIPTION OF
Claims (7)
- UMLモデルが入力されると、前記UMLモデルに対してモデル検査を実行し、前記UMLモデルに対する検査結果を出力するモデル検査装置であって、
前記UMLモデルから、モデル検査用言語で記述されたモデル検査入力モデルと、モデル検査の際のオプションを示す検査設定ファイルとを生成するモデル検査入力生成手段と、
前記モデル検査入力生成手段が生成した前記モデル検査入力モデルと検査設定ファイルとに基づいてモデル検査を実行するモデル検査実行手段とを
備えたことを特徴とするモデル検査装置。 When a UML model is input, a model checking device that executes model checking on the UML model and outputs a check result on the UML model,
A model check input generation means for generating, from the UML model, a model check input model described in a model checking language and a check setting file indicating options for model check;
A model checking apparatus comprising: model checking execution means for executing model checking based on the model checking input model generated by the model checking input generating means and a check setting file. - モデル検査入力生成手段は、あらかじめ定義された複数のプロファイルのうちのいずれかに依存して記述されたUMLモデルから、モデル検査入力モデルと検査設定ファイルとを生成する
請求項1記載のモデル検査装置。 2. The model checking device according to claim 1, wherein the model checking input generating unit generates a model checking input model and a checking setting file from a UML model described depending on any of a plurality of predefined profiles. . - 所定の規則を含みプロファイルごとにあらかじめ定められたプロファイル変換規則を記憶するプロファイル変換規則記憶手段を備え、
モデル検査入力生成手段は、UMLモデルがいずれのプロファイルに依存しているかを特定し、前記プロファイル変換規則記憶手段から、特定したプロファイルに対応するプロファイル変換規則を参照して、モデル検査入力モデルと検査設定ファイルとを生成する
請求項2記載のモデル検査装置。 Profile conversion rule storage means for storing profile conversion rules predetermined for each profile including predetermined rules,
The model check input generation unit specifies which profile the UML model depends on, and refers to the profile conversion rule corresponding to the specified profile from the profile conversion rule storage unit to check the model check input model and the check The model checking device according to claim 2 which generates a setting file. - プロファイルとプロファイル変換規則とを対応付けたプロファイル変換対応表を記憶するプロファイル変換対応表記憶手段を備え、
モデル検査入力生成手段は、前記プロファイル変換対応表を参照して、モデル検査入力モデルと検査設定ファイルとを生成する際に参照するプロファイル変換規則を決定する
請求項3記載のモデル検査装置。 Profile conversion correspondence table storage means for storing a profile conversion correspondence table in which profiles and profile conversion rules are associated with each other;
The model checking apparatus according to claim 3, wherein the model check input generation unit determines a profile conversion rule to be referred to when generating the model check input model and the check setting file with reference to the profile conversion correspondence table. - モデル検査入力生成手段は、UMLモデルの構成要素ごとに、参照するプロファイル変換規則に含まれる所定の規則に従って変換処理を行い、モデル検査入力モデルを生成する
請求項3又は請求項4記載のモデル検査装置。 The model check input generation unit generates a model check input model by performing a conversion process according to a predetermined rule included in a profile conversion rule to be referenced for each component of the UML model. apparatus. - UMLモデルが入力されると、前記UMLモデルに対してモデル検査を実行し、前記UMLモデルに対する検査結果を出力するモデル検査方法であって、
前記UMLモデルから、モデル検査用言語で記述されたモデル検査入力モデルと、モデル検査の際のオプションを示す検査設定ファイルとを生成し、
生成した前記モデル検査入力モデルと検査設定ファイルとに基づいてモデル検査を実行する
ことを特徴とするモデル検査方法。 When a UML model is input, a model checking method for executing model checking on the UML model and outputting a check result on the UML model,
From the UML model, a model check input model described in a model check language and a check setting file indicating options for model check are generated,
A model checking method characterized by executing model checking based on the generated model checking input model and checking setting file. - UMLモデルが入力されると、前記UMLモデルに対してモデル検査を実行し、前記UMLモデルに対する検査結果を出力させるためのモデル検査プログラムであって、
コンピュータに、
前記UMLモデルから、モデル検査用言語で記述されたモデル検査入力モデルと、モデル検査の際のオプションを示す検査設定ファイルとを生成するモデル検査入力生成処理と、
生成した前記モデル検査入力モデルと検査設定ファイルとに基づいてモデル検査を実行するモデル検査実行処理とを
実行させるためのモデル検査プログラム。 When a UML model is input, a model checking program for executing model checking on the UML model and outputting a check result on the UML model,
On the computer,
A model check input generation process for generating, from the UML model, a model check input model described in a model checking language and a check setting file indicating options for model check;
A model checking program for executing model checking execution processing for executing model checking based on the generated model checking input model and checking setting file.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012538560A JPWO2012049816A1 (en) | 2010-10-14 | 2011-10-03 | Model checking apparatus, method and program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010-231733 | 2010-10-14 | ||
JP2010231733 | 2010-10-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012049816A1 true WO2012049816A1 (en) | 2012-04-19 |
Family
ID=45938057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/005572 WO2012049816A1 (en) | 2010-10-14 | 2011-10-03 | Model checking device, method, and program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2012049816A1 (en) |
WO (1) | WO2012049816A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017111539A1 (en) * | 2015-12-23 | 2017-06-29 | 주식회사 포스코 | Device for managing mathematical models for steel processes |
US9940222B2 (en) | 2015-11-20 | 2018-04-10 | General Electric Company | System and method for safety-critical software automated requirements-based test case generation |
US10108536B2 (en) | 2014-12-10 | 2018-10-23 | General Electric Company | Integrated automated test case generation for safety-critical software |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007011605A (en) * | 2005-06-29 | 2007-01-18 | Kansai Electric Power Co Inc:The | Model inspection support device for software operation specification, model inspection system provided with the same, and model inspection support program |
-
2011
- 2011-10-03 JP JP2012538560A patent/JPWO2012049816A1/en active Pending
- 2011-10-03 WO PCT/JP2011/005572 patent/WO2012049816A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007011605A (en) * | 2005-06-29 | 2007-01-18 | Kansai Electric Power Co Inc:The | Model inspection support device for software operation specification, model inspection system provided with the same, and model inspection support program |
Non-Patent Citations (3)
Title |
---|
NAOKI MIYAMOTO ET AL.: "Automatic Conversion from the Specification on UML Description to PROMELA Model for SPIN Model Checker", FIT2010 DAI 9 KAI FORUM ON INFORMATION TECHNOLOGY KOEN RONBUNSHU, vol. 1, 20 August 2010 (2010-08-20), pages 311 - 314 * |
TOMOJI KISHI ET AL.: "Kumikomi Software Sekkei Kensho eno Model Kensa Gijutsu no Tekiyo to Kosatsu", SEC JOURNAL, vol. 3, no. 4, 15 January 2008 (2008-01-15), pages 10 - 19 * |
ZHANG LAN ET AL.: "MDA Donyu o Mikiwameru MDA o Donyu suru Timing o Nogasanai Tameni", UML PRESS, vol. 3, 1 September 2004 (2004-09-01), pages 129 - 141 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10108536B2 (en) | 2014-12-10 | 2018-10-23 | General Electric Company | Integrated automated test case generation for safety-critical software |
US9940222B2 (en) | 2015-11-20 | 2018-04-10 | General Electric Company | System and method for safety-critical software automated requirements-based test case generation |
WO2017111539A1 (en) * | 2015-12-23 | 2017-06-29 | 주식회사 포스코 | Device for managing mathematical models for steel processes |
KR101758516B1 (en) | 2015-12-23 | 2017-07-17 | 주식회사 포스코 | Apparatus for managing mathematical model of steel processing |
CN108431706A (en) * | 2015-12-23 | 2018-08-21 | 株式会社Posco | Steel technological mathematical model managing device |
Also Published As
Publication number | Publication date |
---|---|
JPWO2012049816A1 (en) | 2014-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6607565B2 (en) | Integrated automated test case generation for safety critical software | |
JP5350428B2 (en) | Automatic program generation apparatus, method and computer program | |
CN105975269B (en) | A kind of requirements verification method based on procedural model | |
JP6268029B2 (en) | Test case generation apparatus and test case generation method | |
JP2022166620A (en) | Test case verification apparatus and test case verification method | |
US20150234732A1 (en) | Executable software specification generation | |
WO2012049816A1 (en) | Model checking device, method, and program | |
JP2007011605A (en) | Model inspection support device for software operation specification, model inspection system provided with the same, and model inspection support program | |
US8438000B2 (en) | Dynamic generation of tests | |
US20120291019A1 (en) | Program verification apparatus based on model verifying and storage medium | |
JP5153470B2 (en) | State transition verification device and state transition verification method | |
JP6097231B2 (en) | Program generating apparatus and method | |
US8949167B2 (en) | Method and device for the quality analysis of system models | |
JP2009087353A (en) | System and method for generating closed homogeneous non-distributed application from open heterogeneous distributed application | |
JP2009134360A (en) | Model inspection system, model inspection method, and model inspection program | |
JP5755861B2 (en) | Test case generation apparatus, test case generation method, and test case generation program | |
JP2023070408A (en) | Generator, generation method and program | |
JP2012048329A (en) | Object oriented program generating device, method therefor and program | |
JP2016126700A (en) | Program verification device, program verification method, and program verification program | |
JP2014115960A (en) | Verification device, verification method, and verification program | |
JP2011242888A (en) | System development support device, program and method | |
JP5736588B2 (en) | Source code conversion method and source code conversion program | |
KR102052338B1 (en) | Visualization method for tracking analysis of testcase design information, testcase generating apparatus, and computer-readable recording medium | |
US20160132427A1 (en) | User interface conformance | |
JP4664224B2 (en) | Netlist generation method and generation apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11832261 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012538560 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11832261 Country of ref document: EP Kind code of ref document: A1 |