JP6254302B2 - ルール整合性検証装置およびルール整合性検証方法 - Google Patents
ルール整合性検証装置およびルール整合性検証方法 Download PDFInfo
- Publication number
- JP6254302B2 JP6254302B2 JP2016568197A JP2016568197A JP6254302B2 JP 6254302 B2 JP6254302 B2 JP 6254302B2 JP 2016568197 A JP2016568197 A JP 2016568197A JP 2016568197 A JP2016568197 A JP 2016568197A JP 6254302 B2 JP6254302 B2 JP 6254302B2
- Authority
- JP
- Japan
- Prior art keywords
- rule
- clause
- combination
- consistency
- consistency verification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Description
また、ルール整合性検証装置の各ブロックの動作に基づく、ルール整合性検証方法により、達成できる。
図1を参照して、ルール整合性検証装置の構成を説明する。図1において、ルール整合性検証装置100は、ルール入力部101と、ルール記録部102と、ルール整合性検証部103と、検証方式記録部104と、学習節記録部105と、矛盾記録部106と、矛盾出力部107と、プロセッサ160と、メモリ170と、入出力装置180と、を含んで構成されている。ルール整合性検証装置100は、プロセッサ160とメモリ170と入出力装置180とを備えたコンピュータである。
図2(a)において、THEN節要素リスト210は、ルールのTHEN節に関する情報を格納するテーブルである。THEN節要素とは、ルールのTHEN節の論理式の一部または全部をいう。THEN節要素リスト210は、ID211と、THEN節要素212と、ルールラベル213と、を含む。
図3において、検証モジュールリスト310は、実行順311と、ルールラベル312と、検証モジュール名313と、を含む。実行順311は、検証の実行順を表す。ルールラベル312は、整合性検証対象を表す。検証モジュール名313は、使用する整合性検証モジュールの名前を表す。検証モジュールリスト310の各行は、検証モジュール情報という。
修正優先度433は、矛盾出力部107が、矛盾を解消する際の修正の優先度を表示する。修正優先度433として、具体的には、各ルールの矛盾リスト421に含まれる出現回数を表示する。この場合、優先度の高い入力ルール情報ほど、多くの矛盾に関係しており、ユーザは入力ルール情報を1つ修正するだけで、複数の矛盾を解消できる可能性があり、矛盾発生時のルールの修正作業を効率化できる。
図4では、ルール入力部101と矛盾出力部107とは、同一の画面を共有しているが、それぞれを独立した画面としてもよい。
¬(v_i∧v_j)
ここで、「¬」は、命題論理のNOTである。任意のTHEN節要素の組合せを表す論理式(L1:Logic No. 1)を導入する。具体的には、THEN節要素有効フラグv_iを論理和で結合した式である。
次に、ルール整合性検証部103は、学習節記録部105内の組合せを含まない制約(C2)を導入する。具体的には、C2は、各学習節のスーパーセット除去制約を論理積で結合した式である。ルール整合性検証部103は、同一のRSを生成しない制約(繰り返し防止制約)を導入する。具体的には、ステップ544によって追加された各THEN節要素のTHEN節要素有効フラグを否定した論理式である。
(r1∨r2∨r3∨r4)∧(r1∧r2)∧(r3∨r4)∧(¬r3∨¬r4)∧(¬r3)
なお、上記論理式は充足解として{r1、r2、r4}が存在するため、RSが存在する。
ここで、RSが存在する場合、ルール整合性検証部103は、ステップ545に進み、存在しない場合、ステップ542に進む(S544)。
図11を参照して、業務ルール整合性検証装置の他の非決定ルール検証モジュールの処理を説明する。図11において、ルール整合性検証部103Aは、THEN節要素の組合せの生成に関する制約リストCS(Condition Set)の制約を満たすTHEN節要素リスト210のTHEN節要素の組合せRS11が存在するかを確認する(S561)。ここで、RS11が存在する場合、ルール整合性検証部103Aは、ステップ562に進み、RS11が存在しない場合、ルール整合性検証部103Aは、処理を終了する(リターンする)。制約リストは、THEN節要素の組合せ生成に対する制約を論理式として記録する。ステップ561の具体的な手順として、非決定THEN節要素に対応する命題変数を論理和で結合した式にCS内の各制約を論理積で結合した式の充足可能性判定を実施し、充足解の存在を確認する。さらに具体的には、非決定THEN節要素としてR1、R2、R3が存在し、制約として組合せ{R2、R3}を含む組合せを生成しない場合、次の式の充足可能性を判定する。
RS11の存在判定式:
(R1∨R2∨R3)∧¬(R2∧R3)
このとき、{R1=真、R2=真、R3=偽}が充足解のひとつとなるため、RS11が存在する。なお、以降、任意の組合せRとR内の全ての要素を含む組合せR´において、R´をRのスーパーセットと呼称し、RをR´のサブセットと呼称する。
MUS{R1、R2}のサブセットを生成しない制約:
R1∨R2
次に、ルール整合性検証部103Aは、MUSのスーパーセットを生成しない制約C3をCSに追加する(S566)。具体的には、MUS内のルールに対応する命題変数を論理積で結合した論理式を否定した論理式が、MUSのスーパーセットを生成しない制約となる。具体的にはMUS{R1、R2、R3}の場合、次の式がMUS{R1、R2、R3}のスーパーセットを生成しない制約となる。
MUS{R1、R2、R3}のスーパーセットを生成しない制約:
¬(R1∧R2∧R3)。
なお、実施例2においては、非決定ルール整合性検証モジュールの処理方式として示したが、本方式は、決定ルール整合性検証モジュールおよび決定/非決定ルール間検証モジュールとして利用しても良い。実施例2を適用することで、充足不能なTHEN節要素の組合せを効率的に見つけることができる。
まず、ルール入力部の処理について、図5を参照して、実施例1との違いを説明する。実施例3は、図5に示すステップ505の処理が、実施例1と異なる。実施例3では、R5_RESULTをそのままの形式でルール記録部102に記録する。実施例1では、「変数=変数値」形式単位に分解して記録しているが、実施例3ではそのような分解を行わない。
((Pc∧r0∧(a>20∧b=20)∧(c=20))∨((Pc∨Pe)∧r2∧(a<100∧b=20)∧(c=20∧e=20)))→(((Pc∧r0∧(a>20∧b=20))→((c=20)∧Pc))∧(((Pc∨Pe)∧r2∧(a<100∧b=20))→((c=20)∧Pc)∨((e=20)∧Pe)))
ここで、r0およびr2は、ルール有効フラグを表し、PcおよびPeは、出力変数が有効であるか否かを示す命題変数である出力変数有効フラグである。出力変数有効フラグは、いずれか1つのみが真となるように直接符号化法を用いて、出力変数有効フラグに関する制約を追加する。
Claims (10)
- ソフトウェア仕様の開発におけるルールの整合性を検証するルール整合性検証装置であって、
前記ルールが成立するための条件の論理式を格納するIF節と前記条件が成立した場合の結果の論理式を格納するTHEN節とを含むルールを含むルールセットを受け付けるルール入力部と、前記ルールセットに含まれる前記ルールが互いに矛盾しないかを判定するルール整合性検証部と、前記ルールセットに含まれる前記ルールが互いに矛盾しないかを判定した結果を出力する矛盾出力部と、
を備え、
前記ルール入力部は、前記ルールのTHEN節の論理式の構造に基づき、前記ルールを分類し、分類結果を表すルールラベルを前記ルールに付与し、
前記ルール整合性検証部は、前記ルールラベルが2以上ある場合、同一の前記ルールラベルを持つルール同士で互いに矛盾しないかを判定し、前記ルールラベルが異なるルール同士で互いに矛盾しないかを判定することを特徴とするルール整合性検証装置。 - 請求項1に記載のルール整合性検証装置であって、
前記ルールラベルには、決定ラベルと非決定ラベルとの2種類があり、
前記ルール入力部は、前記ルールのTHEN節の論理式が、変数と変数値の等式である論理式の場合、または、変数と変数値の等式を論理積で結合した論理式の場合に前記ルールに前記決定ラベルを付与し、そうでない場合に前記非決定ラベルを付与し、
前記ルール整合性検証部は、前記決定ラベルが付与された前記ルール同士の整合性を検証する決定ルール検証手段と、前記非決定ラベルが付与された前記ルール同士の整合性を検証する非決定ルール検証手段と、前記決定ラベルが付与された前記ルールと前記非決定ラベルが付与された前記ルール同士の整合性を検証する決定/非決定ルール間検証手段と、を備えることを特徴とするルール整合性検証装置。 - 請求項2に記載のルール整合性検証装置であって、
前記決定ルール検証手段は、前記決定ラベルが付与された前記ルールのルールセットから、前記ルールのTHEN節が充足不能となる2つのTHEN節の組合せである決定THEN節組合せを取得し、前記決定THEN節組合せを含むルールのIF節を取得し、同一のTHEN節を持つ前記ルールのIF節をグループ化し、各グループから1ずつIF節を取得し、取得したIF節の論理積の充足可能性を判定し、充足可能な場合、矛盾ありと判定し、充足不能な場合、矛盾なしと判定することを特徴とするルール整合性検証装置。 - 請求項3に記載のルール整合性検証装置であって、
2以上の前記ルールのTHEN節の論理積が充足不能となる充足不能ルールTHEN節組合せを格納する学習節記録部をさらに備え、
前記非決定ルール検証手段は、前記非決定ラベルが付与された前記ルールのTHEN節の論理積が充足可能となる前記ルールのTHEN節の組合せを格納する充足可能THEN節組合せ集合を有し、
前記非決定ルール検証手段は、前記充足可能THEN節組合せ集合から、前記非決定ラベルが付与された前記ルールのTHEN節の論理積が充足可能となる前記ルールのTHEN節の組合せを取得し、取得した前記ルールのTHEN節の組合せに前記非決定ラベルが付与された前記ルールのTHEN節を追加し、前記ルールのTHEN節の組合せに前記充足不能ルールTHEN節組合せの部分集合を含むか否かを判定し、含まない場合に前記ルールのTHEN節の組合せに含まれるTHEN節の論理積の充足可能性を判定し、充足可能な場合に前記ルールのTHEN節の組合せを前記充足可能THEN節組合せ集合に追加し、充足不能な場合に前記ルールのTHEN節の組合せを前記学習節記録部に追加することを特徴とするルール整合性検証装置。 - 請求項4に記載のルール整合性検証装置であって、
前記決定/非決定ルール間検証手段は、前記非決定ラベルが付与された前記ルールのTHEN節の論理積が充足可能となる非決定ルールTHEN節組合せを取得し、前記決定ラベルが付与された前記ルールのTHEN節の論理積が充足可能となる決定ルールTHEN節組合せを取得し、前記非決定ルールTHEN節組合せの各THEN節で使用されている変数の集合が前記決定ルールTHEN節組合せのTHEN節で使用している変数の集合を含むか否かを判定し、前記非決定ルールTHEN節組合せと前記決定ルールTHEN節組合せのTHEN節を全て含む決定/非決定THEN節組合せに前記学習節記録部のTHEN節の組合せを含むか否かを判定し、前記決定/非決定THEN節組合せのTHEN節の論理積の充足可能性を判定し、充足不能な場合に前記決定/非決定THEN節組合せを前記学習節記録部に追加することを特徴とするルール整合性検証装置。 - 請求項1に記載のルール整合性検証装置であって、
前記ルール整合性検証部は、前記ルールのTHEN節の組合せの論理積が充足可能であるか否かを判定するTHEN節充足可能性判定手段と、前記ルールのTHEN節の組合せを生成する際の制約であるTHEN節組合せ生成制約式を格納するTHEN節組合せ生成制約式格納領域と、を有し、
前記THEN節充足可能性判定手段は、前記THEN節組合せ生成制約式格納領域から前記THEN節組合せ生成制約式を読み込み、前記THEN節組合せ生成制約式を満たす前記ルールのTHEN節の組合せである充足可能THEN節組合せを生成し、前記充足可能THEN節組合せの論理積が充足可能であるかを判定し、充足不能である場合に前記充足可能THEN節組合せの論理積を充足不能にする最小の前記充足可能THEN節組合せを生成し、前記充足可能であるかの判定結果に基づき前記THEN節組合せ生成制約式を生成することを特徴とするルール整合性検証装置。 - 請求項2に記載のルール整合性検証装置であって、
前記決定ルール検証手段は、前記決定ラベルが付与された前記ルールのルールセットから、前記各ルールが有効か否かを表すルール有効フラグを活用して、前記ルール間の整合性を判定する整合性判定式を生成し、前記整合性判定式の充足可能性を判定し、充足可能な場合に前記整合性判定式を充足にする解である充足解を取得し、前記充足解から矛盾となるルール組を特定し、前記矛盾となるルール組に対応するルール有効フラグから同じルール組が再度抽出されないようにするためのルール制約式を生成し、前記ルール制約式を追加した前記整合性判定式の充足可能性を判定することを特徴とするルール整合性検証装置。 - 請求項1に記載のルール整合性検証装置であって、
前記矛盾出力部は、前記ルールセットに含まれる前記ルールが互いに矛盾しないかを判定した結果として、矛盾が含まれる場合、優先的に修正すべきルールの修正優先度を表示することを特徴とするルール整合性検証装置。 - 請求項3ないし請求項6のいずれか一つに記載のルール整合性検証装置であって、
前記充足可能性の判定をSATソルバまたはSMTソルバにより判定することを特徴とするルール整合性検証装置。 - ソフトウェア仕様の開発におけるルールの整合性を検証するルール整合性検証方法であって、
前記ルールが成立するための条件の論理式を格納するIF節と前記条件が成立した場合の結果の論理式を格納するTHEN節とを含むルールを含むルールセットを受け付けるルール入力のステップと、前記ルールセットに含まれる前記ルールが互いに矛盾しないかを判定するルール整合性検証のステップと、前記ルールセットに含まれる前記ルールが互いに矛盾しないかを判定した結果を出力する矛盾出力のステップと、
を含み、
前記ルール入力のステップは、前記ルールのTHEN節の論理式の構造に基づき、前記ルールを分類するステップと、分類結果を表すルールラベルを前記ルールに付与するステップと、を含み、
前記ルール整合性検証のステップは、前記ルールラベルが2以上ある場合、同一の前記ルールラベルを持つルール同士で互いに矛盾しないかを判定するステップと、前記ルールラベルが異なるルール同士で互いに矛盾しないかを判定するステップと、を含むことを特徴とするルール整合性検証方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/050154 WO2016110946A1 (ja) | 2015-01-06 | 2015-01-06 | ルール整合性検証装置およびルール整合性検証方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2016110946A1 JPWO2016110946A1 (ja) | 2017-04-27 |
JP6254302B2 true JP6254302B2 (ja) | 2017-12-27 |
Family
ID=56355671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016568197A Expired - Fee Related JP6254302B2 (ja) | 2015-01-06 | 2015-01-06 | ルール整合性検証装置およびルール整合性検証方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6254302B2 (ja) |
WO (1) | WO2016110946A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6904914B2 (ja) * | 2018-02-02 | 2021-07-21 | 株式会社日立製作所 | 決定表生成装置、及び決定表生成方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4887985B2 (ja) * | 2006-09-05 | 2012-02-29 | 日本電気株式会社 | ポリシ検査システム、方法、及び、プログラム |
JP5970292B2 (ja) * | 2012-08-21 | 2016-08-17 | 株式会社日立製作所 | ソフトウェア仕様開発支援方法及びソフトウェア仕様開発支援装置 |
-
2015
- 2015-01-06 WO PCT/JP2015/050154 patent/WO2016110946A1/ja active Application Filing
- 2015-01-06 JP JP2016568197A patent/JP6254302B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPWO2016110946A1 (ja) | 2017-04-27 |
WO2016110946A1 (ja) | 2016-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017224184A (ja) | 機械学習装置 | |
JP6224811B1 (ja) | ルールセットを選択可能な推論エンジンを有するプログラム、装置及び方法 | |
JP6231944B2 (ja) | 学習モデル作成装置、判定システムおよび学習モデル作成方法 | |
JP6506360B2 (ja) | 教師データを生成する方法、学習済みモデルを生成する方法、学習済みモデル、コンピュータおよびプログラム | |
de Faria et al. | Evaluation of multiclass novelty detection algorithms for data streams | |
JP2019125319A (ja) | 学習プログラム、学習方法および学習装置 | |
JP2016018358A (ja) | データ分類方法、データ分類プログラム、及び、データ分類装置 | |
JP6254302B2 (ja) | ルール整合性検証装置およびルール整合性検証方法 | |
US20190205361A1 (en) | Table-meaning estimating system, method, and program | |
JP6770709B2 (ja) | 機械学習用モデル生成装置及びプログラム。 | |
JP2020119101A (ja) | テンソル生成プログラム、テンソル生成方法およびテンソル生成装置 | |
JP6715487B1 (ja) | メール分類装置、メール分類方法、およびコンピュータプログラム | |
JP2019028484A (ja) | 属性識別装置、属性識別モデル学習装置、方法、及びプログラム | |
JP6317000B1 (ja) | ラベリング装置およびプログラム | |
Lauffer et al. | Learning deterministic finite automata decompositions from examples and demonstrations | |
JP2018169939A (ja) | 学習装置、学習方法及び学習プログラム | |
Kumar et al. | Sentimental analysis for E-commerce site | |
JP6007220B2 (ja) | 複数入力変数に対する正常系テストデータ生成装置、方法、及びプログラム | |
WO2020017037A1 (ja) | ログ分析装置、ログ分析方法、プログラム | |
CN110705256A (zh) | 字符数量的统计方法、装置、设备及存储介质 | |
JP2019021037A (ja) | ソースコード評価装置、ソースコード評価方法及びソースコード評価プログラム | |
JP2014038392A (ja) | スパムアカウントスコア算出装置、スパムアカウントスコア算出方法、及びプログラム | |
JP7230086B2 (ja) | 多形式データ解析システムおよび多形式データ解析プログラム | |
JP2019008640A (ja) | 類似度計算装置及び類似度計算方法 | |
JP7456289B2 (ja) | 判定プログラム、判定方法および情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170613 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170721 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20171114 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171129 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6254302 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |