JP2009501970A - 有限状態マシンモデルの構築 - Google Patents
有限状態マシンモデルの構築 Download PDFInfo
- Publication number
- JP2009501970A JP2009501970A JP2008520902A JP2008520902A JP2009501970A JP 2009501970 A JP2009501970 A JP 2009501970A JP 2008520902 A JP2008520902 A JP 2008520902A JP 2008520902 A JP2008520902 A JP 2008520902A JP 2009501970 A JP2009501970 A JP 2009501970A
- Authority
- JP
- Japan
- Prior art keywords
- state
- destination
- state machine
- modeling component
- finite
- 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.)
- Withdrawn
Links
- 230000007704 transition Effects 0.000 claims abstract description 105
- 238000000034 method Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 2
- 230000000007 visual effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- 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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4498—Finite state machines
Abstract
有限状態マシンモデルを構築する解決策を提供する。本解決策は、少なくとも1つのモデル化コンポーネントに関連付けられた状態をディスプレイに表示するステップであって、該モデル化コンポーネントは、利用可能なトリガイベントについての情報を含む、当該状態をディスプレイに表示するステップ(300)と、フォーカスを得ている、前記状態及びモデル化コンポーネントを検出するステップ(302)と、前記少なくとも1つのモデル化コンポーネントが関連付けられた前記状態に関する、可能な送出側状態遷移と送出先状態とを探索するステップ(304)と、 検出した送出側状態遷移及び送出先状態を表示するステップ(306)と、前記送出側状態遷移及び前記送出先状態の選択されたものを受信するステップ(308)と、前記選択されたものを、有限状態マシンを記述するモデルに追加するステップ(310)とを含む。
Description
本発明は、有限状態マシンモデルの構築に関する。特に、本発明は、利用可能なトリガイベントについての情報を含むモデル化コンポーネントを利用する有限状態マシンに関する。
技術システム、デバイス及びソフトウェアアプリケーションの設計に当たり、システムの動作及び働きを効率的に特定して、検証することができるようにするのが不可欠である。 一般的な技法は、システムの動作を記述するモデルを構築することである。システムの働きが、状態依存型、及び/又はイベント駆動型である場合、有限状態マシンを用いてシステムをモデル化することができる。
例えば、ソフトウェアの開発に当たって、実際のソフトウェアを実装する前に、ソフトウェアのモデルを開発することができる。ソフトウェアアプリケーションのモデルは、物理デバイスのブループリントに例えることができる。ソフトウェアの動作及び動的な働きを設計し、特定し、テストし、且つ検証するのに、有限状態マシンを利用するモデルを用いることができる。既知の技法は、ソフトウェアアプリケーションの状態依存の働きを表すのに、グラフィカルでビジュアルな状態マシンモデルを利用するやり方である。
現在、ビジュアル状態マシンのエディタは、UML(Unified Modeling Language)状態チャートなどのグラフィカルな状態マシンモデルを描くのに用いられている。現在のビジュアル状態マシンエディタには、幾つかの問題がある。設計者は、状態チャート、即ち状態図を手動でレイアウトする必要がある。状態図を編集し、変更し、維持するのは、難儀であり、時間もかかっている。設計者は、状態間に起こりうる状態マシンのイベント、及び関連する状態の遷移を知ったり、特定したり、又は見出したりする必要がある。現在、有限状態マシンモデルをチェックし、且つ検証する技法は、状態遷移テーブルを用いるやり方である。通常、状態遷移テーブルは二次元テーブルであり、例えば、一方の軸は全ての状態をリストし、他方の軸は全ての可能なイベントをリストするのに用いられる。テーブルにおけるセルは、イベントと状態との関係を規定するのに用いられる。 状態遷移テーブルの手動の作成と維持、及び状態遷移テーブルに基づく状態マシンの完全性の手動チェックは、間違いを起こしやすく、時間もかかっている。
本発明の目的は、有限状態マシンモデルを作成する高度の解決策を提供することにある。
本発明の一態様によれば、有限状態マシンモデルを構築する方法を提供する。本方法は、少なくとも1つのモデル化コンポーネントに関連付けられた状態をディスプレイに表示するステップであって、該モデル化コンポーネントは、利用可能なトリガイベントについての情報を含む、当該状態をディスプレイに表示するステップと、フォーカスを得ている、前記状態及びモデル化コンポーネントを検出するステップと、前記少なくとも1つのモデル化コンポーネントが関連付けられた前記状態に関する、可能な送出側状態遷移と送出先状態とを探索するステップと、探索した送出側状態遷移及び送出先状態を表示するステップと、前記送出側状態遷移及び前記送出先状態の選択されたものを受信するステップと、前記選択されたものを、有限状態マシンを記述するモデルに追加するステップとを含む。
本発明の他の態様によれば、電子デバイスを提供する。本電子デバイスは、動作上、互いに接続された、プロセッサと、ディスプレイと、入力手段とを備え、前記プロセッサは、状態マシンの状態と関連付けられたモデル化コンポーネントを用いて有限状態マシンモデルを作成するように構成され、前記モデル化コンポーネントは、利用可能なトリガイベントについての情報を含み、当該電子デバイスは、前記少なくとも1つのモデル化コンポーネントに関連付けられた状態をディスプレイに表示し、フォーカスを得ている、前記状態及びモデル化コンポーネントを検出するように構成されている。本電子デバイスは、更に、前記少なくとも1つのモデル化コンポーネントが関連付けられた前記状態に関する、可能な送出側状態遷移と送出先状態とを探索し、探索した送出側状態遷移及び送出先状態を表示し、前記入力手段により送出側状態遷移及び送出先状態の選択されたものを受信し、前記プロセッサにより前記選択されたものを、有限状態マシンを記述するモデルに追加するように構成されている。
本発明の別の態様によれば、有限状態マシンモデルを構築するコンピュータ処理を実行するための命令のコンピュータプログラムを符号化するコンピュータプログラム製品を提供する。前記コンピュータ処理は、少なくとも1つのモデル化コンポーネントに関連付けられた状態をディスプレイに表示するステップであって、該モデル化コンポーネントは、利用可能なトリガイベントについての情報を含む、当該状態をディスプレイに表示するステップと、フォーカスを得ている、前記状態及びモデル化コンポーネントを検出するステップと、前記少なくとも1つのモデル化コンポーネントが関連付けられた前記状態に関する、可能な送出側状態遷移と送出先状態とを探索するステップと、 探索した送出側状態遷移及び送出先状態を表示するステップと、前記送出側状態遷移及び前記送出先状態の選択されたものを受信するステップと、前記選択されたものを、有限状態マシンを記述するモデルに追加するステップとを含む。
本発明の更に別の態様によれば、コンピュータで読み取り可能な、有限状態マシンモデルを構築するコンピュータ処理を実行するための命令のコンピュータプログラムの配布メディアを提供する。前記コンピュータ処理は、少なくとも1つのモデル化コンポーネントに関連付けられた状態をディスプレイに表示するステップであって、該モデル化コンポーネントは、利用可能なトリガイベントについての情報を含む、当該状態をディスプレイに表示するステップと、フォーカスを得ている、前記状態及びモデル化コンポーネントを検出するステップと、前記少なくとも1つのモデル化コンポーネントが関連付けられた前記状態に関する、可能な送出側状態遷移と送出先状態とを探索するステップと、検出した送出側状態遷移及び当該モデル化コンポーネントが関連付けられた前記状態に関する送出先状態を表示するステップと、前記送出側状態遷移及び前記送出先状態の選択されたものを受信するステップと、前記選択されたものを、有限状態マシンを記述するモデルに追加するステップとを含む。
本発明による解決策は、幾つかの利点を提供する。本解決策は、グラフィカルなモデル化環境における状態マシンの速い開発を可能にする。本発明の実施例において、状態遷移テーブルは、自動的に作成され、維持され、とぎれなく動的に状態マシンモデルを作成するのに用いられるツールに統合される。状態遷移テーブルは、各状態に対して可能なイベントについての利用可能なメタ情報に基づいて自動的に生成することができる。これは、状態マシンの予測的な構築、完全性の自動チェック、及び検証を可能にする。状態マシンモデルを設計するとき、ツールは、利用可能なトリガイベントを探し出し、状態遷移と、イベントに基づいて状態マシンモデルに追加されるべき送出先状態とを提示するように構成される。自動チェックは、規定された状態及び状態遷移を包含して実行することができる。従って、設計者は、手動で状態マシン図を作成し、レイアウトする必要がなくなる。また、提案された方法は、設計者に対して、全ての可能な状態遷移を探し出すのを助け、従って状態マシン図の完全性に達するように支援する。
更に、設計者が不慣れな目標とするソフトウェア環境用の状態マシンベースの設計を開発し始めるとき、本発明は、設計者に対して習熟曲線を低い程度にする。
本発明は、コンポーネントイベントについてのメタ情報に基づいて状態遷移を探し出し、送出先状態を提示する、自動化した方法を提供する。
以下、図面を参照して、本発明を、更に詳細な実施例について説明する。
一般に、状態マシンは、モデル化した項目の状態を所定の時刻に格納するモデルを云い、これは入力で動作して、状態を変えたり、及び/又は、アクション、即ち出力によって何らかの所定の変化を生じさせたりことができる。状態マシンモデルは、デバイス又はソフトウェアアプリケーションのインタラクション及び働きを開発し、記述するのに用いられる。状態マシンを記述するプロパティは、以下のようにリストすることができる。状態マシンは、初期状態を有する。状態マシンは、1組の可能な入力イベントを受信する。従って、状態マシンは、未知の入力イベントを受信することができない。状態マシンは、入力イベントに由来する1組の新たな状態を含む。状態マシンは、更に、新たな状態に由来する1組の可能なアクション、即ち出力イベントを含む。入力イベントが状態マシンを或る状態から別の状態に移すときに、状態遷移が起こる。 状態及び入力イベントをそれぞれの状態にマップする状態遷移関数を規定するのは可能である。
限られた数の可能な状態を有する状態マシンは、有限状態マシンと称される。有限状態マシンは、状態と、状態間の遷移とから成る。入力イベントは、状態遷移をトリガすることができる。有限状態マシンは、問題に技法して解決するための開発ツールとして、及び後の開発者とシステム維持者に対する解決策を記述し、記録する形式的な手法として、その双方に使用することができる。
有限状態マシンは、ビジュアル状態マシンエディタを用いて設計することができる。エディタは、モデル化コンポーネントのライブラリを提供することができ、モデル化コンポーネントのライブラリは、目標の実行環境、例えば組み込み型アプリケーション・ソフトウェアのアプリケーション実行環境をモデル化するのに用いられる。典型的なモデル化コンポーネントの例は、グラフィカルユーザインターフェース(GUI)コンポーネント、及び実行プラットホームAPI(アプリケーションプログラミングインターフェース)コンポーネントである。1つ以上のモデル化コンポーネントを、或る状態に関連付けることができ、各モデル化コンポーネントは、そのコンポーネントによって生成される利用可能なトリガイベントについての情報を含むことができる。可能なトリガイベントについての情報は、適切な状態遷移、及びこれらの送出先状態をも自動的に提示するのに用いられる。
実施例において、モデル化コンポーネントは、階層構造を有することができる。このような場合、モデル化コンポーネントは、多数のサブコンポーネントを含む。このような階層構造の各コンポーネントは、トリガイベントを生成することができる。
モデル化コンポーネントは、別々のソフトウェアツールを用いて設計することができる。当業者に明らかなように、利用可能なトリガイベントについての情報は、様々な手法でモデル化コンポーネントに含めることができる。一例において、この情報は、個別のデータファイルに格納することができる。データファイルは、例えば、XML(Extensible Markup Language)を用いて作成することができる。この情報は、該情報を含むだけの別のコンポーネントとして、モデル化コンポーネントに供給することもできる。また、モデル化コンポーネント自体に、この情報を直接含めることもできる。上述した例は、利用可能なトリガイベントの情報をモデル化コンポーネントに含めるか、又は供給する様々な手法の単なる例である。
有限状態マシンは、統一されたモデル言語状態図(Unified Mideling Language state chart)としてグラフィカルに提示することができる。例えば、UML(Unified Mideling Language)は、ソフトウェアモデルを記述するのに用いられる言語として広く用いられている。
図1を参照して、状態マシンを構築するのに用いることができ、且つ本発明の実施例を適用することができるデバイスの例を説明する。
デバイス100は、動作上互いに接続された、コントローラ102と、ディスプレイ104と、入力手段106とを備える。コントローラは、例えば、プロセッサ、集積回路及び関連するソフトウェアで実現することができる。入力手段は、例えば、キーボードか、キーパッドか、タッチセンシティブ・スクリーンか、ポインタか、又はマウスを含むことができる。更に、入力手段は、通信インターフェースを含むことができ、これにより当該デバイスを、別のデバイスに接続することもできる。入力手段は、デバイスのユーザにデバイス100とのインターフェースを提供する任意のデバイス又はソルーションとすることもできる。また、デバイス100は、データを格納するのに用いるメモリ108を備えることもできる。メモリは、1つ以上のメモリ回路、ディスクドライブ、又はメモリカード、メモリスティック、又はディスケットなどの取り外し可能なメモリデバイスで実現することができる。
デバイス100は、上述したコンポーネントを備えるパーソナルコンピュータ、ラップトップコンピュータ又は他のデバイスとすることができる。一例では、本発明は、デバイス100で実行されるビジュアル状態マシンエディタソフトウェアで実現することができる。
図2A、図2B、図2C、及び図3のフローチャートを参照して、本発明の実施例を説明する。図3のフローチャートのフェーズ300では、有限状態マシンの状態200に関連するモデル化コンポーネント(本例では、GUIビュー)を、図2Aに示すように、デバイス100のスクリーン104に表示する。図2Aの例は、携帯電話の動作を記述する有限状態マシンに関し、状態200は、新たなメッセージコマンドを選択するメッセージングアプリケーションの状態を表している。この状態200は、携帯電話のメッセージングアプリケーションのGUIビューを含む。関連のGUIビューは、3つのリストコマンドを規定するオプションメニュー“作成(Create)”(これ自体はGUIのサブコンポーネントである)を含む。これらのリストコマンドは、現行状態から送出側状態遷移のための潜在的なイベントトリガを表す。図2Aには、作成メニュー(オプションメニュー)202を示してある。この作成メニューは、3つのオプション、即ちショートメッセージ、マルチメディアメッセージ、及びEメールを含む。他の可能なイベントトリガについては、図面の明瞭化のために本実施例からは省いている。このような潜在的なトリガイベントは、例えば、現在の可視的なグラフィカルユーザインターフェース(GUI)コンポーネント、物理UIデバイス(キー又はジョイスティック)、アプリケーションプラットホームモジュール、I/Oデバイス、及びネットワーク・サービスによって提供することができる。
ステップ302では、表示された状態200と該状態に関連するモデル化コンポーネントがフォーカスを得ていることを検出する。ユーザが、マウスでコンポーネントをクリックするか、又は当業者に周知の他の手段でコンポーネントを選択するときに、コンポーネントは、フォーカスを得ている。
また、1つ以上の前の状態204を、現行のフォーカス状態200と同時にディスプレイに表示することができる。一例では、前の状態を現行のフォーカス状態より小さく表示するか、又はグレーにする。また、前の状態から現行状態までの状態遷移206を示すこともできる。
一例では、上述の2つのステップを、ユーザが、モデル化コンポーネントに関連する新たな状態を加えるステップと取り換えることができる。新たに追加された状態は、自動的にフォーカスを得ている。
ステップ304では、可能なトリガイベントを探索する。本発明の実施例では、コンポーネントがフォーカスを得ているとき、コンポーネントに利用可能な状態遷移と送出先状態とを自動的にディスプレイに表示する。この場合、コンポーネント200がステップ302でフォーカスを得ているとき、そのコンポーネントが利用可能な送出側状態遷移及び送出先状態を有しているか否かをチェックする。本例では、3つの可能な状態遷移を検出する。
ステップ306では、検出した利用可能な送出側状態遷移と送出先状態とを、図2Bに示すようにデバイス100のスクリーン104に表示する。状態200は、本例では、作成リスト202のコマンドに対応する、3つの可能な状態遷移208、210、212を有し、作成リスト202は、“ショートメッセージ”、“マルチメディアメッセージ”、及び“Eメール”からなる。各状態遷移は、送出先状態214、216、218に至り、これも表示する。送出先状態は、ユーザが、これらの送出先状態がまだ状態マシンの一部ではないこと迅速に判断することができるように、破線のアウトラインで表示することができる。
従って、状態マシンの設計者は、その状態マシンの設計時に、利用可能な選択肢を容易に見ることができる。 まだ状態マシンの一部になっていない各トリガイベントに対する遷移のための状態遷移及び送出先状態は、設計者のためにビジュアルに提示する。提示された遷移は、イベントのタイプによって視覚的にカテゴリ化することができる。設計者は、リストからか、又はフォーカス状態に割り当てられたモデル化コンポーネントをクリックすることによって、表示カテゴリを選択することができる。この本発明の実施例では、ユーザは、例えば、マウスで遷移をクリックすることによって、設計下のアプリケーションに必要とされる遷移を簡単に選択することができる。
従って、或る状態がフォーカスを有している場合には、該状態に関連付けられた全ての遷移が指示される。モデル化コンポーネント又はサブコンポーネントがフォーカスを得ている場合には、コンポーネント又はサブコンポーネントによって提供される遷移のみが指示される。
従って、時間がかかる手動のレイアウト設計が排除される。設計者は、手動で遷移や状態を描く必要がなくなり、設計者は、グラフィカルな状態マシン要素を手動で再配置させる必要もなくなる。これらの手動の編集及びレイアウトタスクは、従来のビジュアル状態マシンエディタでは繰り返し行われ、時間がかかるものである。設計者は、包含される遷移及び送出先状態のプロパティを変更することもできる。設計者は、例えば、新たな状態を包含させる代わりに、前に規定した状態のリストから、割り当てられた送出先状態を変更することもできる。
ステップ308では、ユーザが選択したものを受信する。本例では、ユーザは、作成リスト202の“ショートメッセージ”及び“マルチメディアメッセージ”に対応する状態遷移208、210を選択している。
ステップ310では、これらの遷移及び対応する送出先状態を、状態マシンモデルに追加する。一例では、この追加した遷移及び送出先状態を、選択されなかった遷移及び状態と比べて、異なって表示する。図2Cに示すように、未選択の遷移212及び送出先状態218は、選択した変遷208,210及び送出先状態214,216に比べて、強調しないで示される。従って、ユーザは、どの遷移と送出先状態が、現時点で、状態マシンに属しているか、どれが属していないかを迅速に判断することができる。
一例では、設計者は、或る状態から別の状態にフォーカスをシフトさせることによって、構築中の有限状態マシンモデルを見直すことができる。また、モデル化コンポーネントを含む状態が選択されるときに、モデル化コンポーネントは、デフォルトで選択されるようにすることも考えられる。選択されたモデル化コンポーネントのイベントは、表示され、編集可能な現行イベントのカテゴリを規定する。フォーカス状態は、2つ以上のモデル化コンポーネントを含む場合、1つのモデル化コンポーネントを、適用されたポリシーに従ってデフォルトで選択されるようにする。例えば、このポリシーは、第1のモデル化コンポーネントが初めに選択されたものとすることができる。状態及びモデル化コンポーネントがフォーカスを得たことを検出するたびに、コンポーネントが有限状態マシンにまだ含まれていない状態遷移及び送出先状態用のトリガイベントを提供するか否かをチェックする。未処理のトリガイベントとして検出された状態遷移及び送出先状態は、モデル化コンポーネントがフォーカスを有する限り、特別な視覚的指示によりディスプレイ上に表示する。設計者は、状態マシンに追加すべき何らかの提示された状態をいつでも選択することができる。設計者は、通常、既に包含した遷移及び状態を見て、編集することもできる。従って、ユーザは、容易にモデルを変更することができる。また、ビジュアルにディスプレイから除外すべき提示済みの遷移か、又は包含済みの遷移のいずれかを切り換えるオプションを設計者に提供することもできる。
図4のフローチャートを参照して、本発明の実施例を説明する。ステップ400で、フォーカス状態の選択されたものを受信する。 設計者は、現行のビジュアル状態マシンモデルの利用可能な状態から、何らかの状態を選択することができる。選択された状態は、現行フォーカス状態となるように設定される。設計者は、新たな状態を状態マシン図に追加することもできる。この場合、その新たな状態を、現行のフォーカス状態となるように自動的に設定する。
ステップ402で、当該フォーカス状態と、該状態に関連付けられたモデル化コンポーネントとを表示する。状態は、1つ以上の関連付けられたモデル化コンポーネントを有することができる。各モデル化コンポーネントは、階層的にすることができる。このような場合、各モデル化コンポーネントは、多数のサブコンポーネントで構成される。
ステップ404で、フォーカス状態の送出側遷移のための全ての可能なトリガイベントを探索する。可能なトリガイベントが、全てのモデル化コンポーネント(これらの可能なサブコンポーネントを含む)から、及び、フォーカス状態のコンテクストから収集される。状態のコンテクストは、例えば、組み込み型ソフトウェアとその実行プラットホームとすることができる状態マシンの実行コンテクストである。ソフトウェア実行プラットホームは、アプリケーション及びその状態マシンがトリガイベントとして受信することができる多数の可能なイベントを規定することができる。
ステップ406で、デフォルトで選択されたトリガイベントのカテゴリを探索する。通常、全ての可能なトリガイベントのための全ての提示された状態遷移を同時に表示するのは実用的ではない。従って、トリガイベント及びこれらの割り当てられた遷移をカテゴリ化するようにする。 カテゴリ化は、イベントタイプか、又はソースのモデル化コンポーネントに基づくものとできる。
ステップ408で、選択されたカテゴリから、割り当てられた遷移を有するトリガイベントを探索する。幾つかのイベントは、フォーカス状態の送出側状態遷移に既に割り当てられている。これは、フォーカス状態が現行の状態であるときにイベントが生じる場合に、割り当てられたイベントがどのように処理されるかを、状態マシンが特定することを意味する。
ステップ410で、選択されたカテゴリから、まだ割り当てられていない遷移を有するトリガイベントを探索する。このステップでは、まだ送出側遷移に割り当てられていないトリガイベントを探し出す。これらのイベントは、フォーカス状態用の未処理のイベントを表す。全ての未処理のイベントは、実現される状態マシンに対して、不正確か、又は不完全な働き又は機能性を引き起こしうる。例えば、モデル化したソフトウェア・システムは、正確な働きを保証するために処理されるべき重大なイベントを受信することができる。 状態マシンモデルが受信したイベント用の処理を特定しなければ、状態マシンは、受信したイベントに反応し損ない、必要な制御動作を実行しないことになる。
ステップ412で、未処理のトリガイベント用の遷移と送出先状態を提示する。
ステップ414で、選択されたイベントのカテゴリ用のフォーカス状態にある、ユーザによって規定された状態遷移、及び提示した状態遷移の双方を表示する。提示した新たな送出側遷移を、設計者にビジュアルに表す。提示される送出先状態は、初めはエンプティであり、ユーザは、コンポーネントパレット又はリストからコンポーネントを選択することによって、1つ以上のモデル化コンポーネントを送出先状態に割り当てることができる。一例では、送出先状態を提示するのに1組のルールを適用することができる。例えば、選択されたトリガイベントが“バック”コマンドを表す場合、送出先状態を、現行フォーカス状態の親状態とすることができる。また、設計者は、提示されるエンプティの送出先状態を、状態マシンに既に存在する何らかの状態に取り換えることもできる。しかしながら、場合によって、幾つかの制限を行って、状態マシンの正確性を維持させる必要がある。提示した状態遷移から、ユーザは、状態マシンに含まれている状態遷移を選択することができる(ステップ422)。
図4におけるフローチャートの別の枝路は、ステップ416で始まる。ステップ416で、現行フォーカス状態によって包含されたモデル化コンポーネントの選択されたものを受信する。 或る状態に割り当てられたモデル化コンポーネントは、階層構造を有することができる。 従って、モデル化コンポーネントは、多数のサブコンポーネントを含むことができる。例えば、或る状態は、任意数のGUIコンポーネントを含む、割り当てられたGUIビューを有することができる。包含されたGUIコンポーネントの各々は、多数のトリガイベントを規定することができるモデル化コンポーネントとみなされる。設計者は、フォーカス状態に割り当てられたトップレベルのモデル化コンポーネントと、該トップレベルのモデル化コンポーネントのサブコンポーネントを選択することができる。
ステップ418では、選択されたモデル化コンポーネントに従って、トリガイベントのカテゴリを選択する。現行イベントのカテゴリは、選択されたモデル化コンポーネントによって規定した送出側イベントの組となるように設定される。 本処理は、ステップ408から続けることができる。
図4におけるフローチャートの別の枝路は、ステップ420で始まる。ステップ420で、トリガイベントのカテゴリの選択されたものを受信する。更に、モデル化コンポーネントを選択することによってイベントコンポーネントを選択する場合、設計者は、提示されたリスト又はパネルからイベントのカテゴリを選択することができる。本処理は、ステップ408から続けることができる。
図4におけるフローチャートの別の枝路は、ステップ422で始まる。ステップ422で、状態マシンに追加されるべく提示した状態遷移の選択されたものを受信する。設計者は、1組の提示した状態遷移から、フォーカス状態用の送出側状態遷移を選択することができる。ステップ424で、選択された遷移と送出先状態を、状態マシンに追加する。ユーザによって選択された遷移、及び該遷移に割り当てられた送出先状態は、状態マシンモデルに含められる。選択された要素の追加後に、表示された状態マシン図を、ステップ414で更新する。
一例では、様々なインジケータを、状態遷移と共に示すようにする。図2Cの例では、ディスプレイは、エラー・インジケータとして用いることができるインジケータ220,222及び224を含む。これらのインジケータは、問題とする要素又は規定が意味的に正確でないというビジュアル通知をユーザに与えることができる。エラー・インジケータを有する要素及び規定は、状態マシンのシミュレーションで実行することができない。ディスプレイは、警告インジケータとして用いることができるインジケータ226,228及び230を含む。警告インジケータを用いて、要素又は規定が、全く定義されていないか、又は規定から何か欠落しているかのいずれかを示すことができる。未規定の要素(図2CにおけるEメール遷移など)は、このチェックから除外する。警告インジケータを有する要素及び規定は、実行可能ではあるが、これらは、実行の観点から論理的に不正確であるか、又は不完全となりうる。状態マシンは、適用された状態マシン形式として規定される実行のセマンティクスを受け入れる場合に、実行可能である。この実行は、状態マシンを解釈することによって、コード生成を介して実現することができる。
本発明の実施例は、電子デバイスにおいて実現することができ、電子デバイスは、例えば、ディスプレイと、キーボードと、動作上キーボード及びディスプレイに接続されたコントローラとを備える。コントローラは、図3及び図4のフローチャートで説明した少なくとも幾つかのステップを、図2A、図2B、及び図2Cと関連して実行するように構成することができる。 本実施例は、コンピュータプログラムとして実現することができ、コンピュータプログラムは、有限状態マシンモデルを構築するコンピュータ処理を実行するための命令を含み、コンピュータ処理は、少なくとも1つのモデル化コンポーネントに関連付けられた状態をディスプレイに表示するステップであって、該モデル化コンポーネントが利用可能なトリガイベントについての情報を含む、当該状態をディスプレイに表示するステップと、フォーカスを得ている、前記状態及びモデル化コンポーネントを検出するステップと、前記少なくとも1つのモデル化コンポーネントが関連付けられた前記状態に関する、可能な送出側状態遷移と送出先状態とを探索するステップと、探索した送出側状態遷移及び送出先状態を表示するステップと、前記送出側状態遷移及び前記送出先状態の選択されたものを受信するステップと、前記選択されたものを、有限状態マシンを記述するモデルに追加するステップとを含む。
コンピュータプログラムは、コンピュータ又はプロセッサで読み取り可能なコンピュータプログラムの配布メディアに格納することができる。コンピュータプログラムメディアは、例えば、限定するものではないが、電気的、磁気的、光学的の赤外又は半導体システム、デバイス又は伝送メディアとすることができ、コンピュータ読み取り可能なメディア、プログラム・ストレージメディア、記録メディア、コンピュータ読み取り可能なメモリ、ランダムアクセスメモリ、消去可能なプログラマブルリードオンリメモリ、コンピュータ読み取り可能なソフトウェア配布パッケージ、コンピュータ読み取り可能な信号、コンピュータ読み取り可能なテレコミュニケーション信号、コンピュータ読み取り可能な印刷物、及びコンピュータ読み取り可能な圧縮されたソフトウェアパッケージのうち、少なくとも1つのメディアを含むことができる。
本発明は、図面に従う一例を参照して上述したが、本発明は、それに制限されないのは明らかであり、請求の範囲内で幾つかの手法で変更することもできる。
Claims (16)
- 有限状態マシンモデルを構築する方法であって、
少なくとも1つのモデル化コンポーネントに関連付けられた状態をディスプレイに表示するステップであって、該モデル化コンポーネントは、利用可能なトリガイベントについての情報を含む、当該状態をディスプレイに表示するステップと、
フォーカスを得ている、前記状態及びモデル化コンポーネントを検出するステップと、
前記少なくとも1つのモデル化コンポーネントに関連付けられた前記状態に関する、可能な送出側状態遷移と送出先状態とを探索するステップと、
探索した送出側状態遷移及び送出先状態を表示するステップと、
前記送出側状態遷移及び前記送出先状態の選択されたものを受信するステップと、
前記選択されたものを、有限状態マシンを記述するモデルに追加するステップと、
を含むことを特徴とする有限状態マシンモデル構築方法。 - 或る状態、及びフォーカスを得ている前記状態に関連付けられたモデル化コンポーネントを検出するステップと、
前記コンポーネントが、前記有限状態マシンに含まれていない利用可能な状態遷移と送出先状態とを、トリガイベントに提供するか否かをチェックするステップと、
検出した状態遷移と送出先状態とを前記ディスプレイに表示するステップと、
を含むことを特徴とする、請求項1に記載の有限状態マシンモデル構築方法。 - 前記有限状態マシンモデルに含まれる状態遷移及び送出先状態を、前記有限状態マシンモデルに含まれていない状態遷移及び送出先状態と比較して、強調して表示するステップを含むことを特徴とする、請求項1に記載の有限状態マシンモデル構築方法。
- 前記有限状態マシンモデルは、電子デバイスのユーザインターフェースの働きを記述していることを特徴とする、請求項1に記載の有限状態マシンモデル構築方法。
- 前記有限状態マシンモデルは、UML(Unified Modeling Language)状態チャートであることを特徴とする、請求項1に記載の有限状態マシンモデル構築方法。
- エラー又は警告を指示するインジケータを、示された状態とともに表示するステップを含むことを特徴とする、請求項1に記載の有限状態マシンモデル構築方法。
- 或る状態と関連付けられたモデル化コンポーネントは、サブコンポーネントを含むことを特徴とする、請求項1に記載の有限状態マシンモデル構築方法。
- サブコンポーネントは、サブコンポーネントを含むことを特徴とする、請求項1に記載の有限状態マシンモデル構築方法。
- サブコンポーネントは、状態遷移及び送出先状態を、トリガイベントに供給することを特徴とする、請求項7又は8に記載の有限状態マシンモデル構築方法。
- 動作上、互いに接続された、プロセッサと、ディスプレイと、入力手段とを備える電子デバイスであって、前記プロセッサは、状態マシンの状態と関連付けられたモデル化コンポーネントを用いて有限状態マシンモデルを作成するように構成され、前記モデル化コンポーネントは、利用可能なトリガイベントについての情報を含み、
少なくとも1つのモデル化コンポーネントに関連付けられた状態をディスプレイに表示し、
フォーカスを得ている、前記状態及びモデル化コンポーネントを検出するように構成された電子デバイスであって、更に、
前記少なくとも1つのモデル化コンポーネントが関連付けられた前記状態に関する、可能な送出側状態遷移と送出先状態とを探索し、
探索した送出側状態遷移及び送出先状態を表示し、
前記入力手段により送出側状態遷移及び送出先状態の選択されたものを受信し、
前記プロセッサにより前記選択されたものを、前記有限状態マシンを記述するモデルに追加するように構成されていることを特徴とする電子デバイス。 - 前記電子デバイスは、更に、
或る状態、及びフォーカスを得ている該状態に関連付けられたモデル化コンポーネントを検出し、
前記コンポーネントが、前記有限状態マシンに含まれていない利用可能な状態遷移と送出先状態とを、トリガイベントに供給するか否かをチェックし、
検出した状態遷移と送出先状態とを前記ディスプレイに表示するように構成されていることを特徴とする、請求項10に記載の電子デバイス。 - 前記電子デバイスは、更に、
前記有限状態マシンモデルに含まれる状態遷移及び送出先状態を、前記有限状態マシンモデルに含まれていない状態遷移及び送出先状態と比較して、強調して表示するように構成されていることを特徴とする、請求項10に記載の電子デバイス。 - 前記電子デバイスは、更に、
エラー又は警告を指示するインジケータを、示された状態とともに表示するように構成されていることを特徴とする、請求項10に記載の電子デバイス。 - 有限状態マシンモデルを構築するコンピュータ処理を実行するための命令のコンピュータプログラムを符号化するコンピュータプログラム製品であって、
前記コンピュータ処理は、
少なくとも1つのモデル化コンポーネントに関連付けられた状態をディスプレイに表示するステップであって、該モデル化コンポーネントは、利用可能なトリガイベントについての情報を含む、当該状態をディスプレイに表示するステップと、
フォーカスを得ている、前記状態及びモデル化コンポーネントを検出するステップとを含み、更に、
前記少なくとも1つのモデル化コンポーネントが関連付けられた前記状態に関する、可能な送出側状態遷移と送出先状態とを探索するステップと、
探索した送出側状態遷移及び送出先状態を表示するステップと、
前記送出側状態遷移及び前記送出先状態の選択されたものを受信するステップと、
前記選択されたものを、有限状態マシンを記述するモデルに追加するステップと、
を含むことを特徴とするコンピュータプログラム製品。 - コンピュータで読み取り可能な、有限状態マシンモデルを構築するコンピュータ処理を実行するための命令のコンピュータプログラムの配布メディアであって、
前記コンピュータ処理は、
少なくとも1つのモデル化コンポーネントに関連付けられた状態をディスプレイに表示するステップであって、該モデル化コンポーネントは、利用可能なトリガイベントについての情報を含む、当該状態をディスプレイに表示するステップと、
フォーカスを得ている、前記状態及びモデル化コンポーネントを検出するステップとを含み、更に、
前記少なくとも1つのモデル化コンポーネントが関連付けられた前記状態に関する、可能な送出側状態遷移と送出先状態とを探索するステップと、
検出した送出側状態遷移及び当該モデル化コンポーネントが関連付けられた前記状態に関する送出先状態を表示するステップと、
前記送出側状態遷移及び前記送出先状態の選択されたものを受信するステップと、
前記選択されたものを、有限状態マシンを記述するモデルに追加するステップと、
を含むことを特徴とするコンピュータプログラムの配布メディア。 - コンピュータ読み取り可能なメディア、プログラム・ストレージメディア、記録メディア、コンピュータ読み取り可能なメモリ、コンピュータ読み取り可能なソフトウェア配布パッケージ、コンピュータ読み取り可能な信号、コンピュータ読み取り可能なテレコミュニケーション信号、及びコンピュータ読み取り可能な圧縮されたソフトウェアパッケージのうち、少なくとも1つのメディアを含む、請求項15に記載のコンピュータプログラムの配布メディア。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI20055408A FI118064B (fi) | 2005-07-12 | 2005-07-12 | Äärellisen tilakonemallin luominen |
PCT/FI2006/050331 WO2007006869A1 (en) | 2005-07-12 | 2006-07-11 | Building finite state machine model |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009501970A true JP2009501970A (ja) | 2009-01-22 |
Family
ID=34803276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008520902A Withdrawn JP2009501970A (ja) | 2005-07-12 | 2006-07-11 | 有限状態マシンモデルの構築 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20080270101A1 (ja) |
EP (1) | EP1907958A4 (ja) |
JP (1) | JP2009501970A (ja) |
KR (1) | KR20080048454A (ja) |
FI (1) | FI118064B (ja) |
WO (1) | WO2007006869A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015056180A (ja) * | 2013-09-13 | 2015-03-23 | 富士通株式会社 | Guiに基づいたアプリケーションの決定性有限状態マシンモデルの抽出方法 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7412483B2 (en) * | 2005-01-07 | 2008-08-12 | International Business Machines Corporation | Automated email activity management |
US8605888B2 (en) * | 2006-12-01 | 2013-12-10 | Samsung Electronics Co., Ltd. | Method for making status function matrix and method for controlling call connection using it |
EP2169489B1 (en) * | 2008-09-30 | 2012-08-01 | Siemens Aktiengesellschaft | Method for implementing production processes |
US9009609B2 (en) | 2011-09-15 | 2015-04-14 | International Business Machines Corporation | Interaction with a visualized state transition model |
WO2013123376A1 (en) | 2012-02-15 | 2013-08-22 | The Mathworks, Inc. | Unified state transition table describing a state machine model |
JP6033891B2 (ja) * | 2012-02-15 | 2016-11-30 | ザ マスワークス, インクThe Mathworks, Inc. | 状態図の生成 |
US9652360B2 (en) * | 2014-04-04 | 2017-05-16 | Fujitsu Limited | Crawling for extracting a model of a GUI-based application |
US10078502B2 (en) * | 2014-06-19 | 2018-09-18 | Fujitsu Limited | Verification of a model of a GUI-based application |
EP3350962B1 (en) * | 2015-09-18 | 2021-11-03 | Telefonaktiebolaget LM Ericsson (PUBL) | Management of communication between m2m device and m2m server |
US10430211B2 (en) * | 2016-09-12 | 2019-10-01 | Ignition Interfaces, Inc. | Parameterized user interface for capturing user feedback |
EP3340044A1 (en) * | 2016-12-22 | 2018-06-27 | Ecole Nationale de l'Aviation Civile | Method and apparatus for processing software code |
KR102276230B1 (ko) * | 2019-11-19 | 2021-07-12 | 주식회사 카카오뱅크 | 유한 상태기계 생성 방법, 유한 상태기계 운영 방법, 이를 수행하는 서버 및 컴퓨터 프로그램 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485600A (en) * | 1992-11-09 | 1996-01-16 | Virtual Prototypes, Inc. | Computer modelling system and method for specifying the behavior of graphical operator interfaces |
US5801687A (en) * | 1994-09-30 | 1998-09-01 | Apple Computer, Inc. | Authoring tool comprising nested state machines for use in a computer system |
US6222537B1 (en) * | 1997-07-29 | 2001-04-24 | International Business Machines Corporation | User interface controls for a computer system |
WO2000033235A1 (en) * | 1998-11-30 | 2000-06-08 | Siebel Systems, Inc. | State models for monitoring processes |
US6718533B1 (en) * | 1999-02-26 | 2004-04-06 | Real-Time Innovations, Inc. | Method for building a real-time control system with mode and logical rate |
US6031747A (en) * | 1999-08-02 | 2000-02-29 | Lockheed Martin Missiles & Space Company | Interleaved synchronous flyback converter with high efficiency over a wide operating load range |
US6668203B1 (en) * | 2001-04-26 | 2003-12-23 | Sandia Corporation | State machine analysis of sensor data from dynamic processes |
US7415483B2 (en) * | 2002-06-05 | 2008-08-19 | Sap Ag | Individual data objects in enterprise computing systems |
US7231630B2 (en) * | 2002-07-12 | 2007-06-12 | Ensequence Inc. | Method and system automatic control of graphical computer application appearance and execution |
-
2005
- 2005-07-12 FI FI20055408A patent/FI118064B/fi not_active IP Right Cessation
-
2006
- 2006-07-11 KR KR1020087003096A patent/KR20080048454A/ko not_active Application Discontinuation
- 2006-07-11 US US11/994,946 patent/US20080270101A1/en not_active Abandoned
- 2006-07-11 EP EP06778521A patent/EP1907958A4/en not_active Withdrawn
- 2006-07-11 WO PCT/FI2006/050331 patent/WO2007006869A1/en active Application Filing
- 2006-07-11 JP JP2008520902A patent/JP2009501970A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015056180A (ja) * | 2013-09-13 | 2015-03-23 | 富士通株式会社 | Guiに基づいたアプリケーションの決定性有限状態マシンモデルの抽出方法 |
Also Published As
Publication number | Publication date |
---|---|
FI20055408A (fi) | 2007-01-13 |
US20080270101A1 (en) | 2008-10-30 |
EP1907958A1 (en) | 2008-04-09 |
WO2007006869A1 (en) | 2007-01-18 |
FI118064B (fi) | 2007-06-15 |
KR20080048454A (ko) | 2008-06-02 |
FI20055408A0 (fi) | 2005-07-12 |
EP1907958A4 (en) | 2010-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009501970A (ja) | 有限状態マシンモデルの構築 | |
WO2019144680A1 (zh) | 自动化测试方法及装置、存储介质、电子设备 | |
US8249732B2 (en) | System and method for developing automated templates for knowledge capture | |
JP4667386B2 (ja) | 業務モデル図作成支援プログラム、業務モデル図作成支援方法、および業務モデル図作成支援装置 | |
US6829733B2 (en) | System and method for graphically detecting differences between test executive sequence files | |
US8327333B2 (en) | Apparatus, method, and system of assisting software development | |
US6177942B1 (en) | Part development system | |
US20140366005A1 (en) | Abstract layer for automatic user interface testing | |
EP2705441B1 (en) | Automatic classification adjustment of recorded actions for automation script | |
US9785416B2 (en) | Presenting a custom view in an integrated development environment based on a variable selection | |
KR101538907B1 (ko) | 논리 구조 설계 표면 | |
US8589858B1 (en) | Requirement manager for UML and SysML application | |
CN104937540B (zh) | 获取与类似代码相关联的应用生命周期管理实体的标识 | |
JP2007323219A (ja) | Fmea支援装置、その装置、そのプログラム及びその媒体 | |
WO2014117387A1 (en) | Test script creation based on abstract test user controls | |
EP3869328A1 (en) | System, device and method for debugging an industrial application | |
CN117215556A (zh) | 模块化的页面快速构建方法、系统、设备及介质 | |
CN101710275A (zh) | 利用gui工具来编辑工作流逻辑和屏幕的方法和系统 | |
US11823108B1 (en) | System for managing resources and scheduling, and related method and software | |
Pradhan | User interface test automation and its challenges in an industrial scenario | |
CN113220596B (zh) | 应用的测试方法、装置、设备、存储介质及程序产品 | |
US20230267255A1 (en) | Semiconductor equipment modeling method and device | |
Le | Comparing State Management Between Redux And Zustand In React | |
US20230401056A1 (en) | Interactive code visualization system | |
JP5044811B2 (ja) | コンピュータ・プログラムのメニュー設計を検証する方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090414 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090414 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20110725 |