WO2013058252A1 - モデル検査支援方法、モデル検査支援プログラム、およびモデル検査支援装置 - Google Patents

モデル検査支援方法、モデル検査支援プログラム、およびモデル検査支援装置 Download PDF

Info

Publication number
WO2013058252A1
WO2013058252A1 PCT/JP2012/076749 JP2012076749W WO2013058252A1 WO 2013058252 A1 WO2013058252 A1 WO 2013058252A1 JP 2012076749 W JP2012076749 W JP 2012076749W WO 2013058252 A1 WO2013058252 A1 WO 2013058252A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
unit
replaced
cluster
clusters
Prior art date
Application number
PCT/JP2012/076749
Other languages
English (en)
French (fr)
Inventor
早苗 中尾
岳彦 長野
知彦 茂岡
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Publication of WO2013058252A1 publication Critical patent/WO2013058252A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/08Probabilistic or stochastic CAD

Definitions

  • the present invention relates to a technique for abstracting by replacing a part of a model with a statistical model in model checking for checking system performance.
  • SPIN for example, see Non-Patent Document 1
  • UPPAAL for example, see Non-Patent Document 2
  • Patent Document 1 JP-A-2009-134360.
  • a model inspection system for inspecting a design model in which the specification of an inspection target system is described, and a model for indicating the state of an element whose state changes in the specification of the inspection target system Reducing the number of system states on the design model based on relevance designation means that allow the user to specify the relevance between state variables that are internal variables and information indicating the relevance between the state variables specified by the user It is provided with a state number reduction means for performing the operation ".
  • Patent Document 1 it cannot be automatically determined whether or not the relevance specified by the user is correct.
  • An object of the present invention is to abstract a model model by replacing a part of the model to be inspected with a statistical model, thereby suppressing an increase in the number of states during the inspection and preventing the inspection from becoming impossible. Is to provide.
  • model abstraction for state reduction in model checking a method, a program, and a method for preventing deterioration in accuracy due to inappropriate abstraction by automatically selecting a part to be replaced with an abstract model instead of being determined by the user To provide an apparatus.
  • the present application includes a plurality of means for solving the above problems, but if an example of a model checking support device is given, “A model checking support device for supporting model checking of a development target system, which acquires a checking model and a statistical model from a recording unit and divides the checking model into a plurality of clusters, and the checking model clustering unit” A model replacement unit that reduces the number of states of the model used for model checking by replacing a part of the cluster generated in step 1 with the statistical model, and a model replaced with the statistical model in the checking model and the model replacement unit.
  • a simulation execution unit that executes a simulation for obtaining a distribution of execution time, an inspection expression input unit that gives a condition for simulation executed by the simulation execution unit, and an execution time distribution of the inspection model acquired from the recording unit And the model replaced by the statistical model in the model replacement unit. Calculate the distance between the distribution and the execution time distribution of all the models for which any part of the cluster is replaced with the statistical model, and output the replacement model inspection program that minimizes the distance between the distributions.
  • a simulation result analysis unit, and a simulation result output unit that displays a result of the simulation result analysis unit on a screen ”.
  • the feature of the first invention is (1) a model checking support device for supporting model checking of a development target system, wherein a checking model clustering unit for dividing a checking model into a plurality of clusters, and one of the plurality of clusters.
  • a model replacement unit that replaces a part with a statistical model, a simulation execution unit that executes a simulation for obtaining a distribution of execution times for the inspection model and the replaced model, and an inspection formula input unit that provides the conditions for the simulation And calculating the inter-distribution distance between the execution time distribution of the inspection model and the execution time distribution of the replaced model with respect to all the models in which any partial cluster is replaced, and the inter-distribution distance is
  • a simulation result analysis unit for outputting a model inspection program after replacement, and the simulation And simulation results output unit result screen display of the analysis unit, the model test support apparatus comprising a certain.
  • the simulation result output unit reduces the number of states reduced by replacing the inspection model, the plurality of clusters, the distance between distributions of execution times calculated by the simulation result analysis unit, and the clusters. , Any item can be displayed.
  • the model replacement unit can replace any one cluster with the statistical model.
  • the model replacement unit can replace any plurality of clusters with the statistical model.
  • the simulation result analysis unit includes a replacement portion selection unit that does not automatically output the final model, but can select a cluster to be replaced with the statistical model from the result output from the simulation result output unit. May be.
  • a condition input unit that can specify a replacement condition may be provided.
  • condition input unit can simultaneously specify the upper limit value of the cluster to be replaced with the statistical model.
  • the condition input unit replaces only one cluster with the statistical model when replacing a plurality of clusters with the statistical model in the model replacement unit.
  • a feature of the second invention is (10) a model checking support program for supporting model checking of a development target system by a computer, a checking model clustering process for dividing a checking model into a plurality of clusters, Model replacement processing for replacing some clusters with the statistical model, simulation execution processing for obtaining an execution time distribution for the model replaced by the inspection model and the model replacement processing, and execution time obtained by the simulation execution processing
  • the model checking support program executes a simulation result analysis process for calculating a distance between distributions and a simulation result output process for outputting a result of the simulation result analysis process.
  • the model replacement process is performed by simultaneously replacing one or more clusters with the statistical model.
  • model replacement process may specify the conditions of the cluster to be replaced in advance.
  • the simulation result output process outputs an inspection program for model inspection for a model having a minimum distance between distributions in the simulation result analysis process.
  • the simulation result output process outputs a list of inter-distribution distances or a list of inter-distribution distances and the number of reduction states, and a model in which a cluster selected based on the output result is replaced with a statistical model Output a test program for model checking for.
  • a feature of the third invention is (15) a model checking support method for supporting model checking of a development target system by a computer, wherein the checking model is divided into a plurality of clusters, and a part of the plurality of clusters is clustered Is replaced with a statistical model, and a simulation for obtaining an execution time distribution is performed on the model replaced with the inspection model to calculate a distance between the distributions of the execution time, and a cluster having the smallest inter-distribution distance is converted to the statistical model.
  • the model checking support method is characterized in that it is determined that the replacement is a valid cluster, and the checking program of the model replaced with the statistical model is output.
  • the number of states in model checking can be reduced.
  • FIG. 3 is a block diagram illustrating an example of functional configurations of an inspection model abstraction unit and a validity determination unit according to the first embodiment. It is a figure which shows an example of the test
  • FIG. 6 is a flowchart illustrating an example of an operation of a control unit according to the first embodiment. It is a figure which shows the test
  • FIG. 6 is a diagram illustrating an example of a display screen output from a simulation result output unit in Embodiment 1.
  • FIG. It is a figure which shows the example of the list of the distance between distributions displayed on a simulation result display part in Example 1.
  • FIG. 10 is a block diagram illustrating an example of functional configurations of an inspection model abstraction unit and a validity determination unit according to the second embodiment.
  • FIG. 10 is a flowchart illustrating an example of an operation of a control unit in the second embodiment.
  • FIG. 10 is a diagram illustrating an example of a display screen output from a simulation result output unit in the second embodiment.
  • FIG. 10 is a block diagram illustrating an example of functional configurations of an inspection model abstraction unit and a validity determination unit according to a third embodiment.
  • FIG. 10 is a flowchart illustrating an example of an operation (first half) of a control unit according to the third embodiment.
  • FIG. 10 is a flowchart illustrating an example of an operation (second half) of a control unit according to the third embodiment. It is a figure which shows the example of the list of the distance between distributions displayed on a simulation result display part in Example 3.
  • FIG. is a figure which shows the example of a structure in case an Example is implement
  • FIG. 1 is an example of an overall configuration diagram of a model checking support apparatus that executes a model checking support program according to the first embodiment.
  • a device 1 shown in FIG. 1 includes a control unit 2 and a recording unit 3 and is connected to an input / output device 4.
  • the device 1 executes a replacement of a part of the model with the statistical model 8 for the inspection model 7 input from the input / output device 4.
  • the device 1 is a computer or dedicated hardware.
  • the control unit 2 includes an inspection model abstraction unit 5 and a validity determination unit 6.
  • the control unit 2 controls exchanges with peripheral devices such as the input / output device 4 and an external recording device (not shown) in addition to the test model abstraction unit 5 and the validity determination unit 6.
  • the control unit 2 can use a device such as a CPU, a programmable FPGA, or a PLD.
  • the inspection model abstraction unit 5 replaces a part of the inspection model 7 with the statistical model 8.
  • the validity determination unit 6 determines the validity of model replacement in the inspection model abstraction unit 5 by executing a simulation, and outputs an inspection program 9 for performing model inspection.
  • the recording unit 3 records inspection models 7, statistical models 8, inspection programs 9, input data (not shown) input from the input / output device 4, drivers, database tabs, network tabs, and the like.
  • the recording unit 3 is a memory such as a ROM, a RAM, or a hard disk.
  • the recording unit 3 may record data such as variable values and parameter values, and can also be used as a work area.
  • FIG. 2 is a block diagram illustrating an example of functional configurations of the inspection model abstraction unit 5 and the validity determination unit 6.
  • the inspection model abstraction unit 5 includes an inspection model clustering unit 51 and a model replacement unit 52.
  • the inspection model clustering unit 51 divides the inspection model 7 acquired from the recording unit 3 into several clusters by clustering.
  • Clustering can be performed using, for example, a technique such as vector quantization clustering that takes a plurality of samples and encodes them together.
  • FIG. 3 shows an example of an inspection model 7 represented by a state transition diagram.
  • FIG. 4 shows an example in which the inspection model clustering unit 51 performs clustering on the inspection model 7 shown in FIG. 3 to be divided into three clusters separated by dotted lines.
  • the model replacement unit 52 replaces an arbitrary one cluster with the statistical model 8 acquired from the recording unit 3 with respect to the inspection model 7 divided into clusters by the inspection model clustering unit 51.
  • the statistical model 8 may be, for example, a queuing model representing processing waiting, and a user prepares a model suitable for each cluster.
  • the validity determination unit 6 includes an inspection formula input unit 61, a simulation execution unit 62, a simulation result analysis unit 63, and a simulation result output unit 64.
  • the inspection formula input unit 61 gives parameter values necessary for executing the simulation.
  • the simulation execution unit 62 determines a simulation to be executed based on the inspection formula input from the inspection formula input unit 61, and partially replaces the statistical model 8 with the inspection model 7 and the model replacement unit 52 acquired from the recording unit 3.
  • the simulation for calculating the execution time is executed a plurality of times for the model thus obtained, and the distribution of the execution time is calculated.
  • the model replacement in the model replacement unit 52 is executed until there is no cluster to be replaced with the statistical model 8, and for each, a simulation for calculating the execution time is executed a plurality of times in the simulation execution unit 62 to calculate the execution time distribution. To do.
  • the model replacement in the model replacement unit 52 may be performed for all clusters generated by the check model clustering unit 51, or a cluster for which model replacement is performed or a cluster for which model replacement is not performed may be designated in advance. .
  • the simulation result analysis unit 63 calculates the inter-distribution distance between the execution time distribution of the inspection model 7 acquired from the recording unit 3 and the execution time distribution of the model partially replaced with the statistical model 8 by the model replacement unit 52. Is calculated, the model having the smallest distance between distributions is determined to be a valid replacement model, and the inspection program 9 of the model determined to be valid for replacement is output.
  • the output inspection program 9 can be used as an input to an external model inspection apparatus or model inspection program.
  • the execution time distribution is calculated by the simulation execution unit 62
  • the execution time distribution may be calculated by the simulation result analysis unit 63.
  • the simulation result output unit 64 outputs a list of distances between execution time distributions calculated by the simulation result analysis unit 63.
  • FIG. 5 is a flowchart showing an example of the operation of the control unit 2.
  • step S501 the simulation execution unit 62 executes the simulation using the inspection model 7 acquired from the recording unit 3 a plurality of times to obtain an execution time distribution A.
  • step S502 the inspection model clustering unit 51 divides the inspection model 7 into clusters.
  • step S503 it is determined whether there is a cluster to be abstracted by replacing it with the statistical model 8 among the clusters generated by the inspection model clustering unit 51. If there is a cluster to be abstracted, the process proceeds to step S504, and if not, the process proceeds to step S507.
  • step S504 the model replacement unit 52 replaces any one of the abstracted clusters Ci with the statistical model 8.
  • step S505 the simulation is performed a plurality of times by the simulation execution unit 62 on the model partially replaced with the statistical model 8 by the model replacement unit 52, and an execution time distribution Bi is obtained.
  • step S506 the simulation result analysis unit 63 calculates the inter-distribution distance between the execution time distribution A obtained in step S501 and the execution time distribution Bi obtained in step S505.
  • step S507 the model in the case where the distance between distributions calculated by the simulation result analysis unit 63 is minimized is determined to be a model that is appropriate to be replaced with the statistical model 8, and the inspection program 9 for the model determined to be appropriate for replacement is determined. Output and finish the process.
  • FIG. 6 is a diagram illustrating an example in which the inspection model 7 acquired from the recording unit 3 is divided into seven clusters by clustering in the inspection model clustering unit 51, and C1 to C7 described in the nodes in the drawing. Represents each cluster number. Each node does not represent one state, but actually includes all state transitions included in each cluster.
  • FIG. 7 (a) is equivalent to FIG. 6, and FIG. 7 (b) shows an example of an execution time distribution obtained by the simulation execution unit 62 for the model of FIG. 7 (a).
  • the model shown in FIG. 7A is not replaced with the statistical model 8.
  • FIG. 8A shows that the cluster C2 is replaced with the statistical model 8 among the clusters shown in FIG. 6, and FIG. 8B shows that the cluster C2 is replaced with the statistical model 8.
  • An example of an execution time distribution obtained by executing simulation on the model by the simulation execution unit 62 is shown.
  • FIG. 9A shows that the cluster C4 is replaced with the statistical model 8 among the clusters shown in FIG. 6, and FIG. 9B shows that the cluster C4 is replaced with the statistical model 8.
  • An example of an execution time distribution obtained by executing simulation on the model by the simulation execution unit 62 is shown.
  • FIG. 10 is an example of a diagram in which execution time distributions obtained as a result of executing the simulation by the simulation execution unit 62 for all the clusters that execute the replacement with the statistical model 8 are superimposed.
  • the distribution indicated by the dotted line in the figure represents, for example, an execution time distribution that is not replaced with the statistical model 8.
  • FIG. 11 is a diagram illustrating an example of a display screen output from the simulation result output unit 64, and includes an input model display unit 111, a cluster display unit 112, and a simulation result display unit 113.
  • the input model display unit 111 displays the inspection model 7 that has not been replaced with the statistical model 8
  • the cluster display unit 112 displays the result of dividing the inspection model 7 into clusters.
  • the simulation result display unit 113 displays a distribution diagram of execution times output from the simulation result output unit 64 and a list of distances between distributions.
  • a cluster that minimizes the distance between distributions may be marked by replacing with the statistical model 8.
  • the display screen illustrated in FIG. 11 is an example, and a configuration in which a part of the display screen is displayed may be employed.
  • FIG. 12 shows an example of a list of inter-distribution distances displayed on the simulation result display unit 113.
  • the distance between distributions when the cluster C2 is replaced with the statistical model 8 is the smallest.
  • the simulation result analysis unit 63 outputs a model inspection program 9 in which the cluster C2 is replaced with the statistical model 8.
  • the model inspection program 9 in which the inter-distribution distance calculated by the simulation result analysis unit 63 is minimized is automatically output.
  • a list of inter-distribution distances for each cluster is used. The cluster to be replaced with the statistical model 8 is selected by the user.
  • the overall configuration diagram of the model checking support apparatus that executes the model checking support program in the second embodiment is the same as the overall configuration diagram in the first embodiment shown in FIG.
  • FIG. 13 is a block diagram illustrating an example of the functional configuration of the inspection model abstraction unit and the validity determination unit according to the second embodiment, which includes a replacement part selection unit 65, and after the processing in the simulation result output unit 64, 9 is different from the first embodiment in that 9 is output.
  • Parts having the same functions as those in the first embodiment are denoted by the same reference numerals, and detailed description thereof is omitted.
  • the simulation result analysis unit 63 calculates the inter-distribution distance between the execution time distribution of the inspection model 7 acquired from the recording unit 3 and the execution time distribution of the model partially replaced with the statistical model 8 by the model replacement unit 52. Is calculated. Here, automatic model replacement is not performed.
  • the simulation result output unit 64 outputs a list of distances between execution time distributions calculated by the simulation result analysis unit 63, and waits for a user to select a cluster to be replaced with the statistical model 8 by the replacement part selection unit 65.
  • a model inspection program 9 in which the selected cluster is replaced with the statistical model 8 is output.
  • the replacement part selection unit 65 allows the user to select a cluster to be replaced with the statistical model 8 from the list of inter-distribution distances output by the simulation result output unit 64.
  • FIG. 14 is a flowchart illustrating an example of the operation of the control unit 2 according to the second embodiment. Steps that are the same as the steps in FIG. 5 of the first embodiment are assigned the same reference numerals, and redundant descriptions are omitted.
  • step S1407 a list of inter-distribution distances calculated by the simulation result analysis unit 63 is displayed.
  • step S1408 the model inspection program 9 in which the cluster selected by the user is replaced with the statistical model 8 is output, and the process ends.
  • FIG. 15 is a diagram illustrating an example of a display screen output from the simulation result output unit 64 according to the second embodiment, and a cluster selection column is added to the list of inter-distribution distances displayed on the simulation result display unit 113. This is different from FIG. In the list of distances between distributions, the number of states reduced by replacing each cluster with a statistical model may also be displayed. Replacement in consideration is possible.
  • one of the clusters generated by the check model clustering unit 51 is replaced with the statistical model 8, but in the third embodiment, a plurality of clusters can be replaced.
  • a statistical model is obtained for a combination of a plurality of clusters satisfying the cluster selection condition specified in advance by the user. 8, calculation of the execution time distribution, and calculation of the inter-distribution distance with the execution time distribution of the test model 7 that is not replaced with the statistical model 8, and a set of clusters to be replaced with the statistical model 8 from the list decide.
  • the overall configuration diagram of the model checking support apparatus that executes the model checking support program in the third embodiment is the same as the overall configuration diagram in the first embodiment shown in FIG.
  • FIG. 16 is a block diagram illustrating an example of functional configurations of the test model abstraction unit and the validity determination unit according to the third embodiment, which is different from the second embodiment in that a condition input unit 53 is provided. Parts having the same functions as those of the second embodiment are denoted by the same reference numerals, and detailed description thereof is omitted.
  • the condition input unit 53 the maximum number of clusters to be replaced with the statistical model 8 and the conditions for selecting a plurality of clusters are input simultaneously.
  • the condition for selecting a plurality of clusters is a condition for designating a cluster to be replaced with the statistical model 8, and the distance between distributions when only one cluster is replaced with the statistical model 8 is determined in advance. Either a cluster that falls below the threshold specified by the user, or a cluster that falls within the rank specified by the user in advance in ascending order of the distance between distributions when only one cluster is replaced with the statistical model 8, or all clusters Set.
  • the model replacement unit 52 replaces the inspection model 7 divided into clusters by the inspection model clustering unit 51 with one statistical cluster 8 acquired from the recording unit 3 as in the first and second embodiments.
  • the plurality of clusters that satisfy the conditions input by the condition input unit 53 are replaced with the statistical model 8 acquired from the recording unit 3.
  • 17 and 18 are flowcharts showing an example of the operation of the control unit in the third embodiment.
  • the same steps as those in FIG. 14 of the second embodiment are denoted by the same reference numerals, and redundant description is omitted.
  • step S1700 in the condition input unit 53, the user inputs the maximum number M of clusters to be simultaneously replaced with the statistical model 8 and a condition T for selecting a plurality of clusters.
  • step S1801 it is determined whether a combination of a plurality of clusters to be abstracted by satisfying the condition input by the condition input unit 53 and replacing with the statistical model 8 is present. If there is a cluster to be abstracted, the process proceeds to step S1802, and if not, the process proceeds to step S1805.
  • step S1802 the model replacement unit 52 replaces a combination of arbitrary plural clusters to be abstracted with the statistical model 8.
  • step S1803 a simulation is executed a plurality of times by the simulation execution unit 62 on the model replaced with the statistical model 8 in step S1802 to obtain an execution time distribution Di.
  • step S1804 the simulation result analysis unit 63 calculates the inter-distribution distance between the execution time distribution A obtained in step S501 and the execution time distribution Di obtained in step S1803.
  • step S1805 a list of inter-distribution distances calculated by the simulation result analysis unit 63 is displayed.
  • step S1806 the user selects a cluster to be replaced with the statistical model 8, outputs the model inspection program 9 in which the selected cluster is replaced with the statistical model 8, and ends the process.
  • FIG. 19 is a diagram illustrating an example of the simulation result display unit 113 in the display screen output from the simulation result output unit 64 according to the third embodiment, and a result when a plurality of clusters are replaced is added. Moreover, although the number of states reduced by replacing each cluster with the statistical model 8 is also displayed, it is not always necessary to display it.
  • the third embodiment a larger number of states can be reduced as compared with the replacement of one cluster.
  • the configuration as a device independent of the model checking device is shown.
  • the configuration that is realized as one function of the model checking device this embodiment is realized as a computer program. It is also possible to adopt a configuration of
  • FIG. 20 is a diagram illustrating an example of a hardware configuration of a computer that can implement the apparatus according to the embodiment of the present invention.
  • the computer hardware 200 includes a CPU 201, a communication interface 202, an input / output interface 203, a recording unit 204 (ROM, RAM, hard disk drive, etc.), a recording medium reader 205, and the like. In addition, each of the above components is connected by a bus 206.
  • the CPU 201 executes processing performed by the above-described inspection model clustering unit, model replacement unit, simulation execution unit, simulation result analysis unit, simulation result output unit, and the like stored in the recording unit 204.
  • the communication interface 202 is an interface for LAN connection, Internet connection, or wireless connection with another computer as necessary. It is also connected to other devices and controls data input / output from external devices.
  • the input / output interface 203 is connected to an input / output device 203a (the input / output device 4, mouse, keyboard, display, etc. in FIG. 1), receives information input by the user, and transmits it to the CPU 201 via the bus 206. In addition, operation information and the like are displayed on the screen of the display in accordance with a command from the CPU 201.
  • an input / output device 203a the input / output device 4, mouse, keyboard, display, etc. in FIG. 1
  • operation information and the like are displayed on the screen of the display in accordance with a command from the CPU 201.
  • the recording unit 204 programs and data executed by the CPU 201 are recorded. It is also used as a work area.
  • the recording medium reading device 205 controls reading and writing of data with respect to the recording medium 205 a according to the control of the CPU 201. Then, the data written under the control of the recording medium 205a and the recording medium reader 205 is stored, or the data stored in the recording medium 205a is read.
  • the detachable recording medium 205a includes a computer readable recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory.
  • each processing function described above (the processing described in the embodiment) is realized.
  • a program describing the processing contents of the functions that the system should have is provided.
  • the program describing the processing contents can be recorded in a computer-readable recording medium 205a.
  • the program When the program is distributed, for example, it is sold as a portable recording medium such as a DVD or CD-ROM in which the program is recorded. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.
  • the computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. Further, each time the program is transferred from the server computer, the computer can sequentially execute processing according to the received program.
  • the present invention is not limited to the above-described embodiments, and various improvements and changes can be made without departing from the gist of the present invention.
  • the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described.
  • a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment.
  • control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.
  • model checking it is possible to provide a method, a program, and a device that are abstracted by replacing a part of a model to be checked with a statistical model, suppressing an increase in the number of states during checking, and preventing checking from becoming impossible. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

 一般に、モデル検査システムでは、検査対象のモデルが大きくなり状態数が増大すると、コンピュータで扱える範囲を超えてしまい処理しきれなくなる「状態爆発」と呼ばれる現象が発生する。特に、リアルタイム性が求められる組み込み機器の開発において、非機能要求に関する性能の検査には時間を状態として含める必要があり、状態爆発に陥る可能性が高くなる。 コンピュータによって、開発対象システムのモデル検査を支援するモデル検査支援方法であって、検査モデルを複数のクラスタに分割し、前記複数のクラスタの一部のクラスタを統計モデルに置き換え、前記検査モデルと置き換えをしたモデルに対して実行時間分布を求めるシミュレーションを実行して実行時間の分布間距離を算出し、分布間距離が最小となるクラスタを前記統計モデルへの置き換えが妥当なクラスタと判定し、前記統計モデルへ置き換えたモデルの検査プログラムを出力する。

