JP2013084023A - Specification creation support device and program - Google Patents

Specification creation support device and program Download PDF

Info

Publication number
JP2013084023A
JP2013084023A JP2011221489A JP2011221489A JP2013084023A JP 2013084023 A JP2013084023 A JP 2013084023A JP 2011221489 A JP2011221489 A JP 2011221489A JP 2011221489 A JP2011221489 A JP 2011221489A JP 2013084023 A JP2013084023 A JP 2013084023A
Authority
JP
Japan
Prior art keywords
requirement
derivation
format
natural language
deficiency
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
JP2011221489A
Other languages
Japanese (ja)
Other versions
JP5634374B2 (en
Inventor
Yasuo Hatano
康生 秦野
Shinji Ito
信治 伊藤
Tsuguaki Fujiwara
嗣晃 藤原
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 JP2011221489A priority Critical patent/JP5634374B2/en
Publication of JP2013084023A publication Critical patent/JP2013084023A/en
Application granted granted Critical
Publication of JP5634374B2 publication Critical patent/JP5634374B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a specification creation support device which can provide rigorous requirement description, which is not evident in creating a conventional natural language specification, for creating a formal language specification.SOLUTION: A specification creation support device comprises: a formal specification storage DB; a formal verification execution unit comprising a series of processing concerning a formal verification technique; a requirement interpolation rule for generating missing requirement candidates required for describing a specification by formal verification, from requirements described in a specification; and a requirement interpolation unit for generating missing requirements from the requirement interpolation rule. The requirement interpolation rule is composed of missing requirement derivation requirements describing a requirement pattern in a specification which can be a candidate for the missing requirements and missing requirements describing a requirement pattern of missing requirements generated from the missing request derivation requirements. The requirement interpolation unit searches for the requirement interpolation rule corresponding to the requirement pattern in the missing requirement derivation requirements in the requirement interpolation rule storage DB, from requirements in the specification, and if there is corresponding requirement interpolation rule, generates missing requirements from the missing requirements corresponding to the requirement interpolation rule.

Description

ソフトウェア開発を支援する技術に関し、特に、ソフトウェア仕様の作成、及び、検証、修正する技術に関する。   The present invention relates to technology for supporting software development, and more particularly to technology for creating, verifying, and correcting software specifications.

ソフトウェアの仕様作成に当たっては、曖昧さや誤りのない仕様を記述することによって設計品質を向上させ、ソフトウェア開発における出戻りを低減することが重要である。そこで、厳密な仕様記述が可能な記述言語を用いて仕様作成を行い、その検証を行うことによって、曖昧性や誤りのない仕様を作成する、形式検証技術が知られている。なお、以下では、形式検証技術によって作成された仕様を、形式言語仕様と呼ぶ。   When creating software specifications, it is important to improve the design quality by describing specifications without ambiguity and errors, and to reduce the return in software development. For this reason, a formal verification technique is known in which a specification is created using a description language capable of strict specification description and a specification without ambiguity or error is created by verifying the specification. Hereinafter, the specification created by the formal verification technique is referred to as a formal language specification.

また、形式言語仕様のための仕様作成、検証を行うための支援ツールが知られている。例えば、モデル規範型記述言語のひとつである「Event−B」では、その仕様作成支援ツールとして「Rodin Platform」(非特許文献1)が知られている。 これらの仕様作成支援ツールを用いて形式言語仕様を作成するためには、図や自然言語によって表現されていた仕様記述(自然言語仕様)を、形式言語仕様で表現しなおし、仕様の検証、修正を行う必要がある。そのため、形式言語仕様を用いて、曖昧さや誤りのない仕様を作成するためには、形式検証技術に精通している必要がある。   Also, support tools for creating and verifying specifications for formal language specifications are known. For example, in “Event-B” which is one of model normative description languages, “Rodin Platform” (Non-patent Document 1) is known as a specification creation support tool. In order to create formal language specifications using these specification creation support tools, specification descriptions (natural language specifications) expressed in diagrams and natural language are re-expressed in formal language specifications, and specifications are verified and corrected. Need to do. Therefore, in order to create specifications without ambiguity and errors using formal language specifications, it is necessary to be familiar with formal verification technology.

そこで形式検証技術に精通していない設計者に対して、曖昧さや誤りのない仕様作成を支援するための設計書作成支援方法が知られている。例えば、特許文献1では、予め自然言語仕様から形式言語仕様への変換規則を定めておき、設計者の仕様作成を支援することによって、形式言語仕様を直接記述しなくとも、曖昧さや誤りを低減する、設計書作成支援方法が開示されている。   Therefore, a design document creation support method is known for assisting designers who are not familiar with formal verification technology to create specifications without ambiguity or errors. For example, in Patent Document 1, by defining a conversion rule from a natural language specification to a formal language specification in advance and assisting designers in creating specifications, it is possible to reduce ambiguity and errors without directly writing formal language specifications. A design document creation support method is disclosed.

特開2008−158853JP2008-158853

Event−B.org、“Event−B and Rodin Platform”[Online],[平成23年7月11日検索],インターネット<URL:http://www.event−b.org/>Event-B. org, “Event-B and Rodin Platform” [Online], [searched July 11, 2011], Internet <URL: http: // www. event-b. org />

従来技術では、自然言語仕様から形式言語仕様への変換規則を定めることによって、自然言語を用いて、形式検証技術に基づく曖昧さや誤りのない設計書の作成を支援することを目的としている。   The purpose of the conventional technology is to support the creation of a design document having no ambiguity or error based on the formal verification technology using the natural language by defining a conversion rule from the natural language specification to the formal language specification.

しかしながら、形式言語仕様の作成に当たっては、従来の自然言語による仕様作成と比較して、より厳密な仕様記述の作成が必要となる。そのため、従来の自然言語仕様では意識しなかった要件も明示的に記述することが必要となる。そこで、形式検証技術を用いた仕様作成に当たって、仕様内に記述された要件から不足している要件を生成することで、曖昧さや誤りのない仕様作成を支援することを目的とする。   However, when creating a formal language specification, it is necessary to create a more strict specification description as compared with the conventional specification creation using a natural language. Therefore, it is necessary to explicitly describe requirements that were not recognized in the conventional natural language specifications. Therefore, it is an object of the present invention to support the creation of specifications without ambiguity and errors by generating missing requirements from the requirements described in the specifications when creating specifications using formal verification technology.

上記の課題に対し、本発明では、要件ごとに、当該要件の自然言語による表現形式と、当該要件の形式言語による表現形式と、当該自然言語による表現形式に求められる入力情報の各々について当該入力情報の仕様書における参照元を示す入力参照元と、を有する記述変換ルールと、自然言語で記載された不足要件導出要件形式と形式言語で記載された不足要件導出要件形式とを有する不足要件導出要件形式と、自然言語で記載された不足要件形式と、を有する要件補間ルール有し、前記記述変換ルールに基づき、一以上の自然言語による表現形式の候補を出力し、前記一以上の自然言語による表現形式の候補から一以上の自然言語による表現形式の選択を受け付け、前記記述変換ルールに基づき、前記事前言語表現受付手段が受け付けた前記一以上の自然言語による表現形式各々に対応する入力参照元を当該一以上の自然言語による表現形式に求められる入力情報の候補として出力し、前記入力情報の候補から前記一以上の自然言語による表現形式各々に対する入力情報の選択を受け付け、選択された前記一以上の自然言語による表現形式と前記入力情報から、自然言語により表現された一以上の要件を生成し、当該自然言語により表現された一以上の要件を有する自然言語の仕様書を作成し、前記自然言語の仕様書に含まれる各要件について、当該要件の生成に用いられた自然言語による表現形式と対応する自然言語で記載された不足要件導出要件形式が前記要件補間ルールに登録されているか検索し、抽出された自然言語で記載された不足要件導出要件形式と対応付けられている形式言語で記載された不足要件導出要件形式に前記要件の作成に用いられた入力情報を適用し、不足要件導出情報を生成し、前記要件補間ルールに基づき、抽出された自然言語で記載された不足要件導出要件形式についての不足要件形式を抽出し、当該不足要件形式に前記不足要件導出情報を適用して自然言語で記載された不足要件を生成し、前記自然言語で記載された不足要件を前記自然言語の仕様書に追記し、当該自然言語の仕様書を前記記述変換ルールに基づいて形式言語の仕様書に変換し形式言語の仕様書を生成し、前記形式言語の仕様書を検証することを特徴とする。   In response to the above-described problems, the present invention inputs, for each requirement, each of the expression format in the natural language of the requirement, the expression format in the formal language of the requirement, and input information required for the expression format in the natural language. A deficiency requirement derivation having a description conversion rule having an input reference source indicating a reference source in an information specification, a deficiency requirement derivation requirement format described in a natural language, and a deficiency requirement derivation requirement format described in a formal language A requirement interpolation rule having a requirement format and a deficient requirement format described in a natural language, and outputs one or more natural language expression format candidates based on the description conversion rule, and the one or more natural languages Before receiving the selection of one or more natural language expression formats from the expression format candidates by the prior language expression receiving means based on the description conversion rule An input reference source corresponding to each of one or more natural language representation formats is output as a candidate of input information required for the one or more natural language representation formats, and the one or more natural language representations from the input information candidates One selection of input information for each format is received, and one or more requirements expressed in the natural language are generated from the selected expression format in the one or more natural languages and the input information, and the one expressed in the natural language Create a natural language specification with the above requirements, and for each requirement included in the natural language specification, the shortage described in the natural language corresponding to the expression format in the natural language used to generate the requirement The requirement derivation requirement format is searched for whether it is registered in the requirement interpolation rule, and is associated with the extracted requirement requirement format described in the extracted natural language. Apply the input information used to create the requirement to the deficient requirement derivation requirement format described in the formal language to generate the deficient requirement derivation information, and describe it in the extracted natural language based on the requirement interpolation rule. The shortage requirement format is extracted from the shortage requirement derivation requirement format, and the shortage requirement format described in the natural language is generated by applying the shortage requirement derivation information to the shortage requirement format. Is added to the natural language specification, the natural language specification is converted into a formal language specification based on the description conversion rules, a formal language specification is generated, and the formal language specification is verified. It is characterized by doing.

形式検証技術を用いたソフトウェア仕様の作成に当たって、厳密な仕様作成を支援し、曖昧さや誤りのない仕様作成の支援が可能となる。   In creating software specifications using formal verification technology, strict specification creation is supported, and specification creation without ambiguity and errors can be supported.

第一の実施例における仕様作成支援装置の構成を示すブロック図の一例である。It is an example of the block diagram which shows the structure of the specification creation assistance apparatus in a 1st Example. 仕様作成支援装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of a specification creation assistance apparatus. 第一の実施例における自然言語仕様と形式言語仕様の対応関係の一例を示す図である。It is a figure which shows an example of the correspondence of the natural language specification and formal language specification in a 1st Example. 第一の実施例における自然言語仕様の作成処理の概要を示す図である。It is a figure which shows the outline | summary of the creation process of the natural language specification in a 1st Example. 第一の実施例における自然言語と形式言語の記述/変換ルール表の一例を示す図である。It is a figure which shows an example of the description / conversion rule table | surface of a natural language and a formal language in a 1st Example. 第一の実施例における要件補間ルールの構成の一例を示す図である。It is a figure which shows an example of a structure of the requirement interpolation rule in a 1st Example. 第一の実施例における記述/変換ルールに基づき自然言語仕様を作成するフローの一例を示す図である。It is a figure which shows an example of the flow which produces a natural language specification based on the description / conversion rule in a 1st Example. 第一の実施例における記述/変換ルールに基づき自然言語から形式言語に変換するための処理フローの一例を示す図である。It is a figure which shows an example of the processing flow for converting from a natural language to a formal language based on the description / conversion rule in a 1st Example. 第一の実施例における要件補間ルールに基づき、不足要件を生成するための処理フローの一例を示す図である。It is a figure which shows an example of the processing flow for producing | generating a short requirement based on the requirement interpolation rule in a 1st Example. 第一の実施例における自然言語仕様作成部による仕様作成の一例を示す図である。It is a figure which shows an example of the specification preparation by the natural language specification preparation part in a 1st Example. 第一の実施例における自然言語仕様格納DB内に格納された自然言語仕様の一例を示す図である。It is a figure which shows an example of the natural language specification stored in the natural language specification storage DB in a 1st Example. 第一の実施例における要件補間ルールに基づき、自然言語仕様を修正した結果の一例を示す図である。It is a figure which shows an example of the result of having corrected the natural language specification based on the requirement interpolation rule in a 1st Example. 形式言語仕様の一例を示す図である。It is a figure which shows an example of a formal language specification. 第二の実施例における仕様作成支援装置の最小構成を示すブロック図の一例である。It is an example of the block diagram which shows the minimum structure of the specification creation assistance apparatus in a 2nd Example. 第二の実施例における要件補間ルールの構成の一例を示す図である。It is a figure which shows an example of a structure of the requirement interpolation rule in a 2nd Example.

図1は、本実施例の仕様作成支援装置100の構成図である。仕様作成支援装置100は、入力部101、表示部106、入出力制御部107、自然言語仕様作成部102、モデル変換部103、形式仕様作成部104、形式検証実行部105、及び、要件補間ルール格納データベース(要件補間ルール格納DB120)、自然言語仕様格納データベース(自然言語仕様格納DB121)、及び、記述/変換ルール格納データベース(記述/変換ルール格納DB122)、及び、形式仕様格納データベース(形式仕様格納DB123)を備える。また、自然言語仕様作成部は、設計書作成部108、要件補間部109、及び、要件記述部110を備える。   FIG. 1 is a configuration diagram of a specification creation support apparatus 100 according to the present embodiment. The specification creation support apparatus 100 includes an input unit 101, a display unit 106, an input / output control unit 107, a natural language specification creation unit 102, a model conversion unit 103, a format specification creation unit 104, a format verification execution unit 105, and a requirement interpolation rule. Storage database (requirement interpolation rule storage DB 120), natural language specification storage database (natural language specification storage DB 121), description / conversion rule storage database (description / conversion rule storage DB 122), and format specification storage database (format specification storage) DB123). The natural language specification creation unit includes a design document creation unit 108, a requirement interpolation unit 109, and a requirement description unit 110.

ここで、自然言語仕様格納DB121は、自然言語仕様を格納するための格納領域であり、形式仕様格納DB113は、形式言語仕様を格納するための格納領域である。また、記述/変換ルール格納DB112は、自然言語仕様作成のための記述ルールと作成された自然言語仕様と形式言語仕様とを相互に変換するための変換ルールを格納した格納領域であり、要件補間ルール格納DB110は、作成された自然言語仕様内で、不足している要件を補完するためのルールを格納した格納領域である。   Here, the natural language specification storage DB 121 is a storage area for storing natural language specifications, and the formal specification storage DB 113 is a storage area for storing formal language specifications. The description / conversion rule storage DB 112 is a storage area for storing a description rule for creating a natural language specification and a conversion rule for mutually converting the created natural language specification and formal language specification. The rule storage DB 110 is a storage area that stores rules for complementing the missing requirements in the created natural language specification.

形式検証実行部105は、形式仕様格納DB123に格納された形式言語仕様を基に、形式言語の構文チェック、検証等を行う。また、モデル変換部103は、記述/変換ルール格納DB122の変換ルールに従い、自然言語仕様格納DB121に格納された自然言語仕様を形式仕様言語への変換、又は、その逆変換を行うとともに、形式検証実行部105における検証結果を自然言語仕様格納DB121に反映する。   The format verification execution unit 105 performs syntax check and verification of the formal language based on the formal language specification stored in the formal specification storage DB 123. In addition, the model conversion unit 103 converts the natural language specification stored in the natural language specification storage DB 121 into a formal specification language or reverse conversion thereof according to the conversion rule of the description / conversion rule storage DB 122, and performs formal verification. The verification result in the execution unit 105 is reflected in the natural language specification storage DB 121.

自然言語仕様作成部102は設計書作成部108、要件補間部109、及び、要件記述部110とを含んで構成される。設計書作成部108は、自然言語仕様に基づく設計書を作成するための処理部であり、設計書作成部108は、要件記述部110と通信し、記述/変換ルールに従い、入力部101からのユーザ入力を受付、自然言語による要件記述、及び、仕様作成を行う。さらに、設計書作成部108は、要件補間部109と通信し、作成された要件から不足している要件を生成する。   The natural language specification creation unit 102 includes a design document creation unit 108, a requirement interpolation unit 109, and a requirement description unit 110. The design document creation unit 108 is a processing unit for creating a design document based on a natural language specification. The design document creation unit 108 communicates with the requirement description unit 110, and from the input unit 101 in accordance with the description / conversion rule. Accepts user input, performs requirement description in natural language, and creates specifications. Furthermore, the design document creation unit 108 communicates with the requirement interpolation unit 109 to generate a missing requirement from the created requirement.

なお、形式言語仕様作成部104は、直接形式言語仕様を作成するための処理部であり、形式仕様作成部104、形式仕様格納DB123、形式検証実行部105は、形式検証技術に関わる、仕様記述、及び、構文チェック、検証を行う、既存の形式検証技術の仕様作成支援ツール(例えば、非特許文献1)を用いて構成よい。   The formal language specification creation unit 104 is a processing unit for directly creating a formal language specification, and the formal specification creation unit 104, the formal specification storage DB 123, and the formal verification execution unit 105 are specification descriptions related to the formal verification technology. In addition, a specification creation support tool (for example, Non-Patent Document 1) of an existing formal verification technology that performs syntax check and verification may be used.

本実施例によれば、ユーザは仕様作成支援装置100内の記述/変換ルール格納DB122内に格納された記述/変換ルールに格納された記述ルールに基づき自然言語仕様を作成することで、形式言語仕様への変換を行う。また、要件補間ルール格納DB120内に格納された要件補間ルールを用いることで、自然言語仕様内に記述された要件から不足している要件を生成する。これによって、ユーザに対し、形式言語仕様を利用した曖昧さや誤りのない仕様作成のための支援を行う。   According to the present embodiment, the user creates a natural language specification based on the description rule stored in the description / conversion rule stored in the description / conversion rule storage DB 122 in the specification creation support apparatus 100, so that the formal language Convert to specification. Further, by using the requirement interpolation rule stored in the requirement interpolation rule storage DB 120, a deficient requirement is generated from the requirement described in the natural language specification. As a result, the user is supported for creating specifications without ambiguity and errors using formal language specifications.

図2は、図1に示した仕様作成支援装置100を実現するハードウェア構成の一例を示している。   FIG. 2 shows an example of a hardware configuration for realizing the specification creation support apparatus 100 shown in FIG.

図2の構成例では、仕様作成支援装置100は、CPU(Central Processor Unit)201、RAM(Random Access Memory)202、入力装置101、表示装置204、及び、外部記憶装置210がインターフェイス205を介して接続された、一般的な構成を有するコンピュータ(電子計算機)である。   In the configuration example of FIG. 2, the specification creation support apparatus 100 includes a CPU (Central Processor Unit) 201, a RAM (Random Access Memory) 202, an input device 101, a display device 204, and an external storage device 210 via an interface 205. It is a connected computer (electronic computer) having a general configuration.

入力装置101は、例えば、キーボードやマウスなどであり、表示装置204は、表示用ディスプレイ、外部記憶装置210は、HDD(Hard Disk Drive)などである。CPU201は、RAM202上にロードしたプログラムを実行することで、図1に示す自然言語仕様作成部102、モデル変換部103、形式言語仕様作成部104、及び、形式検証実行部105をプロセスとして具現化する。また、インターフェイス205は、装置内の各構成要素間のデータを送受信する内部パスであり、外部記憶装置210には、各データベース(要件補間ルール格納DB120など)、及び、自然言語仕様作成部102、モデル変換部103、形式言語仕様作成部104、及び、形式検証実行部105の実行プログラムが格納される。表示装置203は、自然言語仕様作成部102、形式言語仕様作成部104において、作成中の自然言語仕様、又は、形式言語仕様をディスプレイ等に表示する。   The input device 101 is, for example, a keyboard or a mouse, the display device 204 is a display for display, and the external storage device 210 is an HDD (Hard Disk Drive) or the like. The CPU 201 implements the natural language specification creation unit 102, the model conversion unit 103, the formal language specification creation unit 104, and the formal verification execution unit 105 shown in FIG. 1 as processes by executing a program loaded on the RAM 202. To do. The interface 205 is an internal path for transmitting and receiving data between each component in the apparatus, and the external storage device 210 includes each database (requirement interpolation rule storage DB 120 and the like), a natural language specification creation unit 102, The execution programs of the model conversion unit 103, the formal language specification creation unit 104, and the formal verification execution unit 105 are stored. The display device 203 causes the natural language specification creation unit 102 and the formal language specification creation unit 104 to display the natural language specification or formal language specification being created on a display or the like.

以下、本実施例では、形式言語仕様としてモデル規範型仕様記述言語「Event−B」を用いた場合を例として、設計書支援装置100について説明する。なお、以下では「Event−B」を例として仕様作成支援装置100の具体的な構成について説明するが、本発明は、例えば「B−method」など、他のモデル規範型仕様記述言語でも同様に実現可能である。   Hereinafter, in this embodiment, the design document support apparatus 100 will be described by taking as an example the case where the model normative specification description language “Event-B” is used as the formal language specification. In the following, a specific configuration of the specification creation support apparatus 100 will be described by taking “Event-B” as an example. However, the present invention similarly applies to other model normative specification description languages such as “B-method”. It is feasible.

図3は、Event−Bを用いた場合の本実施例における自然言語仕様301と形式言語仕様320の対応関係を表している。形式言語「Event−B」では、形式言語仕様は、Context 321、MACHINE 323から構成される。Context 321内には、形式言語仕様(Event−Bでは、抽象機械と呼ばれる)を作成するための集合331、定数に関する情報332が含まれ、MACHINE 323には、システムの状態を表す変数333、及び、変数の満たすべき条件を示した不変条件334、変数の初期化339、及び、変数の状態変化の事前条件337、事後条件(アクション)338を記述するイベント335が含まれる。   FIG. 3 shows a correspondence relationship between the natural language specification 301 and the formal language specification 320 in the present embodiment when Event-B is used. In the formal language “Event-B”, the formal language specification includes a Context 321 and a MACHINE 323. The Context 321 includes a set 331 for creating a formal language specification (called an abstract machine in Event-B), information 332 regarding constants, a MACHINE 323 includes a variable 333 representing a system state, and , An invariant condition 334 indicating a condition to be satisfied by the variable, an initialization 339 of the variable, a precondition 337 of the state change of the variable, and an event 335 describing a post condition (action) 338.

図3に図示したごとく、第一の実施例では、形式言語仕様320に対応する自然言語仕様301は、集合一覧305、定数一覧306からなるモデリング情報302、変数一覧307、データ要件一覧308からなるデータ要件関連情報303、及び、ユースケース設計書304から構成される。ここでユースケース設計書304は、各ユースケースのユースケース名309、ユースケース概要310、パラメータ311、事前条件312、アクション313から構成される。なお、図3の矢印は、モデリング情報302、データ要件関連情報303、ユースケース設計書304が、形式言語仕様320内の対応する構成要素を表している。   As shown in FIG. 3, in the first embodiment, the natural language specification 301 corresponding to the formal language specification 320 includes modeling information 302 including a set list 305, constant list 306, variable list 307, and data requirement list 308. It consists of data requirement related information 303 and use case design document 304. Here, the use case design document 304 includes a use case name 309, a use case summary 310, a parameter 311, a precondition 312, and an action 313 for each use case. Note that the arrows in FIG. 3 represent the corresponding components in the formal language specification 320 in which the modeling information 302, the data requirement related information 303, and the use case design document 304 are present.

図3に示した設計書の構成、及び、名称は特に上記に限らなくてもよい。また、設計書の作成単位も、上記に限らず、例えば、モデリング情報302、及び、データ要件関連情報303を、ひとつの設計書としてまとめてもよい。また、設計書の記載内容は、上記以外の項目を含んで構成されてもよい。   The configuration and names of the design document shown in FIG. 3 are not limited to the above. Further, the unit for creating the design document is not limited to the above. For example, the modeling information 302 and the data requirement related information 303 may be collected as one design document. The description content of the design document may include items other than the above.

図4は、図3に示した自然言語仕様による仕様作成フローの概略を示している。そのフローは以下のとおりである。
401:開始
402:入力部101がユーザから記述/変換ルール112に基づく入力を受け付け、自然言語作成部102の設計書作成部108、要件記述部111が、モデリング情報302を作成する。
403:入力部101がユーザから記述/変換ルール112に基づく入力を受け付け、自然言語作成部102の設計書作成部108、要件記述部111が、データ要件関連303を作成する。
404:入力部101がユーザから記述/変換ルール112に基づく入力を受け付け、自然言語作成部102の設計書作成部108、要件記述部111が、ユースケース設計書304を作成する。
405:すべてのユースケース設計書を作成した場合にはステップ406へ。まだ作成するユースケース設計書がある場合にはステップ404に進む。
406:自然言語作成部102の設計書作成部108、及び、要件補間部112が、要件補間ルール120に基づき作成した仕様内の要件から不足要件を生成し、設計書に反映する。
407:ユーザが自然言語仕様作成部102から、モデル変換部103を呼び出し、モデル変換部103を用いて、自然言語作成部102で作成した自然言語仕様302を形式言語仕様320に変換する。
408:仕様作成支援装置100が、形式検証実行部を用いて、ステップ407で生成した形式言語仕様320の構文チェック、検証を行い、その結果を自然言語仕様320に反映する。
409: すべての要件(証明責務)が検証に成功した場合にはステップ411に進み、検証に失敗した要件があれば410に進む。
410:ユーザが自然言語仕様作成部102を用いて、ステップ402、403、404と同様の作業を行い、自然言語仕様の修正を行う。
411:終了
なお、上記の作成フローでは、すべてのユースケース設計書が作成された後、ステップ406以降で、要件の補間(ステップ406)、形式言語仕様への変換(ステップ407)、形式言語仕様の検証(ステップ408)を行っているが、上記に限らず、例えば、各設計書の作成段階(ステップ402、403,404)ごとにステップ406、407、408の処理を実行してもよい。また、ユーザが明示的にステップ406、407、408等の処理を呼び出すのではなく、ユーザの要件記述に合わせ、設計書作成部108が自動で呼び出すようにしてもよい。
FIG. 4 shows an outline of a specification creation flow based on the natural language specification shown in FIG. The flow is as follows.
401: Start 402: The input unit 101 receives an input based on the description / conversion rule 112 from the user, and the design document creation unit 108 and the requirement description unit 111 of the natural language creation unit 102 create modeling information 302.
403: The input unit 101 receives an input based on the description / conversion rule 112 from the user, and the design document creation unit 108 and the requirement description unit 111 of the natural language creation unit 102 create the data requirement relation 303.
404: The input unit 101 receives an input based on the description / conversion rule 112 from the user, and the design document creation unit 108 and the requirement description unit 111 of the natural language creation unit 102 create a use case design document 304.
405: If all use case design documents have been created, go to step 406. If there is still a use case design document to be created, the process proceeds to step 404.
406: The design document creation unit 108 and the requirement interpolation unit 112 of the natural language creation unit 102 generate deficient requirements from the requirements in the specifications created based on the requirement interpolation rules 120, and reflect them in the design document.
407: The user calls the model conversion unit 103 from the natural language specification creation unit 102, and uses the model conversion unit 103 to convert the natural language specification 302 created by the natural language creation unit 102 into the formal language specification 320.
408: The specification creation support apparatus 100 uses the formal verification execution unit to perform syntax check and verification of the formal language specification 320 generated in step 407, and reflects the result in the natural language specification 320.
409: If all the requirements (certification duties) have been successfully verified, the process proceeds to step 411. If there is a requirement that has failed verification, the process proceeds to 410.
410: The user performs the same work as steps 402, 403, and 404 using the natural language specification creating unit 102 to correct the natural language specification.
411: End In the above creation flow, after all use case design documents have been created, after step 406, requirement interpolation (step 406), conversion to formal language specifications (step 407), formal language specifications However, the present invention is not limited to the above. For example, the processing of steps 406, 407, and 408 may be executed for each design document creation stage (steps 402, 403, and 404). Further, the design document creation unit 108 may automatically call the processing in accordance with the user's requirement description instead of explicitly calling the processing in steps 406, 407, 408, and the like.

ステップ410における仕様の修正は、自然言語仕様作成部102ではなく、形式言語仕様作成部104を用いて、形式言語仕様320に対して直接行い、その結果を、モデル変換部103を用いて、自然言語仕様301に反映してもよい。   The specification correction in step 410 is performed directly on the formal language specification 320 using the formal language specification creating unit 104 instead of the natural language specification creating unit 102, and the result is converted into the natural language using the model conversion unit 103. It may be reflected in the language specification 301.

上記処理では、自然言語仕様から形式言語仕様を全て作成することを想定した処理フローとなっているが、上記と異なっていてもよい。例えば、既存のシステム、或いは、複数のシステムで共通的に使われる項目がある場合には、モデリング情報302、或いは、データ要件関連情報303の一部を予め作成しておき、これらを用いて仕様作成を行ってもよい。   In the above processing, the processing flow assumes that all formal language specifications are created from natural language specifications, but may be different from the above. For example, if there is an item that is commonly used in an existing system or a plurality of systems, a part of the modeling information 302 or the data requirement related information 303 is created in advance, and specifications are made using these. You may make it.

図5は、本実施例における記述/変換ルールDB122内に格納された記述/変換ルールの一例を示している。図5に示したごとく、本実施例における記述/変換ルールDB122は、記述/変換ルールの識別子を表す変換ID501、自然言語仕様内での要件記述パターンを表した自然言語表現503、自然言語表現に対応する形式言語仕様内での要件記述パターンを表した形式言語表現504を含み構成される。また、各記述/変換ルールには、変数、不変条件など、その記述/変換ルールが利用可能な対象502、及び、各記述/変換ルールを用いて要件インスタンスを生成する際に必要となる入力情報505が含まれる。   FIG. 5 shows an example of the description / conversion rules stored in the description / conversion rule DB 122 in this embodiment. As shown in FIG. 5, the description / conversion rule DB 122 in this embodiment includes a conversion ID 501 that represents an identifier of a description / conversion rule, a natural language expression 503 that represents a requirement description pattern in a natural language specification, and a natural language expression. It includes a formal language expression 504 representing a requirement description pattern in the corresponding formal language specification. In addition, each description / conversion rule includes a variable 502, an invariant condition, etc., an object 502 that can use the description / conversion rule, and input information necessary for generating a requirement instance using each description / conversion rule 505 is included.

本実施例の入力情報505の参照元506、508、及び、次に示す図6の不足要件導出要件602及び不足要件605の対象606、608、610では、自然言語仕様書301の集合一覧305を参照する場合はS(Set)、定数一覧306を参照する場合は、C(Constant)、変数一覧307を参照する場合はV(Variables)、データ要件一覧308を参照する場合はI(Invariants)、イベントのパラメータ311を参照する場合にはP(Parameter),事前条件312を参照する場合はW(Where)、アクション313を参照する場合はA(Action)と略記している。なお、入力情報505の参照元506、508には、仕様記述のために宣言した集合一覧305、定数一覧306、変数一覧307、パラメータ311のいずれかから選択するため、S,C,V,Pのいずれかとなる。同様に、種別507,509は、入力情報の種別が要素の場合はE(Element),集合の場合はS(Set)と略記している。なお、種別は、要素や集合だけでなく、例えば写像等、上記以外の種別を追加してもよい。また、例えばクラスや属性など、異なる観点で纏めてもよい。   In the reference sources 506 and 508 of the input information 505 of this embodiment, and the shortage requirement derivation requirement 602 and the shortage requirement 605 targets 606, 608, and 610 shown in FIG. S (Set) for reference, C (Constant) for reference to the constant list 306, V (Variables) for reference to the variable list 307, I (Invariants) for reference to the data requirement list 308, When referring to the event parameter 311, P (Parameter), when referring to the precondition 312, W (Where), when referring to the action 313, it is abbreviated as A (Action). The reference sources 506 and 508 of the input information 505 include S, C, V, and P in order to select from the set list 305, constant list 306, variable list 307, and parameter 311 declared for specification description. Either. Similarly, types 507 and 509 are abbreviated as E (Element) when the type of input information is element, and S (Set) when set as a set. Note that types other than the above may be added, for example, mapping as well as elements and sets. Further, for example, classes and attributes may be collected from different viewpoints.

次に図6は、本実施例における要件補間ルールDB120内に格納された記述/変換ルールの一例を示している。図6に示したごとく、要件補間ルールDB120は、要件補間ルールの識別子を表す補間ID601と、不足要件の記述パターンを記述した不足要件605と不足要件を生成するための条件(仕様内の要件記述パターン)を記述した不足要件導出要件602とからなる。不足要件導出要件602は、さらに基底要件603、従属要件604から構成される。なお、基底要件603、従属要件604は、不足要件導出要件602として、ひとつの列としてまとめてもよいが、本実施例では、不足要件(不足要件605)の導出を容易にするため、基底要件603、従属要件604の二つの列に分けている。これは、仕様内から不足要件導出要件602を用いて不足要件の生成を行う際、全ての不足要件導出要件を纏めて検索する手間を低減するためである。不足要件の生成に当たっては、まず基底要件603を元に該当する不足要件の候補を探索し、該当する候補に対して、仕様内の要件記述から従属要件604を絞り込むことで、不足している要件の特定、生成を行う。   Next, FIG. 6 shows an example of the description / conversion rule stored in the requirement interpolation rule DB 120 in this embodiment. As shown in FIG. 6, the requirement interpolation rule DB 120 includes an interpolation ID 601 that represents the identifier of the requirement interpolation rule, a shortage requirement 605 that describes the description pattern of the shortage requirement, and a condition for generating the shortage requirement (requirement description in the specification). A deficient requirement derivation requirement 602 describing a pattern). The deficient requirement derivation requirement 602 further includes a base requirement 603 and a dependent requirement 604. Note that the base requirement 603 and the subordinate requirement 604 may be combined as one column as the deficient requirement derivation requirement 602. However, in this embodiment, in order to easily derive the deficient requirement (deficient requirement 605), the base requirement It is divided into two columns 603 and subordinate requirements 604. This is to reduce the trouble of searching for all the deficient requirement derivation requirements collectively when the deficient requirement is generated from the specification using the deficient requirement derivation requirement 602. In generating a deficient requirement, first, a deficient requirement candidate is searched based on the base requirement 603, and the subordinate requirement 604 is narrowed down from the requirement description in the specification to the relevant candidate. Identification and generation.

以下に、図5、図6を用いた、要件記述部110による要件の記述処理、モデル変換部103による形式言語仕様への変換処理、及び、要件補間部109による不足要件の生成処理の処理フローについて説明する。なお、具体例は図10から図13を用いて後述する。   The following is a processing flow of requirement description processing by the requirement description unit 110, conversion processing to formal language specifications by the model conversion unit 103, and generation processing of deficient requirements by the requirement interpolation unit 109 using FIG. 5 and FIG. Will be described. A specific example will be described later with reference to FIGS.

図7は、本実施例における各設計書内への要件記述の処理フロー(要件記述部110における処理フロー、図4ステップ402〜ステップ404の処理)の概略を示している。
701:開始
702:要件記述部110が、記述/変換ルールDB122から、対象502に基づき、記述項目に応じた記述/変換ルールを読み込み、読み込んだ記述/変換ルールの一覧を表示する。
703:表示した記述/変換ルールの一覧からユーザが選択した記述/変換ルールを入力部101が受け付け、要件記述部110に送る。
704:要件記述部110が、受け付けた記述/変換ルールから、対応する入力情報505を読み込む。
705:入力情報がまだあればステップ705に、なければ711に進む。
706:要件記述部110が、入力情報505から参照元情報を取得する。
707:要件記述部110が、参照元506、508の記述に従い、入力情報の候補(入力候補)を取得する。
708:要件記述部110が種別507、509を取得し、ステップ707の入力候補から該当する入力候補のみを取得する。
709:ステップ708で取得した入力候補を一覧表示する。
710:表示した入力候補の一覧からユーザが選択した入力候補選択を入力部101が受け付け要件記述部110に送り、ステップ705に進む。
711:要件記述部110が、記述/変換ルールの変換ID501,及び、ステップ710で取得した入力候補(入力情報インスタンスと呼ぶ)を自然言語仕様格納DB121に要件インスタンスとして保管する。
712:終了
図3に示した例では、自然言語仕様301は、複数の設計書(モデリング情報302、データ要件関連情報303、ユースケース設計書304)から構成され、各設計書内の記載項目(データ要件一覧308など)が、形式言語仕様の各構成要素(不変条件334など)に対応する。
FIG. 7 shows an outline of a processing flow of requirement description in each design document in this embodiment (processing flow in the requirement description unit 110, processing in steps 402 to 404 in FIG. 4).
701: Start 702: The requirement description unit 110 reads a description / conversion rule corresponding to a description item from the description / conversion rule DB 122 based on the target 502, and displays a list of the read description / conversion rules.
703: The input unit 101 receives the description / conversion rule selected by the user from the displayed description / conversion rule list and sends it to the requirement description unit 110.
704: The requirement description unit 110 reads the corresponding input information 505 from the received description / conversion rule.
705: If there is still input information, go to Step 705;
706: The requirement description unit 110 acquires reference source information from the input information 505.
707: The requirement description unit 110 acquires input information candidates (input candidates) according to the descriptions of the reference sources 506 and 508.
708: The requirement description unit 110 acquires the types 507 and 509, and acquires only the corresponding input candidates from the input candidates in Step 707.
709: A list of the input candidates acquired in step 708 is displayed.
710: The input unit 101 sends the input candidate selection selected by the user from the displayed list of input candidates to the acceptance requirement description unit 110, and the process proceeds to step 705.
711: The requirement description unit 110 stores the conversion ID 501 of the description / conversion rule and the input candidate (referred to as input information instance) acquired in Step 710 as a requirement instance in the natural language specification storage DB 121.
712: End In the example shown in FIG. 3, the natural language specification 301 is composed of a plurality of design documents (modeling information 302, data requirement related information 303, use case design document 304), and description items ( A data requirement list 308 or the like corresponds to each component of the formal language specification (such as the invariant 334).

上記の処理は、自然言語仕様301の各記載項目内に記述する要件を個別に作成するための処理フローであり、例えば、データ要件一覧308を記載する場合には、対象502の欄が「データ要件」となっている記述/変換ルールを一覧表示し、アクション313を記載する場合には、対象502が「アクション」となっている記述/変換ルールを一覧表示し、変数307を記載する場合には、対象502が「変数」となっている記述/変換ルールを一覧表示する(ステップ702)。   The above processing is a processing flow for individually creating requirements described in each description item of the natural language specification 301. For example, when the data requirement list 308 is described, the column of the target 502 is “data”. When a description / conversion rule with “requirement” is displayed in a list and an action 313 is described, a description / conversion rule with the target 502 as “action” is displayed in a list and a variable 307 is described. Displays a list of description / conversion rules whose target 502 is “variable” (step 702).

そして、ユーザ選択を受け付け(ステップ703)、選択された記述/変換ルールを取得する。たとえば、図5の変換ID501がT11の記述/変換ルールをユーザが選択した場合には、「AはBを含む」という記述/変換ルールの入力情報“A”,“B”に対し、入力情報インスタンスを生成するための処理(ステップ705からステップ710)を実行する。   The user selection is accepted (step 703), and the selected description / conversion rule is acquired. For example, when the user selects a description / conversion rule whose conversion ID 501 is T11 in FIG. 5, input information “A” includes “B”. Processing for generating an instance (steps 705 to 710) is executed.

ステップ706、ステップ707では、T11の入力情報Aに関する参照元情報と種別情報を参照し、入力情報Aの入力候補を取得する。具体的には、T11の入力情報Aに関する参照情報は“V(変数一覧)”であるため変数一覧307から入力候補を取得する。そして、入力情報Aに関する種別が“E(要素)”であるため、ステップ708では、取得した入力候補から要素として宣言された変数を取得する。そして、取得された変数を入力情報Aの入力候補として一覧表示し、入力情報Aのユーザ選択を受け付ける(ステップ709、710)。同様の処理(ステップ705からステップ710)を入力情報Bに対しても実施し、入力情報Bのユーザ選択を受け付ける。そして、ユーザが選択した入力情報A及び入力情報Bから入力情報インスタンスを作成し、変換ID501と入力情報インスタンスから要件インスタンスを生成する。生成された要件インスタンスは、設計書作成部108により自然言語仕様格納DB121内に保管される(ステップ121)。   In step 706 and step 707, reference source information and type information regarding the input information A of T11 are referred to, and input candidates of the input information A are acquired. Specifically, since the reference information regarding the input information A of T11 is “V (variable list)”, input candidates are acquired from the variable list 307. Since the type related to the input information A is “E (element)”, in step 708, a variable declared as an element is acquired from the acquired input candidate. The acquired variables are displayed as a list of input candidates for the input information A, and user selection of the input information A is accepted (steps 709 and 710). Similar processing (steps 705 to 710) is performed on the input information B, and a user selection of the input information B is accepted. Then, an input information instance is created from the input information A and the input information B selected by the user, and a requirement instance is generated from the conversion ID 501 and the input information instance. The generated requirement instance is stored in the natural language specification storage DB 121 by the design document creation unit 108 (step 121).

上記の処理フローでは、入力情報インスタンスを入力候補の中から選択する方法を示したが、集合一覧305、定数一覧306、変数一覧307、及び、パラメータ310は、システム内で用いる集合や定数、変数、或いは、ユースケース内で用いるパラメータを定義するための項目であるので、入力候補から受け付けるのではなく、ユーザからのテキスト入力を受付けるようにする。例えば、図5に示した変換ID501がT01,T02の記述/変換ルールは、変数への記述/変換テンプレートとなっている。このとき、自然言語表現503には、T01の「Bの要素」のように、入力情報Aの情報がない。また、入力情報505のAに関して、参照元506、及び、種別507には“―”が記載されている。これは、入力情報Aについては、ユーザからのテキストによる自由入力を受け付け、その結果を用いて変数を宣言することを表している。   In the above processing flow, a method of selecting an input information instance from input candidates has been shown. However, a set list 305, a constant list 306, a variable list 307, and a parameter 310 are sets, constants, and variables used in the system. Alternatively, since it is an item for defining parameters used in the use case, text input from the user is accepted instead of accepting input candidates. For example, the description / conversion rule whose conversion ID 501 is T01 and T02 shown in FIG. 5 is a description / conversion template to a variable. At this time, the natural language expression 503 does not have the information of the input information A like the “element B” of T01. Regarding the input information 505 A, “−” is described in the reference source 506 and the type 507. For the input information A, this means that a free input by text from the user is accepted and a variable is declared using the result.

また、T11の自然言語表現「AはBを含む」は、T12の自然言語表現と同じになっている。この場合、ユーザがT11、T12を明示的に指名するのではなく、自然言語表現から記述/変換ルール候補を取得し、その後の入力情報インスタンスにおいて、ユーザから選択された入力情報インスタンスを基に変換IDを特定するようにしてもよい。このようにすることによって、ユーザは形式言語表現を意識することなく、自然言語表現による仕様記述が可能となる。また、図5に示した記述/変換テンプレートでは、自然言語表現としてテキスト表現による記述/変換ルールを記述したが、例えば、自然言語表現としてUMLのクラス図などを用いてもよい。   Further, the natural language expression “A includes B” in T11 is the same as the natural language expression in T12. In this case, instead of explicitly nominating T11 and T12, the user obtains a description / conversion rule candidate from the natural language expression, and converts the subsequent input information instance based on the input information instance selected by the user. The ID may be specified. By doing so, the user can describe the specification in the natural language expression without being aware of the formal language expression. In the description / conversion template shown in FIG. 5, the description / conversion rule based on the text expression is described as the natural language expression. For example, a UML class diagram or the like may be used as the natural language expression.

次に、図7の処理によって作成された要件インスタンスにより構成された自然言語仕様301から、形式言語仕様320を生成するための処理(図4ステップ407の処理)を説明する。   Next, a process for generating the formal language specification 320 from the natural language specification 301 configured by the requirement instance created by the process of FIG. 7 (the process of step 407 in FIG. 4) will be described.

図3に示した如く、自然言語仕様301内のデータ要件一覧308等の各記載項目は、形式言語仕様320内の各構成要素に対応する。モデル変換部103の自然言語仕様301から形式言語仕様320への変換に当たっては、まず作成された各設計書(モデリング情報、データ要件関連情報、ユースケース設計書)の各記載項目から対応する形式言語仕様の各構成要素を生成し、各記載項目に記述された要件インスタンスを、形式言語表現に変換することによって、形式言語仕様320を生成する。   As shown in FIG. 3, each description item such as the data requirement list 308 in the natural language specification 301 corresponds to each component in the formal language specification 320. In the conversion from the natural language specification 301 to the formal language specification 320 by the model conversion unit 103, first, the formal language corresponding to each description item of each created design document (modeling information, data requirement related information, use case design document) is created. A formal language specification 320 is generated by generating each component of the specification and converting a requirement instance described in each description item into a formal language expression.

図8は、モデル変換部103における、上記の各記載項目内に格納された要件インスタンスから形式言語表現に変換するための処理フローを示している。
801:開始
802:モデル変換部103が自然言語仕様格納DB121から要件インスタンスを取得する。
803:モデル変換部103がステップ802で取得した要件インスタンスから、変換IDを取得する。
804:ステップ802で取得した要件インスタンス内に入力情報インスタンスがまだある場合にはステップ805に、そうでない場合にはステップ806に進む。
805:モデル変換部103が要件インスタンス内の入力情報インスタンスを取得する。
806:モデル変換部103が記述/変換ルールDB122から、ステップ803で取得した変換IDと一致する変換ID501を有する記述/変換ルールを取得する。
807:モデル変換部103が、ステップ806で取得した変換ID501を有する記述/変換ルールの形式言語表現504にステップ805で取得した入力情報インスタンスを代入する。
808:終了
図7の要件インスタンスの処理フローで述べたとおり、各要件インスタンスは、変換ID、及び、入力情報インスタンスから構成される。また、図5に示した記述/変換ルールの構成により、変換ID501から対応する形式言語表現504が定まるため、入力情報の実体値(入情報インスタンス)が与えられれば、形式言語表現への変換が可能である。 従って、上記のステップ803による変換IDの取得、及び、ステップ805における入力情報インスタンスの取得、さらにステップ806による形式言語表現の取得によって、各要件インスタンスの形式言語仕様内での記述への変換(ステップ807)が可能となる。 上記の変換処理を全ての要件インスタンスに対して実行することで、自然言語仕様301が形式言語仕様320に変換される。
FIG. 8 shows a processing flow in the model conversion unit 103 for converting the requirement instance stored in each of the above described items into a formal language expression.
801: Start 802: The model conversion unit 103 acquires a requirement instance from the natural language specification storage DB 121.
803: The model conversion unit 103 acquires a conversion ID from the requirement instance acquired in step 802.
804: If there is still an input information instance in the requirement instance acquired in step 802, the process proceeds to step 805. Otherwise, the process proceeds to step 806.
805: The model conversion unit 103 acquires an input information instance in the requirement instance.
806: The model conversion unit 103 acquires a description / conversion rule having a conversion ID 501 that matches the conversion ID acquired in step 803 from the description / conversion rule DB 122.
807: The model conversion unit 103 substitutes the input information instance acquired in step 805 for the formal language expression 504 of the description / conversion rule having the conversion ID 501 acquired in step 806.
808: End As described in the processing flow of the requirement instance in FIG. 7, each requirement instance is composed of a conversion ID and an input information instance. Further, since the corresponding formal language expression 504 is determined from the conversion ID 501 by the configuration of the description / conversion rule shown in FIG. 5, if an entity value (input information instance) of the input information is given, conversion to the formal language expression is possible. Is possible. Therefore, conversion of each requirement instance into a description in the formal language specification is obtained by obtaining the conversion ID in step 803, obtaining the input information instance in step 805, and obtaining the formal language expression in step 806 (step 806). 807) becomes possible. The natural language specification 301 is converted into the formal language specification 320 by executing the above conversion processing for all requirement instances.

図9は、要件補間部109による、要件補間ルール格納DB120を用いた不足要件生成の処理フローを示している(図4ステップ406の処理)
901:開始
902:要件補間部109が、自然言語仕様格納DB121から要件インスタンスを取得する。
903:要件補間部109が、要件補間ルールDB120の要件補間ルールを探索し、ステップ902で取得した要件インスタンスと一致する変換IDを有する基底要件603の要件補間ルールがあれば、ステップ904へ、なければステップ905に進む。
904:要件補間部109が、ステップ902で取得した要件インスタンス、及び、ステップ903で取得した変換IDから基底要件603のインスタンスを作成する。
905:要件補間部109が、ステップ903で取得した要件補間ルールの従属要件604を取得する。
906:要件補間部109が、ステップ905で取得した従属要件の各々について、従属要件の有する変換IDと一致する変換IDを有する要件インスタンスがないか、自然言語仕様格納DB121内の要件インスタンスを探索する。全ての従属要件について、変換IDが一致する要件インスタンスがあれば、ステップ907へ、なければステップ910に進む。
907:要件補間部109が、ステップ906で取得された要件インスタンスに対し、基底要件603のインスタンスを用いて、従属要件604のインスタンスの生成を試み、生成可能であればステップ908へ、そうでなければステップ910へ進む。
908:要件補間部109が、ステップ903で取得した要件補間ルールの不足要件505を取得する。
909:要件補間部109が、取得された不足要件605を用いて不足要件を生成する。
910:終了
ステップ902において取得された要件インスタンスに対し、ステップ903において要件補間ルールDB120内から変換IDが要件インスタンスと一致する基底要件603を探索する。基底要件603の要件に記述された変換IDと要件インスタンスの変換IDが一致する場合には、基底要件内のX,XX、Y、…に要件インスタンスの入力情報インスタンスを代入し、基底要件603のインスタンスを作成する(ステップ904)。ここで、XはXXの部分集合であることを意味し、YはYYの部分集合であることを意味する。次に前記の基底要件603に対応する従属要件604を取得し(ステップ905)、従属要件604の対象608が一致する要件インスタンスを抽出し、抽出した要件インスタンスについて、従属要件604内に記載された変換IDと一致する変換IDを持つ要件インスタンスの有無を検索する(ステップ906)。全ての従属要件604について要件インスタンスがある場合には、従属要件のインスタンスの生成を試みる(ステップ907)。このとき、X,XX,…が基底要件にある場合には、基底要件と同じ入力情報インスタンスを用いる。ない場合には、ステップ906で取得した入力情報インスタンスを用いる。
FIG. 9 shows a processing flow for generating a deficient requirement using the requirement interpolation rule storage DB 120 by the requirement interpolation unit 109 (processing of step 406 in FIG. 4).
901: Start 902: The requirement interpolation unit 109 acquires a requirement instance from the natural language specification storage DB 121.
903: The requirement interpolation unit 109 searches for the requirement interpolation rule in the requirement interpolation rule DB 120, and if there is a requirement interpolation rule for the base requirement 603 having a conversion ID that matches the requirement instance acquired in step 902, the flow goes to step 904. If YES in step 905, the flow advances to step 905.
904: The requirement interpolation unit 109 creates an instance of the base requirement 603 from the requirement instance acquired in step 902 and the conversion ID acquired in step 903.
905: The requirement interpolation unit 109 acquires the dependent requirement 604 of the requirement interpolation rule acquired in step 903.
906: The requirement interpolation unit 109 searches for a requirement instance in the natural language specification storage DB 121 for each of the dependent requirements acquired in step 905 for a requirement instance having a conversion ID that matches the conversion ID of the dependent requirement. . If there is a requirement instance with the same conversion ID for all subordinate requirements, the process proceeds to step 907; otherwise, the process proceeds to step 910.
907: The requirement interpolation unit 109 attempts to generate an instance of the dependent requirement 604 using the instance of the base requirement 603 for the requirement instance acquired in step 906, and if it can be generated, go to step 908. If YES, go to step 910.
908: The requirement interpolation unit 109 acquires the requirement interpolation rule deficiency requirement 505 acquired in step 903.
909: The requirement interpolation unit 109 generates a deficiency requirement using the acquired deficiency requirement 605.
910: End With respect to the requirement instance acquired in step 902, in step 903, the requirement requirement rule 603 whose conversion ID matches the requirement instance is searched from the requirement interpolation rule DB 120. When the conversion ID described in the requirement of the base requirement 603 matches the conversion ID of the requirement instance, the input information instance of the requirement instance is substituted into X, XX, Y,. An instance is created (step 904). Here, X means a subset of XX, and Y means a subset of YY. Next, a dependent requirement 604 corresponding to the base requirement 603 is obtained (step 905), a requirement instance that matches the target 608 of the dependent requirement 604 is extracted, and the extracted requirement instance is described in the dependent requirement 604. The presence / absence of a requirement instance having a conversion ID that matches the conversion ID is searched (step 906). If there is a requirement instance for all the dependent requirements 604, an attempt is made to generate an instance of the dependent requirement (step 907). At this time, if X, XX,... Are in the base requirement, the same input information instance as the base requirement is used. If not, the input information instance acquired in step 906 is used.

上記の処理によって、従属要件604内のすべての要件について従属要件の要件インスタンスが生成できた場合には、不足要件605に記載された不足要件のインスタンスを生成し、設計書内の不足要件605の対象で指定された場所に不足要件を生成する。なお、不足要件にA’のように“シングルクォーテーション”がついている場合には、その入力情報を新たに生成することを表すものとする。   When the above-described processing has generated the requirement instances of the dependent requirement for all the requirements in the dependent requirement 604, the instance of the insufficient requirement described in the insufficient requirement 605 is generated, and the shortage requirement 605 in the design document is generated. Generate missing requirements at the location specified in the target. In addition, when “single quotation” is added to the shortage requirement like A ′, it represents that the input information is newly generated.

なお、上記により生成された不足要件は、設計書作成部108が自動で設計書への反映を行ってもよいし、不足要件候補として表示し、ユーザに反映の確認作業を行うようにしてもよい。また、前述のように設計書への自動反映を行う場合には、設計書への直接的な反映を行わず(設計書上には表示せず)、非表示要件として自然言語仕様格納DB121内に格納し、モデル変換部103内で形式言語仕様へ変換するようにしてもよい。このようにすることによって、形式言語仕様に精通していないユーザに、形式検証固有の冗長な表現を意識させることなく設計書の作成を支援することができ、設計書を見やすくすることができる。   The deficiency requirement generated as described above may be automatically reflected in the design document by the design document creation unit 108, or may be displayed as a deficiency requirement candidate and checked for reflection to the user. Good. Further, as described above, when the automatic reflection to the design document is performed, the direct reflection to the design document is not performed (not displayed on the design document), and the natural language specification storage DB 121 is set as a non-display requirement. And converted into formal language specifications in the model conversion unit 103. By doing so, it is possible to assist the user who is not familiar with the formal language specifications without being aware of redundant expressions unique to formal verification, and to make the design document easier to read.

上記の処理によって生成された不足要件が、ひとつでない場合には、例えば不足要件候補として一覧表示し、ユーザからの入力を受け付けることにより、不足要件を各設計書の該当箇所に反映するようにすればよい。また、複数の不足要件が表示される場合には、あらかじめ要件補間ルールDB120ないに優先度欄を別途設け、優先度欄に応じて優先順位の高い要件から順に不足要件を表示するようにしてもよい。   If there is not one deficient requirement generated by the above process, for example, list the deficient requirements as candidates and accept the input from the user so that the deficient requirements are reflected in the corresponding part of each design document. That's fine. In addition, when a plurality of deficient requirements are displayed, a priority column is separately provided in advance in the requirement interpolation rule DB 120, and deficient requirements are displayed in order from the highest priority according to the priority column. Good.

以下、図10から図13を用いて、図7,8,9の処理について説明する。   Hereinafter, the processes of FIGS. 7, 8, and 9 will be described with reference to FIGS.

図10は、本実施例によって作成された設計書の一例を示している。図10内のデータ要件関連情報1000は、図3内のデータ要件関連情報303の一例であり、記述/変換ルールDB122を用いて変数一覧1001、及び、データ要件一覧1002が記載されている。また、図10内のユースケース設計書1010は、図3内のユースケース設計書304の一例であり、データ要件関連情報1000と同様、記述/変換ルールDB122を用いてユースケース名1011、パラメータ1013、事前条件1014、アクション1015が記載されている。さらに、ユースケース概要1012は、ユースケースの概要を説明する欄であり、形式言語仕様への変換が不要な自由記述欄である。   FIG. 10 shows an example of a design document created by this embodiment. The data requirement related information 1000 in FIG. 10 is an example of the data requirement related information 303 in FIG. 3, and a variable list 1001 and a data requirement list 1002 are described using the description / conversion rule DB 122. The use case design document 1010 in FIG. 10 is an example of the use case design document 304 in FIG. 3, and the use case name 1011 and the parameter 1013 are described using the description / conversion rule DB 122 as in the data requirement related information 1000. A precondition 1014 and an action 1015 are described. Furthermore, the use case summary 1012 is a column for explaining the summary of the use case, and is a free description column that does not need to be converted into a formal language specification.

なお、図10の検証結果欄1020は、形式言語仕様320に変換し、形式検証実行部105による仕様検証(証明責務の生成とその検証)を行った結果、モデル変換部103が、その結果を表示する欄である。図10の場合、仕様検証の結果、「全ての登録帳票は帳票フォルダに割り当てられる」という要件を満たしていないことを意味する。   The verification result column 1020 in FIG. 10 is converted into the formal language specification 320, and the model verification unit 103 performs the specification verification (generation of certification obligations and verification thereof) by the formal verification execution unit 105. It is a column to display. In the case of FIG. 10, it means that the result of the specification verification does not satisfy the requirement that “all registered forms are allocated to the form folder”.

図11は、図10のデータ要件関連情報1000、及び、ユースケース設計書1010の自然言語仕様格納DB121内でのデータ表現を部分的に表した例である。図11に示したとおり、自然言語仕様格納DB121は、図10に示した設計書をそのまま保管する必要はない。図11の例では、自然言語仕様格納DB121は、XML(eXtensible Markup Language)を用いて各設計書の情報を変換IDと入力情報インスタンスから構成されている。   FIG. 11 is an example in which the data requirement related information 1000 of FIG. 10 and the data representation in the natural language specification storage DB 121 of the use case design document 1010 are partially represented. As shown in FIG. 11, the natural language specification storage DB 121 does not need to store the design document shown in FIG. 10 as it is. In the example of FIG. 11, the natural language specification storage DB 121 includes information on each design document using a conversion ID and an input information instance using XML (extensible Markup Language).

図10のデータ要件関連情報1000は、図11のデータ要件関連情報要素1101から構成されるXMLデータとして、変数一覧を表す変数一覧要素1103、データ要件一覧を表すデータ要件一覧要素1104を含み記述される。また、ユースケース設計書1010は、ユースケース設計書要素1102から構成されるXMLデータとして、ユースケース名要素1105、パラメータ要素1107、事前条件要素1108、アクション要素1109から構成される。なお、補足情報要素1106は、形式言語仕様に変換する必要のない情報を記載する欄であり、図11にはユースケースの概要を説明する概要要素(概要1012、ユースケース概要310に対応)を含む。   The data requirement related information 1000 in FIG. 10 is described as XML data composed of the data requirement related information element 1101 in FIG. 11 including a variable list element 1103 representing a variable list and a data requirement list element 1104 representing a data requirement list. The The use case design document 1010 includes a use case name element 1105, a parameter element 1107, a precondition element 1108, and an action element 1109 as XML data including the use case design document element 1102. Note that the supplementary information element 1106 is a field for describing information that does not need to be converted into formal language specifications. FIG. 11 shows summary elements (corresponding to the summary 1012 and the use case summary 310) for explaining the summary of the use case. Including.

図11の例では、各要件要素(1120〜1124)は、各要件インスタンスを表しており、変換ID(要件要素のID属性)と入力情報インスタンス(要件要素のA、B、…子要素)を含み構成される。変換ID、及び、入力情報インスタンスが自然言語仕様格納DB121内に格納されることにより、図8に示した処理フローにより、各要件インスタンスを形式言語表現に変換することが可能である。また、変換ID,及び、入力情報インスタンスから、図5に示した表を用いることによって、図11の自然言語仕様格納DB121内の情報から、図10に示した自然言語仕様を復元することができる。   In the example of FIG. 11, each requirement element (1120 to 1124) represents each requirement instance, and a conversion ID (requirement element ID attribute) and an input information instance (requirement element A, B,... Child elements) Consists of. By storing the conversion ID and the input information instance in the natural language specification storage DB 121, each requirement instance can be converted into a formal language expression by the processing flow shown in FIG. Further, by using the table shown in FIG. 5 from the conversion ID and the input information instance, the natural language specification shown in FIG. 10 can be restored from the information in the natural language specification storage DB 121 of FIG. .

例えば、要件要素1124は、その属性として“id=T44” が格納されており、子要素A,Bにそれぞれ、“新規帳票”、“登録済帳票”が格納されている。図5より、変換IDが“T44”の自然言語表現は、“AをBに追加する”であり、子要素A,Bの入力情報インスタンスより、要件インスタンスの自然言語表現が“新規帳票を登録済帳票に追加する”となることが分かる。同様にして、形式言語表現は“B:=B∪{A}”であることから、“登録済帳票:=登録済帳票∪{新規帳票}”となることが分かる(変換結果は、後述する図13の要件4 1311のact1を参照)。   For example, the requirement element 1124 stores “id = T44” as an attribute, and “new form” and “registered form” are stored in the child elements A and B, respectively. From FIG. 5, the natural language expression whose conversion ID is “T44” is “add A to B”, and the natural language expression of the requirement instance is “register new form” from the input information instances of the child elements A and B. It can be seen that “Add to completed form”. Similarly, since the formal language expression is “B: = B∪ {A}”, it is understood that “registered form: = registered form ∪ {new form}” (the conversion result will be described later). (See act 4 of requirement 4 1311 in FIG. 13).

なお、図10、図11の例では、記述/変換ルールに基づき、各設計書を作成し、自然言語仕様格納DB121に格納した例を示した。図10の設計書の作成に当たって、記述/変換ルールにない要件を記述できるようにしてもよい。この場合には、例えば、対応する形式言語表現も合わせて入力できるようにし、自然言語表現に対応する形式言語表現が分かるようにすることが望ましい。   In the example of FIGS. 10 and 11, each design document is created based on the description / conversion rule and stored in the natural language specification storage DB 121. In creating the design document shown in FIG. 10, requirements not included in the description / conversion rule may be described. In this case, for example, it is desirable that the corresponding formal language expression can be input together so that the formal language expression corresponding to the natural language expression can be understood.

また、図11の自然言語仕様320では、自由記述に対して入力された自然言語表現、及び、形式言語表現を、自由記述を表す特殊な変換ID(例えば、T9999など)をあらかじめ定めておき、子要素として自然言語表現、及び、形式言語表現を記述するための要素を定義することによって、自由記述による自然言語表現、及び、形式言語表現を格納するようにすればよい。   Further, in the natural language specification 320 of FIG. 11, a special conversion ID (for example, T9999 or the like) representing the free description is determined in advance for the natural language expression and the formal language expression input for the free description, By defining elements for describing natural language expressions and formal language expressions as child elements, natural language expressions and formal language expressions by free description may be stored.

なお、自由記述した要件に対して、必ずしも形式言語表現への変換が不要な要件(例えば補足情報など)は、子要素として形式言語表現を含める必要はない。   Note that a requirement that does not necessarily need to be converted into a formal language expression (for example, supplementary information) with respect to a freely described requirement does not need to include the formal language expression as a child element.

また、図10の自然言語仕様301の表示に当たっては、例えば各要件の形式言語表現との対応が分かるよう、記述/変換ルール格納DB122を用いて変換後の形式言語表現をポップアップ表示する(自由記述の場合には、形式言語表現を記述するための要素を用いればよい)。また、対応する形式言語表現がない場合には、例えば文字や背景色を変更するなどして、対応する形式言語表現がないことを明示してもよい。   When displaying the natural language specification 301 in FIG. 10, for example, the description / conversion rule storage DB 122 is used to pop up the converted formal language expression so that the correspondence with the formal language expression of each requirement can be understood (free description). In this case, an element for describing a formal language expression may be used). Further, when there is no corresponding formal language expression, it may be clearly indicated that there is no corresponding formal language expression, for example, by changing a character or a background color.

図11では、自然言語仕様301の一実現例として、XMLによるデータ表現を用いたが、これと異なっていてもよい。また、XMLを用いた場合でも、要素名やXMLの構造は、必ずしも図11に示した限りでなくてもよい。   In FIG. 11, data representation by XML is used as an implementation example of the natural language specification 301, but it may be different from this. Even when XML is used, the element names and the XML structure are not necessarily limited to those shown in FIG.

図12は、図10、図11に示した自然言語仕様から、図6、及び、図9に示した要件補間ルール格納DB120を用いた不足要件の生成処理に基づき、不足要件を補間した結果を表している。図12内の要件1、2が追加された不足要件を表している。要件1の生成は、図9の処理フローによって、以下により生成される。まず、ステップ902の処理によって、データ要件一覧の要件「全ての登録済み帳票は帳票フォルダに割当てられる。」について要件インスタンスを取得する。この要件インスタンスは、図11の要件要素1121に示すように、要件id(変換ID)がT13である。次に、ステップ903の処理により、変換IDがT13である補間ID“A11”の要件補間ルールが取得され、要件インスタンスの入力情報インスタンス(A=登録済帳票、B=帳票フォルダ)に基づき“X=登録済帳票”、“Y=帳票フォルダ”を代入することにより、基底要件603のインスタンスが生成される(ステップ904)。さらに、ステップ905により、対応する従属要件604から要件が取得され、ステップ906、ステップ907の処理により、変換IDがT01である要件インスタンスを取得する。この場合、図11の変数一覧要素1120が示すように、取得した要件インスタンスの入力情報インスタンスが“登録済帳票(帳票全体の部分集合)”、“帳票フォルダ(フォルダ全体の部分集合)”であるため、従属要件604では“X=登録済帳票、XX=帳票全体”、Y=帳票フォルダ“YY=フォルダ全体”となり、従属要件604のインスタンスが生成可能である。以上の処理から、ステップ908、ステップ909によって、対応する不足要件の不足要件「T02:BからCへの関係」のインスタンス「登録済帳票to帳票フォルダ(登録済帳票から帳票フォルダへの関係)」が生成される。生成された要件は、対象欄と対応する設計書の該当箇所「変数一覧」に追加される(要件1 1201)。   FIG. 12 shows the result of interpolating the deficient requirements from the natural language specifications shown in FIG. 10 and FIG. 11 based on the deficient requirement generation process using the requirement interpolation rule storage DB 120 shown in FIG. 6 and FIG. Represents. The requirements 1 and 2 in FIG. 12 represent the shortage requirements added. The generation of requirement 1 is generated as follows according to the processing flow of FIG. First, by the processing in step 902, a requirement instance is acquired for the requirement “all registered forms are assigned to a form folder” in the data requirement list. As shown in the requirement element 1121 in FIG. 11, this requirement instance has a requirement id (conversion ID) of T13. Next, by the process of step 903, the requirement interpolation rule of the interpolation ID “A11” whose conversion ID is T13 is acquired, and “X” based on the input information instance (A = registered form, B = form folder) of the requirement instance. By substituting “= registered form” and “Y = form folder”, an instance of the base requirement 603 is generated (step 904). Further, in step 905, a requirement is acquired from the corresponding dependent requirement 604, and a requirement instance whose conversion ID is T01 is acquired by the processing in steps 906 and 907. In this case, as indicated by the variable list element 1120 in FIG. 11, the input information instances of the acquired requirement instances are “registered form (a subset of the entire form)” and “form folder (a subset of the entire folder)”. Therefore, in the dependent requirement 604, “X = registered form, XX = whole form”, Y = form folder “YY = whole folder”, and an instance of the dependent requirement 604 can be generated. From the above processing, in step 908 and step 909, the instance “registered form-to-form folder (relation from registered form to form folder)” of the deficiency requirement “T02: relationship from B to C” of the corresponding deficiency requirement ” Is generated. The generated requirement is added to the corresponding “variable list” of the design document corresponding to the target field (requirement 1 1201).

要件2も同様にして、ユースケース設計書1010内のアクションに記載された要件、「新規帳票を登録済帳票に追加する。(変換ID:T44)」「登録先フォルダを帳票フォルダに追加する。(変換ID:T44)」から、補間IDが“A23”となる基底要件が選択され(ステップ901〜ステップ904)、従属要件の検索、インスタンスの生成(ステップ905〜907)を通して、要件2 1202が生成される(ステップ908〜ステップ910)。   Similarly, the requirement 2 described in the action in the use case design document 1010, “Add new form to registered form (conversion ID: T44)” “Add registration destination folder to form folder. (Conversion ID: T44) ”is selected as the base requirement whose interpolation ID is“ A23 ”(Steps 901 to 904), and the requirement 2 1202 is obtained through the subordinate requirement search and instance generation (Steps 905 to 907). Is generated (step 908 to step 910).

図13は、図12に示した設計書から、形式言語仕様(Event−Bによる仕様記述)の生成結果を示した例である。設計書作成部108を用いてユーザが作成した各設計書は、自然言語格納DB121内に保管される。モデル変換部103によって、図8に示した処理フローにより、個々の要件が記述/変換ルールに基づき形式言語仕様に変換される(本実施例では、前述したとおり、個々の要件インスタンスは、変換IDと入力情報インスタンスの情報を含み構成されるため、これの情報から形式言語表現への変換が可能である)。さらに、モデル変換部103は、形式言語表現に変換された各要件を、形式言語(本例では、Event−B)の構文規則にのっとり、該当部分に記述する。これによって、ユーザが作成した自然言語仕様に対応する形式言語仕様が作成される。なお、図13は、図5、図6に示した記述/変換ルール、及び、要件補間ルールの例に基づき生成された形式言語仕様の例を示しており、異なる記述/変換ルール、要件補間ルールを用いた場合には、必ずしも図13のような形式言語仕様が生成されるとは限らない。   FIG. 13 is an example showing a result of generating formal language specifications (specification description by Event-B) from the design document shown in FIG. Each design document created by the user using the design document creation unit 108 is stored in the natural language storage DB 121. The model conversion unit 103 converts each requirement into a formal language specification based on the description / conversion rule according to the processing flow shown in FIG. 8 (in this embodiment, each requirement instance is converted to a conversion ID as described above. And the information of the input information instance are included, and the information can be converted into a formal language expression). Further, the model conversion unit 103 describes each requirement converted into the formal language expression in the corresponding part according to the syntax rules of the formal language (Event-B in this example). As a result, a formal language specification corresponding to the natural language specification created by the user is created. FIG. 13 shows examples of formal language specifications generated based on the description / conversion rules and requirement interpolation rules shown in FIGS. 5 and 6, and different description / conversion rules and requirement interpolation rules. When is used, a formal language specification as shown in FIG. 13 is not always generated.

記述/変換ルール格納DB122内に格納する記述/変換ルールは、形式言語仕様に誤りなく変換でき、かつ、設計書内で検証したい性質に合わせて、適切な記述/変換ルールを格納することが望ましい。また、要件補間ルール格納DB120内に格納する要件補間ルールは記述/変換ルールに合わせて、形式言語仕様に変換された際に誤りのない仕様を作成するための、不足要件、あるいは、不足要件候補が生成されるように、適切な情報を格納することが望ましい。   It is desirable that the description / conversion rules stored in the description / conversion rule storage DB 122 can be converted into formal language specifications without error and that appropriate description / conversion rules are stored in accordance with the properties to be verified in the design document. . Further, the requirement interpolation rule stored in the requirement interpolation rule storage DB 120 is a shortage requirement or a shortage requirement candidate for creating a specification having no error when converted into a formal language specification according to the description / conversion rule. It is desirable to store appropriate information so that is generated.

第一の実施例では、ユーザは、あらかじめ用意された記述/変換ルールを用いて、自然言語仕様により設計書の作成を行う。また、生成された設計書に対して不足要件の生成を行い、作成された設計書から形式言語仕様への変換を行う。これによって、形式検証技術に精通していないユーザが、形式検証技術に基づき、曖昧さや誤りのない設計書の作成を支援する方法を述べた。第二の実施例では、不足要件の導出を形式言語仕様上で行う方法を述べる。これによって、形式言語による仕様作成が可能なユーザに対しても、形式言語仕様作成の過程で忘れがちな要件や従属的に導かれる追加要件の記述支援を行う。これによって、直接形式言語仕様を作成する場合の支援を行う。   In the first embodiment, the user creates a design document according to natural language specifications using a description / conversion rule prepared in advance. In addition, a shortage requirement is generated for the generated design document, and the generated design document is converted into a formal language specification. In this way, we have described a method to help users who are not familiar with formal verification technology to create design documents without ambiguity and errors based on formal verification technology. In the second embodiment, a method for deriving deficient requirements on formal language specifications will be described. As a result, even for users who can create specifications in the formal language, description support is provided for requirements that are often forgotten in the process of formal language specification creation and additional requirements that are subordinately derived. This provides support when creating formal language specifications directly.

