図面 (/)

技術 ソフトウェア開発支援装置

出願人 三菱重工業株式会社
発明者 夏目明典佐々木敬弘
出願日 2007年2月23日 (14年0ヶ月経過) 出願番号 2007-044021
公開日 2008年9月11日 (12年5ヶ月経過) 公開番号 2008-210015
状態 未査定
技術分野 デバッグ/監視 ストアードプログラム制御 ストアードプログラム ストアードプログラム
主要キーワード 数値解析ソフトウェア 各演算要素 問題発生箇所 C言語 制御ロジック図 ロジック制御 Cモード 結線関係
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2008年9月11日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (19)

課題

仕様書制御プログラム間の整合性の検証を支援すること。

解決手段

制御プログラム仕様書に基づいて作成されるとともに、項目毎にその要素が所定のルールに従って記述されたロジック仕様書データファイルを格納する第1の記憶部11と、該ロジック仕様書に基づいて作成された制御ブロック図のネットリストを格納する第2の記憶部12と、ロジック仕様書のデータファイルとネットリストとを照合する際のルールが項目毎に定義されている照合ルール定義情報に従って、ロジック仕様書のデータファイルとネットリストとを項目毎に照合する照合部13と、照合部13による照合の結果を出力する出力部14とを具備するソフトウェア開発支援装置を提供する。

概要

背景

製品品質の向上を図るためには、年々増加する傾向にある制御ソフトウェア品質向上が欠かせない。制御ソフトウェアにおける問題発生箇所は、例えば、以下の3点に分類できる。
一つ目は、仕様書の問題であり、ソフトウェアで実現したい機能を仕様書の形で表現できていないことから発生する。二つ目は、仕様書と制御プログラム間の整合性の問題であり、仕様書に書かれた機能が制御プログラムに正しく具体化できていないことから発生する。三つ目は制御プログラム自体のバグの問題である。
特開2004−110415号公報

概要

仕様書と制御プログラム間の整合性の検証を支援すること。制御プログラム仕様書に基づいて作成されるとともに、項目毎にその要素が所定のルールに従って記述されたロジック仕様書データファイルを格納する第1の記憶部11と、該ロジック仕様書に基づいて作成された制御ブロックネットリストを格納する第2の記憶部12と、ロジック仕様書のデータファイルとネットリストとを照合する際のルールが項目毎に定義されている照合ルール定義情報に従って、ロジック仕様書のデータファイルとネットリストとを項目毎に照合する照合部13と、照合部13による照合の結果を出力する出力部14とを具備するソフトウェア開発支援装置を提供する。

目的

本発明は、制御ロジック図を用いて制御プログラムを開発する場合において、仕様書と制御プログラム間の整合性の検証を支援するプログラム開発支援システムを提供することを目的とする。

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

制御プログラム仕様書に基づいて作成されるとともに、項目毎にその要素が所定のルールに従って記述されたロジック仕様書データファイルを格納する第1の記憶部と、該ロジック仕様書に基づいて作成された制御ブロック図のネットリストを格納する第2の記憶部と、前記ロジック仕様書のデータファイルと前記ネットリストとを照合する際のルールが項目毎に定義されている照合ルール定義情報に従って、前記ロジック仕様書のデータファイルと前記ネットリストとを項目毎に照合する照合部とを具備するソフトウェア開発支援装置

請求項2

前記照合部は、前記ロジック仕様書のデータファイルに記述されているが前記ネットリストに記述されていない要素を不足機能として項目毎に区分して出力するとともに、前記ネットリストに記述されているが前記ロジック仕様書のデータファイルに記述されていない要素を過剰機能として項目毎に区分して出力する請求項1に記載のソフトウェア開発支援装置。

請求項3

前記照合部は、ロジック仕様書のデータファイルのファイル名と前記ネットリストのファイル名とを照合するファイル名照合部を備える請求項1または請求項2に記載のソフトウェア開発支援装置。

請求項4

前記照合部は、入力変数を照合する入力変数照合部および出力変数を照合する出力変数照合部の少なくともいずれか一方を備える請求項1から請求項3のいずれかに記載のソフトウェア開発支援装置。

請求項5

前記照合部は、前記ロジック仕様書のデータファイルに定義されている制御機能内容から演算要素構成を抽出し、該演算要素構成とネットリストに記述されている演算要素およびその接続関係から把握される演算要素構成とを照合する機能照合部を備える請求項1から請求項4のいずれかに記載のソフトウェア開発支援装置。

請求項6

前記機能照合部が参照する照合ルール定義情報は、仕様書用定義情報とネットリスト用定義情報とを含み、該仕様書用定義情報には、前記ロジック仕様書に記述されている制御機能内容の説明文文章構造と演算要素構成とが対応付けられており、前記ネットリスト用定義情報には、ネットリストにおける演算要素構成及びその接続関係の記述ルールが記述されている請求項5に記載のソフトウェア開発支援装置。

技術分野

0001

本発明は、ソフトウェア開発過程において、仕様書制御ソフトウェアとの間の整合性を自動的に検証するソフトウェア開発支援装置に関するものである。

背景技術

0002

製品品質の向上を図るためには、年々増加する傾向にある制御ソフトウェアの品質向上が欠かせない。制御ソフトウェアにおける問題発生箇所は、例えば、以下の3点に分類できる。
一つ目は、仕様書の問題であり、ソフトウェアで実現したい機能を仕様書の形で表現できていないことから発生する。二つ目は、仕様書と制御プログラム間の整合性の問題であり、仕様書に書かれた機能が制御プログラムに正しく具体化できていないことから発生する。三つ目は制御プログラム自体のバグの問題である。
特開2004−110415号公報

発明が解決しようとする課題

0003

このうち、三つ目の制御プログラムのバグの問題については、数値解析ソフトウェア(例えば、MATLAB/Simulink等)のような制御ロジック図を用いて、C言語プログラム等を自動的に生成することにより、プログラマーヒューマンエラーによるバグの混入を防ぐ方法が自動車関連企業を中心に進められている。
一方、仕様書の問題、および仕様書と制御プログラムとの間の整合性の問題は、依然として人手に頼っているのが現状であり、この自動化による開発効率の向上、検証精度の向上が要請されている。
また、特許文献1には、Webアプリケーションソフトウェアなどのソフトウェア開発に際し、モデル分類されたクラスの関連付けを精度よく検証することのできるソフトウェア開発支援装置が開示されている。
しかしながら、特許文献1には、上述したような仕様書と制御プログラムとの間の整合性の問題を解決する方法は一切開示されていない。

0004

本発明は、制御ロジック図を用いて制御プログラムを開発する場合において、仕様書と制御プログラム間の整合性の検証を支援するプログラム開発支援システムを提供することを目的とする。

課題を解決するための手段

0005

上記課題を解決するために、本発明は以下の手段を採用する。
本発明は、制御プログラム仕様書に基づいて作成されるとともに、項目毎にその要素が所定のルールに従って記述されたロジック仕様書データファイルを格納する第1の記憶部と、該ロジック仕様書に基づいて作成された制御ブロック図のネットリストを格納する第2の記憶部と、前記ロジック仕様書のデータファイルと前記ネットリストとを照合する際のルールが項目毎に定義されている照合ルール定義情報に従って、前記ロジック仕様書のデータファイルと前記ネットリストとを項目毎に照合する照合部とを具備するソフトウェア開発支援装置を提供する。

0006

このような構成によれば、ロジック仕様書のデータファイルに記述されている内容とネットリストに記述されている内容とが項目毎に照合されるので、ロジック仕様書とネットリストの元になった制御ブロック図との整合性を自動的に検証することが可能となる。

0007

上記ソフトウェア開発支援装置において、前記照合部は、前記ロジック仕様書のデータファイルに記述されているが前記ネットリストに記述されていない要素を不足機能として項目毎に区分して出力するとともに、前記ネットリストに記述されているが前記ロジック仕様書のデータファイルに記述されていない要素を過剰機能として項目毎に区分して出力することとしてもよい。

0008

このような構成によれば、照合結果が一致しなかった場合に、ロジック仕様書およびネットリストのうち、どちらの書類に記述されていなかったのかということまで照合結果として出力されるので、ソフトウェア開発者等は、この出力結果を確認することにより、整合性を確保するような修正を容易に行うことが可能となる。

0009

上記ソフトウェア開発支援装置において、前記照合部は、ロジック仕様書のデータファイルのファイル名と前記ネットリストのファイル名とを照合するファイル名照合部を備えることとしてもよい。

0010

このような構成によれば、ファイル名の整合性を容易に確認することができる。

0011

上記ソフトウェア開発支援装置において、前記照合部は、入力変数を照合する入力変数照合部および出力変数を照合する出力変数照合部の少なくともいずれか一方を備えることとしてもよい。

0012

このような構成によれば、入力変数および出力変数の少なくともいずれ一方の整合性を容易に確認することができる。

0013

上記ソフトウェア開発支援装置において、前記照合部は、前記ロジック仕様書のデータファイルに定義されている制御機能内容から演算要素構成を抽出し、該演算要素構成とネットリストに記述されている演算要素およびその接続関係から把握される演算要素構成とを照合する機能照合部を備えることとしてもよい。

0014

このような構成によれば、機能内容の整合性を容易に確認することができる。

0015

上記ソフトウェア開発支援装置において、前記機能照合部が参照する照合ルール定義情報は、仕様書用定義情報とネットリスト用定義情報とを含み、該仕様書用定義情報には、前記ロジック仕様書に記述されている制御機能内容の説明文文章構造と演算要素構成とが対応付けられており、前記ネットリスト用定義情報には、ネットリストにおける演算要素及びその接続関係の記述ルールが記述されていることとしてもよい。

0016

制御機能内容の説明文の文章構造と演算要素構成とが対応付けられている仕様書用定義情報を有するので、文章で記述されている制御機能内容から容易に演算要素構成を特定することが可能となる。更に、ネットリストにおける演算要素およびその接続関係の記述ルールが記述されているネットリスト用定義情報を有するので、ネットリストの記述内容から容易に演算要素構成を把握することが可能となる。そして、ロジック仕様書における演算要素構成とネットリストにおける演算要素構成とを照合することにより、両者間の整合性を容易に判定することができる。
また、上記態様は、可能な範囲で組み合わせて利用することができるものである。

0017

本発明のソフトウェア開発支援装置は、例えば、自動車産業分野空気調和機、或いはプラント等の産業分野等のように、制御ロジック図を用いて制御プログラムの設計を行うソフトウェア開発において幅広く適用されるものである。

発明の効果

0018

本発明によれば、制御ロジック図を用いて制御プログラムを開発する場合において、仕様書と制御プログラム間とに整合性が取れているかを容易に確認することができるという効果を奏する。

発明を実施するための最良の形態

0019

以下に、本発明に係るソフトウェア開発支援装置の一実施形態について、図面を参照して説明する。
本発明の一実施形態に係るソフトウェア開発支援装置についての詳細を説明する前に、制御プログラムの開発手順について図1を用いて簡単に説明する。
まず、開発担当者等により制御プログラム仕様書が作成される(図1のステップSA1)。この制御プログラム仕様書は、これから作成する制御プログラムが実現する機能を列挙したような書類である。

0020

上記制御プログラム仕様書が完成すると、続いて、開発担当者等により、制御プログラム仕様書の内容を細分化したロジック仕様書が作成される(図1のステップSA2)。ここで、1枚のロジック仕様書は、後段の作業で作成される1つの制御ロジック図に対応している。このように、ロジック仕様書と制御ロジックとを1対1で対応させることにより、ロジック仕様書と制御ロジックとの整合性の検証を容易に行うことが可能となる。

0021

ロジック仕様書は、例えば、ロジック仕様書を作成するためのツールがインストールされたコンピュータを用いて作成される。例えば、開発担当者が、コンピュータの画面上に表示された所定の書式に対し、制御プログラム仕様書に基づいて必要事項を入力することによりロジック仕様書が作成される。
ロジック仕様書の一例を図2に示す。この図に示すように、ロジック仕様書には、入力変数、出力変数、内容(制御機能内容)等の項目毎に、その要素が所定のルールに従ってそれぞれ記述されると共に、制御ロジック図作成時に当該ロジック仕様書との対応がつくように、シートNo.(ファイル名)、シート名等が記述される。
作成されたロジック仕様書のデータは、コンピュータ内の所定の記憶領域に格納され、後述する制御ロジックの作成過程ならびにソフトウェア開発装置1(図5参照)において利用される。

0022

ロジック仕様書が作成されると、続いて、プログラム開発者により、各ロジック仕様書に対応する制御ロジック図がそれぞれ作成される(図1のステップSA3)。制御ロジック図の作成は、例えば、MATLAB等の開発支援ツールがインストールされたコンピュータを用いて行われる。

0023

