JP2012190203A - Tabular format software specification preparation support method and device - Google Patents

Tabular format software specification preparation support method and device Download PDF

Info

Publication number
JP2012190203A
JP2012190203A JP2011052340A JP2011052340A JP2012190203A JP 2012190203 A JP2012190203 A JP 2012190203A JP 2011052340 A JP2011052340 A JP 2011052340A JP 2011052340 A JP2011052340 A JP 2011052340A JP 2012190203 A JP2012190203 A JP 2012190203A
Authority
JP
Japan
Prior art keywords
proposition
decision table
condition
specifications
column
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.)
Granted
Application number
JP2011052340A
Other languages
Japanese (ja)
Other versions
JP5460629B2 (en
Inventor
Naoto Sato
直人 佐藤
Hironobu Kuruma
啓伸 來間
Ryota Sambe
良太 三部
Sadahiro Ishikawa
貞裕 石川
Kanji Tadano
完二 只野
Hiroshi Saito
浩 齋藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2011052340A priority Critical patent/JP5460629B2/en
Priority to CN201210018995.5A priority patent/CN102707938B/en
Publication of JP2012190203A publication Critical patent/JP2012190203A/en
Application granted granted Critical
Publication of JP5460629B2 publication Critical patent/JP5460629B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To reduce an input amount for decision table preparation.SOLUTION: A device for supporting development of a software specification includes proposition specification reception means, decision table preparation means, and consistency verification means. When a plurality of proposition form specifications are acquired from the proposition specification reception means, the decision table preparation means takes out a condition part and a result part of the proposition form specification to prepare a row of a decision table for each of the plurality of proposition form specifications, and marks a column of the row in a line corresponding to the proposition form specification. The consistency verification means takes out optional two proposition form specifications among the plurality of proposition form specifications from the decision table, determines whether or not the AND of the condition parts of the two proposition form specifications can be satisfied, and if it can be satisfied, outputs that each of the plurality of proposition form specifications conflicts with each other.

Description

本発明は、ソフトウェア開発を支援する技術に関し、特に、表形式のソフトウェア仕様を作成及び検証する技術に関する。   The present invention relates to a technology for supporting software development, and more particularly, to a technology for creating and verifying a tabular software specification.

ソフトウェアの仕様を、ソフトウェア実行前の条件とその実行後の結果の対応関係で定義する場合がある。この条件と結果の対応関係は決定表(デシジョンテーブル)と呼ばれる表形式で表現できることが知られており、ソフトウェア開発工程において頻繁に使用される。決定表にはいくつかの異なる記述形式があるが、記述形式が異なる決定表でも条件と結果の対応関係を表すというセマンティクスは一様である。さらに、決定表は、条件マトリクスやチェックリストなどの別の名称で呼ばれる場合もある。   In some cases, software specifications are defined by the correspondence between the conditions before software execution and the results after execution. It is known that the correspondence between these conditions and results can be expressed in a table format called a decision table (decision table), and is frequently used in the software development process. There are several different description formats for decision tables, but the semantics of representing the correspondence between conditions and results is uniform even in decision tables with different description formats. Furthermore, the decision table may be called by another name such as a condition matrix or a check list.

この決定表を使って仕様を表すことにより、条件と結果の対応関係を誤解なく明確に記述できるとともに、条件のパタン漏れを発見し易くなるという効果がある。一方で、決定表による仕様記述には次のような欠点もある。すなわち、条件の要素が増えるにつれてパタンが増え決定表が肥大化するため、可読性が低下するという問題がある。   Expressing specifications using this decision table has the effect of clearly describing the correspondence between the condition and the result without misunderstanding, and facilitating the discovery of a condition pattern leak. On the other hand, the specification description by the decision table has the following drawbacks. That is, as the number of condition elements increases, the pattern increases and the decision table becomes enlarged.

この問題を解決する従来技術として、特許文献1では、決定表を分割して表記することで可読性の低下を防ぐ方法が開示されている。   As a prior art for solving this problem, Patent Document 1 discloses a method of preventing a decrease in readability by dividing and representing a decision table.

特開2005−44303号公報JP 2005-44303 A

特許文献1で開示されている従来技術を用いると、決定表を可読性の高い形式で表示できる。しかし決定表の記述量は変わらないため、決定表の入力量が増え作成工数が増加するという問題や決定表を保存するために必要な記憶容量が増大すること、それに伴い決定表に記載された仕様の検証に必要な時間を多く要すること、仕様の冗長性を発見しにくくなることという問題は解決できない。   When the conventional technique disclosed in Patent Document 1 is used, the decision table can be displayed in a highly readable format. However, because the amount of description in the decision table does not change, the problem is that the amount of input of the decision table increases and the number of man-hours to create increases, and the storage capacity necessary to save the decision table increases, along with this, it was described in the decision table The problem that it takes a lot of time to verify the specification and it becomes difficult to find the redundancy of the specification cannot be solved.

上記に鑑み、上記課題に対処し、可読性は確保しつつ決定表の作成・解読工数削減と記憶容量削減を達成するための技術を提供することを目的とする。   In view of the above, an object of the present invention is to provide a technique for addressing the above-described problems and achieving reduction in the number of steps for creating / decoding decision tables and reduction in storage capacity while ensuring readability.

上記課題を解決し、上記目的を達成するため、ソフトウェア仕様の開発を支援する装置であって、複数の条件を有する条件部および複数の結果を有する結果部からなる複数の命題形式の仕様を受け付ける命題仕様受付手段と、各行が上記複数の条件の1つまたは上記複数の結果の1つを示し、各列が上記複数の命題形式の各々を示す表形式で表した決定表を上記複数の命題形式の仕様から作成する決定表作成手段と、上記複数の命題形式の仕様の各々が互いに矛盾しないかどうかを判定する整合性検証手段とを備え、上記決定表作成手段は、上記命題仕様受付手段から上記複数の命題形式の仕様を取得すると、上記複数の命題形式の仕様の各々について、当該命題形式の仕様の条件部と結果部を取り出して上記決定表の行を作成し、当該命題形式の仕様に対応する列の当該行の欄に印付けし、上記整合性検証手段は、複数の命題形式の仕様のうち任意の2つの命題形式の仕様を上記決定表から取り出し、上記2つの命題形式の仕様の条件部の論理積が充足可能かどうかを判定し、充足可能であるならば上記複数の命題形式の仕様の各々が互いに矛盾すると出力することを特徴とする装置を提供する。   In order to solve the above-mentioned problems and achieve the above-mentioned object, it is an apparatus for supporting the development of software specifications, and accepts specifications of a plurality of proposition formats consisting of a condition part having a plurality of conditions and a result part having a plurality of results Proposition specification receiving means, and a decision table in which each row represents one of the plurality of conditions or one of the plurality of results, and each column represents each of the plurality of proposition formats. A decision table creating means created from a format specification; and a consistency verification means for judging whether each of the specifications of the plurality of proposition formats is consistent with each other, wherein the decision table creating means is the proposition specification receiving means When the specifications of the plurality of proposition formats are obtained from the above, for each of the specifications of the plurality of proposition formats, a condition part and a result part of the specifications of the proposition format are extracted, and a row of the decision table is created. The column corresponding to the specification of the expression is marked in the column of the row, and the consistency verifying means takes out any two proposition format specifications from the plurality of proposition format specifications from the decision table, and There is provided an apparatus characterized in that it is determined whether or not a logical product of a condition part of a proposition format specification is satisfiable, and if it is satisfiable, an output is output if each of the plurality of proposition format specifications contradicts each other.

一実施形態によれば、決定表の作成・解決に必要な工数を削減し、決定表を保存・表示するために必要な記憶容量を削減することができる。   According to one embodiment, it is possible to reduce the man-hours necessary for creating and solving a decision table, and to reduce the storage capacity necessary for storing and displaying the decision table.

決定表作成支援・検証装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of a decision table preparation assistance / verification apparatus. 決定表作成支援・検証装置のハードウェア構成例を示すブロック図である。It is a block diagram which shows the hardware structural example of a decision table preparation assistance / verification apparatus. 入力命題仕様入力・表示部が受け付ける入力命題仕様の例である。This is an example of an input proposition specification accepted by the input proposition specification input / display unit. 条件項目及び結果項目のデータの例であるThis is an example of condition item and result item data 入力命題仕様から作成した決定表の例である。It is an example of a decision table created from input proposition specifications. 決定表作成の手順例を示すフローチャートである。It is a flowchart which shows the example of a procedure of decision table preparation. 入力命題仕様を解釈して決定表に記入する手順例を示すフローチャートである。It is a flowchart which shows the example of a procedure which interprets an input proposition specification and fills in a decision table. 整合性検証の結果に基づく修正後の決定表の例である。It is an example of the decision table after correction based on the result of consistency verification. 決定表及び入力命題仕様の整合性検証の手順例を示すフローチャートである。It is a flowchart which shows the example of a procedure of the consistency verification of a decision table and an input proposition specification. 条件制約入力・表示部が受け付ける条件制約の例である。It is an example of the condition constraints that the condition constraint input / display unit accepts. 条件制約に基づいて列を削除した後の決定表の例である。It is an example of a decision table after deleting a column based on a conditional constraint. 任意値記号置換後の決定表の例である。It is an example of the decision table after arbitrary value symbol substitution. 決定表の最小化の手順例を示すフローチャートである。It is a flowchart which shows the example of a procedure of minimization of a decision table. 決定表から条件制約を満たさない列を削除する手順例を表すフローチャートである。It is a flowchart showing the example of a procedure which deletes the row | line | column which does not satisfy | fill condition restrictions from a decision table. 決定表に対する任意値記号置換えの手順例を表すフローチャートである。It is a flowchart showing the example of a procedure of arbitrary value symbol replacement with respect to a decision table. 決定表から変換した出力命題仕様の例である。It is an example of the output proposition specification converted from the decision table. 決定表変換及び出力命題仕様表示の手順例を示すフローチャートである。It is a flowchart which shows the example of a procedure of decision table conversion and an output proposition specification display. 決定表作成支援・検証装置の画面表示の例である。It is an example of a screen display of a decision table creation support / verification device. プログラム生成の手順例を表すフローチャートである。It is a flowchart showing the example of a procedure of a program production | generation. 決定表から生成したプログラムの例である。It is an example of the program produced | generated from the decision table. 決定表と入力命題仕様の対応表示の例である。It is an example of the correspondence display of a decision table and an input proposition specification. 検証結果のハイライト表示の例である。It is an example of the highlight display of a verification result.

以下、本発明の実施の一形態を、図面を参照しながら詳細に説明する。   Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

本実施形態は、決定表作成支援・検証装置に適用される。   The present embodiment is applied to a decision table creation support / verification apparatus.

本実施形態では、命題形式の仕様(入力命題仕様と呼ぶ)の入力を受け付けて、その入力命題仕様の内容に基づいて決定表を作成する。つまりユーザは、決定表の各列にマルなどの記号を直接記入するのではなく、入力命題仕様を入力することで決定表を作成する。   In this embodiment, an input of a proposition format specification (referred to as an input proposition specification) is received, and a decision table is created based on the contents of the input proposition specification. That is, the user creates a decision table by inputting the input proposition specifications, instead of directly entering a symbol such as a circle in each column of the decision table.

よって本実施形態によれば、決定表作成のための入力量を削減できる。また、決定表作成の際に参照する要求定義文書の文を大きく変更することなく命題仕様として直接的に本装置に入力できるため、要求定義文書の解読作業を軽減できる。   Therefore, according to the present embodiment, the input amount for creating the decision table can be reduced. In addition, since the sentence of the requirement definition document to be referred to when creating the decision table can be directly input to the apparatus as a proposition specification without largely changing, the decoding work of the requirement definition document can be reduced.

さらに本実施形態では、入力した命題仕様と、その命題仕様に基づいて記入した決定表の列を対応付けて表示する。   Furthermore, in the present embodiment, the input proposition specifications are displayed in association with the columns of the decision table entered based on the proposition specifications.

よって本実施形態によれば、命題仕様のもとになった要求定義文書に変更があった場合に、要求定義文書の変更による決定表への影響を誤りなく特定できる。   Therefore, according to the present embodiment, when there is a change in the requirement definition document that is the basis of the proposition specification, it is possible to specify the influence on the decision table due to the change of the requirement definition document without error.

また本実施形態では、条件に関する命題形式の制約(条件制約と呼ぶ)の入力を受け付け、その条件制約の内容に基づいて、成立し得ない決定表の列を削除する。あるいは、任意値記号置換えの命令を受け付け、マルなどの記号を任意値記号に置き換えることで、複数の列を1列に集約する。   In the present embodiment, an input of a propositional constraint on a condition (referred to as a condition constraint) is received, and a decision table column that cannot be satisfied is deleted based on the content of the condition constraint. Alternatively, an arbitrary value symbol replacement instruction is received, and a plurality of columns are consolidated into one column by replacing a symbol such as a circle with an arbitrary value symbol.

よって本実施形態によれば、不要な列を削除して決定表を最小化するため、決定表保存・表示のために必要な記憶容量を削減できる。   Therefore, according to the present embodiment, unnecessary tables are deleted and the decision table is minimized, so that it is possible to reduce the storage capacity necessary for saving and displaying the decision table.

また本実施形態では、作成した決定表の表す仕様を命題形式の仕様(出力命題仕様と呼ぶ)として出力する。   In this embodiment, the specification represented by the created decision table is output as a proposition format specification (referred to as an output proposition specification).

よって本実施形態によれば、決定表が定義する仕様の全体像を容易に読み取ることができる。また、決定表の最小化後に出力命題仕様の出力を行うことで、(入力命題仕様とは異なり)、冗長な情報あるいは重複した情報を含まない命題形式の仕様が得られる。そのため、命題形式の仕様の保存・表示のために必要な記憶容量を削減できる。   Therefore, according to the present embodiment, it is possible to easily read the entire image of the specification defined by the decision table. Further, by outputting the output proposition specification after minimizing the decision table (unlike the input proposition specification), a proposition format specification that does not include redundant information or duplicate information can be obtained. Therefore, it is possible to reduce the storage capacity required for storing and displaying the propositional format specifications.

また本実施形態では、入力命題仕様や決定表の矛盾を検証し、矛盾する入力命題仕様や決定表の列を対応付けて表示する。さらに矛盾検証の問題を充足可能性問題に帰着し、充足可能性問題を高速に解くことができるSATソルバを使用することで、上記矛盾検証を高速化する。   Further, in the present embodiment, contradictions in input proposition specifications and decision tables are verified, and conflicting input proposition specifications and decision table columns are displayed in association with each other. Further, the contradiction verification problem is reduced to a satisfiability problem, and the above-described contradiction verification is accelerated by using a SAT solver that can solve the satisfiability problem at high speed.

さらに本実施形態では、決定表から、その対象ソフトウェアの処理を表すプログラムを生成する。   Furthermore, in the present embodiment, a program representing the processing of the target software is generated from the determination table.

よって本実施形態によれば、矛盾のない決定表から、その仕様を実現する処理を表す正しいプログラムを効率的に取得できる。   Therefore, according to the present embodiment, a correct program representing processing for realizing the specification can be efficiently acquired from a decision table without contradiction.

図1は、本実施形態における決定表作成支援・検証装置201の構成例を示すブロック図である。   FIG. 1 is a block diagram illustrating a configuration example of a decision table creation support / verification apparatus 201 according to the present embodiment.

決定表作成支援・検証装置201は、入力命題仕様入力・表示部101、条件/結果項目入力部102、条件/結果項目抽出部103、決定表結果記入部104、決定表見出し作成部105、任意値記号置換部106、条件制約入力・表示部107、不成立条件削除部108、決定表保持部109、整合性検証部110、入力命題仕様保持部111、決定表変換部112、出力命題仕様保持部113、決定表表示・編集部114、出力命題仕様表示部115、プログラム生成部116、条件制約保持部117を含む。   The decision table creation support / verification apparatus 201 includes an input proposition specification input / display unit 101, a condition / result item input unit 102, a condition / result item extraction unit 103, a decision table result entry unit 104, a decision table header creation unit 105, an arbitrary Value symbol substitution unit 106, condition constraint input / display unit 107, failure condition deletion unit 108, decision table holding unit 109, consistency verification unit 110, input proposition specification holding unit 111, decision table conversion unit 112, output proposition specification holding unit 113, a decision table display / editing unit 114, an output proposition specification display unit 115, a program generation unit 116, and a condition constraint holding unit 117.

入力命題仕様入力・表示部101は、入力命題仕様を受け付け、受け付けた入力命題仕様を入力命題仕様保持部111に登録する。   The input proposition specification input / display unit 101 receives the input proposition specification and registers the received input proposition specification in the input proposition specification holding unit 111.

条件/結果項目抽出部103は、入力命題仕様保持部111から入力命題仕様を取得し、取得した入力命題仕様から条件項目、及び結果項目を抽出する。抽出した条件項目、及び結果項目は、決定表見出し作成部105に渡す。   The condition / result item extraction unit 103 acquires an input proposition specification from the input proposition specification holding unit 111, and extracts a condition item and a result item from the acquired input proposition specification. The extracted condition items and result items are passed to the decision table header creation unit 105.

条件/結果項目入力部は、条件項目、及び結果項目の入力を受け付け、決定表見出し作成部105に受け渡す。   The condition / result item input unit receives the input of the condition item and the result item, and passes them to the decision table header creation unit 105.

決定表見出し作成部105は、条件/結果項目抽出部103あるいは条件/結果項目入力102から条件項目、及び結果項目を受け取り、決定表の見出し部分を作成する。決定表の見出しは、図5に示す通り、1列目502に条件/結果項目を縦に並べ、そして各条件/結果項目の右隣の列に、条件/結果項目の取り得る値503を縦に並べて作成する。さらに上記決定表の条件部を全パタン分作成する。前記条件部のパタンは、条件項目の総数と、その条件項目が何通りの値をとるかに基づいて網羅的に作成される。例えば、条件項目Aと条件項目Bが存在し、条件項目Aは値a1と値a2をとり、条件項目Bが値b1と値b2と値b3をとると定義する。この場合、条件部に作成されるパタンは(a1、b1)(a1、b2)(a1、b3)(a2、b1)(a2、b2)(a2、b3)の6通りである。これは上記定義から機械的に作成される。よって仮に条件項目Aが現実には存在しない条件項目だったとしても、あるいは値a1が条件項目の取り得えない値だったとしても、上記定義に従って条件部を作成する。また、条件項目が1つも定義されていない場合は、決定表の条件部は作成しない。作成した決定表は決定表保持部109に登録する。   The decision table header creation unit 105 receives the condition item and the result item from the condition / result item extraction unit 103 or the condition / result item input 102 and creates a header part of the decision table. As shown in FIG. 5, the title of the decision table is that the condition / result items are vertically arranged in the first column 502, and the possible values 503 of the condition / result items are vertically arranged in the column to the right of each condition / result item. Create side by side. Further, the condition part of the decision table is created for all patterns. The pattern of the condition part is comprehensively created based on the total number of condition items and how many values the condition item takes. For example, it is defined that condition item A and condition item B exist, condition item A takes value a1 and value a2, and condition item B takes value b1, value b2 and value b3. In this case, there are six patterns (a1, b1) (a1, b2) (a1, b3) (a2, b1) (a2, b2) (a2, b3) created in the condition part. This is created mechanically from the above definition. Therefore, even if the condition item A is a condition item that does not actually exist, or even if the value a1 is a value that cannot be obtained by the condition item, the condition part is created according to the above definition. If no condition item is defined, the condition part of the decision table is not created. The created decision table is registered in the decision table holding unit 109.

決定表結果記入部104は、入力命題仕様保持部111から入力命題仕様を取得し、同時に決定表保持部109から結果記入対象の決定表を取得する。そして、上記入力命題仕様に基づいて、上記決定表の結果部を記入する。   The decision table result entry unit 104 obtains an input proposition specification from the input proposition specification holding unit 111 and, at the same time, obtains a decision table as a result entry target from the decision table holding unit 109. Then, the result part of the decision table is entered based on the input proposition specification.

決定表表示・編集部114は、決定表保持部109から決定表を取得して画面表示するとともに、ユーザによる決定表の編集を受け付ける。決定表を画面表示する際は、決定表結果記入部104によって結果部を記入した列と、そのもとになった上記入力命題仕様を対応付けて表示する。決定表と入力命題仕様の対応表示の例を図21に示す。図21では,決定表2101と入力命題仕様2103を対応付けて表示している。決定表2101の決定表列2102は,入力命題仕様2103に基づいて記入されたため,入力命題仕様2103と決定表列2102を同色に色づけて表示する。または,ユーザが入力命題仕様を選択した場合のみ,選択した入力命題仕様とその対応する決定表列を色づけて表示してもよい。また、結果部が未記入の列も強調表示する。編集した決定表は、決定表保持部109に再登録する。   The decision table display / editing unit 114 acquires the decision table from the decision table holding unit 109 and displays it on the screen, and accepts editing of the decision table by the user. When the decision table is displayed on the screen, the column in which the result part is entered by the decision table result entry unit 104 is displayed in association with the input proposition specification that is the basis thereof. An example of the correspondence display between the decision table and the input proposition specifications is shown in FIG. In FIG. 21, a decision table 2101 and an input proposition specification 2103 are displayed in association with each other. Since the decision table column 2102 of the decision table 2101 is entered based on the input proposition specification 2103, the input proposition specification 2103 and the decision table column 2102 are displayed in the same color. Alternatively, only when the user selects an input proposition specification, the selected input proposition specification and its corresponding decision table sequence may be displayed in color. Also, the column in which the result part is not filled is also highlighted. The edited decision table is re-registered in the decision table holding unit 109.

整合性検証部110は、入力命題仕様保持部111から入力命題仕様を取得し、さらに取得した入力命題仕様に基づいて記入した決定表を決定表保持部109から取得する。そして、上記入力命題仕様間の整合性、及び上記入力命題仕様と上記決定表間の整合性を検証し、検証結果を上記入力命題仕様及び上記決定表に対応付けて、それぞれ入力命題仕様保持部111及び決定表保持部109に登録する。   The consistency verification unit 110 acquires the input proposition specification from the input proposition specification holding unit 111, and further acquires the decision table filled based on the acquired input proposition specification from the decision table holding unit 109. Then, the consistency between the input proposition specifications and the consistency between the input proposition specifications and the decision table are verified, the verification result is associated with the input proposition specifications and the decision table, 111 and the decision table holding unit 109.

条件制約入力・表示部107は、条件制約の入力を受け付け、受け付けた上記条件制約を条件制約保持部117に登録する。   The condition constraint input / display unit 107 receives an input of a condition constraint and registers the received condition constraint in the condition constraint holding unit 117.

不成立条件削除部108は、条件制約保持部117から条件制約を取得し、さらに取得した条件制約の対象となる決定表を決定表保持部109から取得する。そして、上記条件制約に基づいて成立し得ないパタンを特定し、そのパタンを表す列を上記決定表から削除する。その後、成立し得ない列を削除した上記決定表を決定表保持部109に再登録する。   The unsatisfied condition deletion unit 108 acquires a condition constraint from the condition constraint holding unit 117, and further acquires from the determination table holding unit 109 a determination table that is a target of the acquired condition constraint. Then, a pattern that cannot be established based on the condition constraint is specified, and a column representing the pattern is deleted from the determination table. Thereafter, the determination table from which the column that cannot be established is deleted is re-registered in the determination table holding unit 109.

任意値記号置換部106は、決定表の任意値記号置換えの命令を受け付け、指定された決定表を決定表保持部109から取得する。そして、決定表の列が含むマル記号を、任意値記号であるアスタリスク記号に置き換え、複数の列を1列に集約する。さらに、集約後の上記決定表を決定表保持部109に再登録する。   The arbitrary value symbol replacement unit 106 accepts an instruction for arbitrary value symbol replacement in the determination table, and acquires the designated determination table from the determination table holding unit 109. Then, the multiple symbols included in the columns of the decision table are replaced with asterisk symbols that are arbitrary value symbols, and a plurality of columns are consolidated into one column. Further, the determination table after aggregation is re-registered in the determination table holding unit 109.

決定表変換部112は、決定表変換の命令を受け付け、指定された決定表を決定表保持部109から取得する。そして取得した上記決定表の表す仕様を、命題形式の仕様である出力命題仕様に変換する。変換した上記出力命題仕様は、出力命題仕様保持部113に登録される。   The decision table conversion unit 112 receives a decision table conversion command, and acquires a designated decision table from the decision table holding unit 109. Then, the specification represented by the obtained decision table is converted into an output proposition specification that is a specification in a proposition format. The converted output proposition specification is registered in the output proposition specification holding unit 113.

出力命題仕様表示部115は、出力命題仕様保持部113から出力命題仕様を取得し、取得した上記出力命題仕様を画面表示する。   The output proposition specification display unit 115 acquires the output proposition specification from the output proposition specification holding unit 113, and displays the acquired output proposition specification on the screen.

プログラム生成・表示部116は、決定表保持部109から決定表を取得し、上記決定表が仕様を表すソフトウェアの、処理を表すプログラムを生成する。さらに、生成した上記プログラムを画面表示する。   The program generation / display unit 116 acquires the determination table from the determination table holding unit 109, and generates a program representing the processing of the software whose specification table represents the specification. Further, the generated program is displayed on the screen.

図2は、決定表作成支援・検証装置のハードウェア構成例を示すブロック図である。   FIG. 2 is a block diagram illustrating a hardware configuration example of the decision table creation support / verification apparatus.

決定表作成支援・検証装置201は、CPU202、メモリ203、外部記憶装置204、表示装置205、入力装置206、及び外部媒体入出力装置207を備える。   The decision table creation support / verification apparatus 201 includes a CPU 202, a memory 203, an external storage device 204, a display device 205, an input device 206, and an external medium input / output device 207.

CPU202は、メモリ203に記憶されたプログラムを実行することによって、各種処理を実行する。メモリ203は、CPU202のワークエリアとして機能し、プログラム及びプログラムの実行に必要なデータを記憶する。具体的には、入力命題仕様入力・表示部101、条件/結果項目入力部102、条件制約入力・表示部107、条件/結果項目抽出部103、決定表結果記入部104、決定表見出し作成部105、不成立条件削除部108、整合性検証部110、決定表表示・編集部114、任意値記号置換部106、決定表変換部112、プログラム生成・表示部116、及び出力命題仕様表示部115を構成するプログラムが記憶され、同時に入力命題仕様保持部111、条件制約保持部117、決定表保持部109、及び出力命題仕様保持部113の保持するデータが記憶される。   The CPU 202 executes various processes by executing programs stored in the memory 203. The memory 203 functions as a work area for the CPU 202 and stores programs and data necessary for executing the programs. Specifically, an input proposition specification input / display unit 101, a condition / result item input unit 102, a condition constraint input / display unit 107, a condition / result item extraction unit 103, a decision table result entry unit 104, a decision table headline creation unit 105, the failure condition deletion unit 108, the consistency verification unit 110, the decision table display / editing unit 114, the arbitrary value symbol substitution unit 106, the decision table conversion unit 112, the program generation / display unit 116, and the output proposition specification display unit 115. A program to be configured is stored, and at the same time, data held by the input proposition specification holding unit 111, the condition constraint holding unit 117, the decision table holding unit 109, and the output proposition specification holding unit 113 are stored.

外部記憶装置204は、各種データを格納する。外部記憶装置204は、例えば、ハードディスク装置などである。具体的には、入力命題仕様保持部111、条件制約保持部117、決定表保持部109、及び出力命題仕様保持部113が格納される。   The external storage device 204 stores various data. The external storage device 204 is, for example, a hard disk device. Specifically, an input proposition specification holding unit 111, a condition constraint holding unit 117, a decision table holding unit 109, and an output proposition specification holding unit 113 are stored.

あるいは、入力命題仕様入力・表示部101、条件/結果項目入力部102、条件制約入力・表示部107、条件/結果項目抽出部103、決定表結果記入部104、決定表見出し作成部105、不成立条件削除部108、整合性検証部110、決定表表示・編集部114、任意値記号置換部106、決定表変換部112、プログラム生成・表示部116、及び出力命題仕様表示部115を構成するプログラムの少なくとも一部についても、外部記憶装置204に格納され、各種処理実行の際にCPU202がメモリ203へ読み出してプログラムを実行することとしてもよい。また各プログラムは、あらかじめメモリ203または外部記憶装置204に格納されていても良いし、必要に応じて、利用可能な媒体を介して、他の装置からメモリ203または外部記憶装置204に導入されてもよい。媒体とは、例えば、外部媒体入出力装置207に着脱可能な記憶媒体、または、ネットワークや、ネットワークを伝搬する搬送波やデジタル信号などの通信媒体を指す。   Alternatively, the input proposition specification input / display unit 101, the condition / result item input unit 102, the condition constraint input / display unit 107, the condition / result item extraction unit 103, the decision table result entry unit 104, the decision table headline creation unit 105, the failure Programs constituting the condition deletion unit 108, the consistency verification unit 110, the decision table display / editing unit 114, the arbitrary value symbol substitution unit 106, the decision table conversion unit 112, the program generation / display unit 116, and the output proposition specification display unit 115 At least a part of the data may be stored in the external storage device 204, and the CPU 202 may read the data into the memory 203 and execute the program when executing various processes. Each program may be stored in the memory 203 or the external storage device 204 in advance, or may be introduced from another device into the memory 203 or the external storage device 204 via an available medium as necessary. Also good. The medium refers to, for example, a storage medium that can be attached to and detached from the external medium input / output device 207, or a communication medium such as a network, a carrier wave that propagates through the network, and a digital signal.

表示装置205は、プログラムの処理結果などを表示する。表示装置205は、例えば、ディスプレイなどである。入力装置206は、処理の実行指示及び処理に必要な情報の入力などを利用者から受け付ける。入力装置206は、例えば、キーボード及びマウスなどである。   The display device 205 displays the processing result of the program. The display device 205 is, for example, a display. The input device 206 receives a process execution instruction and input of information necessary for the process from the user. The input device 206 is, for example, a keyboard and a mouse.

外部媒体入出力装置207は、外部媒体と、外部記憶装置204に格納されているデータなどの入出力を行う。外部媒体は、外部媒体入出力装置207に着脱可能で可搬性のある記憶媒体であり、外部媒体出力装置207は、外部媒体に読み書き可能なドライブ装置などである。   The external medium input / output device 207 performs input / output of data stored in the external storage device 204 with the external medium. The external medium is a portable storage medium that can be attached to and detached from the external medium input / output device 207, and the external medium output device 207 is a drive device that can read from and write to the external medium.

図3は、入力命題仕様入力・表示部が受け付ける入力命題仕様の例である。   FIG. 3 shows an example of the input proposition specification accepted by the input proposition specification input / display unit.

入力命題仕様301、302、303、304は自然言語形式の入力命題仕様であり、入力命題仕様305は論理式形式の入力命題仕様である。入力命題仕様中の括弧(「」)に囲まれた用語は、条件及び結果項目、あるいはそれらの値を表す。例えば入力命題仕様301に含まれる「保険加入有無」という用語は条件項目であり、「加入済み」という用語はその値である。また、入力命題仕様305は、入力命題仕様301と同じ意味を表す。   Input proposition specifications 301, 302, 303, and 304 are input proposition specifications in a natural language format, and input proposition specifications 305 are input proposition specifications in a logical expression format. Terms enclosed in parentheses ("") in the input proposition specifications represent conditions and result items or their values. For example, the term “insurance presence / absence” included in the input proposition specification 301 is a condition item, and the term “subscribed” is its value. The input proposition specification 305 represents the same meaning as the input proposition specification 301.

図4は、条件項目及び結果項目のデータの例である。   FIG. 4 is an example of data of condition items and result items.

条件項目のデータ401は、条件項目402と条件の値403を含む。条件項目402は条件の項目名称を表し、条件の値403はその項目が取り得る値の名称を表す。   The condition item data 401 includes a condition item 402 and a condition value 403. The condition item 402 represents an item name of the condition, and the condition value 403 represents a name of a value that the item can take.

結果項目のデータ404は、結果項目405と結果の値406を含む。結果項目405は結果の項目名称を表し、結果の値406はその項目が取り得る値の名称を表す。   The result item data 404 includes a result item 405 and a result value 406. The result item 405 represents the name of the result item, and the result value 406 represents the name of a value that the item can take.

図5は、決定表の例であり、条件項目のデータ401と、結果項目のデータ404と、入力命題仕様301、302、303、及び304から作成した決定表である。   FIG. 5 is an example of a decision table, which is a decision table created from condition item data 401, result item data 404, and input proposition specifications 301, 302, 303, and 304.

決定表501は、条件/結果項目の欄502、条件/結果項目の値の欄503、及び条件と結果の対応関係を表す列504を含む。列504の表す対応関係は、列504のマル記号が、条件/結果項目の欄502及び条件/結果項目の値の欄503のどの行に記入されているかによって定義される。例えば、決定表501の最左列は、「保険加入有無が加入済みで、保険加入額が2万円以上で、国籍が日本ならば、補助金は交付ありで、納税義務は義務あり」という対応関係を表す。   The determination table 501 includes a condition / result item column 502, a condition / result item value column 503, and a column 504 representing a correspondence relationship between the condition and the result. The correspondence relationship represented by the column 504 is defined by which line in the column 502 of the condition / result item and the value column 503 of the condition / result item are entered. For example, in the leftmost column of the decision table 501, “If you have insurance or not, if you have insurance coverage of 20,000 yen or more, and your nationality is Japan, subsidies are issued and you are obligated to pay taxes.” Indicates correspondence.

図6は、決定表作成の手順例を示すフローチャートである。   FIG. 6 is a flowchart illustrating an exemplary procedure for creating a decision table.

以下に示す処理は、決定表作成支援・検証装置201の備えるCPU202が、メモリ203で実行するプログラムによって実現される。そしてこのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。   The following processing is realized by a program executed by the memory 203 by the CPU 202 included in the decision table creation support / verification apparatus 201. And this program is comprised from the code | cord | chord for performing the various operation | movement demonstrated below.

CPU202は、入力命題仕様入力・表示部101を実行することによって、入力命題仕様を受け付け、上記入力命題仕様を入力命題仕様保持部111に登録する(ステップ601)。   The CPU 202 receives the input proposition specification by executing the input proposition specification input / display unit 101, and registers the input proposition specification in the input proposition specification holding unit 111 (step 601).

CPU202は、条件/結果項目入力部102を実行することによって、ユーザからの条件項目データあるいは結果項目データの入力の有無を判定する。入力がある場合はステップ603を、入力がない場合はステップ604を実行する(ステップ602)。   The CPU 202 determines whether or not the condition item data or result item data is input from the user by executing the condition / result item input unit 102. If there is an input, step 603 is executed, and if there is no input, step 604 is executed (step 602).

CPU202は、条件/結果項目抽出部103を実行することによって、上記入力命題仕様から条件項目データ及び結果項目データを抽出する(ステップ603)。   The CPU 202 executes the condition / result item extraction unit 103 to extract condition item data and result item data from the input proposition specification (step 603).

CPU202は、条件結果項目入力102を実行することによって、条件項目データ及び結果項目データの入力を受け付ける(ステップ604)。   The CPU 202 receives the input of the condition item data and the result item data by executing the condition result item input 102 (step 604).

CPU202は、決定表見出し作成部105を実行することによって、上記条件項目データ及び結果項目データに基づいて、決定表の見出し部分を作成する。さらに決定表の条件部を全列分作成する。作成した決定表は決定表保持部109に登録する。(ステップ605)。   The CPU 202 executes the decision table header creation unit 105 to create a header portion of the decision table based on the condition item data and result item data. Furthermore, the condition part of the decision table is created for all columns. The created decision table is registered in the decision table holding unit 109. (Step 605).

CPU202は、決定表結果記入部104を実行することによって、上記決定表を決定表保持部109から取得する。さらに、上記入力命題仕様を解釈して、上記決定表の結果部を記入する(ステップ606)。   The CPU 202 acquires the determination table from the determination table holding unit 109 by executing the determination table result entry unit 104. Further, the input proposition specifications are interpreted and the result part of the decision table is entered (step 606).

決定表結果記入部104は、結果記入済みの上記決定表を決定表保持部109に登録する(ステップ607)。   The decision table result entry unit 104 registers the decision table in which the result has been entered in the decision table holding unit 109 (step 607).

CPU202は、決定表表示・編集部114を実行することによって、決定表保持部109から決定表を取得し、画面表示する。決定表を画面表示する際は、決定表結果記入部104によって記入した列と、そのもとになった入力命題仕様を対応付けて表示する。加えて、結果部が未記入の列を強調表示する。また、ユーザからの上記決定表の編集入力を受け付け、上記決定表を編集する(ステップ608)。   The CPU 202 executes the decision table display / editing unit 114 to acquire the decision table from the decision table holding unit 109 and display it on the screen. When the decision table is displayed on the screen, the columns entered by the decision table result entry unit 104 are displayed in association with the input proposition specifications based on the columns. In addition, the column in which the result part is not filled is highlighted. In addition, it accepts an edit input of the decision table from the user and edits the decision table (step 608).

決定表表示・編集部114は、編集済みの上記決定表を決定表保持部109に再登録する(ステップ609)。   The decision table display / editing unit 114 re-registers the edited decision table in the decision table holding unit 109 (step 609).

図7は、入力命題仕様を解釈して決定表に記入する手順例を示すフローチャートであり、ステップ606の詳細手順である。   FIG. 7 is a flowchart showing an example of a procedure for interpreting the input proposition specifications and filling in the decision table, and is a detailed procedure of step 606.

以下に示す処理は、決定表作成支援・検証装置201の備えるCPU202が、メモリ203で実行するプログラムによって実現される。そしてこのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。   The following processing is realized by a program executed by the memory 203 by the CPU 202 included in the decision table creation support / verification apparatus 201. And this program is comprised from the code | cord | chord for performing the various operation | movement demonstrated below.

CPU202は、決定表結果記入部104を実行することによって、入力命題仕様の条件部と結果部を分割する(ステップ701)。   The CPU 202 divides the condition part and the result part of the input proposition specification by executing the decision table result entry part 104 (step 701).

決定表結果記入部104は、決定表保持部109から入力命題仕様の記入対象である決定表を取得する(ステップ702)。   The decision table result entry unit 104 obtains a decision table to be entered in the input proposition specification from the decision table holding unit 109 (step 702).

決定表結果記入部104は、上記決定表から、条件が上記入力命題仕様の条件部と一致する列を検索し、取得する(ステップ703)。   The decision table result entry unit 104 searches the decision table for a column whose condition matches the condition part of the input proposition specification and acquires it (step 703).

決定表結果記入部104は、前ステップで取得した列の結果に、上記入力命題仕様の結果部の内容を記入する(ステップ704)。   The decision table result entry unit 104 enters the contents of the result part of the input proposition specification in the column result obtained in the previous step (step 704).

図8は、整合性検証の結果に基づく修正後の決定表の例である。   FIG. 8 is an example of a decision table after correction based on the result of consistency verification.

決定表801は整合性検証部110の検証結果に基づいて、決定表501を修正した結果である。決定表501は、結果の矛盾505、506と、結果の未定義507、508、及び509を含む。整合性検証部110は、検証の結果として、結果の矛盾505、506をその矛盾する入力命題仕様と対応付けてハイライト表示する。検証結果のハイライト表示の例を図22に示す。結果の矛盾505,506を含む決定表列2202は,入力命題仕様2203,2204に基づいて記入される。よって図22に示す通り,入力命題仕様2203,2204,及び決定表列2202を同色で色づけ表示する。または,ユーザが矛盾する複数の入力命題仕様を選択した場合のみ,選択された入力命題仕様とその矛盾を含む決定表列を色づけて表示してもよい。また(検証の結果としてではないが)、結果の未定義507、508も検出し、ハイライト表示する。ユーザはこれらのハイライト表示に基づいて、入力命題仕様の追加・削除や決定表の直接編集を行い、決定表801を作成する。   The decision table 801 is a result of correcting the decision table 501 based on the verification result of the consistency verification unit 110. The decision table 501 includes result inconsistencies 505, 506 and result undefined 507, 508, and 509. The consistency verifying unit 110 highlights the result contradictions 505 and 506 as the verification result in association with the contradictory input proposition specifications. An example of the highlighted display of the verification result is shown in FIG. The decision table sequence 2202 including the result contradictions 505 and 506 is entered based on the input proposition specifications 2203 and 2204. Therefore, as shown in FIG. 22, the input proposition specifications 2203, 2204 and the decision table column 2202 are displayed in the same color. Alternatively, only when the user selects a plurality of contradictory input proposition specifications, the selected input proposition specifications and the decision table sequence including the contradictions may be displayed in color. Further, although not as a result of verification, undefined results 507 and 508 are also detected and highlighted. Based on these highlight displays, the user adds / deletes the input proposition specifications and directly edits the decision table to create the decision table 801.

図9は、決定表及び入力命題仕様の整合性検証の手順例を示すフローチャートである。   FIG. 9 is a flowchart showing an example of the procedure for verifying the consistency between the decision table and the input proposition specifications.

以下に示す処理は、決定表作成支援・検証装置201に備えられたCPU202が、メモリ203内に格納されたプログラムを実行することによって実現される。そしてこのプログラムは、以下に説明する各種の動作を行うためのコードから構成されている。   The processing described below is realized by the CPU 202 provided in the decision table creation support / verification apparatus 201 executing a program stored in the memory 203. And this program is comprised from the code | cord | chord for performing the various operation | movement demonstrated below.

CPU202は、整合性検証部110を実行することによって、決定表保持部109から決定表を取得する(ステップ901)。   The CPU 202 acquires the decision table from the decision table holding unit 109 by executing the consistency verification unit 110 (step 901).

整合性検証部110は、入力命題仕様保持部111から、上記決定表の結果部の記入に用いた入力命題仕様を取得する(ステップ902)。   The consistency verification unit 110 acquires, from the input proposition specification holding unit 111, the input proposition specification used for filling in the result part of the determination table (step 902).

整合性検証部110は、取得した上記入力命題仕様から、異なる2つの入力命題仕様を選択し、整合性を検証する(ステップ903)。整合性の検証には例えば次の方法を用いる。   The consistency verification unit 110 selects two different input proposition specifications from the acquired input proposition specifications, and verifies the consistency (step 903). For example, the following method is used for verification of consistency.

検証対象の2つの入力命題仕様から、乗法標準形(Conjunctive Normal Form)の検証用論理式を作成する。上記検証用論理式は、その充足可能性と、上記2つの入力命題仕様の整合性とが対応付くように作成する。例えば、「保険加入有無が保険加入済みで、かつ保険納入額が2万円以上の場合、補助金は交付あり」という入力命題仕様1と、「保険加入有無が保険加入済みで、かつ国籍が日本の場合、補助金は交付なし」という入力命題仕様2の整合性検証について考える。まず、2つの入力命題仕様の条件部と結果部を分割し、それぞれ条件部1「保険加入有無が保険加入済みで、かつ保険納入額が2万円以上」、結果部1「補助金は交付あり」、条件部2「保険加入有無が保険加入済みで、かつ国籍が日本」、結果部2「補助金は交付なし」とする。次に条件部、結果部をそれぞれ乗法標準系の論理式に変換する。条件項目あるいは結果項目が2通りの値をとる場合、その条件あるいは結果を1つの命題記号で表現することができる。例えば「保険加入有無が保険加入済み」を論理式Aで表現でき、逆に「保険加入有無が未加入」を論理式¬Aで表現できる。条件項目あるいは結果項目がn(≧3)通りの値をとる場合、その条件あるいは結果をn個の命題記号で表現できる。例えば「保険納入額が2万円以上」を論理式B_1∧¬B_2∧¬B_3で表現でき、逆に「保険納入額が1万円以上2万円未満」を論理式¬B_1∧B_2∧¬B_3で表現できる。同様に,「国籍が日本」は論理式Cで表現できる。   From the two input proposition specifications to be verified, a logical formula for verification of the multiplicative normal form is created. The verification logical expression is created so that the satisfiability can be matched with the consistency of the two input proposition specifications. For example, an input proposition specification 1 “Subsidy is issued when insurance is already paid and insurance delivery amount is 20,000 yen or more” and “Insurance is already paid and nationality is Consider the consistency verification of the input proposition specification 2 that “subsidies are not delivered in Japan”. First, the condition part and the result part of the two input proposition specifications are divided, and each condition part 1 “insurance is insured and insurance delivery amount is 20,000 yen or more”, result part 1 “subsidy is issued Yes ”, Conditional part 2“ Insurance is already insured and nationality is Japan ”and Result part 2“ No subsidy is granted ”. Next, each of the condition part and the result part is converted into a multiplicative standard logical expression. When a condition item or result item has two values, the condition or result can be expressed by one propositional symbol. For example, “whether or not insurance is insured” can be expressed by the logical expression A, and conversely “insurance and non-insurance is unsubscribed” can be expressed by the logical expression ¬A. When a condition item or result item has n (≧ 3) values, the condition or result can be expressed by n propositional symbols. For example, “insurance delivery amount of 20,000 yen or more” can be expressed by the logical formula B_1∧¬B_2∧¬B_3, and conversely, “insurance delivery amount of 10,000 yen or more and less than 20,000 yen” can be expressed by the logical formula ¬B_1∧B_2∧¬ It can be expressed by B_3. Similarly, “nationality is Japan” can be expressed by the logical expression C.

また,条件部に含まれる「かつ」という言葉は,論理式における「∧」に変換できる。よって条件部1は論理式「A∧(B_1∧¬B_2∧¬B_3)」で表せる。同様に条件部2は論理式「A∧C」で表せる。   In addition, the word “Katsu” included in the condition part can be converted to “∧” in the logical expression. Therefore, the condition unit 1 can be expressed by a logical expression “A∧ (B_1∧¬B_2∧¬B_3)”. Similarly, the condition part 2 can be expressed by a logical expression “A∧C”.

そして、条件部1の論理式「A∧(B_1∧¬B_2∧¬B_3)」と条件2の論理式「A∧C」をアンド結合することで、検証用論理式α「A∧(B_1∧¬B_2∧¬B_3)∧A∧C」を作成する。この検証用論理式αが充足不能であれば、入力命題仕様1と入力命題仕様2は同一のパタンに対して重複して結果を定義することはないため、結果の矛盾が発生することはない。言い換えると,入力命題仕様1と入力命題仕様2は,同一の決定表列への記入を行わないため,(同一の決定表列に異なる結果を記入するという)矛盾を引き起こす可能性はない。つまり検証用論理式αが充足不能であれば、入力命題仕様1と入力命題仕様2には不整合は生じ得ないと判断できる。上記の例では,A,B_1,Cがそれぞれ真であり,B_2,B_3がそれぞれ偽であるとき,検証用論理式αは充足されることが分かる。   The logical expression “A「 (B_1B¬B_2∧¬B_3) ”in the condition unit 1 and the logical expression“ A∧C ”in the condition 2 are AND-joined, so that the verification logical expression α“ A∧ (B_1∧ ¬B_2∧¬B_3) ∧A∧C "is created. If the verification logical expression α is unsatisfiable, the input proposition specification 1 and the input proposition specification 2 do not define the result for the same pattern, so there is no inconsistency in the result. . In other words, since the input proposition specification 1 and the input proposition specification 2 do not enter the same decision table sequence, there is no possibility of causing a contradiction (that is, entering different results in the same decision table sequence). That is, if the verification logical expression α cannot be satisfied, it can be determined that there is no inconsistency between the input proposition specification 1 and the input proposition specification 2. In the above example, when A, B_1, and C are respectively true and B_2 and B_3 are respectively false, it can be seen that the verification logical expression α is satisfied.

さらに、検証用論理式αが充足可能であった場合は以下の手順を続行する。結果部1の論理式と結果部2の論理式をアンド結合することで、検証用論理式βを作成する。この検証用論理式βが充足可能であれば、入力命題仕様1と入力命題仕様2による結果の定義は矛盾しないと言える。つまり、検証用論理式βが充足可能であれば、入力命題仕様1と入力命題仕様2は整合すると判断できる。   Further, if the verification logical expression α is satisfactory, the following procedure is continued. A logical expression β for verification is created by ANDing the logical expression of the result part 1 and the logical expression of the result part 2. If the verification logical expression β is satisfiable, it can be said that the definition of the result according to the input proposition specification 1 and the input proposition specification 2 is consistent. That is, if the verification logical expression β can be satisfied, it can be determined that the input proposition specification 1 and the input proposition specification 2 match.

さらに上記検証用論理式α、及び上記検証用論理式βの充足可能性判定には、SATソルバを用いることができる。ここで、SATソルバとは、論理式の充足可能性問題(SAT)を解く種々のアルゴリズム(SATアルゴリズム)を実装するツールの総称である。SATソルバを用いることで、整合性検証を高速化できる。   Furthermore, a SAT solver can be used to determine whether or not the verification logical expression α and the verification logical expression β are satisfactory. Here, the SAT solver is a general term for tools that implement various algorithms (SAT algorithm) for solving a satisfiability problem (SAT) of a logical expression. By using the SAT solver, the consistency verification can be speeded up.

このように、入力命題仕様から乗法標準系の検証用論理式を作成することで、SATソルバを活用した高速な整合性検証を実現できる。   In this way, by creating a multiplicative standard system logical expression from the input proposition specification, high-speed consistency verification using the SAT solver can be realized.

整合性検証部110は、入力命題仕様保持部111から取得した上記入力命題仕様の全組合せについて整合性検証を実施済みであれば、ステップ905を実行する。未検証の組合せがある場合は、ステップ903に戻る(ステップ904)。   The consistency verification unit 110 executes Step 905 if the consistency verification has been performed for all combinations of the input proposition specifications acquired from the input proposition specification holding unit 111. If there is an unverified combination, the process returns to step 903 (step 904).

整合性検証部110は、入力命題仕様保持部111から取得した上記入力命題仕様から1つの入力命題仕様を選択し、さらに上記決定表から列を1列選択する。そして選択した上記入力命題仕様と上記列の整合性を検証する(ステップ905)。整合性の検証には例えば次の方法を用いる。   The consistency verification unit 110 selects one input proposition specification from the input proposition specifications acquired from the input proposition specification holding unit 111, and further selects one column from the determination table. Then, the consistency between the selected input proposition specification and the column is verified (step 905). For example, the following method is used for verification of consistency.

ステップ903で述べた方法と同様に、上記入力命題仕様と上記列の整合性検証は、検証対象の入力命題仕様と決定表の列から、乗法標準系の検証用論理式を作成し、その充足可能性を判定するという問題に帰着する。決定表の列は入力命題仕様と同等にみなせるため、ステップ903で述べた方法と全く同じ方法にて検証できる。例えば、決定表501の最左列は、「保険加入有無が加入済みで、かつ保険加入額が2万円以上で、かつ国籍が日本の場合、補助金は交付ありで、かつ納税義務は義務あり」という入力命題仕様と同等である。   As in the method described in step 903, the consistency verification between the input proposition specification and the column is performed by creating a logical expression for verification of the multiplicative standard system from the input proposition specification to be verified and the column of the decision table. It comes down to the problem of determining the possibility. Since the columns of the decision table can be regarded as equivalent to the input proposition specifications, it can be verified by exactly the same method as described in step 903. For example, in the leftmost column of the decision table 501, “If insurance has been enrolled, the amount of insurance is 20,000 yen or more, and the nationality is Japan, subsidies are issued and tax payment obligations are obligatory. It is equivalent to the input proposition specification “Yes”.

整合性検証部110は、入力命題仕様保持部111から取得した上記入力命題仕様と決定表の列の全組合せについて整合性検証を実施済みであれば、ステップ907を実行する。未検証の組合せがある場合は、ステップ905に戻る(ステップ906)。   If the consistency verification has been performed for all combinations of the input proposition specification acquired from the input proposition specification holding unit 111 and the columns of the decision table, the consistency verification unit 110 executes Step 907. If there is an unverified combination, the process returns to step 905 (step 906).

整合性検証部110は、整合性検証の結果、矛盾のあった入力命題仕様、及び決定表の列に、矛盾があることを表すデータを追加する。そして、入力命題仕様は入力命題仕様保持部111に、決定表は決定表保持部109に再登録する(ステップ907)。   As a result of the consistency verification, the consistency verification unit 110 adds data indicating that there is a contradiction in the input proposition specifications that are inconsistent and the columns of the decision table. Then, the input proposition specification is re-registered in the input proposition specification holding unit 111 and the decision table is re-registered in the decision table holding unit 109 (step 907).

たとえば、入力命題仕様入力・表示部101は、矛盾のあった入力命題仕様を対応付けてハイライト表示してもよい。ステップ903の結果から入力命題仕様間に矛盾があった場合は、入力命題仕様の一覧画面において矛盾のあった入力命題仕様を同色で色付けして表示する。(ステップ908)。   For example, the input proposition specification input / display unit 101 may highlight the inconsistent input proposition specifications in association with each other. If there is a contradiction between the input proposition specifications from the result of step 903, the input proposition specification having the contradiction is displayed in the same color on the input proposition specification list screen. (Step 908).

決定表表示・編集部114は、矛盾のあった決定表の列を、ステップ908の入力命題仕様の表示と対応付けてハイライト表示する。ステップ905の結果から入力命題仕様と決定表列に矛盾があった場合は、入力命題仕様の一覧画面において矛盾のあった前記入力命題仕様を色付けして表示するとともに、決定表表示画面において矛盾のあった前記列の条件部および結果部全体を前記入力命題仕様と同色で色付けして表示する(ステップ909)。ハイライト表示の例は図22に示す。図22では,入力命題仕様2203,2204,及び決定表列2202を同色で色づけ表示している。   The decision table display / editing unit 114 highlights the column of the decision table having the contradiction in association with the display of the input proposition specification in step 908. If there is a contradiction between the input proposition specification and the decision table sequence from the result of step 905, the input proposition specification having the contradiction is displayed in a color on the input proposition specification list screen, and the inconsistency is displayed on the decision table display screen. The entire condition part and result part of the column that was found are displayed in the same color as the input proposition specification (step 909). An example of highlight display is shown in FIG. In FIG. 22, the input proposition specifications 2203, 2204 and the decision table column 2202 are displayed in the same color.

上記の整合性検証により、要求定義文書に変更があった場合は決定表のどの範囲に影響があるかを従来は人手で判断していたため変更の影響範囲を誤って特定してしまう等の問題を解決することができる。   If the requirements definition document is changed by the above consistency verification, it has traditionally been manually determined which range of the decision table will be affected. Can be solved.

図10は、条件制約入力・表示部が受け付ける条件制約の例である。   FIG. 10 is an example of the condition constraints accepted by the condition constraint input / display unit.

条件制約1001は自然言語形式の条件制約であり、条件制約1002は論理式形式の条件制約の例である。条件制約中の括弧(「」)に囲まれた用語は、条件項目及びその値を表す。例えば条件制約1001に含まれる「保険加入有無」という用語は条件項目であり、「未加入」という用語はその値である。図3の入力命題仕様と異なる点は、結果項目及びその値が現れない点である。これは、入力命題仕様が条件に対する結果を定義するのに対し、条件制約は条件と条件の制約条件を定義しているためである。また、入力命題仕様1002は、入力命題仕様1001と同じ意味を表す。   The condition constraint 1001 is a natural language format condition constraint, and the condition constraint 1002 is an example of a logical expression format condition constraint. The terms enclosed in parentheses (“”) in the condition constraint represent the condition item and its value. For example, the term “insurance presence / absence” included in the condition constraint 1001 is a condition item, and the term “not yet enrolled” is its value. The difference from the input proposition specification in FIG. 3 is that the result item and its value do not appear. This is because an input proposition specification defines a result for a condition, whereas a condition constraint defines a condition and a condition constraint. The input proposition specification 1002 represents the same meaning as the input proposition specification 1001.

ここで、条件制約は決定表の各条件から選択されて構成されており、条件制約を構成する条件を表す内部データと、決定表の項目を構成する条件を表す内部データとは同形式のデータ(例えば、文字列形のデータ)であるものとする。さらに同一の条件は同一のデータになるようにデータ化を行う。例えば、条件制約を構成する条件名称Aをデータ化した結果がデータαで、決定表の項目を構成する条件名称Aをデータ化した結果がデータβの場合は、「データα=データβ」となる。   Here, the condition constraint is configured by selecting from each condition of the decision table, and the internal data representing the condition constituting the condition constraint and the internal data representing the condition constituting the item of the decision table are data in the same format. (For example, character string data). Further, the data is converted so that the same conditions result in the same data. For example, when the result of converting the condition name A constituting the condition constraint into data is data α and the result of converting the condition name A forming the items in the decision table into data β is data β, “data α = data β” Become.

これにより、後述の不成立条件削除部108の動作において、条件制約の条件を表す文字列型データと,決定表の条件を表す文字列型データを比較することにより、条件制約で指定された必要条件または十分条件が、決定表の条件部または結果部を構成する各条件のうちどの条件(またはその否定)に該当するかが判断される。   As a result, in the operation of the failure condition deletion unit 108 described later, the necessary condition specified by the condition constraint is compared by comparing the character string type data representing the condition constraint condition with the character string type data representing the decision table condition. Alternatively, it is determined which condition (or the negation thereof) corresponds to the sufficient condition among the conditions constituting the condition part or result part of the decision table.

条件制約は、作成した決定表から現実には成立し得ない列を除去する目的で与えるものである。例えば条件制約1001は、「保険加入が未加入である場合は、保険納入額は0円である」という現実の制約を与えており、これに違反する条件は現実には成立し得ないことを意味する。つまりこの条件制約1001を与えると、「保険加入が未加入である、かつ保険納入額が2万円以上である場合、・・・」という意味を表す決定表列や、「保険加入が未加入である、かつ保険納入額が2万円以上である場合、・・・」という意味を表す決定表列は現実には成立し得ない列と判断されるため、決定表から除去される。   The condition constraint is given for the purpose of removing a column that cannot actually hold from the created decision table. For example, the condition constraint 1001 gives an actual constraint that “the insurance delivery amount is 0 yen if the insurance has not been subscribed”, and the condition that violates this cannot be satisfied in reality. means. In other words, when this condition constraint 1001 is given, a decision table sequence that means “if insurance is not yet subscribed and the amount of insurance delivery is 20,000 yen or more,” or “insurance not subscribed” When the insurance delivery amount is 20,000 yen or more, the determination table sequence indicating the meaning of “...” is determined to be a column that cannot be actually established, and is therefore removed from the determination table.

図11は、条件制約に基づいて列を削除した後の決定表の例であり、条件制約1001に基づいて決定表801から列集合802を削除した後の決定表である。上述の通り、条件制約1001は「保険加入が未加入である場合は、保険納入額は0円である」という制約を表す。また,前記列集合802の最左列は「保険加入が未加入である、かつ保険納入額が2万円以上である、かつ国籍が日本である場合、補助金は交付無である,かつ納税義務は義務なしである」という意味を表す。前記列集合802の最左列は、「保険加入が未加入である、かつ保険納入額が2万円以上である」という条件を含むため、条件制約1001の表す制約に違反すると言える。よって前記列集合802の最左列は、条件制約1001によって削除される。列集合802の含む他の列についても同様である。   FIG. 11 is an example of a decision table after deleting a column based on the condition constraint, and is a decision table after deleting the column set 802 from the decision table 801 based on the condition constraint 1001. As described above, the condition constraint 1001 represents a constraint that “the insurance delivery amount is 0 yen when the insurance is not subscribed”. Also, the leftmost column of the column set 802 is “If the insurance has not been subscribed, the amount of insurance delivery is 20,000 yen or more, and the nationality is Japan, no subsidy is issued, and the tax is paid. It means "Obligation is no obligation." Since the leftmost column of the column set 802 includes a condition that “insurance is not yet subscribed and the amount of insurance delivery is 20,000 yen or more”, it can be said that the constraint represented by the condition constraint 1001 is violated. Therefore, the leftmost column of the column set 802 is deleted by the condition constraint 1001. The same applies to other columns included in the column set 802.

図12は、任意値記号置換後の決定表の例であり、決定表1101の列集合1102を1列に集約し、列集合1103を1列に集約し、列集合1104を1列に集約し、列集合1105を1列に集約した後、列集合1104と列集合1105の集約によってできた2列をさらに1列に集約してできた決定表である。本集約では,結果項目に影響を与えない条件項目がある決定表列集合を抽出し,前記条件項目の値を任意値記号に置き換えると同時に前記列集合を1つの列に集約するという処理を行う。例として,列集合1102の集約について説明する。列集合1102は,「保険加入有無が加入済みであり,かつ保険納入額が2万円以上であり,かつ国籍が日本である場合,補助金は交付ありであり,納税義務は義務ありである」という意味を表す列1と,「保険加入有無が加入済みであり,かつ保険納入額が2万円以上であり,かつ国籍が日本以外である場合,補助金は交付ありであり,納税義務は義務ありである」という意味を表す列2で構成される。ここで「国籍」の条件項目に着目すると,「国籍」の条件項目の値が「日本」でも「日本以外」でも,結果項目の「補助金」および「納税義務」の値は同じであることが分かる。つまり列1と列2を合わせると「保険加入有無が加入済みであり,かつ保険納入額が2万円以上であり,かつ国籍が任意値である場合,補助金は交付ありであり,納税義務は義務ありである」という意味になる。そしてこれは決定表列1202の表す意味と一致する。以上の理由から,列集合1102に含まれる列1と列2は,決定表列1202に集約できる。   FIG. 12 is an example of a decision table after arbitrary value symbol replacement. The column set 1102 of the decision table 1101 is aggregated into one column, the column set 1103 is aggregated into one column, and the column set 1104 is aggregated into one column. This is a decision table obtained by consolidating the column set 1105 into one column and then consolidating the two columns formed by the aggregation of the column set 1104 and the column set 1105 into one column. In this aggregation, a decision table column set having a condition item that does not affect the result item is extracted, and the value of the condition item is replaced with an arbitrary value symbol, and at the same time, the column set is consolidated into one column. . As an example, the aggregation of the column set 1102 will be described. The column set 1102 states, “If you have already been enrolled in insurance, the amount of insurance delivery is 20,000 yen or more, and your nationality is Japan, subsidies have been issued and you are obligated to pay tax. And column 1 representing the meaning, “If insurance coverage has already been enrolled, the amount of insurance delivery is 20,000 yen or more, and the nationality is other than Japan, the subsidy is issued and the tax is obligated. It is composed of a column 2 representing the meaning “is obligated”. Focusing on the “nationality” condition item here, the value of the “subsidy” and “tax obligation” in the result item is the same regardless of whether the value of the “nationality” condition item is “Japan” or “non-Japan”. I understand. In other words, when column 1 and column 2 are combined, if subsidy is already enrolled, the amount of insurance delivery is 20,000 yen or more, and the nationality is an arbitrary value, subsidies are issued and tax obligations Means "I am obligated." This matches the meaning represented by the decision table column 1202. For the above reasons, the columns 1 and 2 included in the column set 1102 can be aggregated into the decision table column 1202.

このように決定表列を集約することで,決定表の列数を削減できるため,決定表を保持するために必要な記憶容量を削減できるという効果が得られるとともに,決定表の可読性が向上するという効果が得られる。さらに,決定表の列数を削減することで,決定表列と入力命題仕様の間の検証を行う際に検証の対象となる列の数を削減できるため,前記検証にかかるステップ数を削減できるという効果も得られる。   By consolidating decision table columns in this way, the number of columns in the decision table can be reduced, so that the storage capacity necessary to hold the decision table can be reduced, and the readability of the decision table is improved. The effect is obtained. Furthermore, by reducing the number of columns in the decision table, the number of columns to be verified can be reduced when the verification between the decision table column and the input proposition specification is performed, so the number of steps required for the verification can be reduced. The effect is also obtained.

図13は、決定表を最小化する手順の例を示すフローチャートである。   FIG. 13 is a flowchart illustrating an example of a procedure for minimizing the decision table.

以下に示す処理は、決定表作成支援・検証装置201の備えるCPU202が、メモリ203内に格納されたプログラムを実行することによって実現される。そしてこのプログラムは、以下に説明する各種の動作を行うためのコードから構成されている。   The processing shown below is realized by the CPU 202 included in the decision table creation support / verification apparatus 201 executing a program stored in the memory 203. And this program is comprised from the code | cord | chord for performing the various operation | movement demonstrated below.

CPU202は、条件制約入力・表示部107を実行することによって、条件制約の入力を受け付け、受け付けた上記条件制約を、条件制約保持部117に登録する(ステップ1301)。   The CPU 202 executes the conditional constraint input / display unit 107 to receive an input of the conditional constraint, and registers the received conditional constraint in the conditional constraint holding unit 117 (step 1301).

CPU202は、不成立条件削除部108を実行することによって、条件制約保持部から条件制約を取得し、さらに決定表保持部109から制約対象の決定表を取得する。そして上記制約条件を満たさないパタンを表す列を、上記決定表から削除する(ステップ1302)。   The CPU 202 executes the unsatisfied condition deletion unit 108 to acquire a condition constraint from the condition constraint holding unit, and further acquires a constraint target determination table from the determination table storage unit 109. Then, the column representing the pattern that does not satisfy the constraint condition is deleted from the determination table (step 1302).

不成立条件削除部108は、列削除済みの決定表を決定表保持部109に再登録する(ステップ1303)。   The failure condition deleting unit 108 re-registers the column deletion-determinated determination table in the determination table holding unit 109 (step 1303).

CPU202は、任意値記号置換部106を実行することによって、決定表に対する任意値記号置換えの命令を受け付け、指定された決定表を決定表保持部109から取得し、上記決定表の条件の値を任意値記号に置換する(ステップ1304)。   The CPU 202 executes the arbitrary value symbol replacement unit 106 to receive an arbitrary value symbol replacement instruction for the decision table, obtains the designated decision table from the decision table holding unit 109, and sets the value of the condition in the decision table. Replace with an arbitrary value symbol (step 1304).

任意記記号置換部106は、任意値記号にて置換済みの決定表を決定表保持部109に再登録する。   The arbitrary symbol replacement unit 106 re-registers the determination table replaced with the arbitrary value symbol in the determination table holding unit 109.

図14は、決定表から条件制約を満たさない列を削除する手順例を表すフローチャートであり、ステップ1302の詳細手順である。   FIG. 14 is a flowchart showing an example of a procedure for deleting a column that does not satisfy the conditional constraints from the decision table, and is a detailed procedure of step 1302.

以下に示す処理は、決定表作成支援・検証装置201に備えられたCPU202が、メモリ203内に格納されたプログラムを実行することによって実現される。そしてこのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。   The processing described below is realized by the CPU 202 provided in the decision table creation support / verification apparatus 201 executing a program stored in the memory 203. And this program is comprised from the code | cord | chord for performing the various operation | movement demonstrated below.

CPU202は、不成立条件削除部108を実行することによって、条件制約保持部から条件制約を取得し、条件制約の十分条件部と必要条件部を分割する。例えば条件制約1001の場合、「保険加入有無が未加入である」が十分条件部で、「保険納入額は0円である」が必要条件部である(ステップ1401)。   The CPU 202 acquires the condition constraint from the condition constraint holding unit by executing the failure condition deleting unit 108 and divides the sufficient condition part and the necessary condition part of the condition constraint. For example, in the case of the condition constraint 1001, “sufficient insurance is not subscribed” is a sufficient condition part, and “insurance delivery amount is 0 yen” is a necessary condition part (step 1401).

不成立条件削除部108は、決定表保持部109から制約対象の決定表を取得し、上記決定表の列から、条件が上記条件制約の十分条件部を構成する条件を全て含む列、つまり当該列の条件部が成立する場合に上記条件制約の十分条件部が必ず成立するような列を検索する(ステップ1402)。   The unsatisfied condition deletion unit 108 acquires the decision table to be restricted from the decision table holding unit 109, and from the columns of the decision table, the column including all the conditions that constitute the sufficient condition part of the condition constraint, that is, the column If the condition part is satisfied, a column is searched for such that the sufficient condition part of the above condition constraint is always satisfied (step 1402).

不成立条件削除部108は、ステップ1402の検索によって取得した列集合から、列の結果部と上記条件制約の必要条件とをAND結合した式が充足不可能な列,つまり当該列の条件部と上記条件制約の必要条件とが同時に成立し得ないような列を検索する(ステップ1403)。   The unfulfilled condition deleting unit 108, from the column set acquired by the search in step 1402, is a column in which an expression obtained by ANDing the result part of the column and the necessary condition of the condition constraint cannot be satisfied, that is, the condition part of the column and the above A column in which the necessary condition of the condition constraint cannot be satisfied at the same time is searched (step 1403).

不成立条件削除部108は、ステップ1403の検索によって取得した列集合を、上記決定表から削除する(ステップ1404)。このように列集合を削除することで,決定表の列数を削減できるため,決定表を保持するために必要な記憶容量を削減できるという効果が得られるとともに,決定表の可読性が向上するという効果も得られる。さらに,決定表の列数を削減することで,決定表列と入力命題仕様間の検証を行う際の検証対象列を削減できるため,前記検証にかかるステップ数を削減できる効果もある。   The failure condition deletion unit 108 deletes the column set acquired by the search in step 1403 from the determination table (step 1404). By deleting the column set in this way, the number of columns in the decision table can be reduced, so that the storage capacity necessary to hold the decision table can be reduced and the readability of the decision table is improved. An effect is also obtained. Further, by reducing the number of columns in the decision table, it is possible to reduce the number of verification target columns when performing the verification between the decision table column and the input proposition specification, so that the number of steps required for the verification can be reduced.

図15は、決定表に対する任意値記号置換えの手順例を表すフローチャートであり、ステップ1304の詳細手順である。   FIG. 15 is a flowchart showing a procedure example of arbitrary value symbol replacement for the decision table, and is a detailed procedure of step 1304.

以下に示す処理は、決定表作成支援・検証装置201に備えられたCPU202が、メモリ203内に格納されたプログラムを実行することによって実現される。そしてこのプログラムは、以下に説明する各種の動作を行うためのコードから構成されている。   The processing described below is realized by the CPU 202 provided in the decision table creation support / verification apparatus 201 executing a program stored in the memory 203. And this program is comprised from the code | cord | chord for performing the various operation | movement demonstrated below.

CPU202は、任意値記号置換部106を実行することによって、決定表に対する任意値記号置換えの命令を受け付け、指定された決定表を決定表保持部109から取得する(ステップ1501)。   The CPU 202 executes the arbitrary value symbol replacement unit 106 to receive an arbitrary value symbol replacement command for the decision table, and acquires the designated determination table from the decision table holding unit 109 (step 1501).

任意値記号置換部106は、上記決定表から結果が等しい列を検索する(ステップ1502)。   The arbitrary value symbol replacement unit 106 searches the determination table for columns with the same result (step 1502).

任意値記号置換部106は、決定表の条件項目を1つ選択する(ステップ1503)。   The arbitrary value symbol replacement unit 106 selects one condition item in the decision table (step 1503).

任意値記号置換部106は、ステップ1502の検索によって取得した列集合から、ステップ1503にて選択した条件項目の値は異なるが、その他の全ての条件項目の値が等しい列を検索する(ステップ1504)。   The arbitrary value symbol replacement unit 106 searches the column set acquired by the search in step 1502 for columns in which the values of the condition items selected in step 1503 are different but the values of all other condition items are equal (step 1504). ).

任意値記号置換部106は、ステップ1504の検索によって得た列集合が、ステップ1503にて選択した条件項目の全通りの値を含む場合、ステップ1506を実行する。そうでない場合、ステップ1507を実行する(ステップ1505)。   If the column set obtained by the search in step 1504 includes all the values of the condition item selected in step 1503, the arbitrary value symbol replacement unit 106 executes step 1506. Otherwise, step 1507 is executed (step 1505).

任意値記号置換部106は、ステップ1504の検索によって得た列集合が含む列を、任意の1列を残して削除し、残した列の条件のうち、ステップ1503にて選択した条件項目の値を任意値記号に置換する。同時に、同列の同条件項目のセルを結合する(ステップ1506)。   The arbitrary value symbol replacement unit 106 deletes the columns included in the column set obtained by the search in step 1504 leaving one arbitrary column, and among the remaining column conditions, the value of the condition item selected in step 1503 Is replaced with an arbitrary value symbol. At the same time, cells of the same condition item in the same column are merged (step 1506).

任意値記号置換部106は、ステップ1503にて全条件項目を選択済みの場合、処理を終了する。そうでない場合、ステップ1503に戻る(ステップ1507)。   If the arbitrary value symbol replacement unit 106 has selected all the condition items in step 1503, the arbitrary value symbol replacement unit 106 ends the process. Otherwise, the process returns to step 1503 (step 1507).

図16は、決定表から変換した出力命題仕様の例であり、出力命題仕様1601、1602、1603、1604は決定表1201から変換して得た出力命題仕様である。   FIG. 16 is an example of output proposition specifications converted from the decision table. Output proposition specifications 1601, 1602, 1603, and 1604 are output proposition specifications obtained from the decision table 1201.

出力命題仕様1601、1602、1603、1604は自然言語形式の入力命題仕様であり、出力命題仕様1605は論理式形式の入力命題仕様である。入力命題仕様と同様、
出力命題仕様中の括弧(「」)に囲まれた用語は、条件及び結果項目、あるいはそれらの値を表す。また、出力命題仕様1605は、出力命題仕様1601と同じ意味を表す。
Output proposition specifications 1601, 1602, 1603, and 1604 are input proposition specifications in a natural language format, and output proposition specifications 1605 are input proposition specifications in a logical expression format. Like input proposition specifications
The terms enclosed in parentheses (“”) in the output proposition specifications represent conditions and result items, or their values. The output proposition specification 1605 represents the same meaning as the output proposition specification 1601.

例として,決定表1201を変換して出力命題仕様1601を得る方法を述べる。決定表から出力命題仕様を作成する方針は複数考えられるが,本例では結果項目の値ごとに出力命題仕様を作成する方針を採用する。その他にも,条件項目に優先度を設定し,優先度の高い条件項目の値ごとに出力命題仕様を作成する方針もある。   As an example, a method for obtaining the output proposition specification 1601 by converting the decision table 1201 will be described. There can be multiple policies for creating output proposition specifications from the decision table. In this example, a policy for creating output proposition specifications for each value of the result item is adopted. In addition, there is a policy of setting a priority for a condition item and creating an output proposition specification for each value of a condition item with a high priority.

まず,決定表1201の結果項目のうち「補助金」の結果項目を選択し,さらにその値から「交付あり」の値を選択する。次に決定表1201を参照すると,「補助金」が「交付あり」となるパタンの条件は,条件項目「保険加入有無」の値が「加入済み」であり,かつ条件項目「保険納入額」の値が「2万円以上」である場合と分かる。最後にこの条件と結果を結合することで,「保険加入有無が加入済みである,かつ保険納入額が2万円以上である場合,補助金は交付ありである」という出力命題仕様1601を得る。   First, the result item of “subsidy” is selected from the result items of the determination table 1201, and the value of “with delivery” is selected from the value. Next, referring to the decision table 1201, the condition for the pattern in which “subsidy” is “delivered” is that the value of the condition item “insurance presence / absence” is “enrolled” and the condition item “insurance delivery amount” It can be seen that the value of is “20,000 yen or more”. Finally, by combining this condition and the result, an output proposition specification 1601 is obtained that “subsidy is provided when insurance participation is already applied and the amount of insurance delivery is 20,000 yen or more”. .

上記決定表から出力命題仕様への変換により,決定表と同等の情報を命題仕様形式で保持できるようになるため,前記情報の保持に必要な記憶容量を削減できるという効果がある。また,決定表から仕様を読み取るのには時間がかかるが,同等の情報を命題仕様形式で表示することで,仕様の読み取りにかかる時間を短縮できるという効果もある。   By converting the decision table into the output proposition specification, information equivalent to the decision table can be held in the proposition specification format, so that the storage capacity required for holding the information can be reduced. Although it takes time to read the specifications from the decision table, displaying the equivalent information in the propositional specification format has the effect of reducing the time taken to read the specifications.

上記の任意値置き換え処理により、成立する可能性のない条件に対して結果を定義するという仕様の冗長性や、同じ仕様を異なる文で複数回定義するという仕様の重複、および保持する文形式仕様の分量が必要以上に大きくなるといった問題を解決することができる。   Redundancy of specifications that define results for conditions that cannot be satisfied by the above arbitrary value replacement processing, duplication of specifications that define the same specification multiple times in different statements, and retained sentence format specifications It is possible to solve the problem that the amount of is increased more than necessary.

図17は、決定表変換及び出力命題仕様表示の手順例を示すフローチャートである。   FIG. 17 is a flowchart illustrating a procedure example of decision table conversion and output proposition specification display.

以下に示す処理は、決定表作成支援・検証装置201に備えられたCPU202が、メモリ203内に格納されたプログラムを実行することによって実現される。そしてこのプログラムは、以下に説明する各種の動作を行うためのコードから構成されている。   The processing described below is realized by the CPU 202 provided in the decision table creation support / verification apparatus 201 executing a program stored in the memory 203. And this program is comprised from the code | cord | chord for performing the various operation | movement demonstrated below.

CPU202は、決定表変換部112を実行することによって、決定表変換の命令を受け付け、指定された決定表を決定表保持部109から取得する(ステップ1701)。   The CPU 202 executes the decision table conversion unit 112 to receive a decision table conversion command, and obtains the designated decision table from the decision table holding unit 109 (step 1701).