図14は、第二の実施例における設計書作成支援装置100の最小構成を示す図である。第二の実施例では、第一の実施例と異なり、形式言語仕様上で不足要件の生成を行う。そのため、自然言語仕様の作成にかかわる処理部(自然言語仕様作成部102、モデル変換部103)、及び、格納領域(自然言語仕様格納DB121、記述/変換ルール格納DB122)はなくてもよい。ただし、図14の構成に、第一の実施例の構成を含めてもよい。この場合、不足要件の補間は形式言語仕様上で行うため、図1の要件補間部109、要件補間ルール格納DB120は、なくてもよい。   FIG. 14 is a diagram illustrating a minimum configuration of the design document creation support apparatus 100 according to the second embodiment. In the second embodiment, unlike the first embodiment, a shortage requirement is generated on the formal language specification. Therefore, the processing units (natural language specification creation unit 102, model conversion unit 103) and storage areas (natural language specification storage DB 121, description / conversion rule storage DB 122) related to creation of the natural language specifications may be omitted. However, the configuration of the first embodiment may be included in the configuration of FIG. In this case, since the interpolation of the deficient requirement is performed according to the formal language specification, the requirement interpolation unit 109 and the requirement interpolation rule storage DB 120 in FIG. 1 are not necessary.

第二の実施例では、形式言語仕様上で不足要件の生成を行うため、形式言語仕様作成部104が形式仕様記述部104a、要件補間部112aから構成される。ここで、形式言語仕様記述部104aは、形式言語による仕様作成を直接行うための処理部であり、形式言語のための作成支援ソフトウェア(例えば、非特許文献1)を用いてよい。前述の通り、第二の実施例における要件補間部112aは、ユーザにより作成された形式言語仕様から、要件補間ルール格納DB120a内に格納された要件補間ルールに基づき不足要件の生成を行う。   In the second embodiment, the formal language specification creation unit 104 includes a formal specification description unit 104a and a requirement interpolation unit 112a in order to generate a shortage requirement on the formal language specification. Here, the formal language specification description unit 104a is a processing unit for directly creating a specification in the formal language, and creation support software for the formal language (for example, Non-Patent Document 1) may be used. As described above, the requirement interpolation unit 112a in the second embodiment generates deficient requirements from the formal language specifications created by the user based on the requirement interpolation rules stored in the requirement interpolation rule storage DB 120a.

図15は、第二の実施例における要件補間ルール格納DB120a内の構成を表す一例である。図15に示したとおり、要件補間ルール格納DB120aは、第一の実施例(図6)の構成と同様、補間ID601a、基底条件603a、前提条件604a、及び、従属条件605aから構成される。ただし、第二の実施例における要件補間ルール格納DB120aは、第一の実施例(図6)と異なり、基底要件603a、従属要件604a、不足要件605a内に格納される要件補間ルールは、形式言語表現が直接記述される。これは、第一の実施例では、自然言語仕様を形式言語仕様に変換し、自然言語仕様上で不足要件の生成を行っていたのに対し、第二の実施例では、形式言語仕様上で直接不足要件の補間を行うため、自然言語表現から形式言語表現への変換が必要ないためである。   FIG. 15 is an example showing a configuration in the requirement interpolation rule storage DB 120a in the second embodiment. As shown in FIG. 15, the requirement interpolation rule storage DB 120a includes an interpolation ID 601a, a base condition 603a, a precondition 604a, and a subordinate condition 605a, as in the configuration of the first embodiment (FIG. 6). However, the requirement interpolation rule storage DB 120a in the second embodiment is different from the first embodiment (FIG. 6) in that the requirement interpolation rules stored in the base requirement 603a, the dependent requirement 604a, and the shortage requirement 605a are formal languages. The expression is described directly. In the first embodiment, the natural language specification is converted into the formal language specification, and the shortage requirement is generated in the natural language specification. In the second embodiment, the natural language specification is converted into the formal language specification. This is because direct deficiency requirement interpolation is performed, so that conversion from natural language expression to formal language expression is not necessary.

不足要件の生成処理は、第一の実施例における不足要件の生成処理(図9)と同様にして生成することが可能である。ただし、第一の実施例と第二の実施例では、以下の点が異なる。前述のとおり、第一の実施例では、自然言語表現から形式言語表現への変換処理に基づき、不足要件の生成を行う。このため、第一の実施例では、記述/変換ルールの変換IDを用いて、自然言語仕様から基底要件、従属要件の探索を行い、その結果から、記述/変換ルールに基づき、不足要件の生成を行う(生成される不足要件は、変換IDと入力情報インスタンスによって表現される)。   The deficiency requirement generation process can be generated in the same manner as the deficiency requirement generation process (FIG. 9) in the first embodiment. However, the following points are different between the first embodiment and the second embodiment. As described above, in the first embodiment, the shortage requirement is generated based on the conversion process from the natural language expression to the formal language expression. For this reason, in the first embodiment, by using the conversion ID of the description / conversion rule, a base requirement and a subordinate requirement are searched from the natural language specification, and based on the result, a shortage requirement is generated based on the description / conversion rule. (The shortage requirement to be generated is expressed by the conversion ID and the input information instance).

一方、第二の実施例では、形式言語仕様上で不足要件の生成を行うため、その要件補間ルール格納DB120a内には、基底要件603a、従属要件604a、不足要件605aには、形式言語表現で直接記載される。そのため、例えば、ステップ903、ステップ906における変換IDによる要件インスタンスの検索は、形式表現上で記載された要件間の一致、不一致を検索する。また、その他、基底要件、従属要件等のインスタンスの生成は、形式言語表現でのインスタンスを直接生成する。   On the other hand, in the second embodiment, since the shortage requirement is generated in the formal language specification, the base requirement 603a, the dependent requirement 604a, and the shortage requirement 605a are included in the formal language expression in the requirement interpolation rule storage DB 120a. Directly described. Therefore, for example, in the search for the requirement instance by the conversion ID in step 903 and step 906, a match or mismatch between the requirements described in the formal expression is searched. In addition, for the generation of instances such as base requirements and dependent requirements, instances in the formal language expression are directly generated.

図13に示した形式言語仕様において、要件3、要件4がユーザによって作成されていた場合には、図9の処理フローと図15の要件補間ルール格納DB120aを用いて、第一の実施例の要件2 1202(図12)と同様、以下のように要件5が生成される。まず、要件補間部112aによって、アクション内の要件4 1311と基底要件603aから、補間ID601aが“A23”の基底要件が選択され(ステップ902〜903)、“XX=登録済帳票”、“X=新規帳票”、“YY=帳票フォルダ”、“Y=登録先フォルダ”として、基底要件のインスタンスが生成される(ステップ904)。次に、対応する従属要件を取得し(ステップ905)、従属用件に対応する要件として要件3 1310が存在し(ステップ906)、基底要件のインスタンスから従属要件の対応するインスタンスが生成される(ステップ907)。そして、対応する不足要件の要件補間ルールを取得し(ステップ908)、不足要件のインスタンスとして、「登録済帳票to帳票フォルダ:=登録済帳票to帳票フォルダ登録済帳票∪{新規帳票|->帳票フォルダ}」が生成される(ステップ910)。   In the formal language specification shown in FIG. 13, when the requirements 3 and 4 are created by the user, the processing flow of FIG. 9 and the requirement interpolation rule storage DB 120a of FIG. Similar to requirement 2 1202 (FIG. 12), requirement 5 is generated as follows. First, the requirement interpolation unit 112a selects a basic requirement whose interpolation ID 601a is “A23” from the requirement 4 1311 and the basic requirement 603a in the action (steps 902 to 903), “XX = registered form”, “X = Base requirement instances are generated as “new form”, “YY = form folder”, and “Y = registration destination folder” (step 904). Next, a corresponding dependent requirement is obtained (step 905), requirement 3 1310 exists as a requirement corresponding to the dependent requirement (step 906), and a corresponding instance of the dependent requirement is generated from the base requirement instance (step 906). Step 907). Then, the requirement interpolation rule for the corresponding deficient requirement is acquired (step 908), and as the deficient requirement instance, “Registered form to form folder: = Registered form to form folder registered form ∪ {New form |-> Form” Folder} "is generated (step 910).

なお、前述の通り、第二の実施例では、形式言語仕様上での直接要件の補間を行うため、図14の構成図では、自然言語仕様の作成にかかわる処理部(自然言語仕様作成部102、モデル変換部103)、及び、格納領域(自然言語仕様格納DB121、記述/変換ルール格納DB122)は含まれていないが、これらを含む構成であってもよい。   As described above, in the second embodiment, the direct requirement interpolation is performed on the formal language specification. Therefore, in the configuration diagram of FIG. 14, the processing unit (natural language specification creating unit 102) related to the creation of the natural language specification. , The model conversion unit 103) and the storage area (natural language specification storage DB 121, description / conversion rule storage DB 122) are not included, but may be configured to include these.

この場合、第二の実施例に基づき生成された不足要件、あるいは、形式仕様記述部104aによって作成された各要件は、記述/変換ルール格納DB122内の形式言語表現を元に、変換ID,及び、入力情報インスタンスを特定し、対応する自然言語表現に変換すればよい。   In this case, the shortage requirement generated based on the second embodiment or each requirement created by the formal specification description unit 104a is based on the conversion ID, and the formal language expression in the description / conversion rule storage DB 122. The input information instance may be identified and converted into a corresponding natural language expression.

記述/変換ルール格納DB122に複数の形式言語表現が該当する場合には、記述/変換ルールDB122内にあらかじめ優先度を設けておき、優先度に基づき、自然言語表現を決定する。あるいは、対応する複数の自然言語表現を(優先度に基づき)、一覧表示し、ユーザ選択により決定するようにしてもよい。また、記述/変換ルール格納DB122に該当する形式言語表現がない場合には、ユーザに対応する自然言語表現を直接記述させるようにしてもよい。   When a plurality of formal language expressions correspond to the description / conversion rule storage DB 122, priorities are set in advance in the description / conversion rule DB 122, and natural language expressions are determined based on the priorities. Alternatively, a plurality of corresponding natural language expressions (based on priority) may be displayed in a list and determined by user selection. Further, when there is no corresponding formal language expression in the description / conversion rule storage DB 122, the natural language expression corresponding to the user may be directly described.

このような実施例の実現方法は、仕様作成支援装置100を形式検証に精通していないユーザに設計書の基本部分を作成し、形式検証による検証、修正を形式検証の専門家が行う、などの利用の際に有用である。   In the implementation method of the embodiment, the specification creation support apparatus 100 creates a basic part of a design document for a user who is not familiar with formal verification, and verification by formal verification is performed by a formal verification specialist. Useful when using.

100 仕様作成支援装置
101 入力部
102 自然言語仕様作成部
103 モデル変換部
104 形式言語仕様作成部
105 形式検証実行部
106 表示部
107 入出力制御部
108 設計書作成部
109 要件補間部
110 要件記述部
120 要件補間ルール格納データベース
121 自然言語仕様格納データベース
122 記述/変換ルール格納データベース
123 形式仕様格納データベース
200 電子計算機
201 CPU
202 RAM
203 表示装置
204 入力装置
205 インターフェイス
210 外部記憶装置
100 specification creation support apparatus 101 input unit 102 natural language specification creation unit 103 model conversion unit 104 formal language specification creation unit 105 format verification execution unit 106 display unit 107 input / output control unit 108 design document creation unit 109 requirement interpolation unit 110 requirement description unit 120 Requirement interpolation rule storage database 121 Natural language specification storage database 122 Description / conversion rule storage database 123 Format specification storage database 200 Electronic computer 201 CPU
202 RAM
203 Display Device 204 Input Device 205 Interface 210 External Storage Device

Claims (10)