図3は、図2に示したロジック仕様書に対応する制御ロジック図の一例を示した図である。図3に示すように、制御ロジック図は、制御プログラムを視覚的に表現するもので、例えば、AND、OR、NOT等の種々の図形要素とそれらを結びつける結線とにより構成されている。図形要素は、それぞれが所定の演算を示していることから演算要素とも呼ばれている。このような図形要素を用いた記述は、自動車業界、プラント等の各種分野における制御プログラムの開発において幅広く用いられている。

0024

また、上記制御ロジック図を作成するための開発支援ツールがインストールされているコンピュータでは、プログラム開発者により作成された制御ブロック図をユーザに理解されやすいプログラム言語で記述したネットリストが自動的に生成される(図1のステップSA4)。図4は、図3に示した制御ロジック図に対応するネットリストの一部を示した図である。

0025

続いて、上記制御ロジック図が作成されると、作成された制御ロジック図から自動的に制御プログラムが生成される(ステップSA5)。

0026

次に、本発明の一実施形態に係るソフトウェア開発支援装置について説明する。
ソフトウェア開発支援装置1は、いわゆるパーソナルコンピュータを備えており、例えば、図5に示すように、CPU(中央演算装置)5、RAM(Random Access Memory)6、ROM(Read Only Memory)7、及びHD(Hard Disc)8等を備えるコンピュータ本体2と、コンピュータ本体2に接続されるキーボードマウス等の入力装置3と、コンピュータ本体2に接続されるCRT(cathode-ray tube)やLCD(liquid Crystal Display)等の表示装置4とを主な構成として備えている。

0027

本実施形態に係るソフトウェア開発支援装置1により実現される後述の各種機能は、プログラムの形式でコンピュータ読取可能な記録媒体に記憶されており、このプログラムをコンピュータ本体2に内蔵されるCPU5がRAM6等の主記憶装置読み出して、情報の加工・演算処理を実行することにより、後述する各種処理が実現される。
コンピュータ読み取り可能な記録媒体とは、コンピュータ本体2に内蔵される上述のROM7、HD8等の他、例えば、磁気ディスク光磁気ディスクCD−ROM、DVD−ROM、半導体メモリ等をいう。

0028

図6は、コンピュータ本体2の機能ブロック図である。
図6に示すように、コンピュータ本体2は、ロジック仕様書のデータファイルを格納する第1の記憶部11、制御ロジック図のネットリストを格納する第2の記憶部12、ロジック仕様書のデータファイルとネットリストとを照合する際のルールが項目毎に定義されている照合ルール定義情報に従って、ロジック仕様書のデータファイルとネットリストとを項目毎に照合する照合部13と、照合部13による照合の結果を出力する出力部14とを備えている。

0029

上記第1の記憶部11および第2の記憶部12に格納されるロジック仕様書のデータファイルならびに制御ロジック図のネットリストは、これらロジック仕様書および制御ロジックを作成するのに用いられたコンピュータからLAN等の通信媒体を介してコンピュータ本体2に入力されるものでもよいし、USBメモリやCD−ROM等の持ち運び可能な記憶媒体から所定のインターフェースを介してコンピュータ本体に読み込まれるものでもよい。
なお、ロジック仕様書については、上述したコンピュータを用いて作成される場合の他、開発担当者により、用紙にペン等で記述される場合がある。この場合には、ロジック仕様書の用紙をスキャナ等で読み込むことで電子データ化したものを第1の記憶部21に格納することとしてもよい。
なお、上記第1の記憶部21、第2の記憶部22は、物理的に分離された2つの記憶部としてコンピュータ本体2に内蔵、或いは、コンピュータ本体2に接続されていてもよいし、1つの記憶装置メモリ領域を仮想的に分割した場合の一部を第1の記憶部21、他の一部を第2の記憶部として取り扱うこととしてもよい。

0030

照合部13は、ファイル名照合部21、入力変数照合部22、出力変数照合部23、機能照合部24、不足機能検出部25、及び余剰機能検出部26を備えている。

0031

〔ファイル名照合部〕
上記ファイル名照合部21は、ロジック仕様書のデータファイルのファイル名とネットリストのファイル名とを照合する。
ここで、上述した照合ルール定義情報には、「ファイル名は、ロジック仕様書において、”シートNo.”の欄に記述されており、ネットリストにおいて、”System”の”{ }”内を検索し、”Name”に対応する箇所に記述されている。」ことが定義されている。
ファイル名照合部21は、上記照合ルール定義情報に基づいて、ロジック仕様書のデータファイルおよびこのロジック仕様書と整合性を比較するネットリスト(以下「比較対象のネットリスト」という。)からファイル名を取得し、これらを照合する。この結果、両者が一致すれば一致した旨を、一致しなければ不一致である旨を照合結果として不足機能検出部25および余剰機能検出部26に出力する。

