JP3930255B2 - システム仕様情報処理装置、システム仕様情報処理方法及びプログラム - Google Patents

システム仕様情報処理装置、システム仕様情報処理方法及びプログラム Download PDF

Info

Publication number
JP3930255B2
JP3930255B2 JP2001024491A JP2001024491A JP3930255B2 JP 3930255 B2 JP3930255 B2 JP 3930255B2 JP 2001024491 A JP2001024491 A JP 2001024491A JP 2001024491 A JP2001024491 A JP 2001024491A JP 3930255 B2 JP3930255 B2 JP 3930255B2
Authority
JP
Japan
Prior art keywords
information
content
type
unit
execution
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
Application number
JP2001024491A
Other languages
English (en)
Other versions
JP2002230062A (ja
Inventor
幹人 岩政
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2001024491A priority Critical patent/JP3930255B2/ja
Priority to US10/059,211 priority patent/US20020143511A1/en
Publication of JP2002230062A publication Critical patent/JP2002230062A/ja
Application granted granted Critical
Publication of JP3930255B2 publication Critical patent/JP3930255B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、システム仕様情報処理装置、システム仕様情報処理方法及びプログラムに関する。
【0002】
【従来の技術】
計算機システムにおいては、UML(Unified Modeling Language)等のオブジェクト指向手法に代表されるように、システム分析の手法として状態遷移形式が用いられてきた(なお、UMLは例えば「UMLガイドブック」,Hans-Eriksson/Magnus Penker著,杉本宣男/落合修/武田多美子 監訳,ISBN4-8101-8987-2に詳しい)。状態遷移形式は、システムに含まれる複数の状態を抽出し、それら状態が、イベントや条件によって、どのように互いに遷移するかを整理したものである。そして、システム分析が終わった後に、状態遷移形式を参考にしながら、システム設計を開始するという手順を踏んでいた。
【0003】
一方、システム開発期間の短縮、および設計品質の向上という観点からは、分析をしながら仕様を実際に実行して確かめる、いわゆるラピッドプロトタイピングの機能や、システム分析とシステム設計のシームレスな結合機能が必要不可欠である。
【0004】
従来の技術では、以上の事情に鑑み、状態遷移による分析結果に基づくシミュレーションを実行したり、実行プログラムに変換する手法が実現されてきた(BetterState)。これらの技術では、状態遷移の瞬間に実行されるアクション、及びシステムが状態に滞留するときに実行されるアクティビティに、実行プログラムを割り当てることにより、シミュレーション機能や変換機能を実現している。
【0005】
【発明が解決しようとする課題】
状態遷移形式では、アクションは瞬時に実行が終了することが前提となっており、0より大きい一定の実行時間を必要とする計算機プログラムに代表される実行処理内容を割り当てることは、意味論的に不整合であり、システム全体の挙動の整合性が保証できない。
【0006】
また、アクティビティは状態と処理が一対一に対応しているので、遷移が異なれば遷移先や遷移元が同じ状態でも異なるアクションが実行されるという状態遷移形式の記述の柔軟性が損なわれ、記述できる範囲が限定されてしまうという問題がある。この結果、状態遷移形式のアクションやアクティビティに計算機プログラム等の実行処理内容を割り当てる方式では、精度のよいシミュレーションが実行できなかったり、また柔軟なシステム設計ができないという課題があった。
【0007】
本発明は、上記事情を考慮してなされたもので、システム分析から設計までを一環して支援し、システム分析結果に対応した精度良いシステム設計の支援を行って、システム開発期間を短縮させ、設計品質を向上させることの可能なシステム仕様情報処理装置、システム仕様情報処理方法及びプログラムを提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明に係るシステム仕様情報処理装置は、システムが取る現在の状態を示す現状態情報と、該現在の状態から次の状態への状態遷移を惹起する契機となるイベントを示すイベント情報と、該イベントの発生により状態遷移が惹起されたときにシステムが取る次の状態を示す次状態情報と、該イベントの発生により状態遷移が惹起されたときに実行制御が惹起される実行処理内容を示す第1の内容情報及び各実行処理内容に対する実行制御の種類であって処理の起動又は終了に係るものを示す第1の種類情報の組を1組以上含む実行制御情報とからなる第1の単位情報を、複数含んで構成される、状態遷移表形式のシステム仕様情報を記憶する記憶手段と、前記状態遷移表形式のシステム仕様情報をもとに、実行中の実行処理内容を示す第2の内容情報と、該実行中の実行処理内容に対する実行制御の種類であって処理の終了に係るものを示す第2の種類情報と、次に実行すべき実行処理内容を示す第3の内容情報と、該次に実行すべき実行処理内容に対する実行制御の種類であって処理の起動に係るものを示す第3の種類情報と、該第2の内容情報が示す実行処理内容が実行中である状態から該第3の内容情報が示す実行処理内容が実行中である状態への遷移を識別可能とする遷移識別情報とからなる第2の単位情報を、複数含んで構成される、実行制御表形式のシステム仕様情報を生成する生成手段とを備え、前記生成手段は、前記状態遷移表形式のシステム仕様情報に含まれる個々の第1の単位情報について、当該第1の単位情報が含む実行制御情報に、前記第1の種類情報が示す前記種類が処理の終了に係る種類である第1の内容情報が含まれる場合には、これら第1の内容情報及び第1の種類情報を前記第2の内容情報及び前記第2の種類情報とするとともに、前記第1の種類情報が示す前記種類が処理の起動に係る種類である第1の内容情報が含まれる場合には、これら第1の内容情報及び第1の種類情報を前記第3の内容情報及び前記第3の種類情報とし、当該遷移が当該第1の単位情報に係るものであることを識別可能とする情報を、前記遷移識別情報として、対応する前記第2の単位情報を生成し、生成された前記第2の単位情報のうち、第3の内容情報及び第3の種類情報を含んでいないものを対象として、当該対象とした第2の単位情報のもととなった第1の単位情報に含まれる次状態情報が示す状態と同じ状態を示す現状態情報を含む他の第1の単位情報から生成されたものであり且つ第3の内容情報及び第3の種類情報を含んでいる他の第2の単位情報を前記実行制御表形式のシステム仕様情報から検索し、該検索により該当する他の第2の単位情報が得られた場合に、当該対象とした第2の単位情報に対して、予め定められた特別の実行処理内容を示す第3の内容情報及び該特別の実行処理内容に対する実行制御の種類として処理の起動に係る特定の種類を示す第3の種類情報を追加するとともに、該検索により得られた当該他の第2の単位情報に対して、該特別の実行処理内容を示す第2の内容情報及び該特別の実行処理内容に対する実行制御の種類として処理の終了に係る特定の種類を示す第2の種類情報を追加し、又は、生成された前記第2の単位情報のうち、第2の内容情報及び第2の種類情報を含んでいないものを対象として、当該対象とした第2の単位情報のもととなった第1の単位情報に含まれる現状態情報が示す状態と同じ状態を示す次状態情報を含む他の第1の単位情報から生成されたものであり且つ第2の内容情報及び第2の種類情報を含んでいる他の第2の単位情報を前記実行制御表形式のシステム仕様情報から検索し、該検索により該当する他の第2の単位情報が得られた場合に、当該対象とした第2の単位情報に対して、該特別の実行処理内容を示す第2の内容情報及び該特別の実行処理内容に対する実行制御の種類として処理の起動に係る特定の種類を示す第2の種類情報を追加するとともに、該検索により得られた当該他の第2の単位情報に対して、該特別の実行処理内容を示す第3の内容情報及び該特別の実行処理内容に対する実行制御の種類として処理の終了に係る特定の種類を示す第3の種類情報を追加することを特徴とする。
【0014】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための(あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための)プログラムとしても成立し、該プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
【0015】
本発明によれば、状態遷移形式の柔軟さを保持しつつ全体のシステムとしての整合性も保証する方式で、実行処理内容を遷移状態形式に割り当てて、この状態遷移形式から、実行可能なシステムを生成する手段を具備する設計支援装置を提供することができる。
【0016】
そして、本発明によれば、状態遷移表形式に処理内容(プログラム)を直接入力して、これを実行可能なシステムに変換するシステム生成手段を具備しているので、状態遷移表の柔軟さを損なずにシステム設計を行うことができ、また処理内容の実行制御命令自体は瞬間に実行されるので意味論的に状態遷移の仕組みと整合性が取れたシステム設計を行うことができる。
【0017】
従って、本発明によれば、システム分析から設計までを一環して支援し、システム分析結果に対応した精度よいシステム設計の支援を行って、システム開発期間を短縮させ、設計品質を向上させることができる。
【0018】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【0019】
図11に、本発明の実施の形態に係るシステム設計支援装置100の構成例を示す。図11に示されるように、システム設計支援装置100は、仕様モデル記述部101、アーキテクチャ探索部102、コミュニケーション合成部103、ハードウェア仕様生成部104、部品化・再利用部105、ソフトウェア仕様生成部106、システム仕様記録部107を備えている。システム設計支援装置100は、例えば、コンピュータを用いて構成可能であり、この場合、各処理部分はプログラムによって実施できる。
【0020】
システム仕様記録部107は、入力データや各処理部の処理結果の全部又は一部、例えば、計算機で実行されるソフトウェアの仕様や、半導体を組み合わせたハードウェアの仕様や、ソフトウェアとハードウェアを組み合わせた組み込みシステムの仕様や、ワークフロー等のビジネスプロセスの仕様に対しシステムレベルでの仕様等や、その他の必要なデータを記録するためのものである。
【0021】
仕様モデル記述部101は、設計者が予め定められた仕様記述形式に従って計算内容の仕様、通信内容の仕様を記述することを支援するためのものである。仕様モデル記述部101の支援の結果、仕様モデルが生成される。仕様記述形式には、例えば、構造化プログラミング言語に代表される構造化テキスト形式や、グラフを利用する構造図形式や、テーブルを利用する表形式が有る。
【0022】
アーキテクチャ探索部102は、与えられた仕様記述モデルと、アーキテクチャ(例えば、ハードウェア実行環境とソフトウェア実行環境の構成)に対し、仕様の内容を保存したまま仕様モデルの部分構造を分割しアーキテクチャ要素に分配する。すなわち、仕様モデル記述部101で設計された計算内容の仕様や通信内容の仕様を構成する部品をアーキテクチャ要素に割り当てる。
【0023】
コミュニケーション合成部103は、アーキテクチャ探索部102で分配された通信仕様要素間に対して通信手順(プロトコル)を挿入し、通信内容の仕様が挿入された通信手順と整合性を保つためのプロトコル変換(通信手順の組替え)を行う。
【0024】
なお、アーキテクチャ探索部102が処理対象とする仕様記述モデルは、仕様モデル記述部101を利用して記述されたものに限定されず、他のツール等で記述されたものでもよい。また、コミュニケーション合成部103が処理対象とする仕様記述モデルは、アーキテクチャ探索部102の出力結果(またはこの結果に修正を加えたもの)に限定されず、他のツール等で記述されたものでもよい。
【0025】
ハードウェア仕様生成部104は、システム仕様からハードウェア記述言語などによるハードウェア仕様を生成する。
【0026】
ソフトウェア仕様生成部106は、システム仕様からソフトウェア記述言語などによるソフトウェア仕様を生成する。
【0027】
ハードウェア仕様生成部104やソフトウェア仕様生成部106は、仕様モデル記述部101の出力結果(またはこの結果に修正を加えたもの)、アーキテクチャ探索部102の出力結果(またはこの結果に修正を加えたもの)、コミュニケーション合成部103の出力結果(またはこの結果に修正を加えたもの)、あるいは他のツール等で記述されたものなどを処理対象とすることができる。
【0028】
部品化・再利用部105は、仕様モデル記述部101、アーキテクチャ探索部102、コミュニケーション合成部103の全部または一部の設計段階において、仕様を部品化し、これを設計に再利用するためのものである。
【0029】
以下詳述する設計支援装置は、図11のシステム設計支援装置の仕様モデル記述部101に用いられるもので、状態に基づくシステム分析からプログラムのシステム設計をシームレスに実行できることを可能にするものである。
【0030】
図1に、本発明の一実施形態に係る設計支援装置の構成例を示す。
【0031】
図1に示されるように、本設計支援装置は、実行制御表変換部11およびシステム実装変換部12を含むシステム生成部1、外部とデータや指示のやり取りを行うための入出力部2、入力となる状態遷移表形式で記述された仕様(21)、中間状態となる実行制御表形式で記述された仕様(22)及び出力となるシステム記述言語で記述された仕様(23)、並びに変換ルール及び仕様統合ルールなどを記憶するための記憶部(図示せず)を備えている。また、必要に応じて、通信部3やプログラム実行部4などを更に備えることができる。
【0032】
システム実装変換部12の実行制御表変換部11は、状態遷移表形式で記述された仕様(21)を、実行制御表形式で記述された仕様(22)に変換する。
【0033】
システム実装変換部12のシステム実装変換部12は、実行制御表形式で記述された仕様(22)を、システム記述言語で記述された仕様(23)に変換する。
【0034】
本設計支援装置は、例えば、コンピュータ上で本発明を実施したプログラム(設計支援ソフト)を実行することによって、実現可能である。
【0035】
以下では、まず「状態遷移表形式で記述された仕様(状態遷移表形式の仕様)」と「実行制御表形式で記述された仕様(実行制御表形式の仕様)」の意味内容を説明した上で、前者を後者に変換する実行制御表変換部11の処理について説明する。
【0036】
<状態遷移表形式の仕様>
遷移状態形式の仕様とは、システムの挙動を、システムが取り得る有限個の状態と「イベント」による状態間の遷移の定義により記述する仕組みである(図4あるいは図7の具体例参照)。
【0037】
状態遷移表形式の仕様は、例えば下記に示す状態遷移単位の集合によって構成される。
状態遷移単位=(遷移番号、現状態、イベント、遷移条件、 アクション、次状態、実行制御)
なお、状態遷移単位=(遷移番号、現状態、イベント、遷移条件、次状態、実行制御)、状態遷移単位=(遷移番号、現状態、イベント、アクション、次状態、実行制御)、状態遷移単位=(遷移番号、現状態、イベント、次状態、実行制御)なども可能である。
【0038】
遷移番号で識別される個々の状態遷移単位は、システムが「現状態」にあるとき、「イベント」が発生して、かつ「遷移条件」を満たせば、「アクション」を実行して「次状態」に遷移する、というシステムの挙動の一部を表している。このとき、遷移時のアクションは一瞬で終了する。「実行制御」は、遷移が発生したときの、実行処理内容(プログラム)の実行制御に関する項目である。
【0039】
例えば図4のCDプレーヤの具体例(ただしアクションは省かれている)における番号[2]の状態遷移単位は、再生状態(playing)において、ポーズ(pause)イベントが発生した場合に、playプログラムに割り込み(interrupt)をかけて一時停止させるとともに、pauseプログラムを起動(start)させ、ポーズ(pause)状態に遷移する、という仕様を表している。
【0040】
なお、特別な状態として、初期状態(start)、終了状態(end)が準備される。
初期状態(start)は、システムが起動したときの最初の状態を指示するポインタであり、状態遷移単位の一つとして以下のように指示が表現される。
(start、−、−、−、最初の状態)
終了状態(end)は、終了したときに遷移する仮想的な状態である。
【0041】
また、状態遷移表形式は、階層的に記述することもできる。すなわち、下位階層の状態遷移単位の集合を一つの階層状態Xにまとめて、上位階層でXを一つの状態として含む状態遷移表形式の仕様を定義することができる。上位階層において階層状態Xに遷移したときは、Xの下位階層では初期状態(start)で指示する状態に遷移する。
【0042】
<遷移の接続について>
状態遷移表形式では、現状態から次状態への「遷移」を定義するが、当該次状態は、次の時間では、現状態になるので、状態遷移単位同士の間には同一の「状態」を介して、方向性のある隣接関係が成立する。この隣接関係が成立する遷移同士は「接続している」と呼ぶことにする。遷移の接続関係は、遷移の方向性に従う半順序関係である(例:「推移律が成り立つ」=「遷移Aと遷移Bが接続し、遷移Bと遷移Cが接続するならば、遷移Aと遷移Cは接続関係にある」)。また、遷移の方向に従った遷移接続を順方向の接続、その逆を逆方向の接続と呼ぶことにする。例えば、遷移Aとが遷移Bが接続し、接続の方向が遷移Aから遷移Bである(遷移Aの後で遷移Bが発生する)とき、遷移Aから遷移Bへの接続が順方向になり、遷移Bから遷移Aへの接続が逆方向になる。
【0043】
<「実行制御」の細目>
状態遷移形式における「実行制御」の項目では、プログラムの実行制御に関する細項目を用意して、この細項目に処理内容の単位(プログラム)を入力する。ここで、細項目とは、少なくとも、起動(start)、停止(stop)、割込み一時停止(interrupt)、プログラムの終了(finish)、一時停止からの復帰(resume)、及びこれらの要素を組み合わせた項目で構成される。
【0044】
なお、処理内容の単位(プログラム)が終了したことも、イベントとみなす。これを、特別に、終了イベントと呼び、状態遷移表形式では[FINISH]と表記するものとする(図4の番号[3]の状態遷移単位参照)。
【0045】
<実行制御表形式の仕様>
実行制御表形式の仕様とは、システムにおけるプログラム等の実行処理内容の単位と、これらの処理内容単位(プログラム)が状態遷移によってどのように実行制御(起動、停止、割込)されるかを定義することにより、システムの挙動を記述する仕組みである(図8の具体例参照)。
【0046】
実行制御表形式の仕様は、処理内容単位(プログラム)が状態遷移によってどのように切り替わるかを示すプログラム状態遷移単位の集合によって構成される。
【0047】
プログラム状態遷移単位は、状態遷移に起因する処理内容単位(プログラム)の実行状態(待機状態、実行状態、終了状態、一時停止状態)の変化を、他プログラムの実行状態の変化と関連付けたテーブルである。
【0048】
プログラム状態遷移単位は、例えば以下にテーブで表現される。
プログラム状態遷移単位=(番号、現プログラム、遷移、移動タイプ、 終了タイプ、次プログラム)
個々のプログラム状態遷移単位は、「現プログラム」実行中に「遷移」が発生すると、「終了タイプ」に従って「現プログラム」を実行制御し、「起動タイプ」に従って「次プログラム」を起動するという仕様を表している。
【0049】
例えば図8のCDプレーヤの具体例における番号(2)のプログラム状態遷移単位は、現プログラム(play)の実行中に遷移[2]が発生すると、現プログラム(play)を割込一時停止させ、次現プログラム(pause)を起動させる、という仕様を表している。
【0050】
起動タイプには、「起動」、「復帰」の2種類がある。
「起動」は、プログラムを起動することを示す。
「復帰」は、一時停止されていたプログラムの実行を再開することを示す。
終了タイプには、「割込終了」、「完了」、「割込一時停止」の3種類がある。
「完了」は、前プログラムが終了したときに次プログラムを起動することを示す。
「割込終了」は、現プログラムが実行中に、遷移が発生すると、現プログラムを強制終了して、次プログラムを起動することを示す。
「割込一時停止」は、現プログラムが実行中に、遷移が発生すると、現プログラムを一時停止して、次プログラムを起動することを示す。
【0051】
また、例えば、
(現プログラムA、遷移X、移動タイプY、終了タイプZ、次プログラムB)
(現プログラムA、遷移X、移動タイプY、終了タイプZ、次プログラムC)
のように、同一の(現プログラム、遷移X、移動タイプY、終了タイプZ)の組み合わせに対し複数の「次プログラム」が定義されるときには、当該複数の次プログラム(上記の例では、B,C)が遷移Xにより並列起動されることを表すこととする。
【0052】
なお、実行制御表形式の仕様でも、状態遷移表形式の仕様と同様に、特別なプログラム状態として、開始状態(start)と終了状態(end)がある。
【0053】
また、実行制御表形式の仕様でも、階層的に記述することもできる。すなわち、下位階層のプログラム状態遷移単位の集合を一つの階層状態Xにまとめて、上位階層でXを実行処理内容(プログラム)の一つとして含むプログラム状態遷移表形式の仕様を定義することができる。上位階層において階層状態Xに遷移したときは、Xの下位階層では初期状態(start)で指示されるプログラム状態が実行される。また、階層状態Xに対して「割込終了」「割込一時停止」が行われたときは、Xの下位階層全てのプログラムに対して「割込終了」「割込一時停止」が行われる。
【0054】
<実行制御表変換部11の処理>
続いて、実行制御表変換部11の処理について説明する。
【0055】
実行制御表変換部11は、状態遷移表形式における実行制御の項目(start,stop,interrupt,resume,finish)の情報に基づき、状態遷移表を実行制御表形に変換する。
【0056】
図2に、実行制御表変換部11の処理手順の一例を示す。
【0057】
<<ステップS1:プログラム状態遷移単位への展開>>
状態遷移表における個々の状態遷移単位に対し、実行制御の開始に関する項目(start,resume)から一つプログラムを選択して、これを「プログラム」とするとともに、実行制御の終了に関する項目(stop,finish,interrupt)から一つプログラムを選択して、これを「プログラム」として得られる、<現プログラム、次プログラム>の組み合わせを展開する。
【0058】
プログラムの由来となる実行制御項目(start,resume)に応じて、次のように「起動タイプ」を決定する。
startならば、「起動タイプ」=起動
resumeならば、「起動タイプ」=復帰
また、プログラムの由来となる実行制御項目(FINISH,interrupt,stop)に応じて、次のように「終了タイプ」を決定する。
stopならば、「終了タイプ」=割込終了
finishならば、「終了タイプ」=完了
interruptならば、「終了タイプ」=割込一時停止
また、「遷移」には、遷移番号を割り当てる。
【0059】
1つの状態遷移単位に対して、1つ以上のプログラム状態遷移単位が展開される。
【0060】
以上の処理を状態遷移表に含まれる全ての状態遷移単位に対して行うことにより、プログラム状態遷移単位の集合すなわち実行制御表を得る。
【0061】
<<ステップS2:遷移を検索し、プログラム状態遷移単位を生成する>>
状態遷移表形式を実行制御表形式に変換した時点において、プログラム状態単位、
(現プログラム、遷移、起動タイプ、終了タイプ、次プログラム)
の中に、現プログラムや次プログラムが無いものがある場合は、状態遷移表における遷移の接続関係を参照して、「遷移」に対して、
「次プログラム」項目が無い場合は、順方向、
「現プログラム」項目が無い場合は、逆方向、
となる遷移番号を「遷移」に持つプログラム状態遷移単位を検索し、「次プログラム」、「現プログラム」に相当する処理単位(プログラム)に突き当たるまで、これを繰り返す。
【0062】
プログラムが見つかったときは、見つかったプログラムを各々「次プログラム」、「現プログラム」とする新たなプログラム状態遷移単位を作成し、検索を行った過程のプログラム状態遷移単位(複数)を削除する。このとき、新たに作成したプログラム状態遷移単位の「遷移」は、検索を行った全ての遷移の遷移列とする。
【0063】
<<ステップS3:新しい処理内容の追加>>
見つかったプログラムと元々のプログラムとの間を介在する新しい実行処理(プログラム)を追加する。遷移の接続性を考慮して、起動・終了部分に適切に挿入することで実現される。
【0064】
以上の手順に従い、状態遷移表が実行制御表に変換される。
【0065】
<状態遷移表形式と実行制御形式の違い>
状態遷移表形式は、イベントに応じた状態の変化により、システムの挙動を記述する。システム分析過程では、重要な記述である。システム設計の段階においては、システム分析の結果を踏まえ、今度は状態ではなく、計算機プログラム等の実行処理内容を同定し、どのタイミングで、どの実行処理内容を起動したり停止したりするかに関する制御方式を設計する。
【0066】
状態遷移表形式でも、StateChart方式に代表されるように、遷移時に実行されるアクションや、状態滞留中に実行されるアクティビティとして、処理内容を状態遷移に記述する方法もあるが、状態遷移形式ではアクションは瞬時に実行が終了することが前提となっており、0より大きい一定の実行時間を必要とする計算機プログラムに代表される実行処理内容を割り当てることは意味論的に不整合であり、システム全体の挙動の整合性が保証できない。また、アクティビティは状態と処理が一対一に対応しているので、遷移が異なれば遷移先や遷移元が同じ状態でも異なるアクションが実行されるという状態遷移形式の記述の柔軟性が損なわれ、記述できる範囲が限定されてしまうという問題があり、結果として状態遷移形式のアクションやアクティビティに計算機プログラム等の実行処理内容を割り当てる方式では、精度のよいシミュレーションが実行できなかったり、また柔軟なシステム設計ができないという課題がある。
そこで、状態遷移ではなく、処理内容の実行制御を定義する新しい方式が、実行制御表形式である。
【0067】
次に、実行制御表形式で記述された仕様を、システム記述言語で記述された仕様に変換する、システム実装変換部12について説明する。
【0068】
以下では、まず「システム記述で記述された仕様」の意味内容を説明した上で、「実行制御表形式で記述された仕様」を「システム記述で記述された仕様」に変換するシステム実装変換部12の処理について説明する。
【0069】
<システム記述言語>
システム記述言語とは、計算機や電子部品回路で実現されるシステムにおける処理実行の動作仕様を記述する言語で、
少なくとも、並列処理、割込み処理、同期処理、繰り返し実行処理、逐次実行処理を記述できる手段を有し、さらにこれらの処理要素を用いた階層関係でシステムの仕様を記述することができる記述言語であり、かつ、
適切な実装変換装置により、計算機や電子部品組込み機器の上で実行可能な形式に変換できるものとする。ここで、実装変換装置とは、例えば、計算機のソフトウェアで実現されるシステムの場合は、コンパイラと呼ばれる変換装置に相当する。
【0070】
<SpecC言語>
システム記述言語の代表例としては、仕様記述言語SpecCが挙げられる。なお、SpecCについては例えば“SpecC:Specification Language and Methodology”,Daniel D.Gajski,Kluwer Academic Publishers,Dordrecht,ISBN0-7923-7822-9に詳しい。
SpecCでは、par(並列)、fsm(繰返し+逐次)、try/trap/itrp(割込み),notify/wait(同期)という特別な言語要素をC/C++に追加した仕様記述言語である(図10の具体例参照)。
【0071】
以下の説明では、システム記述言語によって記述された仕様を、SpecCの言語要素をもとにし、下記に列挙する形式により表現する場合を例にとって説明する。
【0072】
・par{A,B,C}
この言語要素の例では、A,B,Cを並列実行する。
【0073】
Figure 0003930255
のいずれかで構成され、特に指定が無い場合は、左から順に逐次実行される。すなわち、遷移ラベルの項目が無い場合、{ラベル,処理内容}は、処理内容が終了すると、次のfms要素を実行することになる。また、ラベル=1あるいは最左のfms要素が最初に実行されるものとする。遷移は、「goto(X):Xはラベル番号」にて表す。例えば、goto(1)は、最初のfms要素に戻ることを表している。
上記の例では、Aが実行され、終了すれば、Bが実行され、Bが終了したとき、変数flgの値が3ならばAを、1ならばBを実行することを表している。
次に例示するように、ラベルの無い要素は、ラベルを用いた或る実行制御の簡略形であるといえる。
fsm{A,B,C}=fsm{{1,A,goto(2)},{2,B,goto(3)},{3,C,…},…}
・try{A}trap(ev1){B}itrp(ev2){C}…
この言語要素の例では、まず、Aを実行する。そして、Aの実行中にイベントev1が発生すれば、Aを強制終了して、Bを実行する。また、Aの実行中にイベントev2が発生すれば、Aを一時停止して、Cを実行し、Cが終了したとき、Aの処理を再開する。
なお、trap(e){X},itrp(e2){Y}は、複数あってもよい。
【0074】
・wait(ev)
これは、イベントevの発生を待つ同期処理である。
【0075】
・notify(ev)
これは、イベントevを発生させる同期処理である。
【0076】
・flg=X
これは、変数flgへの値の代入である。
【0077】
・flg==X
これは、条件判断である。
【0078】
また、階層構造とは、処理内容がさらにシステム記述言語で書かれた詳細な仕様に展開されることを意味することとする。
階層構造を持つ仕様の例を次に示す。
Figure 0003930255
この仕様例の意味を自然言語で書き下ろすと、次のようになる。
「AとCが最初に並列に実行される。イベントev1が着たら、Cを強制終了し、イベントev2を発生する。ev2の発生した時点までにAが終了していれば、これと同期してBを起動する。」
<システム実装変換部12の処理>
続いて、システム実装変換部12の処理について説明する。
【0079】
前述のように、システム実装変換部12は、実行制御表形式で記述された仕様を、システム記述言語で記述された仕様に変換する。
【0080】
図3に、システム実装変換部12の処理手順の一例を示す。
【0081】
<<ステップS11:変換ルールによるシステム記述言語要素への展開>>
変換ルールとは、実行制御表におけるプログラム状態遷移単位(1行)を、システム記述言語による仕様に展開するルールである。
【0082】
システム実装変換部12は、変換ルールに従って、実行制御表の全てのプログラム状態遷移単位をシステム記述言語の仕様に展開する。
【0083】
変換ルールの一例としては、例えば「次プログラム」の処理内容
(現プログラムA、遷移T、移動タイプ、終了タイプ、次プログラムB) において、<起動タイプ、終了タイプ>の組み合わせに対して、下記に列挙するルールを適用して、システム記述言語で書かれた仕様の部分に展開するものがある。なお、下記において「ev_XX」とあるのは、イベントを表しているものとする。
【0084】
・<起動、割込終了>の場合は、
fsm{wait(ev_A_stop),B,goto(1)}と
try{A}trap{ev_T}{notify(ev_A_stop)}に展開する。
・<起動、完了>の場合は、
fsm{wait(ev_A_end),B,goto(1)}と
fsm{A,notify(ev_A_end),goto(1)}に展開する。
・<起動、割込一時停止>の場合は、
fsm{wait(ev_A_interrupt),B,goto(1)}と
try{A}itrp{ev_T}{fsm{notify(ev_A_interrupt),wait(ev_A_resume)}}に展開する。
・<復帰、完了>の場合は、
fsm{wait(ev_A_end),notify(ev_B_resume),goto(1)}と
fsm{A,notify(ev_A_end),goto(1)}に展開する。
・<復帰、割込終了>の場合は、
fsm{wait(ev_A_stop_resume),notify(ev_B_resume),goto(1)}と
try{A}itrp{ev_T}{notify(ev_A_stop_resume)}に展開する。
【0085】
システム実装変換部12は、これらのような展開を、実行制御表に含まれる全てのプログラム状態遷移単位に対して実行する。
【0086】
<<ステップS12:処理内容単位の仕様としてまとめる>>
展開された仕様の一部の集合を、その個々の処理内容(A,B,…)を中心にして次の形式にまとめる。
fms{開始待ち、処理内容、完了後処理、遷移}、あるいは、
fms{開始待ち、処理内容、遷移}
ここで、開始待ちについては、
開始待ち=par{wait(同期イベント1),wait(同期イベント2)}、あるいは、
開始待ち=wait(同期イベント1,同期イベント2)
の形式をとるものとする。
また、処理内容については、
Figure 0003930255
の形式をとるものとする。
また、完了後処理については、
完了後処理=notify(同期イベント)
の形式をとるものとする。
また、遷移については、
遷移=goto(X),Xはラベル
の形式をとるものとする。
【0087】
ここで説明のために変換ルールにて展開された仕様記述を以下のように分類する。
(1)開始のfsm
開始のfsmとは、処理内容Bに対して、
fsm{wait(X),B,goto(1)}
の形式を持つ要素を呼ぶこととする。
【0088】
(2)終了のtry
終了のtryとは、処理内容Xに対して、
try{X}trap(e){Y}
try{X}itrp(e){Y}
の形式を持つ要素を呼ぶこととする。
(3)終了のfsm
終了のfsmとは、処理内容Xに対して、
fsm{X,notify(e),goto(1)}
の形式を持つ要素を呼ぶこととする。
【0089】
以下に、仕様統合のルールの例を列挙する。
・『開始のfsmと終了のfsmの統合』
fsm{wait(e),A,goto(1)}
fsm{A,notify(f),goto(1)}
を、
fsm{wait(e),A,notify(f),goto(1)}
として統合する。
・『開始のfsm同士の統合』
fsm{wait(A),B,goto(1)}
fsm{wait(C),B,goto(1)}
を、
fsm{wait(A,C),B,goto(1)}
として統合する。
開始にwaitが複数ある場合には、これの論理和(少なくとも1つのイベントを持つ)に統合する。
【0090】
・『終了のtry同士の統合』
try{A}trap(e1){C}
try{A}trap(e2){D}
try{A}trap(e3){E}
を、
try{A}trap(e1){C}trap(e2){D}trap(e3){E}
に統合する。
・『開始のfsmと終了のtryの統合』
fsm{wait(A),B,goto(1)}
try{B}trap(e){C}
を、
fsm{wait(A),try{B}trap(e){C},goto(1)}
に統合する。同様に、
fsm{wait(A),B,goto(1)}
try{B}itrp(e){C}
を、
fsm{wait(A),try{B}itrp(e){C},goto(1)}
に統合する。
Figure 0003930255
に統合する。ここで、FINISHは、Aの終了を知らせるイベントであり、これをtrap(FINISH)にて検知して、最終的にAの終了イベントendを発行する。
【0091】
<<ステップS13:全体のシステム仕様としてまとまる>>
ステップS12によって得られた仕様の一部を、並列実行構造(par)にて束ねると、最終的なシステム仕様が完成する。
Figure 0003930255
以上の手順により、実行制御表形式で記述された仕様がシステム記述言語で記述された仕様に変換される。
【0092】
なお、この手順で用いた変換ルールは一例であり、生成されるシステム記述言語の最適化(例えば記述の大きさを最小にする)や実際の計算や電子機器による実装の容易性のために、他の変換ルールを用いることもできる。
【0093】
また、得られたシステム仕様についても、機能を保存したまま、変換を行い最適化を行う等の手段を用いて、所望の構造に変換することもできる。
【0094】
さて、以下では、本実施形態について、Compact Diskの演奏装置(CD player)の設計を例とって、さらに詳しく説明する。ここでのCD playerとは、例えば、制御ボタン(制御ボタンはハードウェアのボタンでもGUI画面上のボタンでもよい)として、play(演奏)、pause(一時停止)、stop(停止)を押して、演奏機械を制御する装置である。なお、以下では、<XXX>は、制御ボタンXXXが押されたイベントを意味するものとする。
【0095】
ここで、CD playerは、その状態として、stopped(停止中)、playing(演奏中)、pausing(一時停止中)の3つの状態を持つものとし、制御ボタンの押し下げをイベントとする状態遷移表形式でCD playerの仕様を記述する。図4に、この場合の状態遷移表の一例を示す。
【0096】
状態遷移表の各行は、現状態に対してイベントが発生したとき、どの状態に遷移するかを記述している。また、実行制御の項目の細目に、start,stop,interrupt,resumeがあり、それぞれ、遷移時に、起動(start)、割込終了(stop)、割込一時停止(interrupt)、割込一時停止からの復帰(resume)を行う、処理内容の単位(プログラム)が定義してある。CD playerにおける処理内容の単位は、play(演奏実行)、pause(一時停止実行)の2種類である。
【0097】
また、終了(finish)は、実行中の処理内容が終了したことをイベントとして利用することを示し、例えば、遷移番号[3]では、playが終了したことがplayingからstoppedに遷移するイベントであると定義している。このとき、イベント欄には、[FINISH]と記述していて、終了のイベントであることを明示している。
【0098】
また、start状態からの遷移(遷移[0])の場合は、開始プログラム状態(start)を強制終了するものとみなす。
【0099】
<実行制御への変換>
実行制御表変換部11により状態遷移表を実行制御表に変換する。
【0100】
まず、図2のステップS1の手順に従い、状態遷移表の実行制御項目において、開始に関する項目(start,resume)と終了に関する項目(stop,finish,interrupt)両方に処理内容(プログラム)がある状態遷移単位を選択し、これを<現プログラム、次プログラム>の組み合わせとして展開する。
【0101】
開始に関する項目と終了に関する項目とを両方持っているものは、遷移[2],[4],[5]であるから、最初に展開されるプログラム状態遷移単位は、図5のようになる。
【0102】
次に、図2のステップS2の手順に従い、遷移の接続関係を辿ると、「次プログラム」が無い遷移[7],[3],[6],[0]に対しては、それぞれ遷移の接続の順方向を参照する。例えば遷移[7]の場合は、stopped状態を介して遷移[1]と順方向に接続しており、遷移[1]には、「次プログラム」があるので、図6に示す新たなプログラム状態遷移を得る。遷移[3],[6],[0]の場合も同様に、図6に示す新たなプログラム遷移状態を得る。
【0103】
ここで、図2のステップS3の手順に従い、遷移[0],[3],[6],[7]と[1]の間に新しい処理内容(Xstop)を挿入することにする。
【0104】
開始と終了を考慮して、
状態遷移表における遷移[1]のstart項目
状態遷移表における遷移[7],[3],[6],[0]のstop項目
に挿入する。
【0105】
図4の状態遷移表にXstopが挿入されたもの(最終的に得られる実行制御表に対応する状態遷移表)を図7に、最終的に得られる実行制御表を図8に示す。
【0106】
<システム仕様への変換>
システム実装変換部12により実行制御表形式の仕様をシステム記述言語形式の仕様に変換する。
【0107】
まず、図3のステップS11の手順と、変換ルールに従い、各々のプログラム状態遷移単位をSpecC形式に変換する。この結果を、図9に示す。
【0108】
これらを処理内容(play,pause,Xstop)毎にまとめると、次のようになる。
【0109】
Figure 0003930255
次に、図3のステップS12の手順と仕様統合ルールに従って、統合を行う。この結果を、以下に示す。
【0110】
Figure 0003930255
とする。
【0111】
Figure 0003930255
とする。
【0112】
Figure 0003930255
は、tryを統合して、
Figure 0003930255
とする。
【0113】
Figure 0003930255
とする。
【0114】
最終的に得られる、システム記述言語形式の仕様は、図10のようになる。
【0115】
なお、以上の各機能は、ソフトウェアとして実現可能である。
また、本実施形態は、コンピュータに所定の手段を実行させるための(あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるための)プログラムとして実施することもでき、該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
【0116】
なお、この発明の実施の形態で例示した構成は一例であって、それ以外の構成を排除する趣旨のものではなく、例示した構成の一部を他のもので置き換えたり、例示した構成の一部を省いたり、例示した構成に別の機能あるいは要素を付加したり、それらを組み合わせたりすることなどによって得られる別の構成も可能である。また、例示した構成と論理的に等価な別の構成、例示した構成と論理的に等価な部分を含む別の構成、例示した構成の要部と論理的に等価な別の構成なども可能である。また、例示した構成と同一もしくは類似の目的を達成する別の構成、例示した構成と同一もしくは類似の効果を奏する別の構成なども可能である。
また、この発明の実施の形態で例示した各種構成部分についての各種バリエーションは、適宜組み合わせて実施することが可能である。
また、この発明の実施の形態は、個別装置としての発明、関連を持つ2以上の装置についての発明、システム全体としての発明、個別装置内部の構成部分についての発明、またはそれらに対応する方法の発明等、種々の観点、段階、概念またはカテゴリに係る発明を包含・内在するものである。
従って、この発明の実施の形態に開示した内容からは、例示した構成に限定されることなく発明を抽出することができるものである。
【0117】
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【0118】
【発明の効果】
本発明によれば、状態遷移表形式に処理内容(プログラム)を直接入力して、これを実行可能なシステムに変換するシステム生成手段を具備しているので、状態遷移表の柔軟さを損なずにシステム設計を行うことができ、また処理内容の実行制御命令自体は瞬間に実行されるので意味論的に状態遷移の仕組みと整合性が取れたシステム設計を行うことができる。これによって、システム分析から設計までを一環して支援し、システム分析結果に対応した精度よいシステム設計の支援を行って、システム開発期間を短縮させ、設計品質を向上させることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る設計支援装置の構成例を示す図
【図2】同実施形態に係る設計支援装置の実行制御表変換部の処理手順の一例を示すフローチャート
【図3】同実施形態に係る設計支援装置のシステム実装変換部の処理手順の一例を示すフローチャート
【図4】状態遷移表形式の仕様の一例を示す図
【図5】状態遷移表形式の仕様から実行制御表形式の仕様への変換について説明するための図
【図6】状態遷移表形式の仕様から実行制御表形式の仕様への変換について説明するための図
【図7】状態遷移表形式の仕様の一例を示す図
【図8】実行制御表形式の仕様の一例を示す図
【図9】実行制御表形式の仕様からシステム記述言語形式の仕様への変換について説明するための図
【図10】システム記述言語形式の仕様の一例を示す図
【図11】同実施形態に係るシステム設計支援装置の構成例を示す
【符号の説明】
1…システム生成部
2…入出力部
3…通信部
4…プログラム実行部
11…実行制御表変換部
12…システム実装変換部
100…システム設計支援装置
101…仕様モデル記述部
102…アーキテクチャ探索部
103…コミュニケーション合成部
104…ハードウェア仕様生成部
105…部品化・再利用部
106…ソフトウェア仕様生成部
107…システム仕様記録部

Claims (17)

  1. システムが取る現在の状態を示す現状態情報と、該現在の状態から次の状態への状態遷移を惹起する契機となるイベントを示すイベント情報と、該イベントの発生により状態遷移が惹起されたときにシステムが取る次の状態を示す次状態情報と、該イベントの発生により状態遷移が惹起されたときに実行制御が惹起される実行処理内容を示す第1の内容情報及び各実行処理内容に対する実行制御の種類であって処理の起動又は終了に係るものを示す第1の種類情報の組を1組以上含む実行制御情報とからなる第1の単位情報を、複数含んで構成される、状態遷移表形式のシステム仕様情報を記憶する記憶手段と、
    前記状態遷移表形式のシステム仕様情報をもとに、実行中の実行処理内容を示す第2の内容情報と、該実行中の実行処理内容に対する実行制御の種類であって処理の終了に係るものを示す第2の種類情報と、次に実行すべき実行処理内容を示す第3の内容情報と、該次に実行すべき実行処理内容に対する実行制御の種類であって処理の起動に係るものを示す第3の種類情報と、該第2の内容情報が示す実行処理内容が実行中である状態から該第3の内容情報が示す実行処理内容が実行中である状態への遷移を識別可能とする遷移識別情報とからなる第2の単位情報を、複数含んで構成される、実行制御表形式のシステム仕様情報を生成する生成手段とを備え、
    前記生成手段は、
    前記状態遷移表形式のシステム仕様情報に含まれる個々の第1の単位情報について、当該第1の単位情報が含む実行制御情報に、前記第1の種類情報が示す前記種類が処理の終了に係る種類である第1の内容情報が含まれる場合には、これら第1の内容情報及び第1の種類情報を前記第2の内容情報及び前記第2の種類情報とするとともに、前記第1の種類情報が示す前記種類が処理の起動に係る種類である第1の内容情報が含まれる場合には、これら第1の内容情報及び第1の種類情報を前記第3の内容情報及び前記第3の種類情報とし、当該遷移が当該第1の単位情報に係るものであることを識別可能とする情報を、前記遷移識別情報として、対応する前記第2の単位情報を生成し、
    生成された前記第2の単位情報のうち、第3の内容情報及び第3の種類情報を含んでいないものを対象として、当該対象とした第2の単位情報のもととなった第1の単位情報に含まれる次状態情報が示す状態と同じ状態を示す現状態情報を含む他の第1の単位情報から生成されたものであり且つ第3の内容情報及び第3の種類情報を含んでいる他の第2の単位情報を前記実行制御表形式のシステム仕様情報から検索し、該検索により該当する他の第2の単位情報が得られた場合に、当該対象とした第2の単位情報に対して、予め定められた特別の実行処理内容を示す第3の内容情報及び該特別の実行処理内容に対する実行制御の種類として処理の起動に係る特定の種類を示す第3の種類情報を追加するとともに、該検索により得られた当該他の第2の単位情報に対して、該特別の実行処理内容を示す第2の内容情報及び該特別の実行処理内容に対する実行制御の種類として処理の終了に係る特定の種類を示す第2の種類情報を追加し、又は、生成された前記第2の単位情報のうち、第2の内容情報及び第2の種類情報を含んでいないものを対象として、当該対象とした第2の単位情報のもととなった第1の単位情報に含まれる現状態情報が示す状態と同じ状態を示す次状態情報を含む他の第1の単位情報から生成されたものであり且つ第2の内容情報及び第2の種類情報を含んでいる他の第2の単位情報を前記実行制御表形式のシステム仕様情報から検索し、該検索により該当する他の第2の単位情報が得られた場合に、当該対象とした第2の単位情報に対して、該特別の実行処理内容を示す第2の内容情報及び該特別の実行処理内容に対する実行制御の種類として処理の起動に係る特定の種類を示す第2の種類情報を追加するとともに、該検索により得られた当該他の第2の単位情報に対して、該特別の実行処理内容を示す第3の内容情報及び該特別の実行処理内容に対する実行制御の種類として処理の終了に係る特定の種類を示す第3の種類情報を追加することを特徴とするシステム仕様情報処理装置。
  2. 前記状態遷移表形式のシステム仕様情報に含まれる前記第1の単位情報の各々は、当該 第1の単位情報が含む前記イベント情報が示すイベントが発生したときに、状態が遷移できるための条件を示す情報と、当該第1の単位情報が含む前記次状態情報が示す次の状態に遷移する前に実行すべきアクションを示す情報との少なくとも一方をさらに含むものであることを特徴とする請求項に記載のシステム仕様情報処理装置。
  3. 前記実行制御の種類は、前記処理の起動に係る種類として、処理の起動、割込による処理の一時停止からの復帰を含み、前記処理の終了に係る種類として、イベント発生に起因する割込による処理の強制終了、イベント発生に起因する割込による処理の一時停止、処理が終了したことを知らせるイベントの通知を含むことを特徴とする請求項1に記載のシステム仕様情報処理装置。
  4. 前記生成手段は、前記処理の起動に係る特定の種類を、前記処理の起動とし、前記処理の終了に係る特定の種類を、前記イベント発生に起因する割込による処理の強制終了とすることを特徴とする請求項3に記載のシステム仕様情報処理装置。
  5. 記実行制御表形式のシステム仕様情報に基づいて、システム記述言語で記述された実行可能な形式を持つシステム仕様情報を生成するシステム実装変換手段を更に備えたことを特徴とする請求項1ないし4のいずれか1項に記載のシステム仕様情報処理装置。
  6. 前記システム実装変換手段は、前記実行制御表形式のシステム仕様情報に含まれる個々の前記第2の単位情報を所定の変換ルールに基づいてシステム記述言語で記述された仕様に展開する手段と、展開された個々のシステム記述言語で記述された仕様を所定の仕様統合ルールに基づいて統合することによって、前記実行可能な形式を持つシステム仕様情報を生成する手段とを含むことを特徴とする請求項に記載のシステム仕様情報処理装置。
  7. 生成された前記実行可能な形式を持つシステム仕様情報を実行するための実行手段を更に備えたことを特徴とする請求項5または6に記載のシステム仕様情報処理装置。
  8. 記憶手段と生成手段とを備えたシステム仕様情報処理装置におけるシステム仕様情報処理方法であって、
    前記記憶手段が、システムが取る現在の状態を示す現状態情報と、該現在の状態から次の状態への状態遷移を惹起する契機となるイベントを示すイベント情報と、該イベントの発生により状態遷移が惹起されたときにシステムが取る次の状態を示す次状態情報と、該イベントの発生により状態遷移が惹起されたときに実行制御が惹起される実行処理内容を示す第1の内容情報及び各実行処理内容に対する実行制御の種類であって処理の起動又は終了に係るものを示す第1の種類情報の組を1組以上含む実行制御情報とからなる第1の単位情報を、複数含んで構成される、状態遷移表形式のシステム仕様情報を記憶する第1のステップと、
    前記生成手段が、前記状態遷移表形式のシステム仕様情報をもとに、実行中の実行処理内容を示す第2の内容情報と、該実行中の実行処理内容に対する実行制御の種類であって処理の終了に係るものを示す第2の種類情報と、次に実行すべき実行処理内容を示す第3の内容情報と、該次に実行すべき実行処理内容に対する実行制御の種類であって処理の起動に係るものを示す第3の種類情報と、該第2の内容情報が示す実行処理内容が実行中である状態から該第3の内容情報が示す実行処理内容が実行中である状態への遷移を識別可能とする遷移識別情報とからなる第2の単位情報を、複数含んで構成される、実行制御表形式のシステム仕様情報を生成する第2のステップとを有し、
    前記第2のステップにおいて、前記生成手段は、
    前記状態遷移表形式のシステム仕様情報に含まれる個々の第1の単位情報について、当該第1の単位情報が含む実行制御情報に、前記第1の種類情報が示す前記種類が処理の終了に係る種類である第1の内容情報が含まれる場合には、これら第1の内容情報及び第1 の種類情報を前記第2の内容情報及び前記第2の種類情報とするとともに、前記第1の種類情報が示す前記種類が処理の起動に係る種類である第1の内容情報が含まれる場合には、これら第1の内容情報及び第1の種類情報を前記第3の内容情報及び前記第3の種類情報とし、当該遷移が当該第1の単位情報に係るものであることを識別可能とする情報を、前記遷移識別情報として、対応する前記第2の単位情報を生成し、
    生成された前記第2の単位情報のうち、第3の内容情報及び第3の種類情報を含んでいないものを対象として、当該対象とした第2の単位情報のもととなった第1の単位情報に含まれる次状態情報が示す状態と同じ状態を示す現状態情報を含む他の第1の単位情報から生成されたものであり且つ第3の内容情報及び第3の種類情報を含んでいる他の第2の単位情報を前記実行制御表形式のシステム仕様情報から検索し、該検索により該当する他の第2の単位情報が得られた場合に、当該対象とした第2の単位情報に対して、予め定められた特別の実行処理内容を示す第3の内容情報及び該特別の実行処理内容に対する実行制御の種類として処理の起動に係る特定の種類を示す第3の種類情報を追加するとともに、該検索により得られた当該他の第2の単位情報に対して、該特別の実行処理内容を示す第2の内容情報及び該特別の実行処理内容に対する実行制御の種類として処理の終了に係る特定の種類を示す第2の種類情報を追加し、又は、生成された前記第2の単位情報のうち、第2の内容情報及び第2の種類情報を含んでいないものを対象として、当該対象とした第2の単位情報のもととなった第1の単位情報に含まれる現状態情報が示す状態と同じ状態を示す次状態情報を含む他の第1の単位情報から生成されたものであり且つ第2の内容情報及び第2の種類情報を含んでいる他の第2の単位情報を前記実行制御表形式のシステム仕様情報から検索し、該検索により該当する他の第2の単位情報が得られた場合に、当該対象とした第2の単位情報に対して、該特別の実行処理内容を示す第2の内容情報及び該特別の実行処理内容に対する実行制御の種類として処理の起動に係る特定の種類を示す第2の種類情報を追加するとともに、該検索により得られた当該他の第2の単位情報に対して、該特別の実行処理内容を示す第3の内容情報及び該特別の実行処理内容に対する実行制御の種類として処理の終了に係る特定の種類を示す第3の種類情報を追加することを特徴とするシステム仕様情報処理方法。
  9. 前記状態遷移表形式のシステム仕様情報に含まれる前記第1の単位情報の各々は、当該第1の単位情報が含む前記イベント情報が示すイベントが発生したときに、状態が遷移できるための条件を示す情報と、当該第1の単位情報が含む前記次状態情報が示す次の状態に遷移する前に実行すべきアクションを示す情報との少なくとも一方をさらに含むものであることを特徴とする請求項8に記載のシステム仕様情報処理方法。
  10. 記実行制御の種類は、前記処理の起動に係る種類として、処理の起動、割込による処理の一時停止からの復帰を含み、前記処理の終了に係る種類として、イベント発生に起因する割込による処理の強制終了、イベント発生に起因する割込による処理の一時停止、処理が終了したことを知らせるイベントの通知を含むことを特徴とする請求項に記載のシステム仕様情報処理方法。
  11. 前記生成手段は、前記処理の起動に係る特定の種類を、前記処理の起動とし、前記処理の終了に係る特定の種類を、前記イベント発生に起因する割込による処理の強制終了とすることを特徴とする請求項10に記載のシステム仕様情報処理方法。
  12. 前記システム仕様情報処理装置は、システム実装変換手段を更に備えるものであり、
    前記システム仕様情報処理方法は、前記システム実装変換手段が、前記実行制御表形式のシステム仕様情報に基づいて、システム記述言語で記述された実行可能な形式を持つシステム仕様情報を生成するステップを更に有することを特徴とする請求項8ないし11のいずれか1項に記載のシステム仕様情報処理方法。
  13. 前記システム実装変換手段は、前記実行制御表形式のシステム仕様情報に含まれる個々の前記第2の単位情報を所定の変換ルールに基づいてシステム記述言語で記述された仕様に展開し、展開された個々のシステム記述言語で記述された仕様を所定の仕様統合ルールに基づいて統合することによって、前記実行可能な形式を持つシステム仕様情報を生成することを特徴とする請求項12に記載のシステム仕様情報処理方法。
  14. 前記システム仕様情報処理装置は、実行手段を更に備えるものであり、
    前記システム仕様情報処理方法は、前記実行手段が、生成された前記実行可能な形式を持つシステム仕様情報を実行するステップを更に有することを特徴とする請求項12または13に記載のシステム仕様情報処理方法。
  15. システム仕様情報処理装置としてコンピュータを機能させるためのプログラムであって、
    システムが取る現在の状態を示す現状態情報と、該現在の状態から次の状態への状態遷移を惹起する契機となるイベントを示すイベント情報と、該イベントの発生により状態遷移が惹起されたときにシステムが取る次の状態を示す次状態情報と、該イベントの発生により状態遷移が惹起されたときに実行制御が惹起される実行処理内容を示す第1の内容情報及び各実行処理内容に対する実行制御の種類であって処理の起動又は終了に係るものを示す第1の種類情報の組を1組以上含む実行制御情報とからなる第1の単位情報を、複数含んで構成される、状態遷移表形式のシステム仕様情報を記憶する記憶手段と、
    前記状態遷移表形式のシステム仕様情報をもとに、実行中の実行処理内容を示す第2の内容情報と、該実行中の実行処理内容に対する実行制御の種類であって処理の終了に係るものを示す第2の種類情報と、次に実行すべき実行処理内容を示す第3の内容情報と、該次に実行すべき実行処理内容に対する実行制御の種類であって処理の起動に係るものを示す第3の種類情報と、該第2の内容情報が示す実行処理内容が実行中である状態から該第3の内容情報が示す実行処理内容が実行中である状態への遷移を識別可能とする遷移識別情報とからなる第2の単位情報を、複数含んで構成される、実行制御表形式のシステム仕様情報を生成する生成手段とをコンピュータに実現させるためのものであるとともに、
    前記生成手段は、
    前記状態遷移表形式のシステム仕様情報に含まれる個々の第1の単位情報について、当該第1の単位情報が含む実行制御情報に、前記第1の種類情報が示す前記種類が処理の終了に係る種類である第1の内容情報が含まれる場合には、これら第1の内容情報及び第1の種類情報を前記第2の内容情報及び前記第2の種類情報とするとともに、前記第1の種類情報が示す前記種類が処理の起動に係る種類である第1の内容情報が含まれる場合には、これら第1の内容情報及び第1の種類情報を前記第3の内容情報及び前記第3の種類情報とし、当該遷移が当該第1の単位情報に係るものであることを識別可能とする情報を、前記遷移識別情報として、対応する前記第2の単位情報を生成し、
    生成された前記第2の単位情報のうち、第3の内容情報及び第3の種類情報を含んでいないものを対象として、当該対象とした第2の単位情報のもととなった第1の単位情報に含まれる次状態情報が示す状態と同じ状態を示す現状態情報を含む他の第1の単位情報から生成されたものであり且つ第3の内容情報及び第3の種類情報を含んでいる他の第2の単位情報を前記実行制御表形式のシステム仕様情報から検索し、該検索により該当する他の第2の単位情報が得られた場合に、当該対象とした第2の単位情報に対して、予め定められた特別の実行処理内容を示す第3の内容情報及び該特別の実行処理内容に対する実行制御の種類として処理の起動に係る特定の種類を示す第3の種類情報を追加するとともに、該検索により得られた当該他の第2の単位情報に対して、該特別の実行処理内容を示す第2の内容情報及び該特別の実行処理内容に対する実行制御の種類として処理の終了に係る特定の種類を示す第2の種類情報を追加し、又は、生成された前記第2の単位情報のうち、第2の内容情報及び第2の種類情報を含んでいないものを対象として、当該対象とした第2の単位情報のもととなった第1の単位情報に含まれる現状態情報が示す状態と同じ 状態を示す次状態情報を含む他の第1の単位情報から生成されたものであり且つ第2の内容情報及び第2の種類情報を含んでいる他の第2の単位情報を前記実行制御表形式のシステム仕様情報から検索し、該検索により該当する他の第2の単位情報が得られた場合に、当該対象とした第2の単位情報に対して、該特別の実行処理内容を示す第2の内容情報及び該特別の実行処理内容に対する実行制御の種類として処理の起動に係る特定の種類を示す第2の種類情報を追加するとともに、該検索により得られた当該他の第2の単位情報に対して、該特別の実行処理内容を示す第3の内容情報及び該特別の実行処理内容に対する実行制御の種類として処理の終了に係る特定の種類を示す第3の種類情報を追加するものであることを特徴とするプログラム。
  16. 前記実行制御表形式のシステム仕様情報に基づいて、システム記述言語で記述された実行可能な形式を持つシステム仕様情報を生成するシステム実装変換手段を更にコンピュータに実現させるための請求項15に記載のプログラム。
  17. 生成された前記実行可能な形式を持つシステム仕様情報を実行するための手段を更にコンピュータに実現させるための請求項16に記載のプログラム。
JP2001024491A 2001-01-31 2001-01-31 システム仕様情報処理装置、システム仕様情報処理方法及びプログラム Expired - Fee Related JP3930255B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001024491A JP3930255B2 (ja) 2001-01-31 2001-01-31 システム仕様情報処理装置、システム仕様情報処理方法及びプログラム
US10/059,211 US20020143511A1 (en) 2001-01-31 2002-01-31 Method and computer program product for system design support

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001024491A JP3930255B2 (ja) 2001-01-31 2001-01-31 システム仕様情報処理装置、システム仕様情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2002230062A JP2002230062A (ja) 2002-08-16
JP3930255B2 true JP3930255B2 (ja) 2007-06-13

Family

ID=18889625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001024491A Expired - Fee Related JP3930255B2 (ja) 2001-01-31 2001-01-31 システム仕様情報処理装置、システム仕様情報処理方法及びプログラム

Country Status (2)

Country Link
US (1) US20020143511A1 (ja)
JP (1) JP3930255B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3803561B2 (ja) * 2001-06-29 2006-08-02 松下電器産業株式会社 論理回路設計方法
US6560751B1 (en) * 2001-11-06 2003-05-06 Sony Corporation Total overlay feed forward method for determination of specification satisfaction
US7797671B2 (en) * 2004-05-19 2010-09-14 Parker-Hannifin Corporation Layered object based software architecture for statechart-centric embedded device controllers
JP5198132B2 (ja) * 2008-04-23 2013-05-15 大日本スクリーン製造株式会社 状態遷移テスト支援装置、状態遷移テスト支援プログラム、および状態遷移テスト支援方法
JP5774468B2 (ja) * 2011-12-28 2015-09-09 株式会社東芝 状態遷移表生成装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62182939A (ja) * 1986-02-07 1987-08-11 Hitachi Ltd 情報処理装置の論理シミユレ−シヨン方法
US5604863A (en) * 1993-11-01 1997-02-18 International Business Machines Corporation Method for coordinating executing programs in a data processing system
US5537580A (en) * 1994-12-21 1996-07-16 Vlsi Technology, Inc. Integrated circuit fabrication using state machine extraction from behavioral hardware description language
US6421251B1 (en) * 1997-05-02 2002-07-16 Axis Systems Inc Array board interconnect system and method
JPH11282658A (ja) * 1998-03-31 1999-10-15 Fujitsu Ltd 対話的ソフトウエア構築・駆動装置
US6567075B1 (en) * 1999-03-19 2003-05-20 Avaya Technology Corp. Feature access control in a display-based terminal environment
WO2001082071A1 (en) * 2000-04-21 2001-11-01 Togethersoft Corporation Methods and systems for supporting and deploying distributed computing components

Also Published As

Publication number Publication date
US20020143511A1 (en) 2002-10-03
JP2002230062A (ja) 2002-08-16

Similar Documents

Publication Publication Date Title
JP4622611B2 (ja) 信号処理装置
JP5350428B2 (ja) 自動プログラム生成装置、方法及びコンピュータプログラム
JPH10187789A (ja) ハードウェア/ソフトウェア協調シミュレーション装置、ハードウェア/ソフトウェア協調シミュレーション方法及びハードウェア/ソフトウェア協調シミュレーションプログラムを記録した機械読み取り可能な記録媒体
JP4050339B2 (ja) 並行プログラム作成支援装置及び並行プログラム作成方法並びに並行プログラム実行装置
CN115562629A (zh) 一种rpa流程表示方法、系统、装置及存储介质
JP3930255B2 (ja) システム仕様情報処理装置、システム仕様情報処理方法及びプログラム
JP5026925B2 (ja) 制御プログラム作成装置および制御プログラム作成方法
CN107491311B (zh) 生成页面文件的方法、系统以及计算机设备
JPWO2010044150A1 (ja) プログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法
JP3675623B2 (ja) プログラム開発支援装置及び方法並びにプログラム開発支援用ソフトウェアを記録した記録媒体
JP2007287025A (ja) 画面遷移プログラム生成方法及び装置
JP4481783B2 (ja) シミュレーションモデル作成装置及びシミュレーション装置とシステム並びに方法とプログラム
JP2018022433A (ja) 制御プログラム、装置、及び方法
JP3923734B2 (ja) 割込み構造局所化の装置および方法およびプログラム
JP2006338399A (ja) プログラム開発装置、プログラム開発ソフトウェア及び記憶媒体
JP2001043079A (ja) ソフトウェアの開発支援装置、ソフトウェア部品生成装置およびその方法、記録媒体
JPH07334358A (ja) 手順編集装置
JP2011048492A (ja) プログラムの作成支援装置、作成支援方法及び作成支援プログラム
JPWO2006025472A1 (ja) Lyee方法論に基づく処理経路図作成方法、作成装置、ソフトウェア生成方法、生成装置、ソフトウェア並びにソフトウェア開発支援用ソフトウェア
JPH0896018A (ja) Cadツール管理方法および回路の自動設計システム
JP2011065241A (ja) プロセス起動条件システム
JPH1124911A (ja) ソースプログラム自動生成方法
JP2002312206A (ja) 状態遷移情報検証装置及び状態遷移情報検証方法
JP2002229785A (ja) Gui設計支援装置および方法およびプログラム
JP3722854B2 (ja) データ編集装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070115

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: 20070306

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070308

LAPS Cancellation because of no payment of annual fees