JPH1124907A - ソフトウエア開発支援方法およびソフトウエア開発支援装置 - Google Patents
ソフトウエア開発支援方法およびソフトウエア開発支援装置Info
- Publication number
- JPH1124907A JPH1124907A JP9172151A JP17215197A JPH1124907A JP H1124907 A JPH1124907 A JP H1124907A JP 9172151 A JP9172151 A JP 9172151A JP 17215197 A JP17215197 A JP 17215197A JP H1124907 A JPH1124907 A JP H1124907A
- Authority
- JP
- Japan
- Prior art keywords
- state
- event
- transition
- state transition
- history
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Exchange Systems With Centralized Control (AREA)
Abstract
(57)【要約】
【課題】状態遷移テーブルを解釈実行することにより動
作するソフトウェアシステムの開発の様々な段階におい
て、状態遷移テーブルの最適化を容易に行うことができ
るソフトウエア開発支援装置を提供する。 【解決手段】状態遷移解釈実行部2にて状態遷移テーブ
ル1を解釈実行しながら、各状態毎の状態遷移履歴およ
び各イベント毎のイベント成立履歴を収集および記録
し、状態遷移順序最適化部10、イベント順序最適化部
11では、この記録された状態遷移履歴およびイベント
成立履歴に基づき算出される各状態から他の状態へ遷移
するまでの遷移時間が最小となるように、状態遷移テー
ブル1の各状態毎に、他の状態への遷移順序とイベント
の成立順序とを決定する。
作するソフトウェアシステムの開発の様々な段階におい
て、状態遷移テーブルの最適化を容易に行うことができ
るソフトウエア開発支援装置を提供する。 【解決手段】状態遷移解釈実行部2にて状態遷移テーブ
ル1を解釈実行しながら、各状態毎の状態遷移履歴およ
び各イベント毎のイベント成立履歴を収集および記録
し、状態遷移順序最適化部10、イベント順序最適化部
11では、この記録された状態遷移履歴およびイベント
成立履歴に基づき算出される各状態から他の状態へ遷移
するまでの遷移時間が最小となるように、状態遷移テー
ブル1の各状態毎に、他の状態への遷移順序とイベント
の成立順序とを決定する。
Description
【0001】
【発明の属する技術分野】本発明は、例えば、無線通信
端末の無線回線制御のように、「待受け」、「発呼、
「着信」、「通信中」といった状態間の遷移を定義する
状態遷移テーブルを解釈実行することにより動作するソ
フトウェアシステムの開発の際に、プログラムサイズを
変化させることなく、遷移の評価順序やイベントの評価
順序を最適化して、実行速度のより高速なソフトウエア
システムの開発を支援するソフトウエア開発支援方法お
よびそれを用いた開発支援装置に関する。
端末の無線回線制御のように、「待受け」、「発呼、
「着信」、「通信中」といった状態間の遷移を定義する
状態遷移テーブルを解釈実行することにより動作するソ
フトウェアシステムの開発の際に、プログラムサイズを
変化させることなく、遷移の評価順序やイベントの評価
順序を最適化して、実行速度のより高速なソフトウエア
システムの開発を支援するソフトウエア開発支援方法お
よびそれを用いた開発支援装置に関する。
【0002】
【従来の技術】例えば、無線通信端末においては、無線
回線制御にかかる状態を図14に示すように定義してい
る。すなわち、携帯端末の状態としては、電源ONによ
り位置登録を行った後、「待受け」という定常状態に入
る。ここで、発呼あるいは着呼があり、呼制御が完了す
ると「通信中」という定常状態に遷移する。通信が終了
すると呼切断の呼制御を経て「待受け」状態に戻る。
回線制御にかかる状態を図14に示すように定義してい
る。すなわち、携帯端末の状態としては、電源ONによ
り位置登録を行った後、「待受け」という定常状態に入
る。ここで、発呼あるいは着呼があり、呼制御が完了す
ると「通信中」という定常状態に遷移する。通信が終了
すると呼切断の呼制御を経て「待受け」状態に戻る。
【0003】このような無線通信端末の無線回線制御の
ように、「待受け」、「発呼、「着信」、「通信中」と
いった状態間の遷移を定義する状態遷移テーブルを解釈
実行して動作するソフトウエアシステムにおいては、テ
ーブルの構成がシステムの実行速度に大きな影響を与え
ることがある。特に状態毎に評価すべき遷移の数やイベ
ントの数が増加するに連れ、その評価順序がシステムの
実行速度に与える影響は大きくなる。従来、状態遷移テ
ーブルの最適化は、システムの仕様から最適と思われる
評価順序を想定して行われるのが通常であった。シミュ
レーションにより、遷移の実行頻度を計測して最適な順
序を決定することも可能であるが、遷移の並び替えは手
動で行う必要があった。
ように、「待受け」、「発呼、「着信」、「通信中」と
いった状態間の遷移を定義する状態遷移テーブルを解釈
実行して動作するソフトウエアシステムにおいては、テ
ーブルの構成がシステムの実行速度に大きな影響を与え
ることがある。特に状態毎に評価すべき遷移の数やイベ
ントの数が増加するに連れ、その評価順序がシステムの
実行速度に与える影響は大きくなる。従来、状態遷移テ
ーブルの最適化は、システムの仕様から最適と思われる
評価順序を想定して行われるのが通常であった。シミュ
レーションにより、遷移の実行頻度を計測して最適な順
序を決定することも可能であるが、遷移の並び替えは手
動で行う必要があった。
【0004】
【発明が解決しようとする課題】本発明は、上記の事情
に対処してなされたものであり、状態遷移テーブルを解
釈実行することにより動作するソフトウェアシステムの
開発において、設計、試験、及び、実稼動の各段階にお
いて、遷移の実行頻度、またイベントの評価結果の成立
頻度を計測し、その結果に基づいて状態遷移テーブルの
構造を自動的に最適化して、実行速度のより高速なソフ
トウエアシステムの設計・製造が可能なソフトウエア開
発支援方法およびそれを用いた開発支援装置を提供する
ことを目的とする。
に対処してなされたものであり、状態遷移テーブルを解
釈実行することにより動作するソフトウェアシステムの
開発において、設計、試験、及び、実稼動の各段階にお
いて、遷移の実行頻度、またイベントの評価結果の成立
頻度を計測し、その結果に基づいて状態遷移テーブルの
構造を自動的に最適化して、実行速度のより高速なソフ
トウエアシステムの設計・製造が可能なソフトウエア開
発支援方法およびそれを用いた開発支援装置を提供する
ことを目的とする。
【0005】
【課題を解決するための手段】本発明のソフトウエア開
発支援方法(請求項1)は、予め定義された複数の状態
と、少なくとも各状態毎に定義されたその状態から他の
状態へ遷移するための成立すべきイベントとを記述した
状態遷移テーブルを解釈実行することにより動作するソ
フトウエアの開発を支援するソフトウエア開発支援方法
において、前記状態遷移テーブルを解釈実行しながら各
状態毎の状態遷移履歴および各イベント毎のイベント成
立履歴を記録し、この記録された状態遷移履歴およびイ
ベント成立履歴に基づき、前記状態遷移テーブルの各状
態毎に、他の状態への遷移順序とイベントの成立順序と
を決定することにより、状態遷移テーブルを解釈実行す
ることにより動作するソフトウェアシステムの開発の様
々な段階において、状態遷移テーブルの最適化を容易に
行うことができる。
発支援方法(請求項1)は、予め定義された複数の状態
と、少なくとも各状態毎に定義されたその状態から他の
状態へ遷移するための成立すべきイベントとを記述した
状態遷移テーブルを解釈実行することにより動作するソ
フトウエアの開発を支援するソフトウエア開発支援方法
において、前記状態遷移テーブルを解釈実行しながら各
状態毎の状態遷移履歴および各イベント毎のイベント成
立履歴を記録し、この記録された状態遷移履歴およびイ
ベント成立履歴に基づき、前記状態遷移テーブルの各状
態毎に、他の状態への遷移順序とイベントの成立順序と
を決定することにより、状態遷移テーブルを解釈実行す
ることにより動作するソフトウェアシステムの開発の様
々な段階において、状態遷移テーブルの最適化を容易に
行うことができる。
【0006】また、本発明のソフトウエア開発支援方法
(請求項2)は、予め定義された複数の状態と、少なく
とも各状態毎に定義されたその状態から他の状態へ遷移
するための成立すべきイベントとを記述した状態遷移テ
ーブルを解釈実行することにより動作するソフトウエア
の開発を支援するソフトウエア開発支援方法において、
前記状態遷移テーブルを解釈実行しながら各状態毎の状
態遷移履歴および各イベント毎のイベント成立履歴を記
録し、この記録された状態遷移履歴およびイベント成立
履歴に基づき算出される各状態から他の状態へ遷移する
までの遷移時間が最小となるように、前記状態遷移テー
ブルの各状態毎に、他の状態への遷移順序とイベントの
成立順序とを決定することにより、状態遷移テーブルを
解釈実行することにより動作するソフトウェアシステム
の開発の様々な段階において、状態遷移テーブルの最適
化を容易に行うことができる。
(請求項2)は、予め定義された複数の状態と、少なく
とも各状態毎に定義されたその状態から他の状態へ遷移
するための成立すべきイベントとを記述した状態遷移テ
ーブルを解釈実行することにより動作するソフトウエア
の開発を支援するソフトウエア開発支援方法において、
前記状態遷移テーブルを解釈実行しながら各状態毎の状
態遷移履歴および各イベント毎のイベント成立履歴を記
録し、この記録された状態遷移履歴およびイベント成立
履歴に基づき算出される各状態から他の状態へ遷移する
までの遷移時間が最小となるように、前記状態遷移テー
ブルの各状態毎に、他の状態への遷移順序とイベントの
成立順序とを決定することにより、状態遷移テーブルを
解釈実行することにより動作するソフトウェアシステム
の開発の様々な段階において、状態遷移テーブルの最適
化を容易に行うことができる。
【0007】本発明のソフトウエア開発支援装置(請求
項3)は、予め定義された複数の状態と、少なくとも各
状態毎に定義されたその状態から他の状態へ遷移するた
めの成立すべきイベントとを記述した状態遷移テーブル
を解釈実行することにより動作するソフトウエアの開発
を支援するソフトウエア開発支援装置において、前記状
態遷移テーブルを解釈実行する実行手段と、この実行手
段で実行された各状態毎の状態遷移履歴および各イベン
ト毎のイベント成立履歴を記録する記録手段と、この記
録手段で記録された状態遷移履歴およびイベント成立履
歴に基づき、前記状態遷移テーブルの各状態毎に、他の
状態への遷移順序とイベントの成立順序とを決定する決
定手段と、を具備したことにより、状態遷移テーブルを
解釈実行することにより動作するソフトウェアシステム
の開発の様々な段階において、状態遷移テーブルの最適
化を容易に行うことができる。
項3)は、予め定義された複数の状態と、少なくとも各
状態毎に定義されたその状態から他の状態へ遷移するた
めの成立すべきイベントとを記述した状態遷移テーブル
を解釈実行することにより動作するソフトウエアの開発
を支援するソフトウエア開発支援装置において、前記状
態遷移テーブルを解釈実行する実行手段と、この実行手
段で実行された各状態毎の状態遷移履歴および各イベン
ト毎のイベント成立履歴を記録する記録手段と、この記
録手段で記録された状態遷移履歴およびイベント成立履
歴に基づき、前記状態遷移テーブルの各状態毎に、他の
状態への遷移順序とイベントの成立順序とを決定する決
定手段と、を具備したことにより、状態遷移テーブルを
解釈実行することにより動作するソフトウェアシステム
の開発の様々な段階において、状態遷移テーブルの最適
化を容易に行うことができる。
【0008】また、本発明のソフトウエア開発支援装置
(請求項4)は、予め定義された複数の状態と、少なく
とも各状態毎に定義されたその状態から他の状態へ遷移
するための成立すべきイベントとを記述した状態遷移テ
ーブルを解釈実行することにより動作するソフトウエア
の開発を支援するソフトウエア開発支援装置において、
前記状態遷移テーブルを解釈実行する実行手段と、この
実行手段で実行された各状態毎の状態遷移履歴および各
イベント毎のイベント成立履歴を記録する記録手段と、
この記録手段で記録された状態遷移履歴およびイベント
成立履歴に基づき算出される各状態から他の状態へ遷移
するまでの遷移時間が最小となるように、前記状態遷移
テーブルの各状態毎に、他の状態への遷移順序とイベン
トの成立順序とを決定する決定手段と、を具備したこと
により、状態遷移テーブルを解釈実行することにより動
作するソフトウェアシステムの開発の様々な段階におい
て、状態遷移テーブルの最適化を容易に行うことができ
る。
(請求項4)は、予め定義された複数の状態と、少なく
とも各状態毎に定義されたその状態から他の状態へ遷移
するための成立すべきイベントとを記述した状態遷移テ
ーブルを解釈実行することにより動作するソフトウエア
の開発を支援するソフトウエア開発支援装置において、
前記状態遷移テーブルを解釈実行する実行手段と、この
実行手段で実行された各状態毎の状態遷移履歴および各
イベント毎のイベント成立履歴を記録する記録手段と、
この記録手段で記録された状態遷移履歴およびイベント
成立履歴に基づき算出される各状態から他の状態へ遷移
するまでの遷移時間が最小となるように、前記状態遷移
テーブルの各状態毎に、他の状態への遷移順序とイベン
トの成立順序とを決定する決定手段と、を具備したこと
により、状態遷移テーブルを解釈実行することにより動
作するソフトウェアシステムの開発の様々な段階におい
て、状態遷移テーブルの最適化を容易に行うことができ
る。
【0009】
【発明の実施の形態】以下、本発明の実施形態について
図面を参照して説明する。図1は、本実施形態に係るソ
フトウエア開発支援装置の構成例を示すものである。図
1に示すように、状態遷移テーブル1、状態遷移解釈実
行部2、アクションプログラム部品ライブラリ格納部
3、遷移頻度収集部4、遷移遷移頻度更新部5、状態遷
移頻度データベース6、イベント成立頻度収集部7、イ
ベント成立頻度更新部8、イベント成立頻度データベー
ス9、状態遷移順序最適化部10、イベント順序最適化
部11から構成され、予め用意された状態遷移テーブル
1を解釈しながらアクションプログラム部品ライブラリ
3に格納されたアクション部品を実行するソフトウェア
システムの開発支援および評価のために用いられる。
図面を参照して説明する。図1は、本実施形態に係るソ
フトウエア開発支援装置の構成例を示すものである。図
1に示すように、状態遷移テーブル1、状態遷移解釈実
行部2、アクションプログラム部品ライブラリ格納部
3、遷移頻度収集部4、遷移遷移頻度更新部5、状態遷
移頻度データベース6、イベント成立頻度収集部7、イ
ベント成立頻度更新部8、イベント成立頻度データベー
ス9、状態遷移順序最適化部10、イベント順序最適化
部11から構成され、予め用意された状態遷移テーブル
1を解釈しながらアクションプログラム部品ライブラリ
3に格納されたアクション部品を実行するソフトウェア
システムの開発支援および評価のために用いられる。
【0010】図2は、状態遷移解釈実行部2の処理動作
を説明するためのフローチャートで、図3は、状態遷移
解釈実行部2の処理実行にて収集された頻度情報に基づ
く状態遷移テーブルの最適化処理の動作を説明するため
のフローチャートである。
を説明するためのフローチャートで、図3は、状態遷移
解釈実行部2の処理実行にて収集された頻度情報に基づ
く状態遷移テーブルの最適化処理の動作を説明するため
のフローチャートである。
【0011】図1のソフトウエア開発支援装置の評価対
象となるソフトウェアシステムは、状態遷移テーブル1
を解釈実行することによってシステムの動作を実現す
る、イベント駆動型のシステムである。
象となるソフトウェアシステムは、状態遷移テーブル1
を解釈実行することによってシステムの動作を実現す
る、イベント駆動型のシステムである。
【0012】図4に、評価対象システムの状態遷移テー
ブルのBNF(Buckus Naur Form)よ
る記述定義例を示す。図5に、状態遷移テーブルの具体
例を示す。本実施形態では、図5に示す状態遷移テーブ
ルを例として、以下、本発明の詳細を説明する。評価対
象のソフトウエアシステムは、状態遷移テーブルを解釈
し、アクションに対応するプログラム部品を駆動するこ
とによってその動作を実現する。例えば、図5に示す状
態遷移テーブルの解釈実行は、図2に示す手順にしたが
って行われる。以下、図2を参照して図5の状態遷移テ
ーブルの解釈実行手順について説明する。
ブルのBNF(Buckus Naur Form)よ
る記述定義例を示す。図5に、状態遷移テーブルの具体
例を示す。本実施形態では、図5に示す状態遷移テーブ
ルを例として、以下、本発明の詳細を説明する。評価対
象のソフトウエアシステムは、状態遷移テーブルを解釈
し、アクションに対応するプログラム部品を駆動するこ
とによってその動作を実現する。例えば、図5に示す状
態遷移テーブルの解釈実行は、図2に示す手順にしたが
って行われる。以下、図2を参照して図5の状態遷移テ
ーブルの解釈実行手順について説明する。
【0013】現在、システムが「状態0」にある場合、
「状態0」に付随する4つの遷移を順に評価していくこ
とになる。状態遷移解釈実行部2では、まず、最初の遷
移の最初のイベントである「イベント0」を評価し(ス
テップS1〜ステップS3)、「イベント0」が真の場
合に、次に、「イベント1」を評価し(ステップS4〜
ステップS6)、「イベント1」も真の場合に、「アク
ション0」として記述された処理を実行することによ
り、次の状態「状態1」へ遷移する(ステップS4〜ス
テップS5、ステップS7〜ステップS10)。ステッ
プS4において、いずれかが偽の場合は、次の遷移の評
価に移り(ステップS14〜ステップS15)、評価す
べき遷移がなくなるまで繰り返される。
「状態0」に付随する4つの遷移を順に評価していくこ
とになる。状態遷移解釈実行部2では、まず、最初の遷
移の最初のイベントである「イベント0」を評価し(ス
テップS1〜ステップS3)、「イベント0」が真の場
合に、次に、「イベント1」を評価し(ステップS4〜
ステップS6)、「イベント1」も真の場合に、「アク
ション0」として記述された処理を実行することによ
り、次の状態「状態1」へ遷移する(ステップS4〜ス
テップS5、ステップS7〜ステップS10)。ステッ
プS4において、いずれかが偽の場合は、次の遷移の評
価に移り(ステップS14〜ステップS15)、評価す
べき遷移がなくなるまで繰り返される。
【0014】ステップS7〜ステップS10にて、状態
の遷移が行われた場合は、次状態へポイントを移す(ス
テップS11)。このとき、状態遷移解釈実行部2は、
遷移頻度およびイベント成立頻度をそれぞれ状態遷移頻
度収集部4、イベント成立頻度収集部7に出力する(ス
テップS12〜ステップS13)。そして、ステップS
2に戻り、次の状態すなわち、この場合「状態2」につ
いて、上記同様の処理を繰り返し、ステップS4にて、
イベントが成立しなかった場合、次の遷移が存在すると
きには、当該遷移へポイントを移し、その遷移を実行す
るためのイベントの成立を確認する(ステップS14〜
ステップS15、ステップS3〜ステップS4)。ステ
ップS14にて、次の遷移状態が存在しないときは、状
態遷移解釈実行部2は、遷移頻度およびイベント成立頻
度をそれぞれ状態遷移頻度収集部4、イベント成立頻度
収集部7に出力し(ステップS16〜ステップS1
7)、イベント待ちに入る(ステップS18)。
の遷移が行われた場合は、次状態へポイントを移す(ス
テップS11)。このとき、状態遷移解釈実行部2は、
遷移頻度およびイベント成立頻度をそれぞれ状態遷移頻
度収集部4、イベント成立頻度収集部7に出力する(ス
テップS12〜ステップS13)。そして、ステップS
2に戻り、次の状態すなわち、この場合「状態2」につ
いて、上記同様の処理を繰り返し、ステップS4にて、
イベントが成立しなかった場合、次の遷移が存在すると
きには、当該遷移へポイントを移し、その遷移を実行す
るためのイベントの成立を確認する(ステップS14〜
ステップS15、ステップS3〜ステップS4)。ステ
ップS14にて、次の遷移状態が存在しないときは、状
態遷移解釈実行部2は、遷移頻度およびイベント成立頻
度をそれぞれ状態遷移頻度収集部4、イベント成立頻度
収集部7に出力し(ステップS16〜ステップS1
7)、イベント待ちに入る(ステップS18)。
【0015】このように、状態遷移解釈実行部2は、状
態遷移テーブル1を解釈し、初期状態の最初の遷移から
順にイベントの成立の有無を確認し、イベントの成立が
確認されたなら、それに対応するアクションを実行し
て、次の状態へ遷移するといった遷移テーブルの解釈実
行動作に加え、遷移頻度やイベント成立頻度を外部に提
供するインターフェイスをも具備している。図2のステ
ップS18に示したように、評価すべき遷移がなくなっ
てイベント待ちに入る前(ステップS16〜ステップS
17)と、ある遷移が起こって次状態へ遷移するタイミ
ング(ステップS12〜ステップS13)で、状態遷移
の頻度の情報と、イベントの成立頻度の情報とが外部へ
出力される。この時に出力される状態遷移の頻度情報
(遷移評価情報)とイベントの成立頻度情報(イベント
評価情報)の一例を、図6、図7にそれぞれ示す。
態遷移テーブル1を解釈し、初期状態の最初の遷移から
順にイベントの成立の有無を確認し、イベントの成立が
確認されたなら、それに対応するアクションを実行し
て、次の状態へ遷移するといった遷移テーブルの解釈実
行動作に加え、遷移頻度やイベント成立頻度を外部に提
供するインターフェイスをも具備している。図2のステ
ップS18に示したように、評価すべき遷移がなくなっ
てイベント待ちに入る前(ステップS16〜ステップS
17)と、ある遷移が起こって次状態へ遷移するタイミ
ング(ステップS12〜ステップS13)で、状態遷移
の頻度の情報と、イベントの成立頻度の情報とが外部へ
出力される。この時に出力される状態遷移の頻度情報
(遷移評価情報)とイベントの成立頻度情報(イベント
評価情報)の一例を、図6、図7にそれぞれ示す。
【0016】図6に示すように、遷移評価情報には、評
価対象となった状態のID(例えば図5の「状態0」)
と、評価を行った状態遷移(例えば図5の「遷移1」、
「遷移2」)とその評価結果(OK/NG)が記録され
ている。例えば、評価対象の状態「状態0」において、
1番目の遷移(「遷移1」)は成立せず、2番目の遷移
(「遷移2」)が成立したことが記録されている。
価対象となった状態のID(例えば図5の「状態0」)
と、評価を行った状態遷移(例えば図5の「遷移1」、
「遷移2」)とその評価結果(OK/NG)が記録され
ている。例えば、評価対象の状態「状態0」において、
1番目の遷移(「遷移1」)は成立せず、2番目の遷移
(「遷移2」)が成立したことが記録されている。
【0017】図7に示すように、イベント評価情報に
は、評価を行ったイベント(例えば、「イベント0」
「イベント1」「イベント2」「イベント3」)とその
評価結果(True/False)が記録されている。
例では、「イベントO」、「イベント2」、「イベント
3」が真で、「イベント1」が偽であったことが記録さ
れている。
は、評価を行ったイベント(例えば、「イベント0」
「イベント1」「イベント2」「イベント3」)とその
評価結果(True/False)が記録されている。
例では、「イベントO」、「イベント2」、「イベント
3」が真で、「イベント1」が偽であったことが記録さ
れている。
【0018】以上のようにして、評価対象システムの実
行につれて遷移評価情報とイベント評価情報が逐次、状
態遷移頻度収集部4、イベント成立頻度収集部7へ伝達
されていくことになる。
行につれて遷移評価情報とイベント評価情報が逐次、状
態遷移頻度収集部4、イベント成立頻度収集部7へ伝達
されていくことになる。
【0019】次に、図3に示すフローチャートを参照し
て、状態遷移解釈実行部2の処理実行にて収集された評
価情報に基づく状態遷移テーブルの最適化処理の動作に
ついて説明する。まず、状態遷移解釈実行部2から出力
される遷移評価情報とイベント評価情報は、それぞれ遷
移頻度収集部4とイベント成立頻度収集部7によって収
集され、それらは、それぞれのデータベース6、9の更
新に用いられる(ステップS21〜ステップS23)。
て、状態遷移解釈実行部2の処理実行にて収集された評
価情報に基づく状態遷移テーブルの最適化処理の動作に
ついて説明する。まず、状態遷移解釈実行部2から出力
される遷移評価情報とイベント評価情報は、それぞれ遷
移頻度収集部4とイベント成立頻度収集部7によって収
集され、それらは、それぞれのデータベース6、9の更
新に用いられる(ステップS21〜ステップS23)。
【0020】図8は、状態遷移頻度データベース6の遷
移評価情報の記憶例を示したもので、図9は、イベント
成立頻度データベース9のイベント評価情報の記憶例を
示したものである。
移評価情報の記憶例を示したもので、図9は、イベント
成立頻度データベース9のイベント評価情報の記憶例を
示したものである。
【0021】図8に示したように、状態遷移頻度データ
ベース6に記憶される情報は、状態と付属する遷移を1
つのまとまりとして構成されている。例えば、図8にお
いて、「状態0」がこれまで623回評価の対象とな
り、そのうち「遷移1」が成立したのが45回、「遷移
2」が成立したのが342回、などの情報が格納されて
いる。この時、例えば、図6に示したような遷移評価情
報を受け取ると、「状態0」の総評価回数が624回に
なり、「遷移2」の成立回数が343回にそれぞれ更新
されることになる。
ベース6に記憶される情報は、状態と付属する遷移を1
つのまとまりとして構成されている。例えば、図8にお
いて、「状態0」がこれまで623回評価の対象とな
り、そのうち「遷移1」が成立したのが45回、「遷移
2」が成立したのが342回、などの情報が格納されて
いる。この時、例えば、図6に示したような遷移評価情
報を受け取ると、「状態0」の総評価回数が624回に
なり、「遷移2」の成立回数が343回にそれぞれ更新
されることになる。
【0022】図9に示したように、イベント成立頻度デ
ータベース9に記憶される情報は、状態とその状態で評
価される可能性のある全てのイベントを1つのまとまり
としているフィールドP1と、システム中で評価されう
る全てのイベントを列挙したフィールドP2とで構成さ
れている。例えば、図9において、フィールドP1に
は、「状態0」で評価される可能性のある9つのイベン
トについて情報が格納されており、それぞれのイベント
については、評価された回数と、成立した回数が記録さ
れている。また、フィールドP2には、各イベントに対
する、システム全体で合計した評価回数と成立回数が記
録されている。この時に、図7に示したようなイベント
評価情報を受け取ると、フィールドP1に格納される
「イベントO」、「イベント1」、「イベント2」、
「イベント3」のそれぞれの「状態0」での評価回数、
及びフィールドP2の各イベントの合計の評価回数が1
つずつ増加し、更に、フィールドP1の「イベント
O」、「イベント2」、「イベント3」については、成
立回数も同様に更新されることになる。
ータベース9に記憶される情報は、状態とその状態で評
価される可能性のある全てのイベントを1つのまとまり
としているフィールドP1と、システム中で評価されう
る全てのイベントを列挙したフィールドP2とで構成さ
れている。例えば、図9において、フィールドP1に
は、「状態0」で評価される可能性のある9つのイベン
トについて情報が格納されており、それぞれのイベント
については、評価された回数と、成立した回数が記録さ
れている。また、フィールドP2には、各イベントに対
する、システム全体で合計した評価回数と成立回数が記
録されている。この時に、図7に示したようなイベント
評価情報を受け取ると、フィールドP1に格納される
「イベントO」、「イベント1」、「イベント2」、
「イベント3」のそれぞれの「状態0」での評価回数、
及びフィールドP2の各イベントの合計の評価回数が1
つずつ増加し、更に、フィールドP1の「イベント
O」、「イベント2」、「イベント3」については、成
立回数も同様に更新されることになる。
【0023】次に、予め定められたタイミングにて、状
態遷移頻度データベース6、イベント成立頻度データベ
ース9に格納された情報に基づき、状態遷移テーブルの
最適化を図る(ステップS24〜ステップS27)。こ
こでは、最適化の一例として、状態遷移テーブルの解釈
速度の最適化について説明する。すなわち、状態遷移解
釈実行部2の状態遷移テーブル1に基づく解釈実行時間
が最小となるように、状態の遷移順序、イベントの成立
順序を決定する。
態遷移頻度データベース6、イベント成立頻度データベ
ース9に格納された情報に基づき、状態遷移テーブルの
最適化を図る(ステップS24〜ステップS27)。こ
こでは、最適化の一例として、状態遷移テーブルの解釈
速度の最適化について説明する。すなわち、状態遷移解
釈実行部2の状態遷移テーブル1に基づく解釈実行時間
が最小となるように、状態の遷移順序、イベントの成立
順序を決定する。
【0024】状態遷移テーブルのある状態に着目する
と、以下のような値が定義される。 遷移iの発生頻度Pt(i)=遷移iの発生回数/状態
の総評価回数 遷移iの非発生決定時間の期待値Etf(i) 遷移iの発生時の総実行時間((遷移iに要する各イベ
ントのステップ数×サイクルタイムの総和)から論理的
に求まる実行時間)Ett(i) これらの値を用いると、i番目の遷移が成立するまでの
時間の期待値は、
と、以下のような値が定義される。 遷移iの発生頻度Pt(i)=遷移iの発生回数/状態
の総評価回数 遷移iの非発生決定時間の期待値Etf(i) 遷移iの発生時の総実行時間((遷移iに要する各イベ
ントのステップ数×サイクルタイムの総和)から論理的
に求まる実行時間)Ett(i) これらの値を用いると、i番目の遷移が成立するまでの
時間の期待値は、
【0025】
【数1】 i番目の遷移が成立している確率は、
【0026】
【数2】
【0027】となる。従って、各状態毎に定義されたそ
の状態から遷移する他の状態への遷移するまでの時間を
総計した、ある状態の評価に要する時間の期待値は、次
式(3)にて表すことができる。
の状態から遷移する他の状態への遷移するまでの時間を
総計した、ある状態の評価に要する時間の期待値は、次
式(3)にて表すことができる。
【0028】
【数3】
【0029】式(3)の値を最小とするような遷移の順
序を求めることで、状態毎の最適化を行うことができ
る。一方、ある遷移に着目すると、以下のような値が定
義される。
序を求めることで、状態毎の最適化を行うことができ
る。一方、ある遷移に着目すると、以下のような値が定
義される。
【0030】イベントiの成立頻度Pe(i)=イベン
トiの成立回数/イベントiの評価回数 イベントiの評価時間の期待値Ee(i) ある遷移の実行に定義されたイベントの数をn これらの値を用いると、i番目のイベントが成立せずに
遷移が失敗する確率は、
トiの成立回数/イベントiの評価回数 イベントiの評価時間の期待値Ee(i) ある遷移の実行に定義されたイベントの数をn これらの値を用いると、i番目のイベントが成立せずに
遷移が失敗する確率は、
【0031】
【数4】
【0032】となるから、ある遷移が失敗したことを決
定するための時間である、ある遷移iの非発生決定時間
の期待値Etf(i)は、次式(5)にて表すことがで
きる。
定するための時間である、ある遷移iの非発生決定時間
の期待値Etf(i)は、次式(5)にて表すことがで
きる。
【0033】
【数5】
【0034】この値が最小となるようにイベントの成立
順序を求めることで、遷移毎の最適化が行われる。イベ
ントについては、成立回数と評価回数が状態毎の合計と
システム全体での合計と2通りで集計されているので、
目的に応じてこれらを使い分けることも可能である。
順序を求めることで、遷移毎の最適化が行われる。イベ
ントについては、成立回数と評価回数が状態毎の合計と
システム全体での合計と2通りで集計されているので、
目的に応じてこれらを使い分けることも可能である。
【0035】次に、状態遷移テーブルの最適化について
具体的に説明する。今、状態遷移頻度データベース6、
イベント成立頻度データベース9に格納された遷移評価
情報およびイベント評価情報に基づく、「状態0」の
「遷移1」〜「遷移4」の各遷移についての集計結果
(Pt(i)、Etf(i)、Ett(i))の一例を
図10に示す。図10の値と式(3)とから、「状態
0」の評価時間の期待値は、「10.6」となる。そこ
で、図10のデー夕を基に評価時間が最小になるような
遷移の並びを求める。例えば、「遷移1」から「遷移
4」の考えられる順列のそれぞれについて順次、式
(3)の値を求めていくと、最小となる遷移の並びは図
11に示すように、「遷移2」、「遷移4」、「遷移
1」、「遷移3」となる。なお、このときの評価時間の
期待値は、「7.8」となり、3割弱の削減が実現され
る。
具体的に説明する。今、状態遷移頻度データベース6、
イベント成立頻度データベース9に格納された遷移評価
情報およびイベント評価情報に基づく、「状態0」の
「遷移1」〜「遷移4」の各遷移についての集計結果
(Pt(i)、Etf(i)、Ett(i))の一例を
図10に示す。図10の値と式(3)とから、「状態
0」の評価時間の期待値は、「10.6」となる。そこ
で、図10のデー夕を基に評価時間が最小になるような
遷移の並びを求める。例えば、「遷移1」から「遷移
4」の考えられる順列のそれぞれについて順次、式
(3)の値を求めていくと、最小となる遷移の並びは図
11に示すように、「遷移2」、「遷移4」、「遷移
1」、「遷移3」となる。なお、このときの評価時間の
期待値は、「7.8」となり、3割弱の削減が実現され
る。
【0036】また、状態遷移頻度データベース6、イベ
ント成立頻度データベース9に格納された遷移評価情報
およびイベント評価情報に基づく、「状態0」の「遷移
1」についての集計結果(Pe(i)、Ee(i))の
一例を図12に示す。図12の値と式(5)とから、図
11に示すようなイベントの並び(順に「イベント
0」、「イベント1」)の場合の「遷移1」の非発生決
定時間の期待値は、「4.3」となる。そこで、図12
のデータを基に、評価時間が最小になるような遷移の並
びを求める。例えば、「イベント0」と「イベント1」
との考えられる順列のそれぞれについて順次、式(5)
の値を求めていくと、その値が最小となるイベントの並
びは、この場合、「イベント0」と「イベント1」の評
価順を逆にしたときである。なお、このときの非発生決
定時間の期待値は「2.8」となり、3割強の削減が実
現されていることになる。
ント成立頻度データベース9に格納された遷移評価情報
およびイベント評価情報に基づく、「状態0」の「遷移
1」についての集計結果(Pe(i)、Ee(i))の
一例を図12に示す。図12の値と式(5)とから、図
11に示すようなイベントの並び(順に「イベント
0」、「イベント1」)の場合の「遷移1」の非発生決
定時間の期待値は、「4.3」となる。そこで、図12
のデータを基に、評価時間が最小になるような遷移の並
びを求める。例えば、「イベント0」と「イベント1」
との考えられる順列のそれぞれについて順次、式(5)
の値を求めていくと、その値が最小となるイベントの並
びは、この場合、「イベント0」と「イベント1」の評
価順を逆にしたときである。なお、このときの非発生決
定時間の期待値は「2.8」となり、3割強の削減が実
現されていることになる。
【0037】以上説明した状態テーブルの最適化手法を
ソフトウエアの設計段階に用いる場合の適用例について
説明する。設計段階で状態遷移テーブルのみが得られて
いる場合に、実稼動を考慮したイベント発生系列を用い
て状態遷移、及びイベント成立の頻度情報を収集し、こ
れら情報を用い、前述の指針に従うことで状態遷移テー
ブルを最適化することができる。この方法によれば、設
計者が状態遷移テーブルのどの部分がどれくらいの頻度
で実行されているかを認識することなく、自動的に最適
な状態遷移テーブルを得ることができる。
ソフトウエアの設計段階に用いる場合の適用例について
説明する。設計段階で状態遷移テーブルのみが得られて
いる場合に、実稼動を考慮したイベント発生系列を用い
て状態遷移、及びイベント成立の頻度情報を収集し、こ
れら情報を用い、前述の指針に従うことで状態遷移テー
ブルを最適化することができる。この方法によれば、設
計者が状態遷移テーブルのどの部分がどれくらいの頻度
で実行されているかを認識することなく、自動的に最適
な状態遷移テーブルを得ることができる。
【0038】また、以上説明した状態テーブルの最適化
手法をソフトウエアの試験段階に用いる場合の適用例に
ついて説明する。試験段階で試験用のソフトウエアシス
テムが得られている場合に、状態遷移テーブルを書き換
え可能な記憶媒体、例えばSRAMなどに配置してお
き、図1のソフトウエア開発支援装置を用いて、実際の
使用環境を考慮した試験項目を実施しながら状態遷移、
及びイベント成立の頻度情報を収集し、これら情報を用
いて前述同様、状態遷移テーブルを最適化することがで
きる。すなわち、設計されたソフトウエアシステムの試
験を行うと同時に、実行速度のチュ−ニングを自動的に
行うことができる。
手法をソフトウエアの試験段階に用いる場合の適用例に
ついて説明する。試験段階で試験用のソフトウエアシス
テムが得られている場合に、状態遷移テーブルを書き換
え可能な記憶媒体、例えばSRAMなどに配置してお
き、図1のソフトウエア開発支援装置を用いて、実際の
使用環境を考慮した試験項目を実施しながら状態遷移、
及びイベント成立の頻度情報を収集し、これら情報を用
いて前述同様、状態遷移テーブルを最適化することがで
きる。すなわち、設計されたソフトウエアシステムの試
験を行うと同時に、実行速度のチュ−ニングを自動的に
行うことができる。
【0039】さらに、ソフトウエアの実稼動段階におい
ても、状態遷移テーブルを書き換え可能にしておき、図
1のソフトウエア開発支援装置を用いて、稼働環境、時
期、状況などに対応して動的にシステムの実行速度のチ
ュ−ニングを行うことが可能になる。
ても、状態遷移テーブルを書き換え可能にしておき、図
1のソフトウエア開発支援装置を用いて、稼働環境、時
期、状況などに対応して動的にシステムの実行速度のチ
ュ−ニングを行うことが可能になる。
【0040】なお、状態遷移テーブル1に対し、図3に
示した状態遷移テーブルの最適化処理を施すタイミング
について簡単に説明する。例えば、設計段階において
は、状態遷移テーブルを更新する必要が生じたタイミン
グで随時更新を行っても問題はない。試験段階では、性
能を一定に保ったまま試験を行う必要がある場合などに
は、最適化を行わないようにする必要があるため、図1
の最適化処理に関わる各部(例えば、状態遷移頻度更新
部5、状態遷移頻度データベース6、イベント成立頻度
更新部8、イベント成立頻度データベース9、状態遷移
順序最適化部10、イベント順序最適化部11)の動作
を制御する必要がある。
示した状態遷移テーブルの最適化処理を施すタイミング
について簡単に説明する。例えば、設計段階において
は、状態遷移テーブルを更新する必要が生じたタイミン
グで随時更新を行っても問題はない。試験段階では、性
能を一定に保ったまま試験を行う必要がある場合などに
は、最適化を行わないようにする必要があるため、図1
の最適化処理に関わる各部(例えば、状態遷移頻度更新
部5、状態遷移頻度データベース6、イベント成立頻度
更新部8、イベント成立頻度データベース9、状態遷移
順序最適化部10、イベント順序最適化部11)の動作
を制御する必要がある。
【0041】実稼動段階ではこれらに加え、頻度情報の
計測などを期間を区切って行うように、あるいは一定期
間以上古い情報は削除しつつ、最新の一定期間の情報に
したがって、かつシステムの動作に影響のないタイミン
グで最適化を行うことも必要になる可能性がある。以上
のような要求を満たすため、図1の最適化処理に関わる
各部は以下のような機能を具備している必要がある。
計測などを期間を区切って行うように、あるいは一定期
間以上古い情報は削除しつつ、最新の一定期間の情報に
したがって、かつシステムの動作に影響のないタイミン
グで最適化を行うことも必要になる可能性がある。以上
のような要求を満たすため、図1の最適化処理に関わる
各部は以下のような機能を具備している必要がある。
【0042】・最適化処理の実行要求の受理 ・定期的な最適化処理の実行 ・最適化テーブルの更新が必要になった時点で自動的に
最適化を行う ・定期的・自動的な最適化処理の停止 ・頻度情報の刷新 ・状態遷移テーブルの更新可・不可の判断 以上の機能は、例えば、これら機能の設定や指示要求を
受け付けたり、また各種メッセージ等を表示するための
ユーザインターフェイスを図1のソフトウエア開発支援
装置に具備し、そのユーザインターフェイスを介して入
力されたデータに基づき図1の各部を制御することによ
り容易に実現可能である。
最適化を行う ・定期的・自動的な最適化処理の停止 ・頻度情報の刷新 ・状態遷移テーブルの更新可・不可の判断 以上の機能は、例えば、これら機能の設定や指示要求を
受け付けたり、また各種メッセージ等を表示するための
ユーザインターフェイスを図1のソフトウエア開発支援
装置に具備し、そのユーザインターフェイスを介して入
力されたデータに基づき図1の各部を制御することによ
り容易に実現可能である。
【0043】図13に、図2、図3に示した本発明に係
る状態遷移テーブルの最適化を行うソフトウエア開発支
援方法を実現するコンピュータシステムの構成を示す。
このコンピュータシステムは、例えば、パーソナルコン
ピュータであり、演算処理を司るCPU1001と、キ
ーボード、ポインティングデバイスおよびマイクロフォ
ンなどの入力部1002と、ディスプレイおよびスピー
カなどの出力部1003と、主記憶としてのROM10
04およびRAM1005と、外部記憶装置としてのハ
ードディスク装置1006、フロッピーディスク装置1
007および光ディスク装置1008をバス1009に
より接続して構成されている。
る状態遷移テーブルの最適化を行うソフトウエア開発支
援方法を実現するコンピュータシステムの構成を示す。
このコンピュータシステムは、例えば、パーソナルコン
ピュータであり、演算処理を司るCPU1001と、キ
ーボード、ポインティングデバイスおよびマイクロフォ
ンなどの入力部1002と、ディスプレイおよびスピー
カなどの出力部1003と、主記憶としてのROM10
04およびRAM1005と、外部記憶装置としてのハ
ードディスク装置1006、フロッピーディスク装置1
007および光ディスク装置1008をバス1009に
より接続して構成されている。
【0044】ここで、ハードディスク装置1006、フ
ロッピーディスク装置1007および光ディスク装置1
008のいずれかの記録媒体に上述した実施形態で説明
した図2、図3に示した状態遷移テーブルの最適化処理
を実行するためのプログラムおよび状態遷移テーブルが
格納される。そして、このプログラムに従って、記録媒
体に格納された(主記憶としてのROM1004あるい
はRAM1005に記憶するようにしてもよい)状態遷
移テーブルに対し、前述の最適化処理が施され、再び記
録媒体に格納される。このようにして、通常のパーソナ
ルコンピュータを用いて本発明のソフトウエア開発支援
方法を実施することができる。
ロッピーディスク装置1007および光ディスク装置1
008のいずれかの記録媒体に上述した実施形態で説明
した図2、図3に示した状態遷移テーブルの最適化処理
を実行するためのプログラムおよび状態遷移テーブルが
格納される。そして、このプログラムに従って、記録媒
体に格納された(主記憶としてのROM1004あるい
はRAM1005に記憶するようにしてもよい)状態遷
移テーブルに対し、前述の最適化処理が施され、再び記
録媒体に格納される。このようにして、通常のパーソナ
ルコンピュータを用いて本発明のソフトウエア開発支援
方法を実施することができる。
【0045】以上説明したように、上記実施形態によれ
ば、状態遷移解釈実行部2にて状態遷移テーブル1を解
釈実行しながら、各状態毎の状態遷移履歴および各イベ
ント毎のイベント成立履歴を収集および記録し(状態遷
移頻度データベース6、イベント成立頻度データベース
9等)、状態遷移順序最適化部10、イベント順序最適
化部11では、この記録された状態遷移履歴およびイベ
ント成立履歴に基づき算出される各状態から他の状態へ
遷移するまでの遷移時間が最小となるように、状態遷移
テーブル1の各状態毎に、他の状態への遷移順序とイベ
ントの成立順序とを決定する(状態遷移テーブル1を更
新する)ことにより、状態遷移テーブルを解釈実行する
ことにより動作するソフトウェアシステムの開発の際
に、設計、試験、及び、実稼動の各段階において、遷移
の実行頻度やイベントの成立頻度を収集しつつ、これら
の情報に基づいてより効率的な遷移の評価順序、イベン
トの評価順序を決定し、状態遷移テーブル1を最適化す
ることができる。より具体的には、最適化テーブルのテ
ーブル要素を並び替えて、実行速度のより高速なソフト
ウエアシステムの設計・製造が可能となる。
ば、状態遷移解釈実行部2にて状態遷移テーブル1を解
釈実行しながら、各状態毎の状態遷移履歴および各イベ
ント毎のイベント成立履歴を収集および記録し(状態遷
移頻度データベース6、イベント成立頻度データベース
9等)、状態遷移順序最適化部10、イベント順序最適
化部11では、この記録された状態遷移履歴およびイベ
ント成立履歴に基づき算出される各状態から他の状態へ
遷移するまでの遷移時間が最小となるように、状態遷移
テーブル1の各状態毎に、他の状態への遷移順序とイベ
ントの成立順序とを決定する(状態遷移テーブル1を更
新する)ことにより、状態遷移テーブルを解釈実行する
ことにより動作するソフトウェアシステムの開発の際
に、設計、試験、及び、実稼動の各段階において、遷移
の実行頻度やイベントの成立頻度を収集しつつ、これら
の情報に基づいてより効率的な遷移の評価順序、イベン
トの評価順序を決定し、状態遷移テーブル1を最適化す
ることができる。より具体的には、最適化テーブルのテ
ーブル要素を並び替えて、実行速度のより高速なソフト
ウエアシステムの設計・製造が可能となる。
【0046】
【発明の効果】以上説明したように、本発明によれば、
状態遷移テーブルを解釈実行することにより動作するソ
フトウェアシステムの開発の様々な段階において、状態
遷移テーブルの最適化を容易に行うことができる。
状態遷移テーブルを解釈実行することにより動作するソ
フトウェアシステムの開発の様々な段階において、状態
遷移テーブルの最適化を容易に行うことができる。
【図1】本発明の一実施形態に係るソフトウエア開発支
援装置の構成例を概略的に示した図。
援装置の構成例を概略的に示した図。
【図2】状態遷移解釈実行部の処理動作を説明するため
のフローチャート。
のフローチャート。
【図3】状態遷移解釈実行部の処理実行にて収集された
頻度情報に基づく状態遷移テーブルの最適化処理の動作
を説明するためのフローチャート。
頻度情報に基づく状態遷移テーブルの最適化処理の動作
を説明するためのフローチャート。
【図4】状態遷移テーブルのBNFによる記述定義例を
示した図。
示した図。
【図5】状態遷移テーブルの記述内容の具体例を示した
図。
図。
【図6】状態遷移解釈実行部から出力される状態遷移の
頻度情報(遷移評価情報)の一例を示した図。
頻度情報(遷移評価情報)の一例を示した図。
【図7】状態遷移解釈実行部から出力されるイベントの
成立頻度情報(イベント評価情報)の一例を示した図。
成立頻度情報(イベント評価情報)の一例を示した図。
【図8】状態遷移頻度データベースの遷移評価情報の記
憶例を示した図。
憶例を示した図。
【図9】イベント成立頻度データベースのイベント評価
情報の記憶例を示した図。
情報の記憶例を示した図。
【図10】遷移評価情報およびイベント評価情報に基づ
く、「状態0」の「遷移1」〜「遷移4」の各遷移につ
いての集計結果(Pt(i)、Etf(i)、Ett
(i))の一例を示した図。
く、「状態0」の「遷移1」〜「遷移4」の各遷移につ
いての集計結果(Pt(i)、Etf(i)、Ett
(i))の一例を示した図。
【図11】図5の状態遷移テーブルに対し最適化処理を
施した結果、得られた状態遷移テーブルの例を示した
図。
施した結果、得られた状態遷移テーブルの例を示した
図。
【図12】遷移評価情報およびイベント評価情報に基づ
く、「状態0」の「遷移1」についての集計結果(Pe
(i)、Ee(i))の一例を示した図。
く、「状態0」の「遷移1」についての集計結果(Pe
(i)、Ee(i))の一例を示した図。
【図13】図2、図3に示した本発明に係る状態遷移テ
ーブルの最適化を行うソフトウエア開発支援方法を実現
するコンピュータシステムの構成例を示した図。
ーブルの最適化を行うソフトウエア開発支援方法を実現
するコンピュータシステムの構成例を示した図。
【図14】無線通信端末における無線回線制御状態およ
びその遷移の一例を示した図。
びその遷移の一例を示した図。
【符号の説明】 1…状態遷移テーブル 2…状態遷移解釈実行部 3…アクションプログラム部品ライブラリ 4…状態遷移頻度収集部 5…状態遷移頻度更新部 6…状態遷移頻度データベース 7…イベント成立頻度収集部 8…イベント成立頻度更新部 9…イベント成立頻度データベース 10…状態遷移順序最適化部 11…イベント順序最適化部
Claims (6)
- 【請求項1】 予め定義された複数の状態と、少なくと
も各状態毎に定義されたその状態から他の状態へ遷移す
るための成立すべきイベントとを記述した状態遷移テー
ブルを解釈実行することにより動作するソフトウエアの
開発を支援するソフトウエア開発支援方法において、 前記状態遷移テーブルを解釈実行しながら各状態毎の状
態遷移履歴および各イベント毎のイベント成立履歴を記
録し、この記録された状態遷移履歴およびイベント成立
履歴に基づき、前記状態遷移テーブルの各状態毎に、他
の状態への遷移順序とイベントの成立順序とを決定する
ことを特徴とするソフトウエア開発支援方法。 - 【請求項2】 予め定義された複数の状態と、少なくと
も各状態毎に定義されたその状態から他の状態へ遷移す
るための成立すべきイベントとを記述した状態遷移テー
ブルを解釈実行することにより動作するソフトウエアの
開発を支援するソフトウエア開発支援方法において、 前記状態遷移テーブルを解釈実行しながら各状態毎の状
態遷移履歴および各イベント毎のイベント成立履歴を記
録し、この記録された状態遷移履歴およびイベント成立
履歴に基づき算出される各状態から他の状態へ遷移する
までの遷移時間が最小となるように、前記状態遷移テー
ブルの各状態毎に、他の状態への遷移順序とイベントの
成立順序とを決定することを特徴とするソフトウエア開
発支援方法。 - 【請求項3】 予め定義された複数の状態と、少なくと
も各状態毎に定義されたその状態から他の状態へ遷移す
るための成立すべきイベントとを記述した状態遷移テー
ブルを解釈実行することにより動作するソフトウエアの
開発を支援するソフトウエア開発支援装置において、 前記状態遷移テーブルを解釈実行する実行手段と、 この実行手段で実行された各状態毎の状態遷移履歴およ
び各イベント毎のイベント成立履歴を記録する記録手段
と、 この記録手段で記録された状態遷移履歴およびイベント
成立履歴に基づき、前記状態遷移テーブルの各状態毎
に、他の状態への遷移順序とイベントの成立順序とを決
定する決定手段と、 を具備したことを特徴とするソフトウエア開発支援装
置。 - 【請求項4】 予め定義された複数の状態と、少なくと
も各状態毎に定義されたその状態から他の状態へ遷移す
るための成立すべきイベントとを記述した状態遷移テー
ブルを解釈実行することにより動作するソフトウエアの
開発を支援するソフトウエア開発支援装置において、 前記状態遷移テーブルを解釈実行する実行手段と、 この実行手段で実行された各状態毎の状態遷移履歴およ
び各イベント毎のイベント成立履歴を記録する記録手段
と、 この記録手段で記録された状態遷移履歴およびイベント
成立履歴に基づき算出される各状態から他の状態へ遷移
するまでの遷移時間が最小となるように、前記状態遷移
テーブルの各状態毎に、他の状態への遷移順序とイベン
トの成立順序とを決定する決定手段と、 を具備したことを特徴とするソフトウエア開発支援装
置。 - 【請求項5】 予め定義された複数の状態と、少なくと
も各状態毎に定義されたその状態から他の状態へ遷移す
るための成立すべきイベントとを記述した状態遷移テー
ブルを解釈実行することにより動作するソフトウエアの
開発を支援するためのプログラムであって、 前記状態遷移テーブルを解釈実行する手段と、 この実行手段で実行された各状態毎の状態遷移履歴およ
び各イベント毎のイベント成立履歴を記録する記録手段
と、 この記録手段で記録された状態遷移履歴およびイベント
成立履歴に基づき、前記状態遷移テーブルの各状態毎
に、他の状態への遷移順序とイベントの成立順序とを決
定する決定手段と、 を実行するプログラムを記録した機械読み取り可能な記
録媒体。 - 【請求項6】 予め定義された複数の状態と、少なくと
も各状態毎に定義されたその状態から他の状態へ遷移す
るための成立すべきイベントとを記述した状態遷移テー
ブルを解釈実行することにより動作するソフトウエアの
開発を支援するためのプログラムであって、 前記状態遷移テーブルを解釈実行する実行手段と、 この実行手段で実行された各状態毎の状態遷移履歴およ
び各イベント毎のイベント成立履歴を記録する記録手段
と、 この記録手段で記録された状態遷移履歴およびイベント
成立履歴に基づき算出される各状態から他の状態へ遷移
するまでの遷移時間が最小となるように、前記状態遷移
テーブルの各状態毎に、他の状態への遷移順序とイベン
トの成立順序とを決定する決定手段と、 を実行するプログラムを記録した機械読み取り可能な記
録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9172151A JPH1124907A (ja) | 1997-06-27 | 1997-06-27 | ソフトウエア開発支援方法およびソフトウエア開発支援装置 |
US09/098,732 US6263495B1 (en) | 1997-06-27 | 1998-06-18 | Method and apparatus for optimizing state transition table used for event-driven software |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9172151A JPH1124907A (ja) | 1997-06-27 | 1997-06-27 | ソフトウエア開発支援方法およびソフトウエア開発支援装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1124907A true JPH1124907A (ja) | 1999-01-29 |
Family
ID=15936521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9172151A Pending JPH1124907A (ja) | 1997-06-27 | 1997-06-27 | ソフトウエア開発支援方法およびソフトウエア開発支援装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6263495B1 (ja) |
JP (1) | JPH1124907A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8930905B2 (en) | 2012-03-05 | 2015-01-06 | Samsung Electronics Co., Ltd. | System and method for providing a guideline for optimizing platform |
DE112016007281T5 (de) | 2016-11-01 | 2019-06-13 | Mitsubishi Electric Corporation | Ausführungsvorrichtung für zustandsübergangsdiagramme |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE0002440D0 (sv) | 2000-06-28 | 2000-06-28 | Virtutech Ab | Interpreter |
US7925527B1 (en) * | 2000-08-16 | 2011-04-12 | Sparta Systems, Inc. | Process control system utilizing a database system to monitor a project's progress and enforce a workflow of activities within the project |
US7391821B2 (en) * | 2005-03-08 | 2008-06-24 | Harris Corporation | Operational state transition and event logging system for an RF transmitter |
JP4393450B2 (ja) * | 2005-12-01 | 2010-01-06 | 株式会社東芝 | 論理回路モデル変換装置及び論理回路モデル変換プログラム |
US9256410B2 (en) | 2012-08-09 | 2016-02-09 | Apple Inc. | Failure profiling for continued code optimization |
US9086688B2 (en) * | 2013-07-09 | 2015-07-21 | Fisher-Rosemount Systems, Inc. | State machine function block with user-definable actions on a transition between states |
US20150169303A1 (en) * | 2013-12-13 | 2015-06-18 | Qualcomm Incorporated | Compiler optimization for finite state machines |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5371683A (en) * | 1989-03-22 | 1994-12-06 | Kabushiki Kaisha Toshiba | LSI design support system |
CA2091093C (en) * | 1992-03-06 | 1999-07-06 | Peter C. Di Giulio | Event driven communication network |
US5469553A (en) * | 1992-04-16 | 1995-11-21 | Quantum Corporation | Event driven power reducing software state machine |
US5371889A (en) * | 1993-04-22 | 1994-12-06 | Digital Equipment Corporation | Journalling optimization system and method for distributed computations |
US5452215A (en) * | 1994-08-24 | 1995-09-19 | Ibm Business Machines Corporation | System and method for designing a finite state machine to reduce power dissipation |
US5537580A (en) * | 1994-12-21 | 1996-07-16 | Vlsi Technology, Inc. | Integrated circuit fabrication using state machine extraction from behavioral hardware description language |
IL119914A (en) * | 1996-12-25 | 2000-06-29 | Emultek Ltd | Device for implementing hierarchical state charts and methods and apparatus useful therefor |
US5925114A (en) * | 1997-03-21 | 1999-07-20 | Motorola, Inc. | Modem implemented in software for operation on a general purpose computer having operating system with different execution priority levels |
US6185555B1 (en) * | 1998-10-31 | 2001-02-06 | M/A/R/C Inc. | Method and apparatus for data management using an event transition network |
-
1997
- 1997-06-27 JP JP9172151A patent/JPH1124907A/ja active Pending
-
1998
- 1998-06-18 US US09/098,732 patent/US6263495B1/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8930905B2 (en) | 2012-03-05 | 2015-01-06 | Samsung Electronics Co., Ltd. | System and method for providing a guideline for optimizing platform |
DE112016007281T5 (de) | 2016-11-01 | 2019-06-13 | Mitsubishi Electric Corporation | Ausführungsvorrichtung für zustandsübergangsdiagramme |
US11314528B2 (en) | 2016-11-01 | 2022-04-26 | Mitsubishi Electric Corporation | State chart execution device |
Also Published As
Publication number | Publication date |
---|---|
US6263495B1 (en) | 2001-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108519914B (zh) | 大数据计算方法、系统和计算机设备 | |
US9098858B2 (en) | Visualizing expressions for dynamic analytics | |
US9384184B2 (en) | Predicting a command in a command line interface | |
US6990534B2 (en) | Method for a proactive browser system for implementing background frame maintenance and asynchronous frame submissions | |
US8977652B2 (en) | Client-side API framework for uniform resource identifier (URI) manipulations | |
CN101178727A (zh) | 用于搜索数据库的方法和系统 | |
US20040255288A1 (en) | Software update processor, system, method, program for the same, and recording medium with the program recorded therein | |
KR20130084659A (ko) | 휴대형 컴퓨팅 디바이스의 리소스들을 관리하기 위한 시스템 및 방법 | |
JPH1124907A (ja) | ソフトウエア開発支援方法およびソフトウエア開発支援装置 | |
WO2024131599A1 (zh) | 特效渲染方法、装置、材质制作系统、设备及存储介质 | |
JP4819718B2 (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
JP2003076543A (ja) | プログラム生成装置、プログラム生成方法およびその方法をコンピュータに実行させるプログラム | |
CN113312052A (zh) | 一种组件调用方法、装置、电子设备以及存储介质 | |
KR100640243B1 (ko) | 이동통신 단말기의 응용프로그램 실행속도 향상장치 및방법 | |
CN116302448A (zh) | 任务调度方法和系统 | |
JP2020160854A (ja) | コード管理システム、及びコード管理方法 | |
CN113064588B (zh) | 命令编排方法、装置及计算机可读介质 | |
WO2023207213A1 (zh) | 数据处理方法及装置 | |
CN113516545B (zh) | 内控合规业务管理方法及装置 | |
JPH05150970A (ja) | プログラム作成支援装置 | |
JP2011204082A (ja) | 携帯端末機およびその制御方法 | |
JP6073671B2 (ja) | Web画面操作シミュレーションシステム | |
JP5259521B2 (ja) | 携帯電子機器 | |
JP2004206225A (ja) | 入力支援システム | |
JP2000200302A (ja) | 進捗状況管理システムおよび進捗状況管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051122 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060123 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060307 |