決定表変換部112は、上記決定表の結果項目を選択し、選択した結果項目の値が等しい列の集合を作成する。上記結果項目の選択方法は様々考えられ、少なくとも、予め結果項目に優先度を設定しておいて、その優先度に従って選択する方法がある(ステップ1702)。   The decision table conversion unit 112 selects a result item of the decision table and creates a set of columns in which the values of the selected result item are equal. There are various methods for selecting the result item, and there is at least a method of setting a priority for the result item in advance and selecting according to the priority (step 1702).

決定表変換部112は、ステップ1702にて取得した列集合から、その意味を表す出力命題仕様を作成し、出力命題仕様保持部113に登録する(ステップ1703)。   The decision table conversion unit 112 creates an output proposition specification representing the meaning from the column set acquired in step 1702 and registers it in the output proposition specification holding unit 113 (step 1703).

決定表変換部112は、上記決定表が含む全ての列が、ステップ1702にて取得したいずれかの列集合に含まれる場合、つまり全ての列が出力命題仕様に反映済みの場合、ステップ1705を実行する。そうでない場合、ステップ1702に戻り、未選択の条件項目を選択する(ステップ1704)。   When all the columns included in the determination table are included in any of the column sets acquired in Step 1702, that is, when all the columns have been reflected in the output proposition specification, the decision table conversion unit 112 performs Step 1705. Execute. If not, the process returns to Step 1702, and an unselected condition item is selected (Step 1704).