0032

例えば、図2に示したロジック仕様書と、図7に示すネットリストとを照合する場合、ファイル名照合部21は、まず、ロジック仕様書において”シートNo.”の欄を検索し、その欄に記述されている”ML_TwcutProtect”をファイル名として抽出する。次に、ファイル名照合部21は、図7に示したネットリストにおいて、”System”の”{ }”内を検索し、”Name”に対応する箇所に記述されている”ML_TwcutProtect”(図7ブロックBL1参照)をファイル名として抽出する。そして、両者のファイル名を照合する。この結果、両者のファイル名は一致しているので、ファイル名照合部21は、不足機能検出部25および余剰機能検出部26に一致している旨を出力する。

0033

〔入力変数照合部〕
入力変数照合部22は、ロジック仕様書の入力変数とネットリストの入力変数とを照合する。
ここで、上述した照合ルール定義情報には、「入力変数は、ロジック仕様書において、”入力変数”の欄に記述されており、ネットリストにおいて、”Block”の”{ }”内を検索し、”Blocktype”が”Inport”であるブロックを見つけ、そのブロック内の”Name”に対応する箇所に記述されている。」ことが定義されている。
入力変数照合部21は、上記照合ルール定義情報に基づいて、ロジック仕様書のデータファイルから入力変数を取得し、これらの入力変数が比較対象のネットリストに記述されているかを判定する。この結果、ロジック仕様書のデータファイルに記述されている全ての入力変数が比較対象のネットリストに記述されていた場合には、一致した旨を照合結果として不足機能検出部25に出力する。一方、ロジック仕様書のデータファイルに記述されている全ての入力変数が、比較対象のネットリストに記述されていなかった場合には、ネットリストに記述されていない入力変数を不足機能検出部25に出力する。

0034

同様に、入力変数照合部22は、上記照合ルール定義情報に基づいて比較対象のネットリストから入力変数を全て取得し、これらの入力変数がロジック仕様書のデータファイルに記述されているかを判定する。この結果、比較対象のネットリストに記述されている全ての入力変数がロジック仕様書のデータファイルに記述されていた場合には、一致した旨を照合結果として余剰機能検出部26に出力する。一方、比較対象のネットリストに記述されている全ての入力変数が、ロジック仕様書のデータファイルに記述されていなかった場合には、ロジック仕様書のデータファイルに記述されていない入力変数を余剰機能検出部26に出力する。

0035

例えば、図2に示したロジック仕様書と、図8に示すネットリストとを照合する場合、入力変数名照合部22は、まず、ロジック仕様書において”入力変数”の欄を検索し、その欄に記述されている”I_tha”、”I_thm”、”AcModeOn”を入力変数として抽出する。次に、入力変数照合部22は、図8に示したネットリストにおいて、”Block”の”{ }”内を検索し、”Blocktype”が”Inport”であるブロックを見つけ、そのブロック内の”Name”に対応する箇所に記述されている”I_tha”(図8のBL2参照)、”I_thm”(図8のBL3参照)、”AcModeOn”(図8のBL4参照)を入力変数として抽出する。そして、両者を照合することにより、ロジック仕様書から抽出した入力変数がネットリストに記述されているかを判定し、この判定結果を不足機能検出部25に出力するとともに、ネットリストから抽出した入力変数がロジック仕様書に記述されているかを判定し、この判定結果を余剰機能検出部26に出力する。

0036

〔出力変数照合部〕
出力変数照合部23は、ロジック仕様書の出力変数とネットリストの出力変数とを照合する。
ここで、上述した照合ルール定義情報には、「出力変数は、ロジック仕様書において、”出力変数”の欄に記述されており、ネットリストにおいて、”Block”の”{ }”内を検索し、”Blocktype”が”Outport”であるブロックを見つけ、そのブロック内の”Name”に対応する箇所に記述されている。」ことが定義されている。
出力変数照合部23は、上記照合ルール定義情報に基づいて、ロジック仕様書のデータファイルから出力変数を取得し、これらの出力変数が比較対象のネットリストに記述されているかを判定する。この結果、ロジック仕様書のデータファイルに記述されている全ての出力変数が比較対象のネットリストに記述されていた場合には、一致した旨を照合結果として不足機能検出部25に出力する。一方、ロジック仕様書のデータファイルに記述されている全ての出力変数が、比較対象のネットリストに記述されていなかった場合には、ネットリストに記述されていない出力変数を不足機能検出部25に出力する。

0037

同様に、出力変数照合部23は、上記照合ルール定義情報に基づいて比較対象のネットリストから出力変数を全て取得し、これらの出力変数がロジック仕様書のデータファイルに記述されているかを判定する。この結果、比較対象のネットリストに記述されている全ての出力変数がロジック仕様書のデータファイルに記述されていた場合には、一致した旨を照合結果として余剰機能検出部26に出力する。一方、比較対象のネットリストに記述されている全ての出力変数が、ロジック仕様書のデータファイルに記述されていなかった場合には、ロジック仕様書のデータファイルに記述されていない出力変数を余剰機能検出部26に出力する。

0038

例えば、図2に示したロジック仕様書と、図9に示すネットリストとを照合する場合、出力変数照合部23は、まず、ロジック仕様書において”出力変数”の欄を検索し、その欄に記述されている”ST_TWCT”を出力変数として抽出する。次に、出力変数照合部23は、図9に示したネットリストにおいて、”Block”の”{ }”内を検索し、”Blocktype”が”Outport”であるブロックを見つけ、そのブロック内の”Name”に対応する箇所に記述されている”ST_TWCT”(図9のBL5参照)を出力変数として抽出する。そして、両者を照合することにより、ロジック仕様書から抽出した出力変数がネットリストに記述されているかを判定し、この判定結果を不足機能検出部25に出力するとともに、ネットリストから抽出した出力変数がロジック仕様書に記述されているかを判定し、この判定結果を余剰機能検出部26に出力する。

0039

〔機能照合部〕
機能照合部24は、ロジック仕様書のデータファイルに定義されている制御機能内容から演算要素構成を抽出し、該演算要素構成とネットリストに記述されている演算要素およびその接続関係から把握される演算要素構成とを照合する。

0040

ここで、機能照合部24が参照する照合ルール定義情報は、仕様書用定義情報とネットリスト用定義情報とを含んでいる。
仕様書用定義情報には、ロジック仕様書に記述されている制御機能内容の説明文の文章構造と演算要素構成とが対応付けられて登録されている。例えば、図10から図16に、仕様書用定義情報の一例を示す。これらの仕様書用定義情報では、「AND」、「OR」、「比較(以上)」、「比較(以下)」等の機能別に、演算要素、説明文の文章構造、及び演算要素構成が互いに対応付けられている。
機能照合部24は、図10から図16に示される仕様書用定義情報に従って、ロジック仕様書の項目“内容(制御機能内容)”の欄に記述された文章から制御要素構成を解釈する。

0041

例えば、図2に示したロジック仕様書の“内容”の欄には「(1)A/CモードがON、かつ、外気温度が20℃以上、かつ、エンジン水温が110℃以上の場合に、水温カット防止制御状態をONとする。」との文章が記述されている。この文章は、図10から図16に示した仕様書用定義情報に従って以下のような文章構造とされる。
まず、機能照合部24は、上記文章を“かつ”、“また”、“の場合に”を抽出し、”かつ”、”または”、”の場合に”で区切り、各文節とする。これにより、上記文章は、以下の(A)から(D)の4つの文節とされる。

0042

(A)A/CモードがON
(B)外気温度が20℃以上
(C)エンジン水温が110℃以上
(D)水温カット防止制御状態をON

0043

次に、機能照合部24は、上記(A)、(B)、(C)が“かつ”で接続されていることから、図10のNo.1に対応する文章構造であると解釈し、この文章構造に対応付けられている演算要素構成、つまり、「A,B,Cを入力要素とするANDの演算要素」を抽出する。
更に、機能照合部24は、各文節(A)、(B)、(C)を図10から図16に示した仕様書用定義情報に従って解釈することにより、それぞれ対応する演算要素構成を抽出する。
この結果、(A)の文章は、該当する文章構造がないので対応する演算要素構成がない、つまり、照合を行わないと判断する。
また、(B)の文章は、図10のNo.3に対応する文章構造であると解釈し、この文章構造に対応付けられている“タイプ1”および”タイプ2”の演算要素構成を抽出する。
ここで、上述のように、1つの機能に対して複数の演算要素構成が存在する場合には、それらの全てについて仕様書用定義情報に登録されている。この場合には、機能照合部24は、当該機能に該当する全ての演算要素構成を抽出する。このように、1つの機能に対して複数の演算要素構成を登録しておくことにより、照合精度を高めることができる。