Description

モデル検査支援方法、モデル検査支援プログラム、およびモデル検査支援装置
 本発明は、システムの性能を検査するモデル検査において、モデルの一部を統計モデルに置き換えることにより抽象化する技術に関する。
 今日、ソフトウェア組み込み機器においては、ハードウェアの技術革新により、より複雑な制御や機能をもつソフトウェアを組み込もうとするニーズが高まってきている。組み込み機器においては、複数の機器が協調して動作する必要があり、各機能の状態とその遷移系列で表現されるシステム仕様に誤りや矛盾がないかを確認してシステムを構築する必要がある。
 システム仕様を検証する技術としてモデル検査技術があり、代表的なモデル検査ツールとしては、SPIN(例えば、非特許文献1参照)やUPPAAL(例えば、非特許文献2参照)などが知られている。
 一般に、モデル検査システムでは、検査対象のモデルが大きくなり状態数が増大すると、コンピュータで扱える範囲を超えてしまい処理しきれなくなる「状態爆発」と呼ばれる現象が発生するという問題がある。特に、リアルタイム性が求められる組み込み機器の開発において、非機能要求に関する性能の検査には時間を状態として含める必要があり、状態爆発に陥る可能性が高くなる。
 検査する状態数を削減する技術として、特開2009-134360号公報(特許文献1)がある。この公報には、[0014]において、「検査対象システムの仕様を記述した設計モデルの検査を行うモデル検査システムであって、検査対象システムの仕様において状態が変化する要素の状態を示すためのモデル内変数である状態変数間の関連性をユーザに指定させる関連性指定手段と、ユーザに指定させた前記状態変数間の関連性を示す情報に基づいて、設計モデル上のシステムの状態数を削減する状態数削減手段とを備えたことを特徴とする」と記載されている。
 しかしながら、特許文献1では、ユーザの指定する関連性が正しいかどうかを自動的に判定することができない。