CPU202は、出力命題仕様表示部115を実行することによって、出力命題仕様保持部113から出力命題仕様を取得し、画面に表示する(ステップ1705)。   The CPU 202 executes the output proposition specification display unit 115 to acquire the output proposition specification from the output proposition specification holding unit 113 and display it on the screen (step 1705).

図18は、決定表作成支援・検証装置201の画面表示の例である。   FIG. 18 is an example of a screen display of the decision table creation support / verification apparatus 201.

決定表作成支援・検証装置201の画面表示1801は、決定表表示領域1804、整合性検証ボタン1802、決定表最小化ボタン1803、命題仕様変換ボタン1810、入力命題仕様表示領域1805、条件制約表示領域1806、出力命題仕様表示領域1811、入力命題仕様登録領域1807、条件制約登録領域1808、及び条件/結果項目登録領域1809を含む。   The screen display 1801 of the decision table creation support / verification apparatus 201 includes a decision table display area 1804, a consistency verification button 1802, a decision table minimization button 1803, a proposition specification conversion button 1810, an input proposition specification display area 1805, and a condition constraint display area. 1806, an output proposition specification display area 1811, an input proposition specification registration area 1807, a condition constraint registration area 1808, and a condition / result item registration area 1809.

ユーザが整合性検証ボタンを押下すると、CPU202は、整合性検証部110を実行する。   When the user presses the consistency verification button, the CPU 202 executes the consistency verification unit 110.

ユーザが決定表最小化ボタン1803を押下すると、CPU202は、不成立条件削除部108を実行した後、任意値記号置換部106を実行する。   When the user presses down the decision table minimizing button 1803, the CPU 202 executes the unsatisfied condition deletion unit 108 and then executes the arbitrary value symbol replacement unit 106.

ユーザが命題仕様変換ボタン1810を押下すると、CPU202は、決定表変換部112を実行する。   When the user presses the proposition specification conversion button 1810, the CPU 202 executes the decision table conversion unit 112.

図19は、プログラム生成の手順例を表すフローチャートである。   FIG. 19 is a flowchart illustrating an example of a program generation procedure.

以下に示す処理は、決定表作成支援・検証装置201に備えられたCPU202が、メモリ203内に格納されたプログラムを実行することによって実現される。そしてこのプログラムは、以下に説明する各種の動作を行うためのコードから構成されている。   The processing described below is realized by the CPU 202 provided in the decision table creation support / verification apparatus 201 executing a program stored in the memory 203. And this program is comprised from the code | cord | chord for performing the various operation | movement demonstrated below.

CPU202は、プログラム生成・表示部116を実行することによって、決定表保持部109から決定表を取得する(ステップ1901)。   The CPU 202 acquires the decision table from the decision table holding unit 109 by executing the program generation / display unit 116 (step 1901).

プログラム生成・表示部116は、上記決定表が示す仕様の通りに条件判定を行うプログラムを生成する。プログラム生成の方法としては、少なくとも、上記決定表の列ごとにIF文を作成する方法がある(ステップ1902)。   The program generation / display unit 116 generates a program for performing condition determination according to the specification indicated by the determination table. As a program generation method, there is at least a method of creating an IF statement for each column of the decision table (step 1902).

プログラムを生成する方法の例を,決定表1201と関数プログラム2001を用いて説明する。まず決定表1201を参照すると,前記決定表は3つの条件項目と2つの結果項目を持つことが分かる。そこで条件項目の値を表す変数c1,c2,c3と,結果項目の値を表す変数r1,r2を引数として持つ関数プログラム2001を定義する。結果項目の引数はポインタ引数とする。次に,決定表の列ごとにIF文を作成する。列1202は「保険加入有無が加入済みである,かつ保険納入額が2万円以上である,かつ国籍が任意値である場合,補助金は交付ありであり,納税義務は義務ありである」という意味を表すが,このうち「国籍が任意値である」という条件は省略可能であるため,結局「保険加入有無が加入済みである,かつ保険納入額が2万円以上である場合,補助金は交付ありであり,納税義務は義務ありである」という意味を表す。ここで条件項目を変数に変換し,条件項目の値を変数値に変換する。上で定義した通り,条件項目「保険加入有無」の値は変数c1で,条件項目「保険納入額」の値は変数c2で表す。さらに「保険加入有無」の値「加入済み」を1で表し,「未加入」を0で表すとする。同様に「保険納入額」の値「2万円以上」を2で表し,「1円以上2万円未満」を1で表し,「0円」を0で表すとする。すると「保険加入有無が加入済みである,かつ保険納入額が2万円以上である場合」という条件は,IF文2002に示す「if (c1 == 1 && c2 == 2)」という条件で表せる。さらに結果項目も同様に変数に変換すると,「補助金は交付ありであり,納税義務は義務ありである」という結果は,IF文2002に示す「*r1 = 1; *r2 = 1;」という代入文で表せる。他の決定表列も同様の方法でIFに変換し,IF文2003および2004を生成する。以上より,決定表1201から関数プログラム2001を生成できることが分かる。   An example of a method for generating a program will be described using a decision table 1201 and a function program 2001. First, referring to the decision table 1201, it can be seen that the decision table has three condition items and two result items. Therefore, a function program 2001 having variables c1, c2 and c3 representing the value of the condition item and variables r1 and r2 representing the value of the result item as arguments is defined. The argument of the result item is a pointer argument. Next, create an IF statement for each column in the decision table. Column 1202 is “If insurance has been enrolled, insurance delivery is 20,000 yen or more, and nationality is an optional value, subsidies are issued and tax payment obligations are obligatory.” However, since the condition that “nationality is an arbitrary value” can be omitted, after all, “insurance has been enrolled and the amount of insurance delivery is 20,000 yen or more. This means that money is delivered and that tax obligations are obligated. Here, the condition item is converted into a variable, and the value of the condition item is converted into a variable value. As defined above, the value of the condition item “insurance presence / absence” is represented by a variable c1, and the value of the condition item “insurance delivery amount” is represented by a variable c2. Further, it is assumed that the value “insured” of the “insurance presence / absence” is represented by 1 and “uninvolved” is represented by 0. Similarly, the value of “insurance delivery amount” “20,000 yen or more” is represented by 2, “1 or more and less than 20,000 yen” is represented by 1, and “0 yen” is represented by 0. Then, the condition that “whether or not insurance has been enrolled and the amount of insurance delivery is 20,000 yen or more” is the condition “if (c1 == 1 && c2 == 2)” shown in IF statement 2002. I can express. Furthermore, if the result item is also converted into a variable, the result that “subsidy is delivered and tax payment obligation is obligatory” is “* r1 = 1; * r2 = 1;” shown in IF statement 2002 It can be expressed with an assignment statement. Other decision table sequences are converted to IF by the same method, and IF statements 2003 and 2004 are generated. From the above, it can be seen that the function program 2001 can be generated from the decision table 1201.

図20は決定表1201から生成したプログラムの例である。関数プログラム2001は,IF文2002,2003,2004から構成される。IF文2002は,決定表列1202から生成される。同様にIF文2003は決定表1201の2列目から,IF文2004は3列目から生成される。   FIG. 20 shows an example of a program generated from the decision table 1201. The function program 2001 includes IF statements 2002, 2003, and 2004. The IF statement 2002 is generated from the decision table sequence 1202. Similarly, the IF statement 2003 is generated from the second column of the decision table 1201, and the IF statement 2004 is generated from the third column.

決定表からプログラムを生成することにより,決定表を仕様とした実装の工数を削減するともに,人手による実装の誤りを防止する効果が得られる。   By generating a program from the decision table, it is possible to reduce the number of man-hours for implementation using the decision table as a specification and to prevent an error in manual implementation.

以上のようにして、ソフトウェア仕様を表す決定表に対して、命題仕様の入力による決定表作成支援手段と、上記命題仕様間の整合性を検証する手段と、上記命題仕様と上記決定表間の整合性を検証する手段と、条件制約に基づく上記決定表の不成立条件削除手段と、任意値記号置換による上記決定表の列集約手段と、上記決定表をその仕様を表す命題仕様へ変換する手段と、上記決定表が示す仕様の通りに条件判定を行うプログラムを生成する手段を提供する、決定表作成支援・検証装置を提供できる。   As described above, with respect to the decision table representing the software specifications, the decision table creation support means by inputting the proposition specifications, the means for verifying the consistency between the proposition specifications, and between the proposition specifications and the decision tables Means for verifying consistency; means for deleting unsatisfied conditions in the decision table based on condition constraints; column aggregation means for the decision table by arbitrary value symbol substitution; and means for converting the decision table into a proposition specification representing the specification In addition, a decision table creation support / verification apparatus that provides means for generating a program for performing condition determination according to the specifications indicated by the decision table can be provided.

101 入力命題仕様入力・表示部
102 条件/結果項目入力部
103 条件/結果項目抽出部
104 決定表結果記入部
105 決定表見出し作成部
106 任意値記号置換部
107 条件制約入力・表示部
108 不成立条件削除部
109 決定表保持部
110 整合性検証部
111 入力命題仕様保持部
112 決定表変換部
113 出力命題仕様保持部
114 決定表表示・編集部
115 出力命題仕様表示部
116 プログラム生成・表示部
117 条件制約保持部
DESCRIPTION OF SYMBOLS 101 Input proposition specification input / display part 102 Condition / result item input part 103 Condition / result item extraction part 104 Decision table result entry part 105 Decision table headline creation part 106 Arbitrary value symbol substitution part 107 Condition constraint input / display part 108 Failure condition Deletion unit 109 Decision table holding unit 110 Consistency verification unit 111 Input proposition specification holding unit 112 Decision table conversion unit 113 Output proposition specification holding unit 114 Decision table display / editing unit 115 Output proposition specification display unit 116 Program generation / display unit 117 Conditions Constraint holder

Claims (12)

ソフトウェア仕様の開発を支援する装置であって、
複数の条件を有する条件部および複数の結果を有する結果部からなる複数の命題形式の仕様を受け付ける命題仕様受付手段と、各行が前記複数の条件の1つまたは前記複数の結果の1つを示し、各列が前記複数の命題形式の各々を示す表形式で表した決定表を前記複数の命題形式の仕様から作成する決定表作成手段と、前記複数の命題形式の仕様の各々が互いに矛盾しないかどうかを判定する整合性検証手段と
を備え、
前記決定表作成手段は、前記命題仕様受付手段から前記複数の命題形式の仕様を取得すると、前記複数の命題形式の仕様の各々について、当該命題形式の仕様の条件部と結果部を取り出して前記決定表の行を作成し、当該命題形式の仕様に対応する列の当該行の欄に印付けし、
前記整合性検証手段は、複数の命題形式の仕様のうち任意の2つの命題形式の仕様を前記決定表から取り出し、前記2つの命題形式の仕様の条件部の論理積が充足可能かどうかを判定し、充足可能であるならば前記複数の命題形式の仕様の各々が互いに矛盾すると出力する
ことを特徴とする装置。
A device that supports the development of software specifications,
Proposition specification accepting means for accepting specifications in a plurality of proposition formats consisting of a condition part having a plurality of conditions and a result part having a plurality of results, and each row indicates one of the plurality of conditions or one of the plurality of results The decision table creation means for creating a decision table in which each column represents each of the plurality of proposition formats from the specifications of the plurality of proposition formats, and each of the specifications of the plurality of proposition formats does not contradict each other. And integrity verification means for determining whether or not
When the decision table creation means obtains the specifications of the plurality of proposition formats from the proposition specification reception means, for each of the specifications of the plurality of proposition formats, takes out a condition part and a result part of the specifications of the proposition form, and Create a decision table row, mark the row in the column corresponding to the specification of the proposition format,
The consistency verification means takes out any two proposition format specifications from a plurality of proposition format specifications from the decision table, and determines whether or not the logical product of the condition parts of the two proposition format specifications can be satisfied If the specifications of the plurality of proposition formats are inconsistent with each other, if they are satisfactory, an output is output.
前記命題仕様受付手段が新たな命題形式の仕様を受け付け、前記決定表作成手段が前記命題仕様受付手段から前記新たな命題形式の仕様を取得すると、前記決定表作成手段が前記新たな命題形式の仕様の条件部と結果部を取り出して前記決定表の行に挿入することを特徴とする請求項1に記載の装置。   When the proposition specification accepting unit accepts a new propositional format specification and the decision table creating unit acquires the new propositional format specification from the proposition specification accepting unit, the decision table creating unit takes the new propositional format The apparatus according to claim 1, wherein a condition part and a result part of a specification are taken out and inserted into a row of the decision table. 1つまたは複数の条件を有する必要条件部と1つまたは複数の条件を有する十分条件部からなる、複数の条件間の制約関係を示す条件制約を受け付ける条件制約受付手段と、
前記複数の命題形式の仕様が前記条件制約を満たすかどうかをチェックする条件制約検査手段と、
をさらに備え、
前記条件制約検査手段は、前記条件制約受付手段から前記条件制約を取得すると、前記決定表の各列について、当該列にかかる命題仕様が前記条件制約の十分条件部を構成する複数の条件を全て有し、かつ、当該命題仕様の結果部と前記条件制約の必要条件部とが同時に成立しえない場合には、当該列を前記決定表から削除する
ことを特徴とする請求項1に記載の装置。
Condition constraint accepting means for accepting a condition constraint indicating a constraint relationship between a plurality of conditions, comprising a necessary condition part having one or more conditions and a sufficient condition part having one or more conditions;
Condition constraint checking means for checking whether the specifications of the plurality of proposition formats satisfy the condition constraint;
Further comprising
When the condition constraint checking unit obtains the condition constraint from the condition constraint accepting unit, for each column of the decision table, the proposition specifications for the column all indicate a plurality of conditions constituting the sufficient condition part of the condition constraint. And if the result part of the proposition specification and the necessary condition part of the condition constraint cannot be satisfied at the same time, the column is deleted from the decision table. apparatus.
前記決定表の複数の列のうち、条件部の一部のみが異なり、かつ、結果部が同一である複数の列について、当該複数の列を1つの列に統合し、任意値を表す記号で前記条件部の前記一部を置き換える、任意値記号置換手段をさらに備える請求項1乃至3に記載の装置。   Among the plurality of columns of the decision table, for a plurality of columns in which only a part of the condition part is different and the result part is the same, the plurality of columns are integrated into one column, and a symbol representing an arbitrary value is used. The apparatus according to claim 1, further comprising arbitrary value symbol replacement means for replacing the part of the condition part. 前記決定表から、当該決定表の仕様を満たすソフトウェア・プログラムを生成することを特徴とする請求項1乃至3に記載の装置。   4. The apparatus according to claim 1, wherein a software program that satisfies the specifications of the decision table is generated from the decision table. 前記整合性検証手段は、SATソルバを用いて前記論理積が充足可能かどうかを判定することを特徴とする請求項1に記載の装置。   The apparatus according to claim 1, wherein the consistency verification unit determines whether the logical product is satisfiable using a SAT solver. ソフトウェア仕様の開発を支援する装置におけるソフトウェア仕様開発支援方法であって、
前記装置は、複数の条件を有する条件部および複数の結果を有する結果部からなる複数の命題形式の仕様を受け付ける命題仕様受付手段と、各行が前記複数の条件の1つまたは前記複数の結果の1つを示し、各列が前記複数の命題形式の各々を示す表形式で表した決定表を前記複数の命題形式の仕様から作成する決定表作成手段と、前記複数の命題形式の仕様の各々が互いに矛盾しないかどうかを判定する整合性検証手段と
を備え、
前記決定表作成手段が、前記命題仕様受付手段から前記複数の命題形式の仕様を取得すると、前記複数の命題形式の仕様の各々について、当該命題形式の仕様の条件部と結果部を取り出して前記決定表の行を作成し、当該命題形式の仕様に対応する列の当該行の欄に印付けするステップと、
前記整合性検証手段が、複数の命題形式の仕様のうち任意の2つの命題形式の仕様を前記決定表から取り出し、前記2つの命題形式の仕様の条件部の論理積が充足可能かどうかを判定し、充足可能であるならば前記複数の命題形式の仕様の各々が互いに矛盾すると出力するステップと
を含むことを特徴とする方法。
A software specification development support method in a device that supports software specification development,
The apparatus includes a proposition specification accepting unit that accepts specifications in a plurality of proposition formats including a condition part having a plurality of conditions and a result part having a plurality of results, and each row includes one of the plurality of conditions or the plurality of results. A decision table creating means for creating a decision table in which each column represents each of the plurality of proposition formats in a table format from the specifications of the plurality of proposition formats; and each of the specifications of the plurality of proposition formats And integrity verification means for determining whether the two are consistent with each other,
When the decision table creating means acquires the specifications of the plurality of proposition formats from the proposition specification receiving means, for each of the specifications of the plurality of proposition formats, the condition part and the result part of the specifications of the proposition form are extracted and the Creating a row of the decision table and marking the column of the row in the column corresponding to the specification of the proposition format;
The consistency verification unit takes out any two proposition format specifications from the plurality of proposition format specifications from the decision table, and determines whether or not the logical product of the condition parts of the two proposition format specifications can be satisfied. And outputting if the specifications of the plurality of propositional forms are inconsistent with each other if they are satisfiable.
前記命題仕様受付手段が新たな命題形式の仕様を受け付け、前記決定表作成手段が前記命題仕様受付手段から前記新たな命題形式の仕様を取得すると、前記決定表作成手段が前記新たな命題形式の仕様の条件部と結果部を取り出して前記決定表の行に挿入することを特徴とする請求項7に記載の方法。   When the proposition specification accepting unit accepts a new propositional format specification and the decision table creating unit acquires the new propositional format specification from the proposition specification accepting unit, the decision table creating unit takes the new propositional format The method according to claim 7, wherein a condition part and a result part of the specification are extracted and inserted into a row of the decision table. 前記装置は、1つまたは複数の条件を有する必要条件部と1つまたは複数の条件を有する十分条件部からなる、複数の条件間の制約関係を示す条件制約を受け付ける条件制約受付手段と、
前記複数の命題形式の仕様が前記条件制約を満たすかどうかをチェックする条件制約検査手段と、
をさらに備え、
前記条件制約検査手段が、前記条件制約受付手段から前記条件制約を取得すると、前記決定表の各列について、当該列にかかる命題仕様が前記条件制約の十分条件部を構成する複数の条件を全て有し、かつ、当該命題仕様の結果部と前記条件制約の必要条件部とが同時に成立しえない場合には、当該列を前記決定表から削除するステップ
をさらに含む請求項7に記載の方法。
The apparatus includes a condition constraint accepting unit that accepts a condition constraint indicating a constraint relationship between a plurality of conditions, and includes a necessary condition unit having one or more conditions and a sufficient condition unit having one or more conditions.
Condition constraint checking means for checking whether the specifications of the plurality of proposition formats satisfy the condition constraint;
Further comprising
When the condition constraint checking unit acquires the condition constraint from the condition constraint accepting unit, for each column of the decision table, the proposition specifications for the column all indicate a plurality of conditions constituting the sufficient condition part of the condition constraint. The method according to claim 7, further comprising: deleting the column from the decision table if the result part of the proposition specification and the necessary condition part of the condition constraint cannot be satisfied at the same time. .
前記決定表の複数の列のうち、条件部の一部のみが異なり、かつ、結果部が同一である複数の列について、当該複数の列を1つの列に統合し、任意値を表す記号で前記条件部の前記一部を置き換える、任意値記号置換手段をさらに備える請求項7乃至9に記載の方法。   Among the plurality of columns of the decision table, for a plurality of columns in which only a part of the condition part is different and the result part is the same, the plurality of columns are integrated into one column, and a symbol representing an arbitrary value is used. The method according to claim 7, further comprising arbitrary value symbol replacement means for replacing the part of the condition part. 前記決定表から、当該決定表の仕様を満たすソフトウェア・プログラムを生成することを特徴とする請求項7乃至9に記載の方法。   10. The method according to claim 7, wherein a software program that satisfies the specifications of the decision table is generated from the decision table. 前記整合性検証手段が、SATソルバを用いて前記論理積が充足可能かどうかを判定することを特徴とする請求項7に記載の方法。   The method according to claim 7, wherein the consistency verification unit determines whether the logical product is satisfiable using a SAT solver.
JP2011052340A 2011-03-10 2011-03-10 Tabular software specification creation support method and apparatus Active JP5460629B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011052340A JP5460629B2 (en) 2011-03-10 2011-03-10 Tabular software specification creation support method and apparatus
CN201210018995.5A CN102707938B (en) 2011-03-10 2012-01-20 Table-form software specification manufacturing and supporting method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011052340A JP5460629B2 (en) 2011-03-10 2011-03-10 Tabular software specification creation support method and apparatus

Publications (2)

Publication Number Publication Date
JP2012190203A true JP2012190203A (en) 2012-10-04
JP5460629B2 JP5460629B2 (en) 2014-04-02

Family

ID=46900766

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011052340A Active JP5460629B2 (en) 2011-03-10 2011-03-10 Tabular software specification creation support method and apparatus

Country Status (2)

Country Link
JP (1) JP5460629B2 (en)
CN (1) CN102707938B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014174932A (en) * 2013-03-12 2014-09-22 Ntt Data Corp Development support device, development support method, and development support program
US9223685B2 (en) 2013-07-29 2015-12-29 Tata Consultancy Services Limited Validating a specification associated with a software application and/or a hardware
JP2019133538A (en) * 2018-02-02 2019-08-08 株式会社日立製作所 Decision table generation device and decision table generation method
JP7438609B2 (en) 2019-09-11 2024-02-27 インターナショナル・ビジネス・マシーンズ・コーポレーション Methods, systems, and programs for creating executable processes from text descriptions written in natural language

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015145556A1 (en) * 2014-03-25 2015-10-01 株式会社 日立製作所 Device for verifying dependencies between software specifications, and method for verifying dependencies between software specifications

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6215604A (en) * 1985-07-12 1987-01-24 Mitsubishi Electric Corp Programming device
JPH0540616A (en) * 1991-08-02 1993-02-19 Hitachi Ltd Method for generating program specifications
JPH08235024A (en) * 1995-02-28 1996-09-13 Toshiba Corp Automatic test device for software

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0743722B2 (en) * 1985-08-02 1995-05-15 株式会社東芝 Inductive reasoning device
CN1512399A (en) * 2002-12-27 2004-07-14 鸿富锦精密工业(深圳)有限公司 Information report forming system and method
CN100511138C (en) * 2007-07-02 2009-07-08 华为技术有限公司 Generation method and apparatus for report condition inputting interface
JP5179207B2 (en) * 2008-01-28 2013-04-10 株式会社日立製作所 Software development support apparatus, program and method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6215604A (en) * 1985-07-12 1987-01-24 Mitsubishi Electric Corp Programming device
JPH0540616A (en) * 1991-08-02 1993-02-19 Hitachi Ltd Method for generating program specifications
JPH08235024A (en) * 1995-02-28 1996-09-13 Toshiba Corp Automatic test device for software

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014174932A (en) * 2013-03-12 2014-09-22 Ntt Data Corp Development support device, development support method, and development support program
US9223685B2 (en) 2013-07-29 2015-12-29 Tata Consultancy Services Limited Validating a specification associated with a software application and/or a hardware
JP2019133538A (en) * 2018-02-02 2019-08-08 株式会社日立製作所 Decision table generation device and decision table generation method
JP7438609B2 (en) 2019-09-11 2024-02-27 インターナショナル・ビジネス・マシーンズ・コーポレーション Methods, systems, and programs for creating executable processes from text descriptions written in natural language

Also Published As

Publication number Publication date
CN102707938A (en) 2012-10-03
JP5460629B2 (en) 2014-04-02
CN102707938B (en) 2015-06-03

Similar Documents

Publication Publication Date Title
US20200326933A1 (en) User interface that integrates plural client portals in plural user interface portions through sharing of one or more log records
US8930337B2 (en) Mapping dataset elements
US8245186B2 (en) Techniques for offering and applying code modifications
JP5005510B2 (en) Software design support method, design support apparatus, and design support program
US20090249250A1 (en) Method and system for log file processing and generating a graphical user interface based thereon
US20120266131A1 (en) Automatic program generation device, method, and computer program
JP5460629B2 (en) Tabular software specification creation support method and apparatus
JP6417791B2 (en) Application test support apparatus, data processing method thereof, and program
US11886792B1 (en) Model documentation generation system
JP5970292B2 (en) Software specification development support method and software specification development support device
US6698010B1 (en) System, method and computer program product for automatic generation of data processing program
US11853733B2 (en) Graphical user interface and system for defining and maintaining code-based policies
US8145992B2 (en) Validation assisted document conversion design
JP2019021341A (en) Application test support apparatus, data processing method thereof, and program
CN115904480B (en) Code reconstruction method, device, electronic equipment and storage medium
Reggio et al. Improving the quality and the comprehension of requirements: disciplined use cases and mockups
CN113204340A (en) Question production method, question management system and electronic equipment
JP5504212B2 (en) Test case automatic generation system, test case automatic generation method, and test case automatic generation program
JP6062735B2 (en) Software development support device, software development support method, software development support program
US11861361B2 (en) Distinguishing pattern differences from non-pattern differences
KR20130058348A (en) Asset based requirements simulator and requirements management method thereof
JP2010152905A (en) Data specification description document and verification data creation device
US8560986B2 (en) Computer product, apparatus, and method for correcting assertion
JP2007323371A (en) Data mapping method and data mapping device
JP2023120879A (en) Test case preparation support apparatus and specification preparation support apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131126

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

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140114

R151 Written notification of patent or utility model registration

Ref document number: 5460629

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151