0044

また、上記(C)の文章も(B)の文章と構成が同じため、図10のNo.3に対応する文章構造であると解釈し、この文章構造に対応付けられている“タイプ1”および“タイプ2”の演算要素構成を抽出する。
また、「の場合に」の後に配置された上記(D)については、出力に関する文節であると解釈する。

0045

次に、ネットリスト用定義情報について説明する。
ネットリスト用定義情報には、例えば、図3に示された制御ロジック図の演算要素ならびにそれらの接続関係がネットリストではどのように表現されているのかを示すルールが定義されている。ここで、ネットリストは、そもそも制御ロジック図に基づいて作成されたリストであるので、制御ロジック図とネットリストとの相互変換関係を記録しておくことにより、ネットリストから容易に制御ロジックを把握することができる。

0046

例えば、ネットリスト用定義情報には、「演算要素は、”Block”の”{ }”内を検索し、”BlockType”が”Logic”であるブロックをみつけ、そのブロック内の“Name”に対応する箇所にその演算要素の名称が、また、“Operator”に対応する箇所にその演算要素のタイプ(種別)が記述されている。」ことが定義されている。ここで、演算要素”AND”については、使用頻度が高いことから”Operator”の欄が省略されている。つまり、”Operator”の欄がないブロックは、”AND”であると解釈する。
更に、ネットリスト用定義情報には、「結線関係は、”Line”の”{ }”内を検索し、”SrcBlock”に対応する箇所に入力側の接続要素が、DstBlock”に出力側の接続要素が記述されている。」ことが定義されている。

0047

例えば、図17に示されるネットリストを上述したロジック仕様書と照合する場合、機能照合部24は、ネットリストにおいて”Block”の”{ }”内を検索し、”BlockType”が”Logic”であるブロックをみつけ、そのブロック内の“Name”に対応する箇所に記述されている”Logical\nOperator1”(図17のBL6)を演算要素の名称として、また、“Operator”がないことから”AND”を演算要素として抽出する。

0048

また、機能照合部24は、ネットリストにおいて”Block”の”{ }”内を検索し、”BlockType”が”Logic”であるブロックをみつけ、そのブロック内の“Name”に対応する箇所に記述されている”Logical\nOperator2”(図17のBL7参照)を演算要素の名称として、また、“Operator”に対応する箇所に記述されている”OR”(図17のBL8参照)を演算要素として抽出し、同様に、”Logical\nOperator7”(図17のBL9参照)の名称をもつ「NOT」(図17のBL10参照)を演算要素として抽出する。なお、図17はネットリストの一部を示したものであるので、機能照合部24はネットリスト全体にわたり上述の検索を行うことで、ネットリストに定義されている全ての演算要素を抽出する。

0049

また、機能照合部24は、抽出した演算要素”AND”、”OR”、”NOT”の接続関係を分析すべく、ネットリストにおいて”Line”の”{ }”内を検索し、”SrcBlock”と”DstBlock”に記述されている要素等を抽出し、結線関係を把握することで、ネットリストから制御ロジック図のロジック構造を解釈する。

0050

例えば、機能照合部24は、上述したネットリスト用定義情報に従って図18に示すネットリストを解釈することにより、”I_tha”(図18のBL11参照)が”Relational\nOperator3”(図18のBL12参照)と”Relational\nOperator1”(図18のBL13参照)とにそれぞれ接続されていると判断する。
また、機能照合部24は、同様に、”Constant2”(図18のBL14参照)が”Relational\nOperator3”(図18のBL15参照)に接続していること、”Constant3”(図18のBL16参照)が”Relational\nOperator1”(図18のBL17参照)に接続していること、”Relational\nOperator3”(図18のBL18参照)が”Logical\nOperator1”(図18のBL19参照)に接続していること、”Relational\nOperator1”(図18のBL20参照)が”Logical\nOperator2”(図18のBL21参照)に接続していることを把握する。

0051