特開2009-134360号公報
G.J.Halzmann著 「The SPIN model checker: Primer and reference manual」Addison Wesiey, 2000年 G.Behrmann et.al 「A Tutorial an UPPAAL」In Proceeding of the 4th International School on Formal Methods for the Design of Computer, Communication, and Software Systems(SFM-RT’04). LNCS 3185 2004年
 本発明の目的は、モデル検査において、検査対象となるモデルの一部を統計モデルに置き換えることにより抽象化し、検査中の状態数増加を抑え、検査不可能となることを防ぐ方法、プログラムおよび装置を提供することにある。また、モデル検査で状態削減のために行うモデル抽象化において、抽象モデルへ置き換える部分をユーザが決めるのではなく、自動的に選択することにより、不適な抽象化による精度劣化を防ぐ方法、プログラムおよび装置を提供することにある。
 上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
 本願は上記課題を解決する手段を複数含んでいるが、モデル検査支援装置の一例を挙げるならば、
「開発対象システムのモデル検査を支援するモデル検査支援装置であって、記録部から検査モデルと統計モデルを取得し、前記検査モデルを複数のクラスタに分ける検査モデルクラスタリング部と、前記検査モデルクラスタリング部で生成されたクラスタの一部を前記統計モデルに置き換えることでモデル検査に用いるモデルの状態数を削減するモデル置換部と、前記検査モデルと前記モデル置換部で前記統計モデルに置き換えられたモデルに対して実行時間の分布を得るためのシミュレーションを実行するシミュレーション実行部と、前記シミュレーション実行部で実行するシミュレーションの条件を与える検査式入力部と、前記記録部から取得した前記検査モデルの実行時間分布と前記モデル置換部で前記統計モデルに置き換えられたモデルの実行時間分布との分布間距離を任意の一部のクラスタを統計モデルに置き換えられた全てのモデルに対して算出し、分布間距離が最小となる置き換え後のモデルの検査プログラムを出力するシミュレーション結果解析部と、前記シミュレーション結果解析部の結果を画面表示するシミュレーション結果出力部と、を備えている」ことを特徴とする。
 即ち、第1の発明の特徴は、(1)開発対象システムのモデル検査を支援するモデル検査支援装置であって、検査モデルを複数のクラスタに分ける検査モデルクラスタリング部と、前記複数のクラスタの一部を統計モデルに置き換えるモデル置換部と、前記検査モデルと前記置き換えられたモデルに対して実行時間の分布を得るためのシミュレーションを実行するシミュレーション実行部と、前記シミュレーションの条件を与える検査式入力部と、前記検査モデルの実行時間分布と前記置き換えられたモデルの実行時間分布との分布間距離を任意の一部のクラスタを置き換えられた全てのモデルに対して算出し、分布間距離が最小となる置き換え後のモデルの検査プログラムを出力するシミュレーション結果解析部と、前記シミュレーション結果解析部の結果を画面表示するシミュレーション結果出力部と、を備えているモデル検査支援装置にある。
 (2)(1)において、前記シミュレーション結果出力部は、前記検査モデル、前記複数のクラスタ、前記シミュレーション結果解析部で算出された実行時間の分布間距離、クラスタに置き換えることによって削減される状態数、のうち任意の項目を表示することができる。
 (3)(1)において、前記モデル置換部で前記検査モデルの一部のクラスタを前記統計モデルに置き換える際に、置き換えを行わないクラスタまたは置き換えを行うクラスタを事前に指定することができる。
 (4)(1)において、前記モデル置換部で任意の1つのクラスタを前記統計モデルに置き換えることができる。
 (5)(1)において、前記モデル置換部で任意の複数クラスタを前記統計モデルに置き換えることができる。
 (6)(1)において、前記シミュレーション結果解析部では自動的に最終モデルを出力せず、前記シミュレーション結果出力部から出力された結果から前記統計モデルに置き換えるクラスタを選択できる置換部分選択部を備えていても良い。
 (7)(1)において、前記モデル置換部で前記検査モデルの一部のクラスタを前記統計モデルに置き換える際に、置き換え条件を指定できる条件入力部を備えていても良い。
 (8)(7)において、前記条件入力部は、同時に前記統計モデルに置き換えるクラスタの上限値を指定することができる。
 (9)(7)において、前記条件入力部は、前記モデル置換部で複数のクラスタを前記統計モデルに置き換える際に、置き換えの対象となるクラスタを、1つのクラスタのみを前記統計モデルに置き換えた場合の分布間距離が指定するしきい値以下となるクラスタ、1つのクラスタのみを前記統計モデルに置き換えた場合の分布間距離が小さい順に指定する順位以内となるクラスタ、のいずれかを指定できる。
 第2の発明の特徴は、(10)コンピュータによって、開発対象システムのモデル検査を支援するモデル検査支援プログラムであって、検査モデルを複数のクラスタに分割する検査モデルクラスタリング処理、前記複数のクラスタの一部のクラスタを前記統計モデルに置き換えるモデル置換処理、前記検査モデルと前記モデル置換処理で置き換えをしたモデルに対して実行時間分布を求めるシミュレーション実行処理、前記シミュレーション実行処理で得られた実行時間の分布間距離を算出するシミュレーション結果解析処理、および前記シミュレーション結果解析処理の結果を出力するシミュレーション結果出力処理を実行させるモデル検査支援プログラムにある。
 (11)(10)において、前記モデル置換処理は、1つまたは2つ以上のクラスタを同時に前記統計モデルに置き換えて行われる。
 (12)(10)において、前記モデル置換処理は、置き換え対象とするクラスタの条件を事前に指定しておいても良い。
 (13)(10)において、前記シミュレーション結果出力処理は、前記シミュレーション結果解析処理で分布間距離が最小となるモデルに対するモデル検査用の検査プログラムを出力する。
 (14)(10)において、前記シミュレーション結果出力処理は、分布間距離の一覧、または分布間距離と削減状態数の一覧を出力し、出力結果に基づいて選択したクラスタを統計モデルに置き換えたモデルに対するモデル検査用の検査プログラムを出力する。
 第3の発明の特徴は、(15)コンピュータによって、開発対象システムのモデル検査を支援するモデル検査支援方法であって、検査モデルを複数のクラスタに分割し、前記複数のクラスタの一部のクラスタを統計モデルに置き換え、前記検査モデルと置き換えをしたモデルに対して実行時間分布を求めるシミュレーションを実行して実行時間の分布間距離を算出し、分布間距離が最小となるクラスタを前記統計モデルへの置き換えが妥当なクラスタと判定し、前記統計モデルへ置き換えたモデルの検査プログラムを出力することを特徴とするモデル検査支援方法にある。
 本発明によれば、モデル検査における状態数を削減することができる。また、モデル検査におけるモデル抽象化による精度の劣化を抑えることができる。
