説明

システムの設計支援装置および方法

【課題】 ソフトウェア開発において状態設計をする作成される状態表は、内部状態によって分岐する場合には記述が煩雑かつ複雑になる
【解決手段】 あらかじめ記憶部230に登録した画面状態定義231及び内部状態定義232を用いて、状態表及び決定表からなく決定テーブル233を作成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特に組込みシステム向けのソフトウェア開発支援及び検証に関する。
【背景技術】
【0002】
組込みシステムの開発では、状態表を用いてシステムを設計することが多い。状態表を用いた設計では、ユーザが画面等で認識できるシステムの状態(「画面状態」という)と、システムがユーザから受ける操作やセンサなどで検知される現象(「イベント」という)との組に対して、システムの画面状態遷移やシステムが行うべき処理(「アクション」という)を決定する。図10に状態表の例を示す。状態表は、ある画面状態(横軸)においてあるイベント(縦軸)が発生した時に、遷移すべき画面状態(上段)とアクション(下段)との組を単一もしくは複数の表に定義するものである。状態表101では、例えば、画面状態が「OFF」のときに「電源ボタン」のイベントが生じれば、画面状態が「放送画面」へと遷移すること、画面状態が「放送画面」のときに「録画ボタン」のイベントが生じれば「録画開始」のアクションが実行されること、画面状態が「OFF」のときに「録画ボタン」のイベントが生じても画面状態の遷移やアクションの実行はないこと、などが表現されている。
【0003】
状態表101は単純な例であるが、実際には、ある画面状態とイベントとの組に対して生じる画面状態遷移/アクションが、そのイベントが生じた時点でのシステムの「内部状態」に応じて異なる場合がある。非特許文献1はこのような場合の状態表の定義方法を例示している。第1の方法では、状態表102のようにイベント行を分割し、分割したそれぞれの行(103、104)に内部状態を条件として定義する。また、第2の方法では、アクション105のように、プログラムコードなどの分岐を表現できる記法を用いてアクションと遷移後の画面状態とを定義する。さらに、非特許文献1には、内部状態の遷移を定義するために、アクション106のようにプログラミング言語を用いて内部状態の遷移を表現するアクションを定義することが開示されている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】渡辺政彦, 拡張階層化状態遷移表設計手法 Ver.2.0 P.8-9, キャッツ株式会社, 1998
【発明の概要】
【発明が解決しようとする課題】
【0005】
近年の組込みシステムは大規模化および複雑化が進展している。そのため、非特許文献1の第1の方法では、内部状態を考慮しなければならないイベントや内部状態そのものが多いと、条件分岐のための行の分割により状態表が非常に大きくなり、全体を一覧することができなくなり、設計の漏れや誤りの発見や、定義および修正すべき箇所の発見が困難になり、設計の効率が落ちるおそれがある。
【0006】
一方、非特許文献1の第2の方法を用いれば状態表はコンパクトになるが、記述自由度の高いプログラミング言語を用いて内部条件を記述することに起因して、条件分岐に含まれる内部条件や、遷移の記述に不整合が生じるおそれがある。
【0007】
また、開発されるシステムの状態設計を手作業で検証することが困難になったことに伴い、状態設計の性質を検証する自動化ツールも開発されてきている。例えば、状態設計をPromelaとよばれる言語で記述し、SPINとよばれる検査ツールへ入力することで、状態到達性などの状態設計の性質を検証するような自動化ツールも存在する。しかしながら、状態表の記載方法に対する自由度が高いと、状態設計の性質についての検証に必要な画面状態遷移の条件に関する情報を状態設計情報から機械的に抽出することができないため、人手によらない自動的な検証ができない。
【課題を解決するための手段】
【0008】
本発明では、複数のコンポーネントを有するシステムの状態設計にあたり、各コンポーネント(この中には被制御対象のコンポーネントが含まれる)の状態の定義及び状態間の遷移情報と被制御対象のコンポーネントの状態変化をもたらすイベントがあらかじめ登録される。これに基づき、被制御対象のコンポーネントの状態およびイベントを行および列とする状態表を作成する。前記状態表の各セル(すなわち、被制御対象となるコンポーネントの状態とイベントとの組み合わせ)に対応して、条件分岐となる他のコンポーネントの状態(ここでは「内部状態」という)と遷移後の被制御対象のコンポーネントの状態と遷移後の内部状態との3つ組の情報をもつ決定表を作成する。ここで、決定表に入力する内部状態は、はじめに登録された内部状態に限定され、また、決定表により表現される内部状態の状態遷移は、はじめに登録された内部状態間の遷移情報に限定される。
【0009】
このように、本発明では、画面状態とイベントの組み合わせに対して決定表を作成し、内部条件による分岐は決定表にのみ含めることで、状態表が大きくなることを防ぐことができる。
【0010】
また、本発明では、決定表に入力される内部状態は、最初に登録された内部状態に限定され、また、決定表に入力される内部状態の遷移は、最初に登録された遷移関係に限定されるため、内部状態を統一的に入力することができ、さらに、内部状態入力すべき内部状態の選択肢を利用者に提示し、選択させることによる、入力効率の向上が可能となる。
【0011】
また、状態表から、画面状態の遷移に関係する情報を抽出し、抽出した情報を画面状態の性質を検証するアルゴリズムへと入力することで、状態表の性質の検証を実現する。状態表からの情報の抽出は、すべての画面状態とイベントの組に対して決定表が網羅的に作成されていることと、それぞれの決定表の条件分岐は、定義された内部状態のみで構成されていることと、それぞれの決定表の内部条件の遷移は、定義された内部状態遷移のみであること、それぞれの決定表が漏れなく記入されていることによって、機械的に行うことができる。
【発明の効果】
【0012】
状態表の規模増大に起因する設計効率の低下無しに、かつ、内部状態の記入誤りなく、画面状態遷移および内部状態遷移の記述を行うことができる。
【0013】
また、記述した状態設計に対する検証を機械的に行うことができる。
【図面の簡単な説明】
【0014】
【図1】設計支援装置のシステム構成図である。
【図2】画面状態テーブルの例である。
【図3】画面状態遷移テーブルの例である。
【図4】イベントテーブルの例である。
【図5】内部状態テーブルの例である。
【図6】内部状態遷移テーブルの例である。
【図7】決定テーブルの例である。
【図8】決定テーブルを作成する処理フローを示す図である。
【図9】検証アルゴリズムのフローを示す図である。
【図10】状態表の例である。
【発明を実施するための形態】
【0015】
以下、図面を参照して本発明の実施形態について詳しく説明する。
【0016】
設計支援装置200は、システムの状態設計における、内部状態とイベントの組に対する決定表の記述を支援し、状態設計の検証用の情報を出力する装置である。ここで、状態設計支援装置200の機能構成の一例を、図1のブロック図に示す。状態設計支援装置200は、図示するように、入力部210と、制御部220と、記憶部230と、出力部240とを有する。
【0017】
入力部210は、ユーザによって入力されるデータを受付け、入力されたデータを制御部220または記憶部230に供給する。入力部210に受け付けられた状態表に関する情報、内部状態定義に関する情報は、それぞれ記憶部230の画面状態定義データベース231及び内部状態定義データベース232に格納する。また、入力部210に受け付けられた決定表に関する情報により決定表処理部221を駆動し、入力部210に受け付けられた検証に関する情報により検証部222を駆動する。
【0018】
制御部220は、決定表処理部221と、検証部222とを有する。決定表処理部221は、画面状態定義データベース231に格納された情報と内部状態定義データベース232に格納された情報と入力部210を通じて入力された情報とから作成される決定表を記憶部230の決定表データベース233に格納する。
【0019】
このような設計支援装置は、例えば、入力部210、出力部240は端末装置、制御部220はコンピュータ、記憶部230は外部記憶装置で実現でき、決定表処理部221及び検証部222はそれぞれコンピュータで実行されるプログラムで実現することができる。また、スタンドアロンの計算機のみならず、ネットワーク環境で動作する計算機で実現されてもよい。
【0020】
ここで、設計支援装置により設計支援しようとする開発対象のシステムは、複数のコンポーネントからなるシステムである。本実施例はTVのようなシステムのユーザインタフェース設計を例にとって説明する。ユーザによるリモコンへの入力に応じた出力を、システムはディスプレイに表示するインタフェースがこの例での設計対象である。このとき、録画装置のような、システムの他のコンポーネントの状態に応じて同じリモコン入力であっても、ディスプレイに表示される内容は異なる場合がある。
【0021】
画面状態定義データベース231には、開発対象のシステムのすべての画面状態を表す画面状態テーブル310(図2)と、画面状態がとりうる遷移を表す画面状態遷移テーブル320(図3)と、画面状態を変化させるイベントを表すイベントテーブル330(図4)とが予め記憶されている。
【0022】
図2に示すように、画面状態テーブル310は、画面状態名欄301を備え、画面状態を識別する情報(画面状態名)が格納されている。例えば、それぞれディスプレイに特定内容が表示されることを示す「画面状態1」、「画面状態2」等の名前が格納される。また、図3に示すように、画面状態遷移テーブル320は、遷移前画面状態欄321と遷移後画面状態欄322とを備え、それぞれ画面状態テーブル310に格納された画面状態を識別する情報が格納される。遷移後画面状態欄322の画面状態は、遷移前画面状態欄321に格納されている画面状態ごとに対応付けて格納されている。図3の例では、「画面状態1」から「画面状態2」または「画面状態3」という2通りの画面状態遷移が存在することを示している。図4に示すように、イベントテーブル330は、イベント名欄331を備え、イベントを識別する情報(イベント名)が格納されている。例えば、リモコンの第1ボタンがユーザによって押下されたことを示す「イベント1」、リモコンの第2ボタンがユーザによって押下されたことを示す「イベント2」等の名前が格納される。
【0023】
また、内部状態定義データベース232には、開発対象のソフトウェアのすべての内部状態を示す内部状態テーブル410(図5)と、内部状態がとりうる遷移を表す内部状態遷移テーブル420(図6)とが格納されている。
【0024】
図5に示すように、内部状態テーブル410は、内部状態区分欄411と内部状態名欄412とを備える。内部状態区分欄411には内部状態区分情報が格納される。内部状態区分とは、互いに独立な内部状態を区分するための情報である。区分は任意に決めてよいが、例えば、開発システムのコンポーネント単位に区分を設定することができる。録画装置における「テープ状態」、内蔵タイマーの「タイマー状態」といったものである。一方、内部状態名欄412には、内部状態区分411ごとにとりうる内部状態を識別する情報が格納されている。例えば、区分「テープ状態」に対して、「テープ正常」、「テープ異常」といった内部状態がとりうる。図5の例では、「内部状態区分1」は「内部状態1」、「内部状態2」、「内部状態3」を取りうることになる。
【0025】
また、図6に示すように、内部状態遷移テーブル420は、遷移前内部状態欄421と、遷移後内部状態欄422とを備える。遷移前内部状態欄421及び遷移後内部状態欄422には、内部状態テーブル410に格納された内部状態を識別する情報が格納される。遷移後内部状態欄422の内部状態は、遷移前内部状態欄421に格納されている内部状態ごとに、対応付けて格納されている。図6の例では、「内部状態1」から「内部状態2」または「内部状態3」への2通りの内部状態の遷移が生じ得ることを示す。
【0026】
決定表データベース233には、画面状態定義データベース231に格納される画面状態テーブル310、画面状態遷移テーブル320、イベントテーブル330と、内部状態定義データベース232に格納される内部状態テーブル410、内部状態遷移テーブル420とを用いて作成される決定テーブル430が格納される。図7に示すように、決定テーブル430は、画面状態欄431と、イベント欄432と、内部状態区分欄433と、内部状態欄434と、画面状態遷移欄435と、内部状態遷移欄436とを備える。
【0027】
画面状態欄431には、画面状態テーブル310に格納された画面状態を識別する情報が格納される。図7の例では「画面状態1」等の画面状態名が格納される。イベント欄432には、イベントテーブル330に格納されたイベントを識別する情報が格納される。図7の例では「イベント1」などのイベント名が格納される。内部状態区分欄433には、内部状態テーブル410に格納された内部状態区分を識別する情報が格納される。図7の例では、「内部状態区分1」などの内部状態区分名が格納される。内部状態欄434には、内部状態テーブル410に格納された内部状態であって、内部状態区分欄433に格納された内部状態区分に対応するものが格納される。図7の例では、「内部状態区分1」に対応付けられた「内部状態1」、「内部状態2」等が格納される。
【0028】
画面状態遷移欄435には、画面状態遷移テーブル320の遷移後画面状態欄322に格納された画面状態であって、遷移前画面状態欄321に対応づいている画面状態が画面状態欄431に格納された画面状態であるものが格納される。したがって、画面状態遷移欄435の画面状態は、画面状態欄431、イベント欄432、内部状態区分欄433、内部状態欄434の組ごとに対応付けて格納されている。例えば、図7の例では、画面状態が「画面状態1」にあるときに「イベント1」が発生した場合、「内部状態区分1」が「内部状態1」であれば、画面状態が「画面状態2」に遷移することを示す。
【0029】
内部状態遷移欄436には、内部状態遷移テーブル420の遷移後内部状態欄422に格納された内部状態であって、遷移前内部状態欄421に対応づいている内部状態が、内部状態欄434に格納された内部状態であるものが格納される。したがって、内部状態遷移欄435の内部状態は、画面状態欄431、イベント欄432、内部状態区分欄433、内部状態欄434の組ごとに対応付けて格納されている。例えば、図7の例では画面状態が「画面状態1」にあるときに「イベント1」が発生した場合、「内部状態区分1」が「内部状態1」であれば、「内部状態区分1」が「内部状態2」に遷移することを示す。
【0030】
次に、図8を用いて、決定表処理部221による決定テーブル430作成の処理の流れを説明する。F01は、決定テーブル430を作成する対象となる画面状態とイベントの組を選択する流れを示している。これにより、例えば、図10に示す状態表のうち、画面状態遷移または内部状態遷移の生じる画面状態とイベントとの組を選択する。F02は、F01で選択された画面状態とイベントの組それぞれに対する決定表を作成する流れを示している。決定表は、画面状態とイベントの組に対して、開発対象システムが所定の内部状態である場合に生じる画面状態遷移と内部状態遷移とを表す表である。
【0031】
決定表処理部221は、入力部210に備えられた画面および入力装置を通じて、利用者への情報の提示、および、利用者からの入力の受付をおこなう。まず、システムは決定表が未入力である画面状態とイベントの組の集合を画面上に表示し(ステップS101)、画面状態とイベントの組の入力を受け付ける(ステップS102)。画面上に表示される画面状態とイベントの組の集合は、画面状態テーブル310とイベントテーブル330とからそれぞれ読込んだ画面状態の集合とイベントの集合の全組み合わせのうち、決定テーブル430に格納されていない組み合わせとして得られる。続いて、入力された画面状態とイベントの組の有効性の入力を受け付け(ステップS103)、入力された値が「無効」ならば、ステップS102で選択された画面状態とイベントの組が無効であることを示す特殊な値(例えば、NULL値)を決定テーブル430に格納し(ステップS106)、入力された値が「有効」ならば決定表作成に移る(ステップS105)。
【0032】
決定表作成のフローチャートF02では、内部状態テーブル410に格納された内部状態区分の集合を画面上に表示し(ステップS201)、内部状態区分の入力を受け付ける(ステップS202)。ステップS202で入力された内部状態区分に属する内部状態の一覧を内部状態テーブル410から読込み、画面上に表示する(ステップS203)。内部状態の入力を受け付けると(ステップS204)、ステップS101で入力された画面状態とイベントとステップS204で受け付けた内部状態の3つ組に対して有効性の入力を受け付ける(ステップS205)。入力された値が「無効」であれば、前記3つ組が無効であることを示す特殊な値を決定テーブル430に格納する(ステップS211)。入力された値が「有効」ならば、ステップS101で入力された画面状態を遷移前画面状態として持つ遷移後画面状態の集合を画面状態遷移テーブル320から読込み、画面上に表示し(ステップS207)、遷移後画面状態の入力を受け付ける(ステップS208)。続いて、ステップS204で入力された内部状態を遷移前内部状態としてもつ遷移後内部状態の集合を内部状態遷移テーブル420から読込み、画面上に表示し(ステップS210)、遷移後内部状態の入力を受け付ける(ステップS210)。続いて、ステップS101で入力された画面状態と、イベントと、ステップS202で入力された内部状態区分と、ステップS204で入力された内部状態と、ステップS208で入力された遷移後画面状態と、ステップS210で入力された遷移後内部状態とからなる組(この組を決定表という)を、決定テーブル430へ格納する(ステップS211)。ステップS202で入力された内部状態区分に対応づくすべての内部状態について、ステップS101で入力された画面状態とイベントとの3つ組が決定テーブル430に格納されているかどうかを確認し(ステップS212)、格納されていない内部状態が存在すれば、ステップS203に戻り、存在しなければ、F02を完了する。
【0033】
フローチャートF01に戻り、F02(ステップS105)の完了後、または、ステップS106での格納後、決定表が未作成である画面状態とイベントの組が存在しないかどうかを確認し(ステップS107)、未作成の組が存在すれば、ステップS101に戻り、すべて作成済であれば、手続きを終了する。
【0034】
なお、決定表において条件となる内部状態区分は、図8の例では1個のみであるが、複数の内部状態区分の組み合わせで条件が形成されてもよい。この場合、決定表において遷移できる内部状態は、それら複数の内部状態の組み合わせに対して1つの遷移が生じればよい。また、すべての画面状態とイベントと内部状態の組合せに対してすべての入力が完了する前に処理を中断し、後に、続きから入力することも可能である。
【0035】
検証部222は、図1に示すように、検証アルゴリズム510と、検証用情報抽出部520とを備える。検証アルゴリズム520は、入力部より与えられた情報と、検証用情報抽出部510を通じて記憶部230から読込んだ状態設計情報に対して、検証を行い、その結果を出力部240を通じて出力する。
【0036】
図9は検証アルゴリズム520のフローチャートF03およびF04であって、入力として与えられた画面状態が、任意の画面状態から到達可能であるかどうかを検証する。ここで、ある画面状態D1から他の画面状態D2へ到達可能であるとは、フローチャートF01に示した前記手続きに基づいて作成された決定表に基づき、画面状態D1からの画面状態の遷移を1度以上繰り返し、画面状態D2まで遷移可能な画面状態遷移の列が少なくとも1つ存在することを意味する。
【0037】
フローチャートF03は、任意の画面状態から特定の画面状態(画面状態11)へ到達能かどうかを検証する手続きを示す。フローチャートF03は、「到達可能」もしくは「到達不可能」のいずれかの結果を返す。画面状態テーブル310に登録されている画面状態それぞれ(画面状態12とする)について(ステップS301、ステップS304)、画面状態12から画面状態11へ到達可能かどうかを判定する(ステップS302)。
【0038】
フローチャートF04は、特定の画面状態(画面状態21)から、特定の画面状態(画面状態22)へ、到達可能かどうかを検証する再帰的な手続きを示す。フローチャートF04は、「到達可能」もしくは「到達不可能」のいずれかの結果を返す。イベントテーブル330に登録されているイベントそれぞれについて(ステップS401,ステップS411)、画面状態21に対する決定表が存在すれば(ステップS402)、該決定表を決定表21として参照する(ステップS403)し、決定表21上の遷移先画面状態それぞれについて(ステップS404,ステップS410)、前記遷移先画面状態を画面状態23としたとき、画面状態23から画面状態22へ到達移可能かどうかを判定する。ただし、画面状態23が検査済集合21の要素であれば該判定は行わない(ステップS405)。これは、ある画面状態から同一画面状態に到達可能である場合に、フローチャートF04における再帰的手続きにおいて、該画面状態から画面状態22へ到達可能かどうかの判定を繰り返すことで本手続きが停止しないような事態を防ぐ。画面状態23が検査済集合21の要素でなければ、画面状態23を検査済集合21の要素に加える(ステップS406)。画面状態23を検査済画面状態23が画面状態22と一致すれば到達可能であり(ステップS407)、それ以外の場合は、画面状態23から画面状態22へ到達可能かどうかを、フローチャートF04に示す手続きを用いて再帰的に判定する(ステップ408)。前記判定結果が「到達可能」であれば(ステップS407もしくはステップS409)、フローチャートF04は結果として「到達可能」を返す(ステップS413)。すべてのイベント(ステップS401、ステップS411),すべての遷移先画面状態(ステップS404、ステップS410)について繰り返した結果、すべて「到達不可能」であれば、フローチャートF04は結果として「到達不可能」を返す(ステップS412)。
【0039】
フローチャートF03に戻り、繰り返し31(ステップS302,ステップS305)における画面状態のすべてが画面状態11に対して「到達可能」と判定されれば、フローチャートF03は結果として「到達可能」を返し(ステップS306)、さもなくば、結果として「到達不可能」を返す(ステップS307)。
【0040】
以上、TVシステムのユーザインタフェースを例に実施例を説明してきたが、本発明の適用範囲はこれに限られるものではない。複数のコンポーネントからなるシステムに対し、被制御対象となるコンポーネントの状態(上記実施例では「画面状態」)が、制御対象となるコンポーネントに生じる状態変化、すなわちイベント(上記実施例では「イベント」)と他の一つ以上のコンポーネントの状態(上記実施例では「内部状態」)に応じて遷移するシステムに広く適用できる。例えば、制御対象となるコンポーネントも人が操作するシステムに限られず、センサによって検出される変化入力であってもよい。また、設計目的に応じて被制御対象となるコンポーネントは変化しうることはいうまでもない。
【0041】
また、システムに対して、イベントテーブルを作成するコンポーネント、内部状態テーブルを作成するコンポーネントは設計目的に依存して選択してよい。ただし、選択したコンポーネントについてはそのとりうる状態を網羅してテーブルを作成する必要がある。
【符号の説明】
【0042】
101:状態表、200:状態設計支援装置、210:入力部、220:制御部、221:決定表処理部、222:検証部、230:記憶部、231:画面状態定義データベース、232:内部状態定義データベース、233:決定表データベース、240:出力部、310:画面状態テーブル、320:画面状態遷移テーブル、330:イベントテーブル、410:内部状態テーブル、420:内部状態遷移テーブル、430:決定テーブル、510:検証用情報抽出部、520:検証アルゴリズム。