上述のように、機能照合部24は、ネットリストにおいて各演算要素とそれらの結線関係をたどることにより、制御ロジック図における各演算要素構成を解釈する。
そして、機能照合部24は、上述したロジック仕様書に記述されている文章から抽出した演算要素構成と、ネットリストに基づいて特定した演算要素構成とを照合することにより、ロジック仕様書とネットリストとの整合性を判断する。

0052

具体的には、機能照合部24は、ロジック仕様書の文章から抽出した全ての演算要素構成が、ネットリストから把握されるロジック制御図に存在するかを判定し、この判定結果を不足機能検出部25に出力するとともに、ネットリストから把握されるロジック制御図から抽出される全ての演算要素構成がロジック仕様書の文章から抽出した演算要素構成と一致するかを判定し、この判定結果を余剰機能検出部26に出力する。

0053

なお、一般的に、制御ロジック図には、図10から図16に示した基本的な演算要素以外に、副次的な機能を実現するためのロジックが付加されている。例えば、図3に示した制御ロジック図においては、「AND」、「OR」、「NOT」、「以上」、「以下」、「未満」、「より大きい」等の演算要素が基本的な演算要素に該当し、「フリップフロップ」、「ターミネータ」等の演演算要素が副次的な演算要素に該当する。
本実施形態に係る機能照合部24は、種々ある演算要素のうち、代表的な制御要素、つまり、上述した基本的な演算要素のみに限定して照合を行うこととしている。

0054

〔不足機能検出部;余剰機能検出部〕
不足機能検出部25および余剰機能検出部26には、上述のように、ファイル名照合部21、入力変数照合部22、出力変数照合部23、機能照合部24から照合結果が入力される。不足機能検出部25および余剰機能検出部26は、これら入力された照合結果をそれぞれ出力部14に出力する。出力部14は、照合結果を表示装置4に表示させる。

0055

この結果、表示装置4により照合結果が表示される。つまり、ロジック仕様書に記述されている要素であって制御ロジック図に記述されていない要素が不足機能として項目毎に表示装置4に表示されるとともに、制御ロジック図に記述されている要素であってロジック仕様書に記述されていない要素が過剰機能として項目毎に表示装置4に表示される。
ソフトウェア開発者等は、この表示装置4の表示画面を確認することにより、両者の整合性を確認でき、整合性が取れていない場合には当該照合結果に基づいてロジック仕様書や制御ロジック図を修正することにより、整合性が取れたものとすることができる。

0056

以上、説明してきたように、本実施形態によれば、ロジック仕様書のデータファイルに記述されている内容とネットリストに記述されている内容とを項目毎に照合するので、ロジック仕様書とネットリストの元になった制御ブロック図との整合性を自動的に検証することができる。
更に、照合結果が一致しなかった場合に、ロジック仕様書およびネットリストのうち、どちらの書類に記述されていなかったのかということまで照合結果として出力されるので、ソフトウェア開発者等は、この出力結果を確認することにより、整合性を確保するような修正を容易に行うことが可能となる。

0057

以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。

図面の簡単な説明

0058

ソフトウェア開発の一般的な手順を示した図である。
ロジック仕様書の一例を示した図である。
図2のロジック仕様書に対応する制御ロジック図である。
図3の制御ロジック図に対応するネットリストである。
本発明の一実施形態に係るソフトウェア開発支援装置の概略構成を示した図である。
図5に示したコンピュータ本体の機能ブロック図である。
ファイル名照合部によるファイル名抽出の手順を説明するための図である。
入力変数照合部による入力変数の抽出の手順を説明するための図である。
出力変数照合部による出力変数の抽出の手順を説明するための図である。
仕様書用定義情報の一例を示した図である。
仕様書用定義情報の一例を示した図である。
仕様書用定義情報の一例を示した図である。
仕様書用定義情報の一例を示した図である。
仕様書用定義情報の一例を示した図である。
仕様書用定義情報の一例を示した図である。
仕様書用定義情報の一例を示した図である。
機能照合部による演算要素等の抽出の手順を説明するための図である。
機能照合部による各演算要素等の接続関係を説明するための図である。

符号の説明

0059

1ソフトウェア開発支援装置
2コンピュータ本体
3入力装置
4表示装置
11 第1の記憶部
12 第2の記憶部
13 照合部
14 出力部
21ファイル名照合部
22入力変数照合部
23出力変数照合部
24 機能照合部
25不足機能検出部
26余剰機能検出部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