モデル検査支援プログラムを実行するモデル検査支援装置の全体構成図の例である。 実施例1における検査モデル抽象化部、妥当性判定部の機能構成の一例を示すブロック図である。 状態遷移図で表される検査モデルの一例を示す図である。 図3で示した検査モデルがクラスタに分割されることを示す図である。 実施例1における制御部の動作の一例を示すフロー図である。 7つのクラスタに分割された検査モデルを示す図である。 検査モデルの実行時間分布の一例を示す図である。 検査モデルのうちの1つのクラスタを統計モデルに置き換えたモデルの実行時間分布の一例を示す図である。 検査モデルのうちの1つのクラスタを統計モデルに置き換えたモデルの実行時間分布の一例を示す図である。 検査モデルおよび検査モデルのうちの1つのクラスタを統計モデルに置き換えたモデルの実行時間分布(複数)を重ね合わせた図の一例である。 実施例1においてシミュレーション結果出力部から出力される表示画面の一例を示す図である。 実施例1においてシミュレーション結果表示部で表示される分布間距離の一覧の例を示す図である。 実施例2における検査モデル抽象化部、妥当性判定部の機能構成の一例を示すブロック図である。 実施例2における制御部の動作の一例を示すフロー図である。 実施例2においてシミュレーション結果出力部から出力される表示画面の一例を示す図である。 実施例3における検査モデル抽象化部、妥当性判定部の機能構成の一例を示すブロック図である。 実施例3における制御部の動作(前半)の一例を示すフロー図である。 実施例3における制御部の動作(後半)の一例を示すフロー図である。 実施例3においてシミュレーション結果表示部で表示される分布間距離の一覧の例を示す図である。 実施例がコンピュータプログラムとして実現される場合の構成の例を示す図である。
 以下、実施例を図面を用いて説明する。
 図1は、実施例1におけるモデル検査支援プログラムを実行するモデル検査支援装置の全体構成図の例である。図1に示す装置1は、制御部2、記録部3を備え、入出力装置4と接続されている。装置1は、入出力装置4から入力された検査モデル7に対して、モデルの一部の統計モデル8への置き換えを実行する。例えば、装置1はコンピュータや専用のハードウェアである。
 制御部2は、検査モデル抽象化部5、妥当性判定部6を備えている。制御部2は、検査モデル抽象化部5、妥当性判定部6以外に、入出力装置4、図示しない外部記録装置などの周辺機器とのやり取りの制御を行う。また、制御部2はCPUやプログラマブルなFPGA、PLDなどのデバイスを用いることができる。
 検査モデル抽象化部5は、検査モデル7の一部を統計モデル8に置き換える。
 妥当性判定部6は、シミュレーションを実行することによって、検査モデル抽象化部5でのモデル置き換えの妥当性を判断し、モデル検査を行うための検査プログラム9を出力する。
 記録部3は、検査モデル7、統計モデル8、検査プログラム9、入出力装置4から入力される不図示の入力データや、ドライバ、データベースタブ、ネットワークタブなどが記録されている。また、記録部3は、例えばROM、RAM、ハードディスクなどのメモリである。また、記録部3は、変数値やパラメータ値などのデータを記録してもよいし、ワークエリアとして用いることもできる。
 図2は、検査モデル抽象化部5、妥当性判定部6の機能構成の一例を示すブロック図である。
 検査モデル抽象化部5は、検査モデルクラスタリング部51、モデル置換部52を備えている。
 検査モデルクラスタリング部51は、記録部3から取得した検査モデル7をクラスタリングによって、いくつかのクラスタに分割する。クラスタリングは、例えば、複数のサンプルを取り込み、それをまとめて符号化する、ベクトル量子化クラスタリング等の技法を用いて実施することができる。
 図3は、状態遷移図で表される検査モデル7の一例を示す。
 図4は、図3で示す検査モデル7に対して検査モデルクラスタリング部51でクラスタリングを実行することにより、点線で区切られた3つのクラスタに分けられる例を示す。
 モデル置換部52は、検査モデルクラスタリング部51によってクラスタに分割された検査モデル7に対して、任意の1つのクラスタを記録部3から取得した統計モデル8に置き換える。統計モデル8は、例えば、処理待ちを表す待ち行列モデルでもよく、各クラスタに適するモデルをユーザが用意する。
 妥当性判定部6は、検査式入力部61、シミュレーション実行部62、シミュレーション結果解析部63、シミュレーション結果出力部64を備えている。
 検査式入力部61は、シミュレーションの実行に必要なパラメータ値を与える。
 シミュレーション実行部62は、検査式入力部61から入力された検査式を基に実行するシミュレーションを決定し、記録部3から取得した検査モデル7およびモデル置換部52で一部を統計モデル8に置き換えられたモデルに対して、実行時間を算出するシミュレーションを複数回実行し、実行時間の分布を算出する。
 モデル置換部52におけるモデルの置き換えは、統計モデル8へ置き換えるクラスタがなくなるまで実行し、それぞれに対して、シミュレーション実行部62で実行時間を算出するシミュレーションを複数回実行し、実行時間の分布を算出する。モデル置換部52におけるモデルの置き換えは、検査モデルクラスタリング部51で生成された全てのクラスタについて実施してもよいし、モデルの置き換えを実施するクラスタ、または実施しないクラスタを事前に指定してもよい。
 シミュレーション結果解析部63は、記録部3から取得された検査モデル7の実行時間分布と、モデル置換部52で一部を統計モデル8に置き換えられたモデルの実行時間分布との間の分布間距離を算出し、分布間距離が最少となるモデルを置き換え妥当なモデルと判断し、置き換え妥当と判断されたモデルの検査プログラム9を出力する。出力された検査プログラム9は、外部のモデル検査装置またはモデル検査プログラムの入力として使用できる。
 ここではシミュレーション実行部62で実行時間分布を算出しているが、シミュレーション結果解析部63で実行時間分布を算出する構成としてもよい。
 シミュレーション結果出力部64は、シミュレーション結果解析部63で算出された実行時間の分布間距離の一覧を出力する。
 図5は、制御部2の動作の一例を示すフロー図である。
 ステップS501では、シミュレーション実行部62で記録部3から取得した検査モデル7を用いたシミュレーションを複数回実行し、実行時間の分布Aを得る。
