JP5005510B2 - ソフトウェアの設計支援方法、設計支援装置及び設計支援プログラム - Google Patents
ソフトウェアの設計支援方法、設計支援装置及び設計支援プログラム Download PDFInfo
- Publication number
- JP5005510B2 JP5005510B2 JP2007289381A JP2007289381A JP5005510B2 JP 5005510 B2 JP5005510 B2 JP 5005510B2 JP 2007289381 A JP2007289381 A JP 2007289381A JP 2007289381 A JP2007289381 A JP 2007289381A JP 5005510 B2 JP5005510 B2 JP 5005510B2
- Authority
- JP
- Japan
- Prior art keywords
- formal
- natural language
- formal specification
- correction
- design support
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
本発明の第1の実施の形態では、プロセス記述言語Promela(Process Meta-Language、非特許文献1参照)を形式言語の例とする。また、本発明の第1の実施の形態で扱われる形式仕様は、形式仕様が満たすべき性質である、検証項目を含み、「形式仕様の検証」とは検証項目を除いた形式仕様が、前記検証項目を満たすかを検証することを指す。
本発明の第1の実施の形態では、プロセス記述言語Promelaを形式言語の例として説明したが、本発明の第2の実施の形態では、モデル規範型仕様記述言語B(非特許文献2)について本発明を適用する例について説明する。なお、本発明の第1の実施の形態と共通する構成及び処理については、説明を省略し、相違する点のみを説明する。
s ∈ NATURAL ∧
t ∈ NATURAL ∧
(t=1 ⇒ a=0)
⇒
(t=1 ⇒ a+1=0) ・・・(1)
s ∈ NATURAL ∧
t ∈ NATURAL ∧
(t=1 ⇒ a=0) ∧
(¬(s=1) ∨ ¬(t=1))
⇒
(t=1 ⇒ a+1=0) ・・・(2)
102 仕様修正部
103 入力部
104 表示部
105 入出力制御部
106 自然言語仕様作成部
107 自然言語仕様変換部
108 自然言語仕様テンプレートデータベース
109 自然言語仕様データベース
110 形式仕様データベース
111 形式言語変換規則データベース
112 仕様検証部
113 修正候補抽出部
114 修正候補変換部
115 検証履歴変換部
116 修正候補表示・選択部
117 形式仕様修正部
118 自然言語仕様修正部
119 形式仕様検証部
201 設計支援装置
202 CPU
203 メモリ
204 外部記憶装置
205 表示装置
206 入力装置
301 自然言語仕様DBデータテーブル
401 自然言語仕様
501 形式仕様
601 形式言語変換規則DBデータテーブル
701 修正候補表示・選択画面
Claims (11)
- ソフトウェアの設計支援装置を用いて、前記ソフトウェアの設計を支援する方法であって、
前記ソフトウェアの仕様は、意味規則及び構文規則が定義された形式言語によって記述された形式仕様であって、
前記設計支援装置は、プロセッサ、前記プロセッサに接続されるメモリ、及び記憶装置を備え、
前記設計支援方法は、
前記形式仕様が要求された検証項目を満たすか否かを、前記意味規則に基づいた所定の検証方法によって検証し、
前記形式仕様が前記検証項目を満たさない場合には、前記形式仕様に含まれる誤りとして、並列に実行されるプロセス交互動作単位の誤りを特定するための処理、又は、前記形式仕様に含まれる不変条件の不足を特定するための処理を実行し、
前記形式仕様に含まれる並列に実行されるプロセス交互動作単位の誤りを特定する処理を実行した場合は、前記所定の検証方法による形式仕様の検証履歴に基づいて、前記特定された誤りを修正するための修正候補を抽出し、前記形式仕様に含まれる不変条件の不足を特定するための処理を実行した場合は、前記形式仕様における不変条件の記述とシステムの操作に基づいて、前記特定された誤りを修正するための修正候補を抽出し、
前記抽出された修正候補を出力することを特徴とする設計支援方法。 - 前記設計支援方法は、さらに、
自然言語によって記述された自然言語仕様の入力を受け付け、
前記入力された自然言語仕様を、あらかじめ保持された自然言語仕様変換規則に基づいて、前記形式仕様に変換し、
前記自然言語仕様と前記形式仕様との対応を記憶し、
前記抽出された修正候補を出力する処理は、前記自然言語仕様と前記形式仕様との対応に基づいて、前記抽出された修正候補を自然言語で出力することを特徴とする請求項1に記載の設計支援方法。 - 前記抽出された修正候補を出力する処理は、複数の前記修正候補が抽出され、前記抽出された複数の修正候補に依存関係を有する修正候補が含まれる場合には、前記修正候補の依存関係に基づいて、前記抽出された修正候補の一覧を階層ごとに出力し、
前記設計支援方法は、さらに、前記出力された修正候補の選択を受け付けた場合に、前記選択された修正候補の下層にあるすべての修正候補が選択されることを特徴とする請求項1に記載の設計支援方法。 - 前記形式仕様には、一連の処理を含む複数のプロセスが記述され、
前記プロセスは、並列に実行され、
前記所定の検証方法は、前記プロセスに属する処理のすべての実行パターンについて検証し、
前記所定の検証方法による形式仕様の検証履歴は、前記プロセスに属する処理ごとに記録され、
前記修正候補を抽出する処理は、
前記所定の検証方法によって誤りが発見された実行パターンについて、連続して実行される処理であって、同じプロセスに属する処理の集合をブロックとし、
前記ブロックの実行順序を入れ替えて、新たな実行パターンを生成し、
前記生成された実行パターンが実行不可能な場合には、前記生成された実行パターンが実行されるように前記形式仕様を修正する方法を修正候補として抽出することを特徴とする請求項1に記載の設計支援方法。 - 前記修正候補を抽出する処理は、
前記形式仕様の前記検証項目に対応する論理式に基づいて、前記論理式の項を節とする木構造データを所定の方法で作成し、
前記木構造データの根から葉までの各節点に対応する論理式が矛盾しない枝を抽出し、
前記木構造データの根から葉までの各節点に対応する論理式のいずれかに矛盾する論理式を作成し、
前記作成された論理式を、前記形式仕様の前記検証項目に対応する論理式に連言結合することを修正候補とすることを特徴とする請求項1に記載の設計支援方法。 - ソフトウェアの設計支援装置において、
前記ソフトウェアの仕様は、意味規則及び構文規則が定義された形式言語によって記述された形式仕様であって、
前記設計支援装置は、プロセッサ、前記プロセッサに接続されるメモリ、及び記憶装置を備え、
前記プロセッサは、
前記形式仕様が要求された検証項目を満たすか否かを、前記意味規則に基づいた所定の検証方法によって検証し、
前記形式仕様が前記検証項目を満たさない場合には、前記形式仕様に含まれる誤りとして、並列に実行されるプロセス交互動作単位の誤りを特定するための処理、又は、前記形式仕様に含まれる不変条件の不足を特定するための処理を実行し、
前記形式仕様に含まれる並列に実行されるプロセス交互動作単位の誤りを特定する処理を実行した場合は、前記所定の検証方法による形式仕様の検証履歴に基づいて、前記特定された誤りを修正するための修正候補を抽出し、前記形式仕様に含まれる不変条件の不足を特定するための処理を実行した場合は、前記形式仕様における不変条件の記述とシステムの操作に基づいて、前記特定された誤りを修正するための修正候補を抽出し、
前記抽出された修正候補を出力することを特徴とする設計支援装置。 - 前記プロセッサは、
自然言語によって記述された自然言語仕様の入力を受け付け、
前記入力された自然言語仕様を、あらかじめ保持された自然言語仕様変換規則に基づいて、前記形式仕様に変換し、
前記自然言語仕様と前記形式仕様との対応を記憶し、
前記抽出された修正候補が形式言語で記述されている場合には、前記自然言語仕様と前記形式仕様との対応に基づいて、前記抽出された修正候補を自然言語で出力することを特徴とする請求項6に記載の設計支援装置。 - 前記プロセッサは、
複数の前記修正候補が抽出され、前記抽出された複数の修正候補に依存関係を有する修正候補が含まれる場合には、前記修正候補の依存関係に基づいて、前記抽出された修正候補の一覧を階層ごとに出力し、
前記出力された修正候補の選択を受け付けた場合に、前記選択された修正候補の下層にあるすべての修正候補を選択することを特徴とする請求項6に記載の設計支援装置。 - 前記形式仕様には、一連の処理を含む複数のプロセスが記述され、
前記プロセスは、並列に実行され、
前記所定の検証方法は、前記プロセスに属する処理のすべての実行パターンについて検証し、
前記所定の検証方法による形式仕様の検証履歴は、前記プロセスに属する処理ごとに記録され、
前記プロセッサは、
前記所定の検証方法によって誤りが発見された実行パターンについて、連続して実行される処理であって、同じプロセスに属する処理の集合をブロックとし、
前記ブロックの実行順序を入れ替えて、新たな実行パターンを生成し、
前記生成された実行パターンが実行不可能な場合には、前記生成された実行パターンが実行されるように前記形式仕様を修正する方法を修正候補として抽出することを特徴とする請求項6に記載の設計支援装置。 - 前記プロセッサは、
前記形式仕様の前記検証項目に対応する論理式に基づいて、前記論理式の項を節とする木構造データを所定の方法で作成し、
前記木構造データの根から葉までの各節点に対応する論理式が矛盾しない枝を抽出し、
前記木構造データの根から葉までの各節点に対応する論理式のいずれかに矛盾する論理式を作成し、
前記作成された論理式を、前記形式仕様の前記検証項目に対応する論理式に連言結合することを修正候補とすることを特徴とする請求項6に記載の設計支援装置。 - ソフトウェアの設計支援装置で実行される設計支援プログラムであって、
前記ソフトウェアの仕様は、意味規則及び構文規則が定義された形式言語によって記述された形式仕様であって、
前記設計支援プログラムは、
前記形式仕様が要求された検証項目を満たすか否かを、前記意味規則に基づいた所定の検証方法によって検証する手順と、
前記形式仕様が前記検証項目を満たさない場合には、前記形式仕様に含まれる誤りとして、並列に実行されるプロセス交互動作単位の誤りを特定するための処理、又は、前記形式仕様に含まれる不変条件の不足を特定するための処理を実行する手順と、
前記形式仕様に含まれる並列に実行されるプロセス交互動作単位の誤りを特定する処理を実行した場合は、前記所定の検証方法による形式仕様の検証履歴に基づいて、前記特定された誤りを修正するための修正候補を抽出し、前記形式仕様に含まれる不変条件の不足を特定するための処理を実行した場合は、前記形式仕様における不変条件の記述とシステムの操作に基づいて、前記特定された誤りを修正するための修正候補を抽出する手順と、
前記抽出された修正候補を出力する手順と、を前記設計支援装置に実行させることを特徴とする設計支援プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007289381A JP5005510B2 (ja) | 2007-11-07 | 2007-11-07 | ソフトウェアの設計支援方法、設計支援装置及び設計支援プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007289381A JP5005510B2 (ja) | 2007-11-07 | 2007-11-07 | ソフトウェアの設計支援方法、設計支援装置及び設計支援プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009116648A JP2009116648A (ja) | 2009-05-28 |
JP5005510B2 true JP5005510B2 (ja) | 2012-08-22 |
Family
ID=40783728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007289381A Expired - Fee Related JP5005510B2 (ja) | 2007-11-07 | 2007-11-07 | ソフトウェアの設計支援方法、設計支援装置及び設計支援プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5005510B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5212264B2 (ja) * | 2009-06-02 | 2013-06-19 | 富士通株式会社 | プロパティ修正プログラム、プロパティ修正装置、およびプロパティ修正方法 |
JP5524244B2 (ja) * | 2010-02-02 | 2014-06-18 | 株式会社日立製作所 | 仕様モデル検査方法および仕様モデル検査装置 |
JP5751431B2 (ja) | 2010-04-12 | 2015-07-22 | 日本電気株式会社 | 不整合検出システム、方法、およびプログラム |
JP5508933B2 (ja) * | 2010-05-18 | 2014-06-04 | 株式会社日立製作所 | ソフトウェア仕様の証明支援装置、及び証明支援方法 |
WO2013038469A1 (ja) * | 2011-09-12 | 2013-03-21 | 株式会社 日立製作所 | ソフトウェア仕様の証明再利用支援装置、ソフトウェア仕様の証明再利用支援方法、ソフトウェア仕様の証明再利用支援プログラム |
JP5634374B2 (ja) * | 2011-10-06 | 2014-12-03 | 株式会社日立製作所 | 仕様作成支援装置、及び、プログラム |
WO2014097790A1 (ja) * | 2012-12-18 | 2014-06-26 | 日本電気株式会社 | 要求間矛盾判定システム、要求間矛盾判定方法、および、要求間矛盾判定プログラム |
JP6268062B2 (ja) * | 2014-08-20 | 2018-01-24 | 株式会社日立製作所 | ソフトウェア仕様抽出装置、方法、及びプログラム |
JP5998239B1 (ja) * | 2015-03-31 | 2016-09-28 | エヌ・ティ・ティ・コムウェア株式会社 | ソフトウェア試験装置、ソフトウェア試験方法及びソフトウェア試験用プログラム |
JP5998238B1 (ja) * | 2015-03-31 | 2016-09-28 | エヌ・ティ・ティ・コムウェア株式会社 | ソフトウェア試験装置、ソフトウェア試験方法及びソフトウェア試験用プログラム |
JP2020067976A (ja) * | 2018-10-26 | 2020-04-30 | 株式会社デンソー | モデル生成装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0546370A (ja) * | 1991-08-16 | 1993-02-26 | Toshiba Corp | プログラム生成装置 |
JPH06149560A (ja) * | 1992-11-06 | 1994-05-27 | Toshiba Corp | 形式的仕様記述ソフトウェアのエラー特定装置 |
-
2007
- 2007-11-07 JP JP2007289381A patent/JP5005510B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009116648A (ja) | 2009-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5005510B2 (ja) | ソフトウェアの設計支援方法、設計支援装置及び設計支援プログラム | |
US8438534B2 (en) | Transformation of data between hierarchical data formats | |
JP5159713B2 (ja) | システムの構成要素の設計アーキテクチャを自動設計する自動設計装置、自動設計方法及び自動設計プログラム | |
JP5207007B2 (ja) | モデル検証システム、モデル検証方法および記録媒体 | |
JPS6375835A (ja) | 目的コ−ド、プログラム・リスト及び設計文書を生成する装置 | |
US8140894B2 (en) | Transaction regions in graphical computer-implemented methods of processing data | |
JP2007087215A (ja) | ハードウェアモデルの変換処理に用いられるデータ構造、コンピュータプログラム、方法、及びシステム | |
JP4613214B2 (ja) | ソフトウェア自動構成装置 | |
US20050188323A1 (en) | Template creation apparatus and creation method | |
US8732596B2 (en) | Transformation of hierarchical data formats using graphical rules | |
CN110162297A (zh) | 一种源代码段自然语言描述自动生成方法及系统 | |
US20090327874A1 (en) | Validation assisted document conversion design | |
US20110161934A1 (en) | Generating and monitoring data items | |
JP5460629B2 (ja) | 表形式ソフトウェア仕様作成支援方法、及び装置 | |
JP5405684B1 (ja) | ソースプログラムのプログラミング言語変換装置 | |
JP2008225898A (ja) | 変換装置、変換プログラム及び変換方法 | |
JPH11306046A (ja) | テストケース生成システム及びテストケース生成方法 | |
JP5025542B2 (ja) | プロパティ抽出装置及び方法 | |
JP6993573B2 (ja) | プログラム解析方法、プログラム解析装置およびプログラム解析プログラム | |
CN114296726A (zh) | 一种代码生成方法、装置、计算机设备和存储介质 | |
JP6062735B2 (ja) | ソフトウェア開発支援装置、ソフトウェア開発支援方法、ソフトウェア開発支援プログラム | |
JP2010165205A (ja) | モデルのテンプレート自動生成システム、方法及びプログラム | |
JP5600826B1 (ja) | 非構造化データ処理システム、非構造化データ処理方法およびプログラム | |
da Silva et al. | Toward a Method to Generate Capability Ontologies from Natural Language Descriptions | |
JP6086420B2 (ja) | 設計記述間差分解析装置、設計記述間差分解析プログラムおよび設計記述間差分解析方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100127 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120309 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120410 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120424 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120523 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150601 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |