説明

システム開発支援装置及びプログラム並びに方法

【課題】検証されたアーキテクチャ・モデルで規定された状態遷移と、状態遷移実行手段に実装された状態遷移とが同等であることを保障する。
【解決手段】本発明の一態様に係るシステム開発支援装置1は、テスト対象の状態遷移実行手段7に対して、アーキテクチャ・モデル81〜8nに対する形式検証技術4による検証結果データ101〜10nに基づいて生成されたテストパターン12にそった状態遷移を引き起こす事象を発生させ、状態遷移実行手段7が遷移した結果と、テストパターン12の遷移結果とをマッピングし、このマッピング結果が同等か否かを示すテスト実行結果データ13を生成するテスト実行手段6を具備する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、形式検証されたソフトウェア・アーキテクチャに基づいてシステムを設計/実装する場合の信頼性確保を実現するシステム開発支援装置及びプログラム並びに方法に関する。
【背景技術】
【0002】
システムの検証に用いられる従来の形式検証技術について以下に説明する。
【0003】
開発者Aは、実装非依存(プラットフォーム非依存)のアーキテクチャ・モデル(例えば状態遷移図)を生成し、このアーキテクチャ・モデルを形式検証モデル生成部に入力する。
【0004】
形式検証モデル生成部は、入力されたアーキテクチャ・モデルに基づいて、形式検証モデル(例えばSPINにおけるPromela)を生成する。なお、形式検証モデルの生成は、開発者Aが行うとしてもよい。
【0005】
いわゆる検証エンジンである形式検証モデル実行部(例えばSPIN)は、形式検証モデルを入力し、この形式検証モデルについて、システムとして満たすべき制約条件を満たしているか否かを含む検証結果を出力する。
【0006】
開発者Aは、この検証結果を確認し、問題があればアーキテクチャ・モデルを修正し、上記の処理を繰り返す。これにより、最終的に、形式検証されたアーキテクチャ・モデルが得られる。
【0007】
次に、開発者Bは、検証されたアーキテクチャ・モデルを参照しながら、開発対象となっているシステム実行環境で実行可能な状態遷移実行部(例えば状態遷移がハードコーティングされた実装)を生成し、その状態遷移実行部の出力である実行結果を確認する。開発者Bは、状態遷移実行部が、検証されたアーキテクチャ・モデルと等価な動作をすると認められるまで、独自に生成されたテストパターンを用いて、状態遷移実行部の修正を繰り返す。このような工程を経て、状態遷移実行部が開発される。
【0008】
特許文献1(特開2005−182806号公報)には、プログラムの所望の振る舞いを定義した形式仕様および進化的アルゴリズムを用いてプログラムを進化させ、正当性証明可能なプログラムを生成することが記載されている。
【0009】
特許文献2(特開2001−202397号公報)には、対象となるシステムの仕様からシステム・オン・チップのシステム・アーキテクチャの設計を支援するシステムが記載されている。この特許文献2のシステムは、ハードウェアモジュール及びソフトウェアモジュールの再利用可能なライブラリと、前記仕様記述に対応する複数のタスクの夫々に関して選択され、その実現に適したハードウェアモジュールとソフトウェアモジュールの組み合わせから、前記仕様記述に対応するシステムを実装するためのハードウェア及びソフトウェアのシステム・アーキテクチャを生成する。
【0010】
特許文献3(特開2005−49947号公報)には、組込み系システムの制御ソフトウェアのシミュレーション装置であって、組込み系システムでの制御対象の等価入力情報を読取る読取り部と、制御ソフトウェアが処理した内容を書込む書込み部と、制御ソフトウェアの制御結果を判断する判断部と、を有する実機レスシミュレーション装置が記載されている。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開2005−182806号公報
【特許文献2】特開2001−202397号公報
【特許文献3】特開2005−49947号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
上記従来の形式検証技術においては、検証されたアーキテクチャ・モデルで規定された状態遷移と、状態遷移実行部に実装された状態遷移とが同等であることを保障することが困難な場合がある。
【0013】
本発明は、以上のような実情に鑑みてなされたもので、検証されたアーキテクチャ・モデルで規定された状態遷移と、状態遷移実行部に実装された状態遷移とが同等であることを保障するためのシステム開発支援装置及びプログラム並びに方法を提供することを目的とする。
【課題を解決するための手段】
【0014】
上記課題は、アーキテクチャ・モデルに対する形式検証結果に含まれている「第1の状態とこの第1の状態からの状態遷移を示す第1の遷移系列」とに対して、正常又は異常を示す情報を付したテストパターンを記憶する第1の記憶手段と、前記アーキテクチャ・モデルにそって生成されたテスト対象の状態遷移実行手段における「第2の状態とこの第2の状態からの状態遷移を示す第2の遷移系列」とを認識する実装認識手段と、前記第1の記憶手段に記憶されているテストパターンに含まれている第1の状態と、前記実装認識手段よって認識された前記状態遷移実行手段における第2の状態とを対応付けた第1のマッピングデータを生成する第1のマッピング手段と、前記第1の記憶手段に記憶されているテストパターンに含まれている第1の遷移系列の事象と、前記実装認識手段よって認識された前記状態遷移実行手段における第2の遷移系列の事象とを対応付けた第2のマッピングデータを生成する第2のマッピング手段と、前記第1のマッピングデータ及び前記第2のマッピングデータに基づいて、前記状態遷移実行手段に対して、前記テストパターン12にそった状態遷移を引き起こす事象を発生させ、前記状態遷移実行手段が遷移した結果と、前記テストパターン12の遷移結果とを対応付けた第3のマッピングデータを生成し、前記第3のマッピングデータを第2の記憶手段に記憶する第3マッピング手段と、前記第2の記憶手段に記憶されている第3のマッピングデータに基づいて、テスト実行結果を示すテスト実行結果データを生成し、前記テスト実行結果データを第3の記憶手段に記憶するテスト結果生成手段とを具備するシステム開発支援装置、により解決される。
【0015】
なお、ここでは装置により課題が解決されているが、コンピュータシステム、方法、プログラム、コンピュータ読み取り可能な記録媒体などにより課題が解決されるとしてもよい。
【発明の効果】
【0016】
本発明により、検証されたアーキテクチャ・モデルで規定された状態遷移と、状態遷移実行部に実装された状態遷移とが同等であることを保障することができる。
【図面の簡単な説明】
【0017】
【図1】本発明の実施の形態に係るシステム開発支援装置の構成の一例を示すブロック図。
【図2】アーキテクチャ・モデル生成からテストパターン生成までの処理の一例を示すフローチャート。
【図3】アーキテクチャ・モデルの一例を示す図。
【図4】検証結果データの一例を示す図。
【図5】本実施の形態に係るテストパターン生成部とテスト実行部の一例を示すブロック図。
【図6】テスト実行部の具体的構成の一例を示すブロック図。
【図7】本実施の形態に係るシステム開発支援装置をコンピュータで実現する場合の一例を示すブロック図。
【発明を実施するための形態】
【0018】
以下、図面を参照しながら本発明の実施の形態について説明する。なお、以下の各図において略同一の部分については同一の符号を付して説明を省略する。
【0019】
本実施の形態に係るシステム開発支援装置は、上流工程で開発されたソフトウェア・アーキテクチャに基づいてシステムの設計/実装を詳細化する開発工程において、ソフトウェア・アーキテクチャの内容に適合して設計/実装が開発されていることを、高い信頼性で確認可能にする。
【0020】
本実施の形態において、開発者A(例えばアーキテクト)は、形式検証技術を用いて、開発対象のシステムの仕様記述を、開発者Aが開発したアーキテクチャ・モデルが満たしていることを確認する。この形式検証技術の結果として、状態遷移の履歴を含む検証結果が生成される。
【0021】
次に、本実施の形態では、開発者B(例えば詳細設計者又は実装者)は、この開発者Bによって生成された詳細設計/実装が正しいか否かを確認するために、開発者Bによって生成された詳細設計/実装に対して、状態遷移履歴を含む検証結果にそった状態遷移を起こさせることが可能なテストフレームワークを利用し、開発者Aによって開発されたアーキテクチャ・モデルと開発者Bによって生成された詳細設計/実装の動作とが同等であるか否か確認可能とする。
【0022】
図1は、本実施の形態に係るシステム開発支援装置の構成の一例を示すブロック図である。
【0023】
システム開発支援装置1は、記憶装置2a〜2h、形式検証モデル生成部3、形式検証モデル実行部4、テストパターン生成部5、テスト実行部6、状態遷移実行部7、入力装置14、出力装置15を具備する。
【0024】
本実施の形態において、形式検証モデル生成部3、形式検証モデル実行部4、テストパターン生成部5、テスト実行部6、状態遷移実行部7は、コンピュータが記録媒体19に記録されているプログラム20を実行することにより当該コンピュータによって実現されるとしてもよい。
【0025】
システム開発支援装置1には、入力装置14を用いて各種データ又は指示が入力される。入力された指示にしたがって、システム開発支援装置1は動作し、入力された各種データが例えば記憶装置2a〜2hのいずれかに記憶される。
【0026】
また、システム開発支援装置1は、各種のデータのうち出力するように指示されたデータを、出力装置15を用いて出力する。出力装置15としては、例えばディスプレイ又はプリンタなどが用いられる。
【0027】
本実施の形態において、開発者A〜Cは、少なくとも2つが同一人物であってもよく、いずれもが別の人物であってもよい。例えば、開発者Aと開発者Cは、同一人物であってもよい。また、開発者A〜Cは、二人以上からなるグループであってもよい。
【0028】
開発者Aは、開発対象のシステムが満たすべき要件定義を実現するソフトウェア・アーキテクチャを検討し、このアーキテクチャの振舞いの表現であるアーキテクチャ・モデル(例えば状態遷移図)81を生成する。
【0029】
記憶装置2aは、開発者Aによって生成されたアーキテクチャ・モデル81を記憶する。
【0030】
形式検証モデル生成部3は、記憶装置2aに記憶されているアーキテクチャ・モデル81を読み出し、このアーキテクチャ・モデル81に基づいて形式検証モデル91を生成し、この形式検証モデル91を記憶装置2bに記憶する。なお、形式検証モデル91の生成手法については、既存の技術を利用可能である。形式検証モデル91の一例としては、形式検証モデル実行部4がSPINの場合のPromelaがある。
【0031】
形式検証モデル実行部(検証エンジン)4は、記憶装置2bに記憶されている形式検証モデル91を読み出し、この形式検証モデル91がシステムとして満たすべき制約条件、または、開発対象のソフトウェア・アーキテクチャが満たすべき制約条件を満たすか否かを検証した検証結果データ101を生成し、検証結果データ101を記憶装置2cに記憶する。この形式検証モデル実行部4は、形式検証モデル91に対するシミュレーションを実行する。例えば、形式検証モデル実行部4は、形式検証モデル91で示される状態遷移にデッドロック及び未到達状態などが存在しないことを網羅的に検証し、検証結果を出力する。この形式検証モデル実行部4としては、例えばSPIN又はNuSMVなどのような既存の検証エンジンを利用可能である。本実施の形態において、検証結果データ101には、状態遷移の履歴が含まれている。状態遷移の履歴としては、例えば、初期状態と遷移系列との組合せが少なくとも一つ含まれる。
【0032】
開発者Aは、記憶装置2cに記憶されている検証結果データ101を確認し、問題がある場合に、アーキテクチャ・モデル81を修正したアーキテクチャ・モデル82を生成し、アーキテクチャ・モデル82を記憶装置2aに記憶する。すると、形式検証モデル生成部3が、アーキテクチャ・モデル81に基づいて形式検証モデル92を生成し、記憶装置2bに記憶する。さらに、形式検証モデル実行部4が、形式検証モデル92に基づいて検証結果データ102を生成し、記憶装置2cに記憶する。以下、同様の処理が繰り返される。この結果、記憶装置2aには、アーキテクチャ・モデル81〜8nが記憶され、記憶装置2bには、形式検証モデル91〜9nが記憶され、記憶装置2cには、検証結果データ101〜10nが記憶される。また、このように、アーキテクチャ・モデルの生成が正常なアーキテクチャ・モデルが得られるまで繰り返されることにより、最終的に、異常なアーキテクチャ・モデル81〜8n−1、形式検証モデル91〜9n−1、検証結果データ101〜10n−1と、形式検証された正常なアーキテクチャ・モデル8n、形式検証モデル9n、検証結果データ10nが得られる。
【0033】
本実施の形態においては、記憶装置2cに記憶された検証結果データ101〜10nは、シミュレーション実行結果である。
【0034】
テストパターン生成部5は、記憶装置2cに記憶されている検証結果データ101〜10nのうちの少なくとも一つに基づいて、状態遷移実行部7に対して状態遷移を起こさせることを可能とするためのテストパターン12を生成し、テストパターン12を記憶装置2dに記憶する。すなわち、テストパターン生成部5は、検証結果データ101〜10nのうちの少なくとも一つに含まれている状態遷移の履歴を用いて、状態遷移実行部7をテストするために使用されるテストパターン12を生成する。なお、本実施の形態において、テストパターン生成部5は、検証結果データの内容を出力装置15によって出力し、入力装置14によって開発者Cの指示及び入力内容を受け、この開発者Cの指示及び入力内容に応じてテストパターン12を生成するとしている。
【0035】
本実施の形態において、テストパターン12には、少なくとも一つの状態遷移(初期状態とこの初期状態からの遷移系列)とその結果(正常(OK)又は異常(NG))が含まれているとする。
【0036】
状態遷移実行部7は、最終的に形式検証されたアーキテクチャ・モデル8nにしたがって生成されたハードコーティング実装である。開発者Bは、アーキテクチャ・モデル8nを参照しながら、より詳細なソフトウェアの設計及び実行を行い、開発対象となっているシステム実行環境で実行可能でありシステムが振舞うべき状態が実装された状態遷移実行部7を生成し、システム開発支援装置1に搭載する。なお、この状態遷移実行部7は、上述したように、記憶媒体19に記憶されたプログラム20がプロセッサなどによって実行されることで実現されるとしてもよい。
【0037】
テスト実行部6は、記憶装置2dに記憶されているテストパターン12を読み出し、テスト対象の状態遷移実行部7に対して、テストパターン12に含まれている初期状態からの状態遷移(遷移系列)を促すイベント等を発生させ、状態遷移実行部7をテスト動作させる。
【0038】
また、テスト実行部6は、例えば、テストパターン12に含まれている状態遷移を状態遷移実行部7に実行させた場合の実行結果(OK又はNG)と、テストパターン12で規定されている状態遷移の結果(OK又はNG)とを比較し、この比較の結果が同等であるか否かを示すテスト実行結果データ13を生成する。
【0039】
そして、テスト実行部6は、生成されたテスト実行結果データ13を記憶装置2eに記憶する。
【0040】
開発者B又は別の開発者は、このテスト実行結果データ13を参照し、状態遷移実行部7のテスト結果が、予めテストパターン12で規定されている結果と等しいか否か判断し、これにより状態遷移実行部7がアーキテクチャ・モデル8nと同等であるか判断する。
【0041】
また、例えば、テスト実行部6は、自動で、テストパターン12で規定されている状態遷移が状態遷移実行部7によって同等に実行されたか否か判断し、すべての状態遷移が同等であるか、及び、同等でない場合にはどの状態遷移において整合していないかを示すテスト実行結果データ13を生成する。これにより、開発者B又は別の開発者は、このテスト実行結果データ13を参照し、生成された状態遷移実行部7が正しいか否か容易に確認できる。
【0042】
図2は、アーキテクチャ・モデル生成からテストパターン生成までの処理の一例を示すフローチャートである。
【0043】
開発者Aは、開発しているシステムが満たすべき要件定義にしたがって、アーキテクチャの検討を行う。ここで生成される成果物がアーキテクチャ・モデル81(いわゆる状態遷移モデル)である。
【0044】
ステップS1において、記憶装置2aは、生成されたアーキテクチャ・モデル81を記憶する。
【0045】
ステップS2において、形式検証モデル生成部3は、記憶装置2aに記憶されているアーキテクチャ・モデル81に基づいて、形式検証モデル91を生成し、この形式検証モデル91を記憶装置2bに記憶する。
【0046】
ステップS3において、形式検証モデル実行部4は、記憶装置2bに記憶されている形式検証モデル91に基づいて、モデル検証を行い、その結果得られる検証結果データ101を記憶装置2cに記憶する。
【0047】
モデル検証は、いわゆる形式検証とも言われ、形式検証モデル91においてデッドロックが発生しないこと、到達し得ない状態を持たないことなどを網羅的に検証する。
【0048】
ステップS4において、テストパターン生成部5は、開発者C(開発者Aでもよい)の操作及び指定に応じて、検証結果データ101に含まれている初期状態とその遷移系列(イベント系列)に対して、この遷移系列が正常であるか異常であるかを示す情報を付して、テストパターン12の一要素として記憶装置2dに記憶する。
【0049】
ステップS5において上記処理を繰り返すか否か判断され、繰り返される場合には処理はステップS1に戻る。繰り返されない場合は処理を終了する。
【0050】
例えば、アーキテクチャ・モデル81の開発において不備がある場合には、次のアーキテクチャ・モデル82、形式検証モデル92、検証結果データ102が生成され、検証結果データ102に含まれている初期状態とその遷移系列に対して正常又は異常を示す情報を付したデータが、テストパターン12の一要素として記憶装置2dに記憶される。そして、最終的に、形式検証された正常なアーキテクチャ・モデル8n、形式検証モデル9n、検証結果データ10nが生成され、正常な検証結果データ10nに含まれる初期状態とその遷移系列に対して正常を示す情報を付したデータが、テストパターン12の一要素として記憶装置2dに記憶されるまで、ステップS1〜S4の処理は繰り返される。
【0051】
このように、一般的に、アーキテクチャの開発途中で不備がある段階では、不備を反映した検証結果データ(NGの検証結果)101〜10n-1が複数得られる。そして、アーキテクチャの開発の最後の段階では、正常な検証結果データ(OKの検証結果)10nが一種類得られる。
【0052】
上記の検証結果データ101〜10nは、上述したように、それぞれの場合の状態遷移の履歴、すなわち初期状態及び遷移系列の集合を含む。
【0053】
なお、テストパターン生成部5は、開発者Cの操作及び指定に応じて、生成された複数の検証結果データ101〜10nのうちどのデータをテストパターン12として採用するかの指定を受け、採用する旨の指定を受けたデータをテストパターン12の一要素として登録するとしてもよい。
【0054】
図3は、アーキテクチャ・モデル81(状態遷移モデル)の一例を示す図である。
【0055】
丸で囲まれたアルファベットは、それぞれ状態を表す。状態から状態へ向かう矢印は、状態の遷移を表す。矢印に付されている数字は状態遷移を引き起こした事象(イベント)を表す。
【0056】
図4は、検証結果データ101の一例を示す図である。
【0057】
検証結果データ101における状態遷移履歴の記述例としては、{A,{2,3}}などで記述できる。{A,{2,3}}において、Aは初期状態であり、{2,3}は状態の遷移を引き起こす事象を発生順に並べた遷移系列である。
【0058】
図5は、本実施の形態に係るテストパターン生成部5とテスト実行部6の一例を示すブロック図である。すなわち、この図5においては、検証結果データ101〜10nに基づいてテストパターン12が生成されてから、テスト実行結果データ13が生成されるまでの工程を表している。
【0059】
また、図6は、本実施の形態に係るテスト実行部6の具体的構成の一例を示すブロック図である。
【0060】
テストパターン生成部5は、複数のNGの検証結果データ101〜10n−1と一つのOKの検証結果データ10nを読み出す。
【0061】
開発者Cは、テストパターン生成部5を用いて、検証結果データ101〜10nに含まれている初期状態と遷移系列について、テストパターンとしての実行時間が適切になるように、遷移系列を分割又は統合し、この初期状態と遷移系列の適用結果が正常(OK)か異常(NG)かを対応付ける(マッピングする)。
【0062】
テストパターン生成部5は、正常で終了する初期状態と遷移系列を正常系のテストパターンの要素、異常(テストパターンで規定された遷移の系列と実際の処理系が遷移する系列とが異なる状態)で終了する初期状態と遷移系列を異常系のテストパターンの要素として体系化したテストパターン12を生成し、記憶する。
【0063】
テスト実行部6は、読み出し部61、実装認識部62、第1マッピング部63、第2マッピング部64、第3マッピング部65、テスト結果生成部66を具備する。
【0064】
読み出し部61は、記憶装置2dからテストパターン12を読み出す。
【0065】
実装認識部62は、テスト対象の状態遷移実行部7(オブジェクト指向言語によって開発されたプログラムであればそのオブジェクトの状態又はメモリ上での値)が取る状態と、その状態から他の状態へ遷移する事象(割り込み、メッセージ送信、ソフトウェア・イベントなど)とを認識する。
【0066】
第1マッピング部63は、読み出されたテストパターン12と実装認識部62の認識結果とに基づいて、テストパターン12に記述されている状態と、テスト対象の状態遷移実行部7が取る状態との対応関係を表す第1のマッピングデータ16を生成し、この第1のマッピングデータ16を記憶装置2fに記憶する。すなわち、テスト実行部6の第1マッピング部63は、テスト対象の状態遷移実行部7の初期状態の設定を行い、テストパターン12における状態と実装オブジェクトとのマッピングを行う。
【0067】
第2マッピング部64は、読み出されたテストパターン12と実装認識部62の認識結果とに基づいて、テストパターン12における状態遷移を引き起こす事象がテスト対象の状態遷移実行部7のどの事象に対応するかのマッピングを行い、第2のマッピングデータ17を記憶装置2gに記憶する。
【0068】
第3マッピング部65は、第1のマッピングデータ16及び第2のマッピングデータ17の設定に基づいて、テスト対象の状態遷移実行部7に対して、テストパターン12にそった状態遷移を引き起こす事象を発生させ、テスト対象の状態遷移実行部7が遷移(移行)した状態を取得し、この遷移後の状態とテストパターン12の最終の遷移状態とを比較するために対応付けるマッピングを行い、この結果得られる第3のマッピングデータ18を記憶装置2hに記憶する。すなわち、テスト実行部6の第3マッピング部65は、テスト対象の状態遷移実行部7がテストパターン12を実行して最後に遷移した状態(オブジェクトの状態、メモリの状態など)を取得し、この取得した状態をテストパターン12で期待された状態と比較するためのマッピングを行う。
【0069】
なお、本実施の形態において、これらのマッピングは、テスト実行部6によって自動的に行われるが、開発者Bなどによってマッピングが行われ、テスト実行部6は、開発者Bによって与えられたマッピングデータを利用するとしてもよい。
【0070】
そして、テスト結果生成部66は、第3のマッピングデータ18に基づいて、テスト対象の状態遷移実行部7の実装が遷移(移行)した状態と、テストパターン12の遷移状態とを比較し、状態遷移実行部7でアーキテクチャ・モデル81と同等の遷移が行われたか否かを判断した結果を示すテスト実行結果データ13を記憶装置2eに記憶する。なお、テスト実行結果データ13には、第3のマッピングデータ18が含まれており、開発者Bは、テスト実行結果データ13を出力装置15から出力し、第3のマッピングデータ18の内容を検討することができるとしてもよい。
【0071】
以上説明した本実施の形態は、形式検証技術を用いてシステムのソフトウェア・アーキテクチャの開発を行う場合の、アーキテクチャが満たすべき制約条件を満たしているか検証を行うための形式検証モデルの検証、及び、シミュレーション実行可能な形式検証モデル実行部4(例えばSPIN)を備えたシステム開発支援環境に適用される。
【0072】
本実施の形態に係るシステム開発支援装置1は、シミュレーション実行結果(検証がNGであった場合とOKの場合とを含む)に基づいてテストパターン12を生成するテストパターン生成部5と、システムの振舞いが実装された状態遷移実行部7に対してテストパターン12にしたがったテストを実行するテスト実行部6とを具備する。
【0073】
本実施の形態に係るシステム開発支援装置1を用いて確認を行うことにより、検証によって正常とされたアーキテクチャ・モデル8nで規定された状態遷移が、開発された状態遷移実行部7によって実行可能であることを保障することができる。
【0074】
本実施の形態において、開発者は、検証されたアーキテクチャ・モデル8nで規定された状態遷移が、開発対象のシステムの実行環境で実現されているか容易に判断可能である。
【0075】
本実施の形態においては、形式検証されたソフトウェア・アーキテクチャに基づいてシステムを設計/実装する場合の信頼性を確保することができる。すなわち、本実施の形態においては、上流工程で開発されたソフトウェア・アーキテクチャに基づいてシステムの設計/実装を詳細化していく場合に、設計/実装がソフトウェア・アーキテクチャに基づいて開発されていることを、高い信頼性で確認することができる。
【0076】
なお、本実施の形態において、各種の構成要素は自由に組み合わせ又は分離することができる。例えば、各記憶装置2a〜2hは、自由に組み合わせることができ、また分割することもできる。
【0077】
本実施の形態において、状態遷移実行部7は、例えば、システムとして振舞うべき状態遷移記述が定義されており、この状態遷移記述にしたがってシステムの状態を遷移させる状態遷移記述解釈実行部であるとしてもよい。
【0078】
本実施の形態に係るシステム開発支援装置1は、図7に示すように、コンピュータ21によって実現されるとしてもよい。例えば、コンピュータ21は、プロセッサ22、記憶装置2、入力装置14、出力装置15を具備する。プロセッサ22は、記録媒体19のプログラム20を読み出して実行する。記憶装置2は、上記記憶装置2a〜2hとして利用される。
【符号の説明】
【0079】
1…システム開発支援装置、2,2a〜2h…記憶装置、3…形式検証モデル生成部、4…形式検証モデル実行部、5…テストパターン生成部、6…テスト実行部、7…状態遷移実行部、81〜8n…アーキテクチャ・モデル、91〜9n…形式検証モデル、101〜10n…検証結果データ、12…テストパターン、13…テスト実行結果データ、14…入力装置、15…出力装置、16…第1のマッピングデータ、17…第2のマッピングデータ、18…第3のマッピングデータ、19…記録媒体、20…プログラム、21…コンピュータ、22…プロセッサ

【特許請求の範囲】
【請求項1】
アーキテクチャ・モデルに対する形式検証結果に含まれている「第1の状態とこの第1の状態からの状態遷移を示す第1の遷移系列」とに対して、正常又は異常を示す情報を付したテストパターンを記憶する第1の記憶手段と、
前記アーキテクチャ・モデルにそって生成されたテスト対象の状態遷移実行手段における「第2の状態とこの第2の状態からの状態遷移を示す第2の遷移系列」とを認識する実装認識手段と、
前記第1の記憶手段に記憶されているテストパターンに含まれている第1の状態と、前記実装認識手段よって認識された前記状態遷移実行手段における第2の状態とを対応付けた第1のマッピングデータを生成する第1のマッピング手段と、
前記第1の記憶手段に記憶されているテストパターンに含まれている第1の遷移系列の事象と、前記実装認識手段よって認識された前記状態遷移実行手段における第2の遷移系列の事象とを対応付けた第2のマッピングデータを生成する第2のマッピング手段と、
前記第1のマッピングデータ及び前記第2のマッピングデータに基づいて、前記状態遷移実行手段に対して、前記テストパターン12にそった状態遷移を引き起こす事象を発生させ、前記状態遷移実行手段が遷移した結果と、前記テストパターン12の遷移結果とを対応付けた第3のマッピングデータを生成し、前記第3のマッピングデータを第2の記憶手段に記憶する第3マッピング手段と、
前記第2の記憶手段に記憶されている第3のマッピングデータに基づいて、テスト実行結果を示すテスト実行結果データを生成し、前記テスト実行結果データを第3の記憶手段に記憶するテスト結果生成手段と
を具備するシステム開発支援装置。
【請求項2】
請求項1記載のシステム開発支援装置において、
前記状態遷移実行手段は、開発されるシステムとして振舞うべき状態遷移記述が定義されており、当該記述にしたがって前記システムの状態を遷移させる状態遷移記述解釈実行手段であることを特徴とするシステム開発支援装置。
【請求項3】
請求項1又は請求項2記載のシステム開発支援装置において、
前記テスト結果生成手段は、前記第3のマッピングデータに基づいて、テストパターン12にそった状態遷移が、前記状態遷移実行手段によって正当に実行されたか否かの判断結果を含み、正当に実行されていないと判断された場合に、正当に実行されていない部分を指定する異常部分情報を含む前記テスト実行結果データを生成することを特徴とするシステム開発支援装置。
【請求項4】
請求項1乃至請求項3のいずれか1項に記載のシステム開発支援装置において、
形式検証技術を用いて前記アーキテクチャ・モデルが制約条件を満たしているか検証を行い、形式検証モデルの検証及びシミュレーションを実行した結果を示す検証結果データを生成し、当該検証結果データを第4の記憶手段に記憶する形式検証モデル実行手段と、
前記第4の記憶手段に記憶されている検証結果データをユーザに対して出力し、この検証結果データに含まれている前記第1の状態と前記第1の遷移系列とに対する正常又は異常を示す情報を前記ユーザから入力し、当該入力された情報を前記第1の状態と前記第1の遷移系列とに付した前記テストパターンを生成し、前記テストパターンを前記第1の記憶手段に記憶するテストパターン生成手段と
をさらに具備することを特徴とするシステム開発支援装置。
【請求項5】
コンピュータを、
第1の記憶手段から、アーキテクチャ・モデルに対する形式検証結果に含まれている「第1の状態とこの第1の状態からの状態遷移を示す第1の遷移系列」とに対して、正常又は異常を示す情報を付したテストパターンを読み出す手段、
前記アーキテクチャ・モデルにそって生成されたテスト対象の状態遷移実行手段における「第2の状態とこの第2の状態からの状態遷移を示す第2の遷移系列」とを認識する実装認識手段、
前記テストパターンに含まれている第1の状態と、前記実装認識手段よって認識された前記状態遷移実行手段における第2の状態とを対応付けた第1のマッピングデータを生成する第1のマッピング手段、
前記テストパターンに含まれている第1の遷移系列の事象と、前記実装認識手段よって認識された前記状態遷移実行手段における第2の遷移系列の事象とを対応付けた第2のマッピングデータを生成する第2のマッピング手段、
前記第1のマッピングデータ及び前記第2のマッピングデータに基づいて、前記状態遷移実行手段に対して、前記テストパターン12にそった状態遷移を引き起こす事象を発生させ、前記状態遷移実行手段が遷移した結果と、前記テストパターン12の遷移結果とを対応付けた第3のマッピングデータを生成し、前記第3のマッピングデータを第2の記憶手段に記憶する第3マッピング手段、
前記第2の記憶手段に記憶されている第3のマッピングデータに基づいて、テスト実行結果を示すテスト実行結果データを生成し、前記テスト実行結果データを第3の記憶手段に記憶するテスト結果生成手段
として機能させるためのプログラム。
【請求項6】
コンピュータによって実現されるシステム開発支援方法において、
前記コンピュータは、アーキテクチャ・モデルに対する形式検証結果に含まれている「第1の状態とこの第1の状態からの状態遷移を示す第1の遷移系列」とに対して、正常又は異常を示す情報を付したテストパターンを第1の記憶手段に記憶し、
前記コンピュータは、前記アーキテクチャ・モデルにそって生成されたテスト対象の状態遷移実行手段における「第2の状態とこの第2の状態からの状態遷移を示す第2の遷移系列」とを認識し、
前記コンピュータは、前記第1の記憶手段に記憶されているテストパターンに含まれている第1の状態と、前記実装認識手段よって認識された前記状態遷移実行手段における第2の状態とを対応付けた第1のマッピングデータを生成し、
前記コンピュータは、前記第1の記憶手段に記憶されているテストパターンに含まれている第1の遷移系列の事象と、前記実装認識手段よって認識された前記状態遷移実行手段における第2の遷移系列の事象とを対応付けた第2のマッピングデータを生成し、
前記コンピュータは、前記第1のマッピングデータ及び前記第2のマッピングデータに基づいて、前記状態遷移実行手段に対して、前記テストパターン12にそった状態遷移を引き起こす事象を発生させ、前記状態遷移実行手段が遷移した結果と、前記テストパターン12の遷移結果とを対応付けた第3のマッピングデータを生成し、前記第3のマッピングデータを第2の記憶手段に記憶し、
前記コンピュータは、前記第2の記憶手段に記憶されている第3のマッピングデータに基づいて、テスト実行結果を示すテスト実行結果データを生成し、前記テスト実行結果データを第3の記憶手段に記憶する
ことを特徴とするシステム開発支援方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−242888(P2011−242888A)
【公開日】平成23年12月1日(2011.12.1)
【国際特許分類】
【出願番号】特願2010−112486(P2010−112486)
【出願日】平成22年5月14日(2010.5.14)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【Fターム(参考)】