ステップS502では、検査モデルクラスタリング部51で検査モデル7をクラスタに分割する。
 ステップS503では、検査モデルクラスタリング部51で生成されたクラスタのうち、統計モデル8に置き換えることによって抽象化するクラスタが存在するかどうかを判定する。抽象化するクラスタが存在する場合はステップS504に移行し、存在しない場合はステップS507に移行する。
 ステップS504では、モデル置換部52で、抽象化するクラスタのうちの任意の1つのクラスタCiを統計モデル8に置き換える。
 ステップS505では、モデル置換部52で一部を統計モデル8に置き換えられたモデルに対して、シミュレーション実行部62でシミュレーションを複数回実行し、実行時間の分布Biを得る。
 ステップS506では、シミュレーション結果解析部63において、ステップS501で得られた実行時間分布AとステップS505で得られた実行時間分布Biの分布間距離を算出する。
 ステップS507では、シミュレーション結果解析部63で算出された分布間距離が最少となる場合のモデルを統計モデル8への置き換えが妥当なモデルと判断し、置き換え妥当と判断されたモデルの検査プログラム9を出力し、処理を終了する。
 図6は、検査モデルクラスタリング部51でのクラスタリングにより、記録部3から取得された検査モデル7が7つのクラスタに分割された例を示す図であり、図中のノードに記載されたC1からC7は各クラスタ番号を表す。各ノードは1つの状態を表すものではなく、実際には、各クラスタに含まれる全ての状態遷移が含まれる。
 図7の(a)は図6と同等であり、図7の(b)は、同図(a)のモデルに対してシミュレーション実行部62で得られた実行時間分布の例を示す。図7(a)に示すモデルは、統計モデル8への置き換えは行われていない。
 図8(a)は、図6に示されるクラスタのうち、クラスタC2に対して統計モデル8への置き換えを実行することを示し、同図(b)は、クラスタC2を統計モデル8へ置き換えたモデルに対してシミュレーション実行部62でシミュレーションを実行し、得られた実行時間分布の例を示す。
 図9(a)は、図6に示されるクラスタのうち、クラスタC4に対して統計モデル8への置き換えを実行することを示し、同図(b)は、クラスタC4を統計モデル8へ置き換えたモデルに対してシミュレーション実行部62でシミュレーションを実行し、得られた実行時間分布の例を示す。
 図10は、統計モデル8への置き換えを実行する全てのクラスタに対してシミュレーション実行部62でシミュレーションを実行した結果として得られる実行時間分布を重ね合わせた図の例である。図の点線で示す分布は、例えば、統計モデル8への置き換えのない実行時間分布を表す。
 図11は、シミュレーション結果出力部64から出力される表示画面の一例を示す図であり、入力モデル表示部111、クラスタ表示部112、およびシミュレーション結果表示部113で構成される。入力モデル表示部111では、統計モデル8に置き換えられていない検査モデル7を表示し、クラスタ表示部112では、検査モデル7をクラスタに分割した結果を表示する。シミュレーション結果表示部113では、シミュレーション結果出力部64で出力される実行時間の分布図と、分布間距離の一覧を表示する。クラスタ表示部112およびシミュレーション結果表示部113において、統計モデル8に置き換えることで分布間距離が最小となるクラスタにマークを付けるなどしてもよい。図11に示す表示画面は一例であり、このうちの一部を表示する構成でもよい。
 図12は、シミュレーション結果表示部113で表示される分布間距離の一覧の例を示す。クラスタC2を統計モデル8に置き換えたときの分布間距離が最小であり、このとき、シミュレーション結果解析部63からは、クラスタC2を統計モデル8に置き換えたモデルの検査プログラム9が出力される。
 先の実施例1では、シミュレーション結果解析部63で算出された分布間距離が最小となるモデルの検査プログラム9を自動的に出力するが、この実施例2では、クラスタごとの分布間距離の一覧を表示し、統計モデル8に置き換えるクラスタはユーザが選択する。実施例2におけるモデル検査支援プログラムを実行するモデル検査支援装置の全体構成図は、図1に示す実施例1における全体構成図と同様である。
 図13は、実施例2における検査モデル抽象化部、妥当性判定部の機能構成の一例を示すブロック図であり、置換部分選択部65を備え、シミュレーション結果出力部64での処理の後に検査プログラム9が出力される点が、実施例1とは異なる。実施例1と同一の機能を持つ部位には同一の符号を付してその詳細の説明は省略する。
 シミュレーション結果解析部63は、記録部3から取得された検査モデル7の実行時間分布と、モデル置換部52で一部を統計モデル8に置き換えられたモデルの実行時間分布との間の分布間距離を算出する。ここでは、自動的なモデルの置き換えは実施しない。
 シミュレーション結果出力部64は、シミュレーション結果解析部63で算出された実行時間の分布間距離の一覧を出力し、置換部分選択部65で統計モデル8に置き換えるクラスタがユーザによって選択されるのを待つ。ユーザからの入力を受け付けると、選択されたクラスタを統計モデル8に置き換えたモデルの検査プログラム9を出力する。
 置換部分選択部65は、シミュレーション結果出力部64で出力された分布間距離の一覧から、統計モデル8へ置き換えるクラスタをユーザが選択する。
 図14は、実施例2における制御部2の動作の一例を示すフロー図である。実施例1の図5におけるステップと同一ステップには同一符号を付して重複する説明は省略する。
 ステップS1407では、シミュレーション結果解析部63で算出された分布間距離の一覧を表示する。
 ステップS1408では、ユーザによって選択されたクラスタを統計モデル8に置き換えたモデルの検査プログラム9を出力し、処理を終了する。
 図15は、実施例2におけるシミュレーション結果出力部64から出力される表示画面の一例を示す図であり、シミュレーション結果表示部113に表示される分布間距離の一覧にクラスタ選択欄が追加されている点が図11とは異なる。分布間距離の一覧には、各クラスタを統計モデルに置き換えることで削減される状態数も併せて表示してもよく、これにより、分布間距離による置き換え妥当性だけではなく、状態数削減効果を考慮した置き換えが可能となる。
 上記実施例1、実施例2では、検査モデルクラスタリング部51で生成されたクラスタのうち1つを統計モデル8に置き換えていたが、実施例3では、複数のクラスタの置き換えを可能とする。具体的には、実施例2に示す動作で1つのクラスタを置き換えたモデルについて分布間距離を得た後、事前にユーザによって指定されたクラスタ選択条件を満たす複数クラスタの組合せに対して、統計モデル8への置き換え、実行時間分布の算出、および統計モデル8への置き換えをしない検査モデル7の実行時間分布との分布間距離の算出を実行し、その一覧から統計モデル8に置き換えるクラスタの組を決定する。実施例3におけるモデル検査支援プログラムを実行するモデル検査支援装置の全体構成図は、図1に示す実施例1における全体構成図と同様である。
 図16は、実施例3における検査モデル抽象化部、妥当性判定部の機能構成の一例を示すブロック図であり、条件入力部53を備える点が、実施例2とは異なる。実施例2と同一の機能を持つ部位には同一の符号を付してその詳細の説明は省略する。
 条件入力部53では、同時に統計モデル8に置き換えるクラスタの最大数と、複数クラスタ選択の条件を入力する。ここで、複数クラスタ選択の条件とは、統計モデル8への置き換えの対象となるクラスタを指定するための条件であり、1つのクラスタのみを統計モデル8に置き換えた場合の分布間距離が事前にユーザの指定するしきい値以下となるクラスタ、1つのクラスタのみを統計モデル8に置き換えた場合の分布間距離が小さい順に事前にユーザの指定する順位以内となるクラスタ、あるいは全てのクラスタのいずれかを設定する。
 モデル置換部52は、検査モデルクラスタリング部51によってクラスタに分割された検査モデル7に対して、実施例1および実施例2同様に任意の1つのクラスタを記録部3から取得した統計モデル8に置き換えることに加えて、条件入力部53で入力された条件を満たす複数クラスタを記録部3から取得した統計モデル8に置き換える。
 図17および図18は、実施例3における制御部の動作の一例を示すフロー図である。実施例2の図14におけるステップと同一ステップには同一符号を付して重複する説明は省略する。
 ステップS1700では、条件入力部53で、ユーザが同時に統計モデル8に置き換えるクラスタの最大数Mと複数クラスタ選択の条件Tを入力する。
 ステップS1801では、条件入力部53で入力された条件を満たし、統計モデル8に置き換えることによって抽象化する複数クラスタの組合せが存在するかどうかを判定する。抽象化するクラスタが存在する場合はステップS1802に移行し、存在しない場合はステップS1805に移行する。
 ステップS1802では、モデル置換部52で、抽象化する任意の複数クラスタの組合せを統計モデル8に置き換える。
 ステップS1803では、ステップS1802で統計モデル8に置き換えたモデルに対して、シミュレーション実行部62でシミュレーションを複数回実行し、実行時間の分布Diを得る。
 ステップS1804では、シミュレーション結果解析部63において、ステップS501で得られた実行時間分布AとステップS1803で得られた実行時間分布Diの分布間距離を算出する。
 ステップS1805では、シミュレーション結果解析部63で算出された分布間距離の一覧を表示する。
 ステップS1806では、ユーザが統計モデル8に置き換えるクラスタを選択し、選択されたクラスタを統計モデル8に置き換えたモデルの検査プログラム9を出力し、処理を終了する。 
 図19は、実施例3におけるシミュレーション結果出力部64から出力される表示画面中のシミュレーション結果表示部113の一例を示す図であり、複数クラスタを置き換えた場合の結果が追加されている。また、各クラスタを統計モデル8に置き換えることで削減される状態数も併せて表示した例となっているが、必ずしも表示する必要はない。
 本実施例3によれば、1つのクラスタの置き換えと比較してより多くの状態数を削減することができる。