【特許請求の範囲】
【請求項1】
複数のコンポーネントを有するシステムの設計支援装置であって、
被制御対象となる第1コンポーネントのとりうる状態を登録する第1状態テーブル、上記第1状態テーブルに登録された状態間で生じうる遷移を登録する第1状態遷移テーブル、第2コンポーネントのとりうる状態を登録する第2状態テーブル、上記第2状態テーブルに登録された状態間で生じうる遷移を登録する第2状態遷移テーブル、制御のためのイベントを登録するイベントテーブルをあらかじめ記録し、
上記第1状態テーブルに登録された状態と上記イベントテーブルに登録されたイベントとの組み合わせの有効性を受け付ける第1手段と、
上記有効とされた上記第1コンポーネントの状態とイベントとの組み合わせに対して、上記第2状態テーブルに登録された状態との組み合わせの有効性を受け付ける第2手段と、
上記有効とされた上記第1コンポーネントの状態とイベントと上記第2コンポーネントの状態との組み合わせについて、上記第1状態遷移テーブルを参照し、該第1コンポーネントの状態から遷移される他の上記第1コンポーネントの状態を特定する第3手段と、
上記有効とされた上記第1コンポーネントの状態とイベントと上記第2コンポーネントの状態との組み合わせについて、上記第2状態遷移テーブルを参照し、該第2コンポーネントの状態から遷移される他の上記第2コンポーネントの状態を特定する第4手段と、
上記有効とされた上記第1コンポーネントの状態とイベントと上記第2コンポーネントの状態との組み合わせについて、上記第3手段で特定された上記第1コンポーネントの状態及び上記第4手段で特定された上記第2コンポーネントの状態を決定表に登録する第5手段とを有する設計支援装置。
【請求項2】
請求項1において、
上記第2状態テーブル及び上記第2状態遷移テーブルは複数の第2コンポーネントに対して作成され、
上記第2状態テーブルに登録される状態は、上記複数の第2コンポーネントごとに区分されて登録される設計支援装置。
【請求項3】
複数のコンポーネントを有するシステムの設計支援装置であって、
被制御対象となる第1コンポーネントのとりうる状態を登録する第1状態テーブル、制御のためのイベントを登録するイベントテーブルと、第1コンポーネントの状態とイベントと他のコンポーネントの状態の組み合わせに対して、所定の条件下で遷移する第1コンポーネントの状態を少なくとも登録する決定表とをあらかじめ記録し、
上記第1状態テーブルから、任意の第1状態と第2状態とを選択する第1手段と、
上記第1コンポーネントの上記第1状態と上記イベントテーブルに登録されたイベントとの組み合わせに対して、上記決定表に登録された上記遷移する第1コンポーネントの状態を抽出する第2手段と、
上記第2手段で抽出された第1コンポーネントの状態が上記第2状態と一致しない場合には、上記第2手段での組み合わせのうち、上記第1状態を上記第2手段で抽出された第1コンポーネントの状態に代えて、上記決定表に登録された上記遷移する第1コンポーネントの状態を抽出する第3手段と、
上記第3手段で抽出された上記遷移する第1コンポーネントの状態が上記第2状態と一致するまで、上記第2手段での組み合わせのうち、上記第1状態を上記第3手段で抽出された第1コンポーネントの状態に代えて、上記決定表に登録された上記遷移する第1コンポーネントの状態を抽出する第4手段とを有する設計支援装置。
【請求項4】
請求項3において、
第1手段で選択する任意の第1状態と第2状態が上記第1状態テーブルからとりうるすべての状態の組み合わせを満たすまで、上記第2乃至第4手段を繰り返す設計支援装置。
【請求項5】
請求項3において、
上記第2状態に遷移可能であることが検証された第1コンポーネントの状態の集合を記憶し、
上記第3手段において、上記第2手段で抽出された第1コンポーネントの状態が上記集合に含まれる場合には上記第1状態から上記第2状態に遷移可能であると判定する設計支援装置。
【請求項6】
請求項5において、
上記第4手段において、上記第3手段で抽出された第1コンポーネントの状態が上記集合に含まれる場合には上記第1状態から上記第2状態に遷移可能であると判定する設計支援装置。
【請求項7】
複数のコンポーネントを有するシステムの設計支援方法であって、
被制御対象となる第1コンポーネントのとりうる状態を登録する第1状態テーブル、上記第1状態テーブルに登録された状態間で生じうる遷移を登録する第1状態遷移テーブル、第2コンポーネントのとりうる状態を登録する第2状態テーブル、上記第2状態テーブルに登録された状態間で生じうる遷移を登録する第2状態遷移テーブル、制御のためのイベントを登録するイベントテーブルをあらかじめ記録し、
上記第1状態テーブルに登録された状態と上記イベントテーブルに登録されたイベントとの組み合わせの有効性を受け付ける第1ステップと、
上記有効とされた上記第1コンポーネントの状態とイベントとの組み合わせに対して、上記第2状態テーブルに登録された状態との組み合わせの有効性を受け付ける第2ステップと、
上記有効とされた上記第1コンポーネントの状態とイベントと上記第2コンポーネントの状態との組み合わせについて、上記第1状態遷移テーブルを参照し、該第1コンポーネントの状態から遷移される他の上記第1コンポーネントの状態を特定する第3ステップと、
上記有効とされた上記第1コンポーネントの状態とイベントと上記第2コンポーネントの状態との組み合わせについて、上記第2状態遷移テーブルを参照し、該第2コンポーネントの状態から遷移される他の上記第2コンポーネントの状態を特定する第4ステップと、
上記有効とされた上記第1コンポーネントの状態とイベントと上記第2コンポーネントの状態との組み合わせについて、上記第3ステップで特定された上記第1コンポーネントの状態及び上記第4ステップで特定された上記第2コンポーネントの状態を決定表に登録する第5ステップとを有する設計支援方法。
【請求項8】
請求項7において、
上記第2状態テーブル及び上記第2状態遷移テーブルは複数の第2コンポーネントに対して作成され、
上記第2状態テーブルに登録される状態は、上記複数の第2コンポーネントごとに区分されて登録される設計支援方法。
【請求項9】
複数のコンポーネントを有するシステムの設計支援方法であって、
被制御対象となる第1コンポーネントのとりうる状態を登録する第1状態テーブル、制御のためのイベントを登録するイベントテーブルと、第1コンポーネントの状態とイベントと他のコンポーネントの状態の組み合わせに対して、所定の条件下で遷移する第1コンポーネントの状態を少なくとも登録する決定表とをあらかじめ記録し、
上記第1状態テーブルから、任意の第1状態と第2状態とを選択する第1ステップと、
上記第1コンポーネントの上記第1状態と上記イベントテーブルに登録されたイベントとの組み合わせに対して、上記決定表に登録された上記遷移する第1コンポーネントの状態を抽出する第2ステップと、
上記第2ステップで抽出された第1コンポーネントの状態が上記第2状態と一致しない場合には、上記第2ステップでの組み合わせのうち、上記第1状態を上記第2ステップで抽出された第1コンポーネントの状態に代えて、上記決定表に登録された上記遷移する第1コンポーネントの状態を抽出する第3ステップと、
上記第3ステップで抽出された上記遷移する第1コンポーネントの状態が上記第2状態と一致するまで、上記第2ステップでの組み合わせのうち、上記第1状態を上記第3ステップで抽出された第1コンポーネントの状態に代えて、上記決定表に登録された上記遷移する第1コンポーネントの状態を抽出する第4ステップとを有する設計支援方法。
【請求項10】
請求項9において、
第1ステップで選択する任意の第1状態と第2状態が上記第1状態テーブルからとりうるすべての状態の組み合わせを満たすまで、上記第2乃至第4ステップを繰り返す設計支援方法。
【請求項11】
請求項9において、
上記第2状態に遷移可能であることが検証された第1コンポーネントの状態の集合を記憶し、
上記第3ステップにおいて、上記第2ステップで抽出された第1コンポーネントの状態が上記集合に含まれる場合には上記第1状態から上記第2状態に遷移可能であると判定する設計支援方法。
【請求項12】
請求項11において、
上記第4ステップにおいて、上記第3ステップで抽出された第1コンポーネントの状態が上記集合に含まれる場合には上記第1状態から上記第2状態に遷移可能であると判定する設計支援方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2013−57985(P2013−57985A)
【公開日】平成25年3月28日(2013.3.28)
【国際特許分類】
【出願番号】特願2009−279041(P2009−279041)
【出願日】平成21年12月9日(2009.12.9)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】