JP2009501970A - 有限状態マシンモデルの構築 - Google Patents

有限状態マシンモデルの構築 Download PDF

Info

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
Application number
JP2008520902A
Other languages
English (en)
Inventor
サルメラ マルコ
Original Assignee
スオメン 3シー オサケユキチュア
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 スオメン 3シー オサケユキチュア filed Critical スオメン 3シー オサケユキチュア
Publication of JP2009501970A publication Critical patent/JP2009501970A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4498Finite 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つのモデル化コンポーネントに関連付けられた前記状態に関する、可能な送出側状態遷移と送出先状態とを探索するステップと、
    探索した送出側状態遷移及び送出先状態を表示するステップと、
    前記送出側状態遷移及び前記送出先状態の選択されたものを受信するステップと、
    前記選択されたものを、有限状態マシンを記述するモデルに追加するステップと、
    を含むことを特徴とする有限状態マシンモデル構築方法。
  2. 或る状態、及びフォーカスを得ている前記状態に関連付けられたモデル化コンポーネントを検出するステップと、
    前記コンポーネントが、前記有限状態マシンに含まれていない利用可能な状態遷移と送出先状態とを、トリガイベントに提供するか否かをチェックするステップと、
    検出した状態遷移と送出先状態とを前記ディスプレイに表示するステップと、
    を含むことを特徴とする、請求項1に記載の有限状態マシンモデル構築方法。
  3. 前記有限状態マシンモデルに含まれる状態遷移及び送出先状態を、前記有限状態マシンモデルに含まれていない状態遷移及び送出先状態と比較して、強調して表示するステップを含むことを特徴とする、請求項1に記載の有限状態マシンモデル構築方法。
  4. 前記有限状態マシンモデルは、電子デバイスのユーザインターフェースの働きを記述していることを特徴とする、請求項1に記載の有限状態マシンモデル構築方法。
  5. 前記有限状態マシンモデルは、UML(Unified Modeling Language)状態チャートであることを特徴とする、請求項1に記載の有限状態マシンモデル構築方法。
  6. エラー又は警告を指示するインジケータを、示された状態とともに表示するステップを含むことを特徴とする、請求項1に記載の有限状態マシンモデル構築方法。
  7. 或る状態と関連付けられたモデル化コンポーネントは、サブコンポーネントを含むことを特徴とする、請求項1に記載の有限状態マシンモデル構築方法。
  8. サブコンポーネントは、サブコンポーネントを含むことを特徴とする、請求項1に記載の有限状態マシンモデル構築方法。
  9. サブコンポーネントは、状態遷移及び送出先状態を、トリガイベントに供給することを特徴とする、請求項7又は8に記載の有限状態マシンモデル構築方法。
  10. 動作上、互いに接続された、プロセッサと、ディスプレイと、入力手段とを備える電子デバイスであって、前記プロセッサは、状態マシンの状態と関連付けられたモデル化コンポーネントを用いて有限状態マシンモデルを作成するように構成され、前記モデル化コンポーネントは、利用可能なトリガイベントについての情報を含み、
    少なくとも1つのモデル化コンポーネントに関連付けられた状態をディスプレイに表示し、
    フォーカスを得ている、前記状態及びモデル化コンポーネントを検出するように構成された電子デバイスであって、更に、
    前記少なくとも1つのモデル化コンポーネントが関連付けられた前記状態に関する、可能な送出側状態遷移と送出先状態とを探索し、
    探索した送出側状態遷移及び送出先状態を表示し、
    前記入力手段により送出側状態遷移及び送出先状態の選択されたものを受信し、
    前記プロセッサにより前記選択されたものを、前記有限状態マシンを記述するモデルに追加するように構成されていることを特徴とする電子デバイス。
  11. 前記電子デバイスは、更に、
    或る状態、及びフォーカスを得ている該状態に関連付けられたモデル化コンポーネントを検出し、
    前記コンポーネントが、前記有限状態マシンに含まれていない利用可能な状態遷移と送出先状態とを、トリガイベントに供給するか否かをチェックし、
    検出した状態遷移と送出先状態とを前記ディスプレイに表示するように構成されていることを特徴とする、請求項10に記載の電子デバイス。
  12. 前記電子デバイスは、更に、
    前記有限状態マシンモデルに含まれる状態遷移及び送出先状態を、前記有限状態マシンモデルに含まれていない状態遷移及び送出先状態と比較して、強調して表示するように構成されていることを特徴とする、請求項10に記載の電子デバイス。
  13. 前記電子デバイスは、更に、
    エラー又は警告を指示するインジケータを、示された状態とともに表示するように構成されていることを特徴とする、請求項10に記載の電子デバイス。
  14. 有限状態マシンモデルを構築するコンピュータ処理を実行するための命令のコンピュータプログラムを符号化するコンピュータプログラム製品であって、
    前記コンピュータ処理は、
    少なくとも1つのモデル化コンポーネントに関連付けられた状態をディスプレイに表示するステップであって、該モデル化コンポーネントは、利用可能なトリガイベントについての情報を含む、当該状態をディスプレイに表示するステップと、
    フォーカスを得ている、前記状態及びモデル化コンポーネントを検出するステップとを含み、更に、
    前記少なくとも1つのモデル化コンポーネントが関連付けられた前記状態に関する、可能な送出側状態遷移と送出先状態とを探索するステップと、
    探索した送出側状態遷移及び送出先状態を表示するステップと、
    前記送出側状態遷移及び前記送出先状態の選択されたものを受信するステップと、
    前記選択されたものを、有限状態マシンを記述するモデルに追加するステップと、
    を含むことを特徴とするコンピュータプログラム製品。
  15. コンピュータで読み取り可能な、有限状態マシンモデルを構築するコンピュータ処理を実行するための命令のコンピュータプログラムの配布メディアであって、
    前記コンピュータ処理は、
    少なくとも1つのモデル化コンポーネントに関連付けられた状態をディスプレイに表示するステップであって、該モデル化コンポーネントは、利用可能なトリガイベントについての情報を含む、当該状態をディスプレイに表示するステップと、
    フォーカスを得ている、前記状態及びモデル化コンポーネントを検出するステップとを含み、更に、
    前記少なくとも1つのモデル化コンポーネントが関連付けられた前記状態に関する、可能な送出側状態遷移と送出先状態とを探索するステップと、
    検出した送出側状態遷移及び当該モデル化コンポーネントが関連付けられた前記状態に関する送出先状態を表示するステップと、
    前記送出側状態遷移及び前記送出先状態の選択されたものを受信するステップと、
    前記選択されたものを、有限状態マシンを記述するモデルに追加するステップと、
    を含むことを特徴とするコンピュータプログラムの配布メディア。
  16. コンピュータ読み取り可能なメディア、プログラム・ストレージメディア、記録メディア、コンピュータ読み取り可能なメモリ、コンピュータ読み取り可能なソフトウェア配布パッケージ、コンピュータ読み取り可能な信号、コンピュータ読み取り可能なテレコミュニケーション信号、及びコンピュータ読み取り可能な圧縮されたソフトウェアパッケージのうち、少なくとも1つのメディアを含む、請求項15に記載のコンピュータプログラムの配布メディア。
JP2008520902A 2005-07-12 2006-07-11 有限状態マシンモデルの構築 Withdrawn JP2009501970A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015056180A (ja) * 2013-09-13 2015-03-23 富士通株式会社 Guiに基づいたアプリケーションの決定性有限状態マシンモデルの抽出方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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