上記実施例1、実施例2、実施例3では、モデル検査装置とは独立する装置としての構成を示したが、モデル検査装置の一機能として実現する構成(本実施例がコンピュータプログラムとして実現される場合の構成)とすることも可能である。
 図20は、上記本発明の実施形態の装置を実現できるコンピュータのハードウェア構成の一例を示す図である。
 コンピュータのハードウェア200は、CPU201、通信インタフェース202、入出力インタフェース203、記録部204(ROM、RAM、ハードディスクドライブなど)、記録媒体読取装置205などを備えている。また、上記の各構成部は、バス206によってそれぞれ接続されている。
 CPU201は、記録部204に格納されている上記説明した検査モデルクラスタリング部、モデル置換部、シミュレーション実行部、シミュレーション結果解析部、シミュレーション結果出力部などで行う処理を実行する。
 通信インタフェース202は、必要に応じて、他のコンピュータとの間のLAN接続やインターネット接続や無線接続のためのインタフェースである。また、他の装置に接続され、外部装置からのデータの入出力を制御する。
 入出力インタフェース203には、入出力装置203a(図1の入出力装置4、マウス、キーボード、ディスプレイなど)が接続され、ユーザが入力した情報を受信し、バス206を介してCPU201に送信する。また、CPU201からの命令に従って、ディスプレイの画面上に操作情報などを表示する。
 記録部204には、CPU201が実行するプログラムやデータが記録されている。また、ワークエリアなどとして使用される。
 記録媒体読取装置205は、CPU201の制御にしたがった記録媒体205aに対するデータの読み書きを制御する。そして、記録媒体205a、記録媒体読取装置205の制御で書き込まれたデータを記憶したり、記録媒体205aに記憶されたデータを読み取らせたりする。また、着脱可能な記録媒体205aは、コンピュータで読み取り可能な記録媒体として、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。
 このようなハードウェア構成を有するコンピュータを1台以上用いることによって、上記説明した各処理機能(実施例で説明した処理)が実現される。その場合、システムが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体205aに記録しておくことができる。
 プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD-ROMなどの可搬型記録媒体として販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにプログラムを転送することもできる。
 プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータはサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
 また、本発明は、上記した実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の改良、変更が可能である。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
 また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
 モデル検査において、検査対象となるモデルの一部を統計モデルに置き換えることにより抽象化し、検査中の状態数増加を抑え、検査不可能となることを防ぐ方法、プログラムおよび装置を提供することができる。
  1 装置
  2 制御部
  3 記録部
  4 入出力装置
  5 検査モデル抽象化部
  6 妥当性判定部
  7 検査モデル
  8 統計モデル
  9 検査プログラム
 51 検査モデルクラスタリング部
 52 モデル置換部
 53 条件入力部
 61 検査式入力部
 62 シミュレーション実行部
 63 シミュレーション結果解析部
 64 シミュレーション結果出力部
 65 置換部分選択部
111 入力モデル表示部
112 クラスタ表示部
113 シミュレーション結果表示部
200 ハードウェア
201 CPU
202 通信インタフェース
203 入出力インタフェース
203a 入出力装置
204 記録部
205 記録媒体読取装置
205a 記録媒体
206 バス

Claims (15)

  1.  開発対象システムのモデル検査を支援するモデル検査支援装置であって、検査モデルを複数のクラスタに分ける検査モデルクラスタリング部と、前記複数のクラスタの一部を統計モデルに置き換えるモデル置換部と、前記検査モデルと前記置き換えられたモデルに対して実行時間の分布を得るためのシミュレーションを実行するシミュレーション実行部と、前記シミュレーションの条件を与える検査式入力部と、前記検査モデルの実行時間分布と前記置き換えられたモデルの実行時間分布との分布間距離を任意の一部のクラスタを置き換えられた全てのモデルに対して算出し、分布間距離が最小となる置き換え後のモデルの検査プログラムを出力するシミュレーション結果解析部と、前記シミュレーション結果解析部の結果を画面表示するシミュレーション結果出力部と、を備えていることを特徴とするモデル検査支援装置。
  2.  前記シミュレーション結果出力部は、前記検査モデル、前記複数のクラスタ、前記シミュレーション結果解析部で算出された実行時間の分布間距離、クラスタに置き換えることによって削減される状態数、のうち任意の項目を表示することを特徴とする請求項1に記載のモデル検査支援装置。
  3.  前記モデル置換部で前記検査モデルの一部のクラスタを前記統計モデルに置き換える際に、置き換えを行わないクラスタまたは置き換えを行うクラスタを事前に指定しておくことを特徴とする請求項1に記載のモデル検査支援装置。
  4.  前記モデル置換部で任意の1つのクラスタを前記統計モデルに置き換えることを特徴とする請求項1に記載のモデル検査支援装置。
  5.  前記モデル置換部で任意の複数クラスタを前記統計モデルに置き換えることを特徴とする請求項1に記載のモデル検査支援装置。
  6.  前記シミュレーション結果解析部では自動的に最終モデルを出力せず、前記シミュレーション結果出力部から出力された結果から前記統計モデルに置き換えるクラスタをユーザが選択する置換部分選択部を備えることを特徴とする請求項1に記載のモデル検査支援装置。
  7.  前記モデル置換部で前記検査モデルの一部のクラスタを前記統計モデルに置き換える際に、置き換え条件を指定する条件入力部を備えることを特徴とする請求項1に記載のモデル検査支援装置。
  8.  前記条件入力部は、同時に前記統計モデルに置き換えるクラスタの上限値を指定することを特徴とする請求項7に記載のモデル検査支援装置。
  9.  前記条件入力部は、前記モデル置換部で複数のクラスタを前記統計モデルに置き換える際に、置き換えの対象となるクラスタを、1つのクラスタのみを前記統計モデルに置き換えた場合の分布間距離が指定するしきい値以下となるクラスタ、1つのクラスタのみを前記統計モデルに置き換えた場合の分布間距離が小さい順に指定する順位以内となるクラスタ、のいずれかに指定することを特徴とする請求項7に記載のモデル検査支援装置。
  10.  コンピュータによって、開発対象システムのモデル検査を支援するモデル検査支援プログラムであって、検査モデルを複数のクラスタに分割する検査モデルクラスタリング処理、前記複数のクラスタの一部のクラスタを前記統計モデルに置き換えるモデル置換処理、前記検査モデルと前記モデル置換処理で置き換えをしたモデルに対して実行時間分布を求めるシミュレーション実行処理、前記シミュレーション実行処理で得られた実行時間の分布間距離を算出するシミュレーション結果解析処理、および前記シミュレーション結果解析処理の結果を出力するシミュレーション結果出力処理を実行させることを特徴とするモデル検査支援プログラム。
  11.  前記モデル置換処理は、1つまたは2つ以上のクラスタを同時に前記統計モデルに置き換えることを特徴とする請求項10に記載のモデル検査支援プログラム。
  12.  前記モデル置換処理は、置き換え対象とするクラスタの条件を事前に指定することを特徴とする請求項10に記載のモデル検査支援プログラム。
  13.  前記シミュレーション結果出力処理は、前記シミュレーション結果解析処理で分布間距離が最小となるモデルに対するモデル検査用の検査プログラムを出力することを特徴とする請求項10に記載のモデル検査支援プログラム。
  14.  前記シミュレーション結果出力処理は、分布間距離の一覧、または分布間距離と削減状態数の一覧を出力し、出力結果に基づいて選択したクラスタを統計モデルに置き換えたモデルに対するモデル検査用の検査プログラムを出力することを特徴とする請求項10に記載のモデル検査支援プログラム。
  15.  コンピュータによって、開発対象システムのモデル検査を支援するモデル検査支援方法であって、検査モデルを複数のクラスタに分割し、前記複数のクラスタの一部のクラスタを統計モデルに置き換え、前記検査モデルと置き換えをしたモデルに対して実行時間分布を求めるシミュレーションを実行して実行時間の分布間距離を算出し、分布間距離が最小となるクラスタを前記統計モデルへの置き換えが妥当なクラスタと判定し、前記統計モデルへ置き換えたモデルの検査プログラムを出力することを特徴とするモデル検査支援方法。