自然言語から形式言語に変換して仕様書を作成する仕様書作成支援装置であって、
要件ごとに、当該要件の自然言語による表現形式と、当該要件の形式言語による表現形式と、当該自然言語による表現形式に求められる入力情報の各々について当該入力情報の仕様書における参照元を示す入力参照元と、を有する記述変換ルールと、
自然言語で記載された不足要件導出要件形式と形式言語で記載された不足要件導出要件形式とを有する不足要件導出要件形式と、自然言語で記載された不足要件形式と、を有する要件補間ルールと、
前記記述変換ルールに基づき、一以上の自然言語による表現形式の候補を出力する自然言語形式出力手段と、
前記一以上の自然言語による表現形式の候補から一以上の自然言語による表現形式の選択を受け付ける自然言語表現受付手段と、
前記記述変換ルールに基づき、前記事前言語表現受付手段が受け付けた前記一以上の自然言語による表現形式各々に対応する入力参照元を当該一以上の自然言語による表現形式に求められる入力情報の候補として出力する入力情報候補出力手段と、
前記入力情報の候補から前記一以上の自然言語による表現形式各々に対する入力情報の選択を受け付ける入力情報受付手段と、
選択された前記一以上の自然言語による表現形式と前記入力情報から、自然言語により表現された一以上の要件を生成し、当該自然言語により表現された一以上の要件を有する自然言語の仕様書を作成する自然言語仕様書作成手段と、
前記自然言語の仕様書に含まれる各要件について、
当該要件の生成に用いられた自然言語による表現形式と対応する自然言語で記載された不足要件導出要件形式が前記要件補間ルールに登録されているか検索する不足要件導出要件形式検索手段と、
前記不足要件導出要件形式検索手段によって抽出された自然言語で記載された不足要件導出要件形式と対応付けられている形式言語で記載された不足要件導出要件形式に前記要件の作成に用いられた入力情報を適用し、不足要件導出情報を生成する不足要件導出情報生成手段と、
前記要件補間ルールに基づき、前記不足要件導出要件形式検索手段によって抽出された自然言語で記載された不足要件導出要件形式についての不足要件形式を抽出し、当該不足要件形式に前記不足要件導出情報を適用して自然言語で記載された不足要件を生成する不足要件生成手段と、
前記自然言語で記載された不足要件を前記自然言語の仕様書に追記する不足要件追記手段と、
当該自然言語の仕様書を前記記述変換ルールに基づいて形式言語の仕様書に変換し形式言語の仕様書を生成する言語変換手段と、
前記形式言語の仕様書を検証する仕様書検証手段と、
を有することを特徴とする仕様書作成支援装置。
A specification creation support device that converts a natural language into a formal language to create a specification,
For each requirement, an input indicating the reference source in the specification of the input information for each requirement information in the natural language expression format, the requirement formal language representation format, and the input information required for the natural language representation format A description conversion rule having a reference source;
A requirement interpolation rule having a deficiency requirement derivation requirement format having a deficiency requirement derivation requirement format described in a natural language and a deficiency requirement derivation requirement format described in a formal language; and a deficiency requirement format described in a natural language; ,
A natural language format output means for outputting one or more natural language expression format candidates based on the description conversion rule;
Natural language expression receiving means for receiving selection of one or more natural language expression formats from the one or more natural language expression format candidates;
Based on the description conversion rule, input information candidates required for the one or more natural language expression formats as input reference sources corresponding to the one or more natural language expression formats received by the prior language expression reception unit Input information candidate output means for outputting as:
Input information receiving means for receiving selection of input information for each of the expression formats in the one or more natural languages from the input information candidates;
From the selected expression format in the one or more natural languages and the input information, one or more requirements expressed in the natural language are generated, and the specification of the natural language having the one or more requirements expressed in the natural language A natural language specification creation means for creating
For each requirement included in the natural language specification,
A deficiency requirement derivation requirement format search means for searching whether the deficiency requirement derivation requirement format described in the natural language corresponding to the natural language expression format used to generate the requirement is registered in the requirement interpolation rule;
Input used to create the requirement in the requirement requirement derivation requirement format described in the formal language associated with the requirement requirement derivation requirement format described in the natural language extracted by the lack requirement requirement derivation format search means A deficiency requirement derivation information generating means for applying information and generating deficiency requirement derivation information;
Based on the requirement interpolation rule, a shortage requirement format for the shortage requirement derivation requirement format described in the natural language extracted by the shortage requirement derivation requirement format search means is extracted, and the shortage requirement derivation information is added to the shortage requirement format. Deficiency requirement generating means for applying and generating deficiency requirements written in natural language;
A deficiency requirement appending means for adding the deficiency requirement described in the natural language to the natural language specification;
Language conversion means for converting the natural language specification into a formal language specification based on the description conversion rules and generating a formal language specification;
Specification verification means for verifying the specification of the formal language;
A specification creation support apparatus characterized by comprising:
請求項1にかかる仕様書作成支援装置であって、
前記要件補間ルールの前記不足要件導出要件形式は、第一の自然言語で記載された不足要件導出要件形式と、第一の形式言語で記載された不足要件導出要件形式と、第二の自然言語で記載された不足要件導出要件形式と、第二の形式言語で記載された不足要件導出要件形式と、を有し、
前記不足要件導出要件形式検索手段は、
前記自然言語による仕様書に含まれる各要件について、
当該要件の生成に用いられた自然言語による表現形式と対応する第一の自然言語で記載された不足要件導出要件形式が前記要件補間ルールに登録されているか検索し、
前記不足要件導出情報生成手段は、
前記不足要件導出要件形式検索手段によって抽出された前記第一の自然言語で記載された不足要件導出要件形式と対応づけられている第一の形式言語で記載された不足要件導出要件形式に、前記要件の作成に用いられた入力情報を適用し、第一の不足要件導出情報を生成し、
前記不足要件導出要件形式検索手段は、
前記要件補間ルールに基づき、当該不足要件導出要件形式検索手段によって抽出された前記第一の自然言語で記載された不足要件導出要件形式に対応する第二の自然言語で記載された不足要件導出要件形式を抽出し、当該第二の自然言語で記載された不足要件導出要件形式と対応する要件が、前記自然言語による仕様書に存在するか検索し、
前記不足要件導出情報生成手段は、
前記第二の自然言語で記載された不足要件導出要件形式と対応する要件が前記自然言語による仕様書に存在する場合に、前記第二の自然言語で記載された不足要件導出要件形式と前記第一の不足要件導出情報から、第二の不足要件導出情報を生成し、
前記不足要件生成手段は、
前記要件補間ルールに基づき、前記第一の自然言語で記載された不足要件導出要件形式及び前記第二の自然言語で記載された不足要件導出要件形式に対応する自然言語で記載された不足要件形式を抽出し、当該自然言語で記載された不足要件形式に前記第一の不足要件導出情報と前記第二の不足要件導出情報を適用して自然言語で記載された不足要件を生成する
ことを特徴とする仕様書作成支援装置。
A specification creation support apparatus according to claim 1,
The deficiency requirement derivation requirement format of the requirement interpolation rule includes a deficiency requirement derivation requirement format described in a first natural language, a deficiency requirement derivation requirement format described in a first formal language, and a second natural language. And the deficiency requirement derivation requirement format described in the second formal language,
The deficient requirement derivation requirement format search means includes:
For each requirement included in the natural language specification,
Search whether the shortage requirement derivation requirement format described in the first natural language corresponding to the natural language representation format used to generate the requirement is registered in the requirement interpolation rule,
The deficient requirement derivation information generating means includes:
The shortage requirement derivation requirement format described in the first formal language associated with the shortage requirement derivation requirement format described in the first natural language extracted by the shortage requirement derivation requirement format search means, Apply the input information used to create the requirement to generate the first deficient requirement derivation information,
The deficient requirement derivation requirement format search means includes:
The deficiency requirement derivation requirement described in the second natural language corresponding to the deficiency requirement derivation requirement format described in the first natural language extracted by the deficiency requirement derivation requirement format search means based on the requirement interpolation rule. Extract the format, and search whether the requirement corresponding to the deficient requirement derivation requirement format described in the second natural language exists in the specification in the natural language,
The deficient requirement derivation information generating means includes:
When the requirement corresponding to the deficient requirement derivation requirement format described in the second natural language exists in the specification in the natural language, the deficiency requirement derivation requirement format described in the second natural language and the first Generate second deficiency requirement derivation information from one deficiency requirement derivation information,
The deficient requirement generating means is
Based on the requirement interpolation rule, the deficient requirement format described in the natural language corresponding to the deficient requirement derived requirement format described in the first natural language and the deficient requirement derived requirement format described in the second natural language And generating the deficiency requirements described in the natural language by applying the first deficiency requirement derivation information and the second deficiency requirement derivation information to the deficiency requirement format described in the natural language. A specification creation support device.
請求項2にかかる仕様書作成支援装置であって、
さらに、前記仕様書検証手段による前記形式言語の仕様書の検証に失敗した場合に、
前記自然言語の仕様書または前記形式言語の仕様書の修正を受け付ける仕様書修正手段を有し、
前記仕様書修正手段により前記自然言語の仕様書の修正を受け付けた場合は、前記仕様書作成支援装置は、
修正された自然言語の仕様書に含まれる各要件について、自然言語で記載された不足要件を生成して当該修正された自然言語の仕様書に追記することを特徴とする仕様書作成支援装置。
A specification creation support apparatus according to claim 2,
Further, when the specification verification unit fails to verify the formal language specification,
A specification correction means for accepting correction of the natural language specification or the formal language specification;
In the case where correction of the natural language specification is accepted by the specification correction means, the specification creation support device,
A specification creation support apparatus that generates, for each requirement included in a revised natural language specification, a shortage requirement written in the natural language and adds the requirement to the revised natural language specification.
請求項3にかかる仕様書作成支援装置であって、
前記記述変換ルールは、さらに、要件ごとに当該要件を一意に識別する変換識別子を有し、
前記要件補間ルールの不足要件導出要件形式の各々は、さらに、当該不足要件導出要件形式と対応する要件の変換識別子を有し、
前記不足要件導出要件形式検索手段は、前記自然言語の仕様書に記載された各々の要件について、
当該要件の変換識別子と同じ変換識別子を有する不足要件導出要件形式が前記要件補間ルールに登録されているか検索することを特徴とする仕様書作成支援装置。
A specification creation support apparatus according to claim 3,
The description conversion rule further includes a conversion identifier for uniquely identifying the requirement for each requirement,
Each of the shortage requirement derivation requirement format of the requirement interpolation rule further includes a conversion identifier of a requirement corresponding to the shortage requirement derivation requirement format,
The deficient requirement derivation requirement form search means, for each requirement described in the natural language specification,
A specification creation support apparatus that searches whether a requirement requirement derivation requirement format having the same conversion identifier as the requirement conversion identifier is registered in the requirement interpolation rule.
形式言語で仕様書を生成する仕様書作成支援装置であって、
形式言語で記載された第一の不足要件導出要件形式と、形式言語で記載された第二の不足要件導出要件形式と、形式言語で記載された不足要件形式と、を有する要件補間ルールと、
形式言語による仕様書に記載された要件各々について、
当該要件の形式と対応する第一の不足要件導出要件形式が前記要件補間ルールに登録されているか検索する第一不足要件導出要件形式検索手段と、
前記第一不足要件導出要件形式検索手段によって抽出された前記第一の不足要件導出要件形式に前記要件を構成する入力情報を適用し、第一の不足要件導出情報を生成する第一不足要件導出情報生成手段と、
前記要件補間ルールに基づき、前記第一不足要件導出要件形式検索手段によって抽出された前記第一の不足要件導出要件形式に対応する第二の不足要件導出要件形式を抽出し、当該第二の不足要件導出要件形式に対応する要件が前記形式言語による仕様書に存在するか検索する第二不足要件導出要件形式検索手段と、
前記第二不足要件導出要件検索手段によって抽出された前記第二の不足要件導出要件形式に前記第一の不足要件導出情報を適用し、第二の不足要件導出情報を生成する第二不足要件導出情報生成手段と、
前記要件補間ルールに基づき、前記第一の不足要件導出要件形式及び前記第二の不足要件導出要件形式に対応する不足要件形式を抽出し、当該不足要件形式に前記第一の不足要件導出情報と第二の不足要件導出情報を適用して、形式言語で記載された不足要件を生成する不足要件生成手段と、
前記形式言語で記載された不足要件を前記形式言語の仕様書に追記する不足要件追記手段と、
前記形式言語の仕様書を検証する仕様書検証手段と、
を有することを特徴とする仕様書作成支援装置。
A specification creation support device that generates a specification in a formal language,
A requirement interpolation rule having a first deficiency requirement derivation requirement format described in a formal language, a second deficiency requirement derivation requirement format described in a formal language, and a deficiency requirement format described in a formal language;
For each requirement listed in the specification in the formal language,
A first deficiency requirement derivation requirement format search means for searching whether a first deficiency requirement derivation requirement format corresponding to the requirement format is registered in the requirement interpolation rule;
First deficiency requirement derivation for generating first deficiency requirement derivation information by applying input information constituting the requirement to the first deficiency requirement derivation requirement format extracted by the first deficiency requirement derivation requirement format search means Information generating means;
Based on the requirement interpolation rule, a second deficiency requirement derivation requirement format corresponding to the first deficiency requirement derivation requirement format extracted by the first deficiency requirement derivation requirement format search means is extracted, and the second deficiency requirement format is extracted. A second deficient requirement derivation requirement format retrieval means for retrieving whether a requirement corresponding to the requirement derivation requirement format exists in the specification in the formal language;
Second deficiency requirement derivation for generating second deficiency requirement derivation information by applying the first deficiency requirement derivation information to the second deficiency requirement derivation requirement format extracted by the second deficiency requirement derivation requirement search means Information generating means;
Based on the requirement interpolation rule, a shortage requirement format corresponding to the first shortage requirement derivation requirement format and the second shortage requirement derivation requirement format is extracted, and the shortage requirement format includes the first shortage requirement derivation information and Applying the second deficiency requirement derivation information, deficiency requirement generation means for generating deficiency requirements described in a formal language,
A deficient requirement appending means for appending the deficient requirement described in the formal language to the specification of the formal language;
Specification verification means for verifying the specification of the formal language;
A specification creation support apparatus characterized by comprising:
自然言語から形式言語に変換して仕様書を作成する仕様書作成支援装置における方法であって、
前記仕様書作成支援装置は、
自然言語仕様作成部と、モデル変換部と、形式検証実行部と、
要件ごとに、当該要件の自然言語による表現形式と、当該要件の形式言語による表現形式と、当該自然言語による表現形式に求められる入力情報の各々について当該入力情報の仕様書における参照元を示す入力参照元と、を有する記述変換ルールと、
自然言語で記載された不足要件導出要件形式と形式言語で記載された不足要件導出要件形式とを有する不足要件導出要件形式と、自然言語で記載された不足要件形式と、を有する要件補間ルールと、
を有し、
前記自然言語仕様作成部が、
前記記述変換ルールに基づき、一以上の自然言語による表現形式の候補を出力する自然言語形式出力ステップと、
前記一以上の自然言語による表現形式の候補から一以上の自然言語による表現形式の選択を受け付ける自然言語表現受付ステップと、
前記記述変換ルールに基づき、前記事前言語表現受付ステップが受け付けた前記一以上の自然言語による表現形式各々に対応する入力参照元を当該一以上の自然言語による表現形式に求められる入力情報の候補として出力する入力情報候補出力ステップと、
前記入力情報の候補から前記一以上の自然言語による表現形式各々に対する入力情報の選択を受け付ける入力情報受付ステップと、
選択された前記一以上の自然言語による表現形式と前記入力情報から、自然言語により表現された一以上の要件を生成し、当該自然言語により表現された一以上の要件を有する自然言語の仕様書を作成する自然言語仕様書作成ステップと、
前記自然言語の仕様書に含まれる各要件について、
当該要件の生成に用いられた自然言語による表現形式と対応する自然言語で記載された不足要件導出要件形式が前記要件補間ルールに登録されているか検索する不足要件導出要件形式検索ステップと、
前記不足要件導出要件形式検索ステップによって抽出された自然言語で記載された不足要件導出要件形式と対応付けられている形式言語で記載された不足要件導出要件形式に前記要件の作成に用いられた入力情報を適用し、不足要件導出情報を生成する不足要件導出情報生成ステップと、
前記要件補間ルールに基づき、前記不足要件導出要件形式検索ステップによって抽出された自然言語で記載された不足要件導出要件形式についての不足要件形式を抽出し、当該不足要件形式に前記不足要件導出情報を適用して自然言語で記載された不足要件を生成する不足要件生成ステップと、
前記自然言語で記載された不足要件を前記自然言語の仕様書に追記する不足要件追記ステップと、
を有し、
前記モデル変換部が、
当該自然言語の仕様書を前記記述変換ルールに基づいて形式言語の仕様書に変換し形式言語の仕様書を生成する言語変換ステップと、
前記形式検証実行部が、
前記形式言語の仕様書を検証する仕様書検証ステップと、
を有することを特徴とする方法。
A method in a specification creation support apparatus for creating a specification by converting from a natural language to a formal language,
The specification creation support device includes:
A natural language specification creation unit, a model conversion unit, a format verification execution unit,
For each requirement, an input indicating the reference source in the specification of the input information for each requirement information in the natural language expression format, the requirement formal language representation format, and the input information required for the natural language representation format A description conversion rule having a reference source;
A requirement interpolation rule having a deficiency requirement derivation requirement format having a deficiency requirement derivation requirement format described in a natural language and a deficiency requirement derivation requirement format described in a formal language; and a deficiency requirement format described in a natural language; ,
Have
The natural language specification creating unit
A natural language format output step for outputting one or more natural language expression format candidates based on the description conversion rules;
A natural language expression accepting step for accepting selection of one or more natural language expression formats from the one or more natural language expression format candidates;
Based on the description conversion rule, input information candidates required for the one or more natural language expression formats as input reference sources corresponding to the one or more natural language expression formats received by the prior language expression reception step Input information candidate output step to output as
An input information receiving step for receiving selection of input information for each of the expression formats in the one or more natural languages from the input information candidates;
From the selected expression format in the one or more natural languages and the input information, one or more requirements expressed in the natural language are generated, and the specification of the natural language having the one or more requirements expressed in the natural language Creating natural language specifications,
For each requirement included in the natural language specification,
A deficient requirement derivation requirement format search step for searching whether the deficiency requirement derivation requirement format described in the natural language corresponding to the natural language expression format used to generate the requirement is registered in the requirement interpolation rule;
Input used to create the requirement in the requirement requirement derivation requirement format described in the formal language associated with the requirement requirement derivation requirement format described in the natural language extracted by the lack requirement derivation requirement format search step A deficiency requirement derivation information generation step that applies information and generates deficiency requirement derivation information;
Based on the requirement interpolation rule, a shortage requirement format for the shortage requirement derivation requirement format described in the natural language extracted by the shortage requirement derivation requirement format search step is extracted, and the shortage requirement derivation information is added to the shortage requirement format. A deficiency generation step to apply and generate deficiency requirements written in natural language;
A deficient requirement adding step for adding deficient requirements written in the natural language to the natural language specification;
Have
The model converter is
A language conversion step of converting the natural language specification into a formal language specification based on the description conversion rule to generate a formal language specification;
The format verification execution unit
A specification verification step for verifying the specification in the formal language;
A method characterized by comprising:
請求項6にかかる方法であって、
前記要件補間ルールの前記不足要件導出要件形式は、第一の自然言語で記載された不足要件導出要件形式と、第一の形式言語で記載された不足要件導出要件形式と、第二の自然言語で記載された不足要件導出要件形式と、第二の形式言語で記載された不足要件導出要件形式と、を有し、
前記不足要件導出要件形式検索ステップは、
前記自然言語による仕様書に含まれる各要件について、
当該要件の生成に用いられた自然言語による表現形式と対応する第一の自然言語で記載された不足要件導出要件形式が前記要件補間ルールに登録されているか検索し、
前記不足要件導出情報生成ステップは、
前記不足要件導出要件形式検索ステップによって抽出された前記第一の自然言語で記載された不足要件導出要件形式と対応づけられている第一の形式言語で記載された不足要件導出要件形式に、前記要件の作成に用いられた入力情報を適用し、第一の不足要件導出情報を生成し、
前記不足要件導出要件形式検索ステップは、
前記要件補間ルールに基づき、当該不足要件導出要件形式検索ステップによって抽出された前記第一の自然言語で記載された不足要件導出要件形式に対応する第二の自然言語で記載された不足要件導出要件形式を抽出し、当該第二の自然言語で記載された不足要件導出要件形式と対応する要件が、前記自然言語による仕様書に存在するか検索し、
前記不足要件導出情報生成ステップは、
前記第二の自然言語で記載された不足要件導出要件形式と対応する要件が前記自然言語による仕様書に存在する場合に、前記第二の自然言語で記載された不足要件導出要件形式と前記第一の不足要件導出情報から、第二の不足要件導出情報を生成し、
前記不足要件生成ステップは、
前記要件補間ルールに基づき、前記第一の自然言語で記載された不足要件導出要件形式及び前記第二の自然言語で記載された不足要件導出要件形式に対応する自然言語で記載された不足要件形式を抽出し、当該自然言語で記載された不足要件形式に前記第一の不足要件導出情報と前記第二の不足要件導出情報を適用して自然言語で記載された不足要件を生成する
ことを特徴とする方法。
A method according to claim 6, comprising:
The deficiency requirement derivation requirement format of the requirement interpolation rule includes a deficiency requirement derivation requirement format described in a first natural language, a deficiency requirement derivation requirement format described in a first formal language, and a second natural language. And the deficiency requirement derivation requirement format described in the second formal language,
The deficient requirement derivation requirement format search step includes:
For each requirement included in the natural language specification,
Search whether the shortage requirement derivation requirement format described in the first natural language corresponding to the natural language representation format used to generate the requirement is registered in the requirement interpolation rule,
The deficient requirement derivation information generation step includes:
The deficiency requirement derivation requirement format described in the first formal language associated with the deficiency requirement derivation requirement format described in the first natural language extracted by the deficiency requirement derivation requirement format search step, Apply the input information used to create the requirement to generate the first deficient requirement derivation information,
The deficient requirement derivation requirement format search step includes:
The deficiency requirement derivation requirement described in the second natural language corresponding to the deficiency requirement derivation requirement format described in the first natural language extracted by the deficiency requirement derivation requirement format search step based on the requirement interpolation rule. Extract the format, and search whether the requirement corresponding to the deficient requirement derivation requirement format described in the second natural language exists in the specification in the natural language,
The deficient requirement derivation information generation step includes:
When the requirement corresponding to the deficient requirement derivation requirement format described in the second natural language exists in the specification in the natural language, the deficiency requirement derivation requirement format described in the second natural language and the first Generate second deficiency requirement derivation information from one deficiency requirement derivation information,
The deficient requirement generation step includes:
Based on the requirement interpolation rule, the deficient requirement format described in the natural language corresponding to the deficient requirement derived requirement format described in the first natural language and the deficient requirement derived requirement format described in the second natural language And generating the deficiency requirements described in the natural language by applying the first deficiency requirement derivation information and the second deficiency requirement derivation information to the deficiency requirement format described in the natural language. And how to.
請求項7にかかる方法であって、
さらに、前記仕様書検証ステップによる前記形式言語の仕様書の検証に失敗した場合に、
前記自然言語の仕様書または前記形式言語の仕様書の修正を受け付ける仕様書修正ステップを有し、
前記仕様書修正ステップにより前記自然言語の仕様書の修正を受け付けた場合は、
前記方法は、
修正された自然言語の仕様書に含まれる各要件について、自然言語で記載された不足要件を生成して当該修正された自然言語の仕様書に追記することを特徴とする方法。
A method according to claim 7, comprising:
Further, when verification of the specification of the formal language in the specification verification step fails,
A specification correction step for accepting correction of the natural language specification or the formal language specification;
When the correction of the natural language specification is accepted by the specification correction step,
The method
A method comprising: generating, for each requirement included in the modified natural language specification, a shortage requirement described in the natural language and adding the requirement to the modified natural language specification.
請求項8にかかる方法であって、
前記記述変換ルールは、さらに、要件ごとに当該要件を一意に識別する変換識別子を有し、
前記要件補間ルールの不足要件導出要件形式の各々は、さらに、当該不足要件導出要件形式と対応する要件の変換識別子を有し、
前記不足要件導出要件形式検索ステップは、前記自然言語の仕様書に記載された各々の要件について、
当該要件の変換識別子と同じ変換識別子を有する不足要件導出要件形式が前記要件補間ルールに登録されているか検索することを特徴とする方法。
A method according to claim 8, comprising:
The description conversion rule further includes a conversion identifier for uniquely identifying the requirement for each requirement,
Each of the shortage requirement derivation requirement format of the requirement interpolation rule further includes a conversion identifier of a requirement corresponding to the shortage requirement derivation requirement format,
In the deficient requirement derivation requirement format search step, for each requirement described in the natural language specification,
A method of searching whether a deficient requirement derivation requirement format having the same conversion identifier as that of the requirement is registered in the requirement interpolation rule.
形式言語で仕様書を生成する仕様書作成支援装置における方法であって、
前記仕様書作成支援装置は、
形式言語仕様作成部と、形式検証実行部と、
形式言語で記載された第一の不足要件導出要件形式と、形式言語で記載された第二の不足要件導出要件形式と、形式言語で記載された不足要件形式と、を有する要件補間ルールと、
を有し、
前記形式言語仕様作成部が、
形式言語による仕様書に記載された要件各々について、
当該要件の形式と対応する第一の不足要件導出要件形式が前記要件補間ルールに登録されているか検索する第一不足要件導出要件形式検索ステップと、
前記第一不足要件導出要件形式検索ステップによって抽出された前記第一の不足要件導出要件形式に前記要件を構成する入力情報を適用し、第一の不足要件導出情報を生成する第一不足要件導出情報生成ステップと、
前記要件補間ルールに基づき、前記第一不足要件導出要件形式検索ステップによって抽出された前記第一の不足要件導出要件形式に対応する第二の不足要件導出要件形式を抽出し、当該第二の不足要件導出要件形式に対応する要件が前記形式言語による仕様書に存在するか検索する第二不足要件導出要件形式検索ステップと、
前記第二不足要件導出要件検索ステップによって抽出された前記第二の不足要件導出要件形式に前記第一の不足要件導出情報を適用し、第二の不足要件導出情報を生成する第二不足要件導出情報生成ステップと、
前記要件補間ルールに基づき、前記第一の不足要件導出要件形式及び前記第二の不足要件導出要件形式に対応する不足要件形式を抽出し、当該不足要件形式に前記第一の不足要件導出情報と第二の不足要件導出情報を適用して、形式言語で記載された不足要件を生成する不足要件生成ステップと、
前記形式言語で記載された不足要件を前記形式言語の仕様書に追記する不足要件追記ステップと、
を有し、
前記形式検証実行部が、
前記形式言語の仕様書を検証する仕様書検証ステップと、
を有することを特徴とする方法。
A method in a specification creation support device for generating a specification in a formal language,
The specification creation support device includes:
A formal language specification creation unit, a formal verification execution unit,
A requirement interpolation rule having a first deficiency requirement derivation requirement format described in a formal language, a second deficiency requirement derivation requirement format described in a formal language, and a deficiency requirement format described in a formal language;
Have
The formal language specification creation unit
For each requirement listed in the specification in the formal language,
A first deficiency requirement derivation requirement format search step for searching whether or not a first deficiency requirement derivation requirement format corresponding to the requirement format is registered in the requirement interpolation rule;
First deficiency requirement derivation for generating first deficiency requirement derivation information by applying input information constituting the requirement to the first deficiency requirement derivation requirement format extracted by the first deficiency requirement derivation requirement format search step An information generation step;
Based on the requirement interpolation rule, a second deficiency requirement derivation requirement format corresponding to the first deficiency requirement derivation requirement format extracted by the first deficiency requirement derivation requirement format search step is extracted, and the second deficiency requirement format is extracted. A second deficient requirement derivation requirement format search step for searching whether a requirement corresponding to the requirement derivation requirement format exists in the specification in the formal language;
The second deficiency requirement derivation information is generated by applying the first deficiency requirement derivation information to the second deficiency requirement derivation requirement format extracted by the second deficiency requirement derivation requirement search step. An information generation step;
Based on the requirement interpolation rule, a shortage requirement format corresponding to the first shortage requirement derivation requirement format and the second shortage requirement derivation requirement format is extracted, and the shortage requirement format includes the first shortage requirement derivation information and Applying the second deficiency requirement derivation information to generate the deficiency requirement described in the formal language;
A deficient requirement adding step of adding deficient requirements described in the formal language to the formal language specification;
Have
The format verification execution unit
A specification verification step for verifying the specification in the formal language;
A method characterized by comprising:
JP2011221489A 2011-10-06 2011-10-06 Specification creation support device and program Expired - Fee Related JP5634374B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011221489A JP5634374B2 (en) 2011-10-06 2011-10-06 Specification creation support device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011221489A JP5634374B2 (en) 2011-10-06 2011-10-06 Specification creation support device and program

Publications (2)

Publication Number Publication Date
JP2013084023A true JP2013084023A (en) 2013-05-09
JP5634374B2 JP5634374B2 (en) 2014-12-03

Family

ID=48529177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011221489A Expired - Fee Related JP5634374B2 (en) 2011-10-06 2011-10-06 Specification creation support device and program

Country Status (1)

Country Link
JP (1) JP5634374B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015040735A1 (en) * 2013-09-20 2015-03-26 株式会社日立製作所 Formal verification assistance device for software specifications and method thereof
JP2015176395A (en) * 2014-03-17 2015-10-05 カシオ計算機株式会社 information processing apparatus and program
JP2015191644A (en) * 2014-03-31 2015-11-02 株式会社日立公共システム Html document update method, html document update device, and html document update system
JP5998239B1 (en) * 2015-03-31 2016-09-28 エヌ・ティ・ティ・コムウェア株式会社 Software test apparatus, software test method, and software test program
JP5998238B1 (en) * 2015-03-31 2016-09-28 エヌ・ティ・ティ・コムウェア株式会社 Software test apparatus, software test method, and software test program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0371335A (en) * 1989-08-11 1991-03-27 Mitsubishi Electric Corp Automatic program generating system
JP2009116648A (en) * 2007-11-07 2009-05-28 Hitachi Ltd Method, device and program for supporting software design

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0371335A (en) * 1989-08-11 1991-03-27 Mitsubishi Electric Corp Automatic program generating system
JP2009116648A (en) * 2007-11-07 2009-05-28 Hitachi Ltd Method, device and program for supporting software design

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015040735A1 (en) * 2013-09-20 2015-03-26 株式会社日立製作所 Formal verification assistance device for software specifications and method thereof
JP2015176395A (en) * 2014-03-17 2015-10-05 カシオ計算機株式会社 information processing apparatus and program
JP2015191644A (en) * 2014-03-31 2015-11-02 株式会社日立公共システム Html document update method, html document update device, and html document update system
JP5998239B1 (en) * 2015-03-31 2016-09-28 エヌ・ティ・ティ・コムウェア株式会社 Software test apparatus, software test method, and software test program
JP5998238B1 (en) * 2015-03-31 2016-09-28 エヌ・ティ・ティ・コムウェア株式会社 Software test apparatus, software test method, and software test program

Also Published As

Publication number Publication date
JP5634374B2 (en) 2014-12-03

Similar Documents

Publication Publication Date Title
CN108762743B (en) Data table operation code generation method and device
JP5634374B2 (en) Specification creation support device and program
JP2009509271A (en) Apparatus and method for data profiling based on composition of extraction, transformation and reading tasks
US20120266131A1 (en) Automatic program generation device, method, and computer program
JP2006092316A (en) Structured document retrieval device, structured document retrieval method, and storage medium storing data for structured document retrieval
US8413109B2 (en) Systems and methods for metamodel transformation
JP2006099236A (en) Classification support device, classification support method, and classification support program
US8521762B2 (en) Automated business process modeling
JP2018180847A (en) Inquiry text search device, inquiry text search method, and inquiry text search program
JP6971929B2 (en) Inquiry statement output device and inquiry statement output method
JP5641901B2 (en) SQL verification system, method and program thereof
JP2011076561A (en) Parts catalog creation support device, program, and parts catalog creation support method
JP2008257510A (en) Design support system, method and program
JP2008027340A (en) Web service design method and device
JP6168422B2 (en) Information processing apparatus, information processing method, and program
JP2010102606A (en) Product configuration determination support apparatus and method
JP7111972B2 (en) Compliance determination device and method
JP2017199207A (en) Design specification input/output device, design specification input/output system and design specification input/output method
JP2015045939A (en) Unstructured data processing system, unstructured data processing method, and program
JP2004078436A (en) Input support apparatus
JP2007034806A (en) Information processor and program
JP2006031424A (en) Software development environment generation system by reuse of software component
JP2006185366A (en) Method and program for managing structured document
JP2006209655A (en) System development support method and system development support program
JP4120879B2 (en) Program generation system and method and program thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140708

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140825

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140916

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141014

LAPS Cancellation because of no payment of annual fees