PCT/JP2012/076749 2011-10-19 2012-10-17 モデル検査支援方法、モデル検査支援プログラム、およびモデル検査支援装置 WO2013058252A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-229353 2011-10-19
JP2011229353A JP2013089057A (ja) 2011-10-19 2011-10-19 モデル検査支援方法、モデル検査支援プログラム、およびモデル検査支援装置

Publications (1)

Publication Number Publication Date
WO2013058252A1 true WO2013058252A1 (ja) 2013-04-25

Family

ID=48140898

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/076749 WO2013058252A1 (ja) 2011-10-19 2012-10-17 モデル検査支援方法、モデル検査支援プログラム、およびモデル検査支援装置

Country Status (2)

Country Link
JP (1) JP2013089057A (ja)
WO (1) WO2013058252A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106681920A (zh) * 2016-12-27 2017-05-17 河南理工大学 一种基于测地距的并发系统模型检测方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101751515B1 (ko) * 2016-02-11 2017-06-27 네이버 주식회사 테스트 실행 장치, 방법 및 컴퓨터 프로그램
KR101885619B1 (ko) * 2016-12-29 2018-08-06 한국과학기술원 출구 재귀 모델을 이용한 웨이퍼 제조 공정 레벨의 포토리소그래피 클러스터 장치 시뮬레이션을 제공하는 시뮬레이션 장치 및 이를 이용한 시뮬레이션 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063537A (ja) * 1996-08-21 1998-03-06 Fujitsu Ltd プロパティ検証方法および装置
JP2010140084A (ja) * 2008-12-09 2010-06-24 Toshiba Corp 検査モデル生成装置、モデル検査装置、及び検査モデル生成方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063537A (ja) * 1996-08-21 1998-03-06 Fujitsu Ltd プロパティ検証方法および装置
JP2010140084A (ja) * 2008-12-09 2010-06-24 Toshiba Corp 検査モデル生成装置、モデル検査装置、及び検査モデル生成方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106681920A (zh) * 2016-12-27 2017-05-17 河南理工大学 一种基于测地距的并发系统模型检测方法

Also Published As

Publication number Publication date
JP2013089057A (ja) 2013-05-13

Similar Documents

Publication Publication Date Title
JP6954003B2 (ja) データベースのための畳み込みニューラルネットワークモデルの決定装置及び決定方法
JP2010009342A (ja) 多目的最適化設計の設計改善支援装置、方法、及びプログラム
JP7171471B2 (ja) 学習モデル生成支援装置、及び学習モデル生成支援方法
US9658834B2 (en) Program visualization device, program visualization method, and program visualization program
US11461663B2 (en) Information processing apparatus, information processing method for image processing, and storage medium
US11960858B2 (en) Performance based system configuration as preprocessing for system peformance simulation
KR102605481B1 (ko) 워크플로우 기반의 자동 예측 모델링 방법 및 그를 위한 장치
US8275780B2 (en) Rule discovery program, rule discovery process, and rule discovery apparatus
WO2013058252A1 (ja) モデル検査支援方法、モデル検査支援プログラム、およびモデル検査支援装置
JP7161936B2 (ja) テスト環境決定装置及びテスト環境決定方法
WO2019103773A1 (en) Automatically identifying alternative functional capabilities of designed artifacts
JP5321286B2 (ja) プログラムモデル検査方法、プログラムモデル検査プログラム
JP6617605B2 (ja) 需要量予測プログラム、需要量予測方法、及び情報処理装置
US10310823B2 (en) Program development support system and program development support software
JP2008305019A (ja) シミュレーション装置及びシミュレーション方法及びプログラム
US7962796B2 (en) State testing device and methods thereof
US9141734B2 (en) System and method of refining a topological indexed mesh
JP2006277282A (ja) モデル評価解析システムおよびモデル評価解析プログラム
JP6755346B2 (ja) 分析システム
US20210056241A1 (en) Design support device and computer readable medium
US9064070B2 (en) Indicator-based product design optimization to find defective and non-defective status
US10223245B1 (en) System, method, and computer program for identifying tests to automate in a software testing project
JP6917136B2 (ja) 按分処理実行装置、按分処理実行方法および按分処理実行プログラム
JP4419814B2 (ja) サービス品質評価支援装置
JP4845488B2 (ja) 生産計画プログラム

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12841571

Country of ref document: EP

Kind code of ref document: A1