JP5144511B2 - 推論による状態機械 - Google Patents

推論による状態機械 Download PDF

Info

Publication number
JP5144511B2
JP5144511B2 JP2008521502A JP2008521502A JP5144511B2 JP 5144511 B2 JP5144511 B2 JP 5144511B2 JP 2008521502 A JP2008521502 A JP 2008521502A JP 2008521502 A JP2008521502 A JP 2008521502A JP 5144511 B2 JP5144511 B2 JP 5144511B2
Authority
JP
Japan
Prior art keywords
state
transition
input
state machine
event
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
JP2008521502A
Other languages
English (en)
Other versions
JP2009501387A (ja
Inventor
オーロラ、ピュネート
サブラマニ、スレッシュ
レオン、ニック、チェ、ケン
Original Assignee
ティブコ ソフトウェア インク
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 ティブコ ソフトウェア インク filed Critical ティブコ ソフトウェア インク
Publication of JP2009501387A publication Critical patent/JP2009501387A/ja
Application granted granted Critical
Publication of JP5144511B2 publication Critical patent/JP5144511B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/31Programming languages or programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は、一部のまたは無秩序な情報において動作しうる状態機械であって、形式的にまだトラバースされていない中間状態を推論する状態機械に関する。
多くの一般的な項目や状況におけるふるまいは、有限状態機械(FSM)と呼ばれる、単純であるが強力なツールを使用してモデル化されうる。状態機械に効率的に変換されてきた機能の実例は、信号処理アルゴリズムに対するベクトル制御、データの符号化および復号化、暗号化および符合解読、事象のモニタリング、単純な機械制御機能を含む。FSMは、通常、遷移によって相互に連接される状態を含む有向グラフの形式で示される。状態機械の状態を定義し、かつ、状態遷移を示す有向線にこれらの状態を連接することによってモデル化される、システムの表示を“描く”ことを設計者に可能にする、多くのコンピュータツールがある。一般的に、このようなモデルは、モデル化されるシステムから独立しており、物理的システムが開発される前または後に作成されうる。
一般的に、1つもしくはそれ以上の入力の消費または他の事象の発生を表す、ある状態から別の状態への遷移により、順序立った状態における順序づけを介してトラバースする、ディジタル(ときに機械的)装置がFSMである。ある場合において、状態遷移は、さまざまな動作によって補われる。コンピュータプロセッサが読み込み理解しうる、一組のコンピュータ可読命令として、および/または、個々の操作を実行するための論理ゲートの集合として、FSMは具現化されうる。
典型的に、状態機械は、2つの明確な機能ブロックである次状態デコーダおよび出力デコーダを含むであろう。次状態デコーダは、状態機械の次状態(すなわち、現状態や一組の入力に基づいて)を規定し、一方、出力デコーダは、実際の出力を生成する。入力によって指示されるとおりに、状態機械が状態の順序をトラバースすることを確実にする役割を果たすのが次状態デコーダであり、一方、出力デコーダは、状態遷移に基づく出力信号の順序を提供する。時に、これらの出力は、FSMへの入力として、例えば、1つまたはそれ以上の帰還信号によって、戻されうる。
次に、状態機械の顕著な特徴は、そのプロセス指向性である。究極的な目標もしくは最終状態まで、状態機械は、状態から状態に、別の言い方をすると、主要管理点から主要管理点に、時間が経つにつれて移動する。一般に、状態機械は、これらの処理において可逆的である。これは、状態機械が、それらの入力を順番に、損失なく、消費するということである。この前提は、多くの領域で理にかなっているが、全部というわけではない。特に、状態機械の入力が、分散型構成における複数のシステムによって提供される、一連のデータ項目であるとき、順序は壊されるかもしれないし、データは失われるかもしれない。このような状況において、従来の状態機械は、立ち往生するか、または、誤った状態遷移を生成する。すなわち、いずれの結果も受け入れがたい。したがって、入力データが順番が狂って届く状況をうまく処理することができるか、あるいはそのような誤りを全く経験することのない、状態機械が必要である。
ある実施形態において、複数の状態と事象に依存するそれらの間の遷移とによって定義される状態機械と、1つまたはそれ以上の順序が狂った他の事象の正常な完了の観測から、状態機械への1つまたはそれ以上の欠落した事象入力について起こりそうな完了の推論を可能にするように構成される推論エンジンと、からなる処理システムを、本発明は提供する。このように、欠落した事象入力がない状態であっても、状態機械がその現状態から、異順序事象の完了に伴う新たな状態に進むことを、推論エンジンは可能にする。これらの欠落した入力が後に受理される場合、推論エンジンは、これらに応じて、その推論(すなわち、その計算された状態遷移)の妥当性を確認するように構成されうる。
状態機械は、1つまたはそれ以上のその状態に応じたタイムアウト手段を含みうる。タイムアウト手段は、指定された事象入力の受理に先立って、タイムアウトを定義する時間フレームの経過しだい、状態機械を指定された状態に遷移させることができる。また、状態機械は、明示的な事象の発生というよりはむしろ1つまたはそれ以上の事象状態によって定義される、少なくとも1つの遷移関数によって構成されうる。このような事象状態は、優先順位の遷移関数を有してもよく、また状態機械は、現状態から、(例えば、状態遷移が起こりうるときに、2つ以上の事象条件は真である場合のような)最優先順位を有する変換関数に応じて1つまたはそれ以上の次状態へ遷移するように構成されてもよい。
本発明は、下記添付の図において、例として示されるが、これらに限定されない。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。
ここに記載されるのは、状態機械の実行に推論機能を付加するためのインフラストラクチャとして推論エンジンを利用する拡張された状態機械である。結果は、一部のまたは無秩序な情報を操作しうる状態機械であって、形式的にまだトラバースされていない中間状態を推論する。さらに、特に予期せぬ状況において、状態タイムアウトや遷移優先のような制御は、状態機械の実行のよりよい制御を可能にする。
本発明は、それについての種々の実施例や実施形態について考察されるが、これらの実施例が、本明細書に付属する請求項に特定される発明の範囲を制限することを意図しないことは留意されるべきである。さらに、本発明の種々の実施形態は、(プログラムまたはルーチンとして知られる)コンピュータ実装処理または方法の補助によって実現されうる。コンピュータ実装処理または方法は、C#、C/C++、Fortran、COBOL、PASCAL、アセンブリ言語、マークアップ言語(例えば、xmi、HTML、SGML、XML、VoXML)等と同様に、共通オブジェクト・リクエスト・ブローカ・アーキテクチャ(CORBA)、Java(登録商標)等のようなオブジェクト指向環境も、制限なく、いかなるコンピュータ言語にも翻訳されうる。しかしながら、一般に、ここで使用される上記の用語のすべては、任意の目的を達成するために順番に実行される一連の論理ステップを含むように、かつ、(例えば、状態表の整備等によって)モデル化されたシステムに関する状態情報を保持するように、意図される。
上述の観点において、下記詳細な説明の一部が、コンピュータメモリ内データ上の動作のアルゴリズムおよび記号表示について示されることは、理解されるべきである。これらのアルゴリズム的記載および表示は、コンピュータ科学技術における知識を有する者によって、その処理実体を当該技術の他の当業者に最も効果的に伝達するために使用される手段である。ここでは、一般的に、アルゴリズムは、所望の結果に導く自己矛盾のない一連のステップであると解される。ステップは、物理的量の物理的な操作を要求するものである。必ずしも必要ではないが、通常、格納され、転送され、結合され、比較され、およびさもなければ操作されることが可能な、電気信号または磁気信号の形を、これらの物理的量はとる。ビット、値、要素、記号、文字、用語、数字等のようなこれらの信号を参照することは、主に標準使用という理由で、時に便利であることが実証済みである。しかしながら、これらのすべておよび類似の用語が、しかるべき物理的量に付随し、かつ、これらの量に該当する単に便利な標識にすぎないことは、念頭に置かれるべきである。コンピュータシステムのレジスタおよびメモリ内の物理的(電子的)量として表されるデータを、コンピュータシステムのメモリ、レジスタ、または他のそのような情報記憶、伝達、もしくは表示装置内の物理的量として同じように表される他のデータに処理し変換する、コンピュータシステムまたは同様の電子計算装置の動作および処理について、特に言明しないかぎり、本発明の明細書全体にわたって、例えば、“処理”、“演算”、“計算”、“決定”、“表示”等の用語の使用が意味することは正しく理解されるであろう。
本発明は、ここに記述される操作を実行するための装置により実装されうる。この装置は、要求される目的のために特別に製造されてもよいし、コンピュータに格納されるコンピュータプログラムによって選択的に作動しもしくは再構成される、汎用コンピュータから構成されてもよい。このようなコンピュータプログラムは、コンピュータ読取り可能格納媒体、例えば、下記に限定されないが、フロッピーディスク、光ディスク、CD−ROM、磁気光ディスク、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気もしくは光カードを含む各種ディスク、または電子命令を格納するために好適でかつそれぞれがコンピュータシステムバスに結合される各種媒体等の中に、格納されうる。さらに、コンピュータ読取り命令は、ある要求に反応してクライアントに命令を与えるように構成されるサーバに格納されうる。このような要求は、通常の通信路、例えば、ftp、httpまたはhttp要求(または他のファイル転送要求)を介して、または(例えば、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくはインターネットのような)1つもしくは複数のネットワークあるいはネットワークのネットワークを介して、届いてよい。
ここに示されるアルゴリズムおよび処理は、元来、特定のコンピュータまたは他の装置に応じたものではない。種々の汎用システムが、ここにいう教示に係るプログラムによって使用されてもよいし、または要求された方法を実現するためにより特化された装置を製造することが便利であると実証されるかもしれない。例えば、本発明に係る任意の方法は、配線された回路、汎用プロセッサのプログラミング、またはハードウェアとソフトウェアの任意の組合せによって、実装されうる。ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースのもしくはプログラマブルの大衆消費電子製品、DSP装置、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ等以外にも、それらを含むコンピュータシステム構成によって、本発明が実施されうることを、通常の知識を有する者は即座に理解するであろう。また、タスクが通信ネットワークを介してリンクされる遠隔処理装置によって実現される、分散型の演算環境において、本発明は実施されうる。これらのシステムの多様性に対する必要な構造は、下記説明から明らかになるであろう。
上述に指摘したとおり、有限状態機械は、しばしばデータ処理をモデル化する方法として使用される。これは、現実の(すなわち、物理的な)システム(しばしば複雑であり、多くのサブシステムを包含しうる)が、状態機械によって仮想の意味において抽出され表示されうるということである。このようなモデルは、例えば、所定の入力に対する物理的システムにおける潜在的出力を決定したい場合に、有効である。物理的システムそれ自身を使用してこのような決定をすることは、実際的ではない(実際、ときに不可能である)一方、このシステム(すなわち、状態機械)の仮想の表示は、しばしばこのような目的に使用されうる。その代わりに、あるいはこれに加えて、状態機械は、物理的システム内の処理を追従するように使用されてもよい。そのような“追従および追跡の”実施は、物理的システムが多くのサブシステムに広く分散する場合に、および/または、トランザクション監視機能の他の形態が、実行するには実際的でないかあるいは困難な場合に、特に有用である。また、状態機械は、複雑なソフトウェア駆動システムのようなコンピュータ利用システムの状態を追従するためのモデルとして使用されうる。
非決定性有限状態機械のより正式な定義は、5個組(S、Σ、T、s、F)からなる。すなわち、
Sは、状態の有限集合であり、
Σは、有限の入力アルファベットであり、
Tは、状態集合に対して状態/アルファベットの対を割り当てる遷移関数、すなわち、
に対するSx(ΣE{e})であり、ここで2は、Sのベキ集合を示すものであって、
sは、Sの1つの要素であり、開始状態を示し、
Fは、Sの部分集合であり、最終状態を示す。
(ΣE{e})の要素を構成する入力文字列x、x、x、...、xが与えられるとすると、
=s、
i+1は、i=0、1、...、n−1で、T(s、x)の集合要素であり、
は、Fの要素
である一連の状態s、s、s、...、sを通って状態機械が実行できるならば、非決定性有限状態機械は、文字列を受理する。このように、状態機械はその開始状態において開始され、遷移は入力文字列の各要素ごとに生成される。入力文字列のすべての要素が処理された後の最終状態に状態機械がおかれるときかつそのときに限って、文字列は受理されたとみなされる。
例えば、図1に示される状態機械10を考察する。ここで、
S={A、B、C、D、E}、
Σ={0、1}、
Tは、
T(A、0)={B、D}、
T(A、1)={D}、
T(B、1)={C}、
T(C、0)={E}、
T(D、0)={E}のように示され、
s=A、
F={E}である。
示されるように、許容状態(A、B、C、DおよびE)を示すグラフノードと、それらの状態の間の遷移を示すグラフのラベル付き円弧を用いて、この状態機械10は有向グラフとして図示されうる。この場合、円弧上のラベルは、遷移に割り当てられるアルファベット要素を示す。このように、状態“A”は開始状態、状態“E”は最終状態、確定された入力文字列は、“010”、“00”、および“10”である。中間状態での入力の消費を表す、状態Aから状態Eへの遷移、を形成することに加えて、いくつかまたはすべての遷移は、実行される動作に随伴されてもよい。このように、入力の消費は、入力受理決定を導くだけでなく、動作または出力も同様に実行させうる。
従来の状態機械は、これらの処理において典型的に情報が失われないものに限定される。すなわち、従来の状態機械は、その入力を順番にかつ損失なく消費する。このようなモデルは、多くの領域で妥当ではあるが、すべてではない。特に、状態機械の入力が、分散応用アーキテクチャにおける複数のシステムまたはサブシステムによって供給される一連のデータ項目であるとき、順序は崩されるかもしれず、またデータが失われるかもしれない。このような状況において、従来の状態機械は、たびたび立ち往生するか、さもなければ誤作動する。
対照的に、本発明は従来の有限状態機械に機能拡張を与え、状態機械に誤順序のまたは失われたデータに対処することを可能にする。ある実施形態において、1つまたはそれ以上の入力が壊れていなかったとしたならば状態機械がとったであろうパスを予測するのに、推論エンジンは使用される。従来の状態機械が立ち往生するかまたは誤った遷移を形成するような状況において、この推論機構は、状態機械が演算処理を持続することを可能にする。
残された課題は非決定性状態機械に集中するが、それは決定性状態機械と同様に適用される。(空の入力文字、εを受理しない状態機械であって、一組の状態にというよりもむしろ単一の状態に対して状態/入力の対を遷移関数が割り当てる)決定性状態機械は、それらの非決定性相当物の部分集合である。さらに、各非決定性状態機械は決定性状態機械に変換されうる。
本発明をよりよく理解するために、状態機械が、複数の分配システムおよび/またはサブシステムを含むビジネスプロセスフロー(例えば、保険金請求処理、携帯電話トランザクション処理の要求と達成、コンテンツの公開と発行等)を監視するように使用される、追従および追跡の実施を考察されたい。状態機械のジョブは、ビジネスシステムの包括的な進行を追従および追跡するためのものである。包括的なビジネスシステムを組み立てる各個別のシステム/サブシステムは、中間のタスクの完了を知らせる1つまたはそれ以上の出力を、生成しうるし、状態機械によるこれらの出力処理は、包括的なシステムの進行を追従することを可能にする。図2は、2つのサブシステム30aと30bを状態機械20が追従および追跡するために使用される本概念の基本的な実施例を示す。
サブシステム30aと30bのいずれもが事象の完了を知らせていないことを、開始状態22は示す。状態24は、サブシステム30aが事象1をすでに送ったことを示す。状態26は、サブシステム30aが事象1をすでに送ったことと、サブシステム30bが事象2をすでに送ったことを示す。状態28(最終状態)は、サブシステム30aが事象1をすでに送っていることと、サブシステム30bが事象2をすでに送ったことと、サブシステム30bが事象3をすでに送ったことを示す。
入力事象に基づいて状態遷移を追従することに加えて、任意の個別遷移における動作を実行するように状態機械20は補われうる。例えば、事象2の発生における状態遷移をマップするのに加えて、状態24と26の間の遷移関数は(出力を生成するような)動作を起動しうる。動作は、データベース内にデータを格納することや、別の状態機械にある事象を知らせること等を含みうる。
状態機械20がその入力を順番に消費するかぎりにおいて、追加の入力要素(本実施例において事象2および3)が処理に対して有効になるまで、中間状態24および26で待ちながら、サブシステム30aと30bによる動作の観測は次に進みうる。しかしながら、状態機械への入力が多くの別個のサブシステムによって動的に生成されうる場合に、このような分散形システムにおいては、状態機械へのいくつかの入力は遅延するか完全に失われうる可能性がある。例えば、サブシステム30bの事象2の出力の欠落が発生した場合、図3に示される状況が考えられるであろう。
事象2のような入力の欠落は、従来の状態機械を状態24において立ち往生し、先に進むこともできず、分散形システムのさらなる進捗を正常に追従することもできない原因に大いになりうる。もしこのような欠落が、監視される実際のサブシステムの故障というよりはむしろ通信障害(例えば、ネットワークの停止あるいは他の事象)によるものであったとすれば、実際には存在しない障害を調査するための無用な金額を、システムのオペレータは結局費やすかもしれない。さらに、物理的システムによって処理される追加の業務処理は記録されないかもしれず、収益機会または他のビジネスを失う結果をもたらす。
図3に示されるような状況において、従来の状態機械が立ち往生する理由は、一般に、このような状態機械が、これらの公式定義の静的状態で動作するようにコンピュータ読取り命令(すなわち、ソフトウェア)の中に実装されるからである。対照的に、本発明の実施形態に従って構成される状態機械は、推論エンジンのコンテキストの中に実装される。推論エンジンは、“推論ステップ”、すなわち1つまたはそれ以上の前提からの推論の表現、を照合しまたは生成することができるコンピュータ実装処理である。これによって我々は、1つまたはそれ以上の前提から1つの結論への論理的推論を一般に表現しようとする特定の種類のデータを意味する。推論エンジンのコンテキスト内に状態機械を置くことによって、本発明は、状態間の推論される遷移を可能にする。本発明によって与えられる、従来の状態機械への他の操作上の機能拡張は、機械タイムアウトと優先的な遷移を含む。これらはそれぞれ、正規の状態機械に対する機能拡張−それは分配形システムに現れる例外的な環境等をこのような装置がうまく処理することを可能にする−を定義する。
推量される遷移:推論エンジン内の状態機械の実装が、入力の無秩序さまたは欠落が存在する場合において、状態遷移を形成し続ける機会を与える。特に、中間遷移を実施する必要なくあり得べき(または任意の)将来の状態について推論が形成されうる。例えば、図3に示される状態機械を再度考察されたい。もし事象2および事象3が連続している(すなわち、事象3は、事象2の発生があるまで起こり得ない)と仮定するならば、事象3の存在から、事象2が失われたことや、状態機械20が状態28に進み得たことを、推量することができる。
データが無秩序かまたは欠落したかもしれない状態において、推論を形成するための手段により、本発明の状態機械はこれを行う。特に、順序が狂って到達したかまたは他の入力が欠落した後に到達したかもしれない入力を反映する、起こりうる中間状態の集合を常に把握するように、推論エンジンベースの状態機械は構成される。追加の入力に基づいて、現在の集合から、起こりうる中間状態の新たな集合を反復的に形成するように、推論エンジンは構成される。他の場合において、1つまたは複数のパスを定義するユーザ定義基準によって、推論は到達されうる。さらに、本発明のある実施形態において、将来状態の発生は現状態の発生から推論されうるし、そのまた逆も同様である。
無秩序のまたは欠落した入力がある状態における進捗を推論することに加えて、順番が狂ってデータが到達する場合には、本発明の状態機械はその推論の妥当性を確認することができる。例えば、図3に示される状態機械において、{1、3、2}として到達する入力は、(状態24から)状態28への遷移を推論し、次に、順番の狂った事象2に到達しだい、状態24から状態26への遷移を引き続き確証することによって対処されうる。
状態タイムアウト:無秩序のまたは欠落した入力のような例外的な状況に対処するための第2の機構は、タイムアウト機構である。この場合、状態機械は、個々の状態に付随するタイムアウトを含みうるので、その時間フレーム内の入力の欠落は特定の遷移(例えば、誤り状態)の原因となるであろう。例えば、図4に示される状態機械40が考えられよう。
本図において、サブシステム30aおよび30bは示されないが、前述のとおり、状態遷移1、2、3は、それぞれ、状態22と24、24と26、26と26の間に示される。状態機械40は、追加された状態32、34と、入力依存というよりもタイムアウト依存の状態22、24、26からの遷移とによって補われている。この状態機械を実行するため、状態22において30秒以上立ち往生させる入力は、状態32への遷移の発生をもたらすであろう。同様に、状態24において20秒以上立ち往生させる入力は、状態32への遷移の発生をもたらすであろう。同様に、状態26において30秒以上立ち往生させる入力は、状態34への遷移の発生をもたらすであろうし、それに続く“3”の入力は、最終状態28への遷移をもたらすであろう。こうして、後者の場合において、誤り遷移が最終である必要はないが、遅れた入力に対する例外処理機構として利用されうることが示される。一般に、入力を読取ることのない遷移、明示状態への遷移、または“すべての状態”への遷移を含む、多くの異なるタイムアウト動作を有する状態機械の使用方法を、本発明は意図し提供する。
優先順の遷移:本発明のさらなる実施形態は、状態機械の遷移関数に、状態変化を起こさせる入力のような明示的な特性というよりも、条件を受理することを可能にする。例えば、図5に示される状態機械50が考えられよう。この場合において、感知する温度の条件(すなわち、Tが32°未満もしくは等しい、またはTが32°よりも高い)は、状態機械50が開始状態52から適切な係属状態54または56への遷移をもたらすであろう。
また、図6に示されるように、特定の遷移があいまいな非決定性状態機械を、本発明は提供しうる。例えば、状態機械60において、2つの条件は同時に真である。これは、開始状態62から状態64(Tは100°よりも高い)への遷移状態が真であると同時に、開始状態62から状態66(湿度(H)は85%よりも高い)への遷移状態もまた真である、ということである。このような状況を処理するために、2つまたはそれ以上の条件が同時に真である任意の状況が決定的に解決されうるような、個別の優先順位によって遷移関数をさらに補うことを、本発明は可能にする。本実施例において、状態62から64への遷移はより高い優先順位を与えられうる一方、状態62から66への遷移はより低い優先順位を与えられうる。仮に、両方の条件が真であって状態機械60が状態62に到達する場合は、状態機械はより高い優先順位に基づいて状態62に遷移するということである。
このように、本発明は、複数の状態と事象に依存するそれらの間の遷移とによって定義づけられる状態機械と、1つまたはそれ以上の他の異常順序事象の正常な完了の観測から、状態機械に1つまたはそれ以上の欠落した事象入力について起こりそうな完了の推論を可能にするように構成される推論エンジンと、を含む処理システムを提供する。こうして、欠落した事象入力がない場合でも、状態機械がその現状態から順序が狂った事象の完了に付随する新たな状態に進むことを、推論エンジンは可能にする。これらの欠落した入力が後に受理された場合に、推論エンジンはこれらに係るその推論(すなわち、その演算される状態遷移)の妥当性を確認するように構成されうる。
本発明にしたがって構成される処理システムのための部分的なソフトウェアアーキテクチャを示す図7を参照する。種々の状態、遷移事象、推論ルール等を指定するように設計されたシステムを可能にするユーザインターフェース74(例えば、グラフィカルユーザインターフェース)を介して、推論エンジン70と状態機械72とは定義づけられうる。状態機械72は、1つまたはそれ以上の状態に付随するタイムアウト手段を含み、タイムアウト手段は、指定された事象入力の受理に先立つタイムアウトを定義づける時間フレームの経過次第、状態機械が指示される状態に遷移するようにする。また状態機械72は、ある明示的な事象発生というよりむしろ、1つまたはそれ以上の事象条件によって定義される少なくとも1つの遷移関数によって構成されうる。このような事象条件は遷移関数を優先づけしうるし、状態機械は、最優先順位を有する変換関数に基づいて、現状態から1つまたはそれ以上の次状態(例えば、状態遷移が起こりうるときに、2つ以上の事象条件が真である場合)に遷移するように構成しうる。
このように、状態機械の実行に推論機能を付加するためのインフラストラクチャとして、推論エンジンを利用する、拡張された状態機械が記述された。任意の図示された実施例を参照して論じられてきたが、本発明の範囲は、請求項の表記によってのみ判定されるべきである。
従来の有限状態機械の一例を示す図である。 複数のサブシステムの活動を追従し追跡することに使用される状態機械の一例を示す図である。 図2に示された状態機械により監視された、サブシステムの1つから欠落した入力の一例を示す図である。 本発明の実施形態に係る、タイムアウト処理をするように構成される状態機械の一例を示す図である。 本発明の実施形態に係る、状態変化に刺激を与える入力として、明示的な特性よりもむしろ条件を受理するための遷移関数によって構成される状態機械の一例を示す図である。 本発明の実施形態に係る、優先的な状態遷移の使用を可能にする非決定性状態遷移関数を有する状態機械の一例を示す図である。 本発明の実施形態に係る推論エンジンの実装に基礎をおく状態機械がその中に実現される、処理システムに対するソフトウェア・アーキテクチャの一例を示す図である。

Claims (6)

  1. 状態機械と推論エンジンとを含む処理システムであって、
    前記状態機械は、
    第1状態、第2状態及び第3状態を含む複数の状態の何れかを取り、
    少なくとも、前記第1状態と前記第2状態との間での第1の事象に依存する遷移を第1の入力に基づいて実行し、前記第2状態と前記第3状態との間での第2の事象に依存する遷移を第2の入力に基づいて実行する機能を有し、
    前記第1の入力及び前記第2の入力は1又は複数のサブシステムによって生成され、
    前記推論エンジンは、
    現在の状態が前記第1の状態である場合に前記第1の入力の観測が欠落して順序が狂った前記第2の入力を観測したときには、前記状態機械に前記第1の状態から前記第3の状態に遷移させる、
    処理システム。
  2. さらに前記推論エンジンは、
    前記第1の事象に依存する遷移があったとの推論に基づき前記遷移させる処理を実行し、
    1つまたはそれ以上の欠落した事象入力を観測しだい当該推論の妥当性を確認するように構成される
    請求項1に記載の処理システム。
  3. コンピュータ上に仮想的に定義される状態機械を用いた方法であって、
    前記状態機械は、
    第1状態、第2状態及び第3状態を含む複数の状態の何れかを取り、
    少なくとも、前記第1状態と前記第2状態との間での第1の事象に依存する遷移を第1の入力に基づいて実行し、前記第2状態と前記第3状態との間での第2の事象に依存する遷移を第2の入力に基づいて実行する機能を有し、
    前記第1の入力及び前記第2の入力は1又は複数のサブシステムによって生成され、
    前記方法は、
    現在の状態が前記第1の状態である場合に前記第1の入力の観測が欠落して順序が狂った前記第2の入力を観測したときには、前記状態機械に前記第1の状態から前記第3の状態に遷移させるステップ、
    を備える、前記コンピュータによって実行される方法。
  4. 前記遷移させるステップでは、前記第1の事象に依存する遷移があったとの推論に基づき前記遷移させる処理を実行し、
    1つまたはそれ以上の欠落した事象入力を観測しだい当該推論の妥当性を確認するステップをさらに備える請求項に記載の方法。
  5. 具体化されたコンピュータ読取り可能な命令を有し、前記命令は、前記命令を読取り実行するように構成される1つまたはそれ以上の処理要素によって実行されるとき、請求項3又は4に記載の方法をコンピュータに実行させる、コンピュータ読取り可能媒体。
  6. クライアントコンピュータによる要求に応じて前記クライアントコンピュータに対してダウンロード可能なコンピュータ読取り可能命令を提供するように構成されたサーバであって、
    前記命令は、前記クライアントコンピュータに請求項3又は4に記載の方法を実行させる、コンピュータ実行可能処理を定義するサーバ。
JP2008521502A 2005-07-12 2006-07-11 推論による状態機械 Expired - Fee Related JP5144511B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/180,075 2005-07-12
US11/180,075 US7472101B2 (en) 2005-07-12 2005-07-12 Inferential state machines
PCT/US2006/026755 WO2007008814A2 (en) 2005-07-12 2006-07-11 Inferential state machines

Publications (2)

Publication Number Publication Date
JP2009501387A JP2009501387A (ja) 2009-01-15
JP5144511B2 true JP5144511B2 (ja) 2013-02-13

Family

ID=37637838

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008521502A Expired - Fee Related JP5144511B2 (ja) 2005-07-12 2006-07-11 推論による状態機械

Country Status (4)

Country Link
US (1) US7472101B2 (ja)
EP (1) EP1920348A4 (ja)
JP (1) JP5144511B2 (ja)
WO (1) WO2007008814A2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747730B1 (en) 2002-06-28 2010-06-29 Netfuel, Inc. Managing computer network resources
US8312417B2 (en) * 2007-05-18 2012-11-13 International Business Machines Corporation Using dynamic call graphs for creating state machines
US7949679B2 (en) * 2008-03-05 2011-05-24 International Business Machines Corporation Efficient storage for finite state machines
US8762320B2 (en) * 2009-12-23 2014-06-24 Drumright Group, Llc. State machine with out-of-order processing functionality and method thereof
BR112012023489A2 (pt) * 2010-03-19 2016-05-24 Alcatel Lucent sistema e método de comunicação tipo máquina e dispositivo e método de pesquisa da célula.
US8381186B2 (en) * 2010-06-17 2013-02-19 Verizon Patent And Licensing Inc. Software training application using automated discovery of user interface controls
EP2481847A1 (en) 2011-01-31 2012-08-01 DSM IP Assets B.V. UV-Stabilized high strength fiber
US8818783B2 (en) * 2011-09-27 2014-08-26 International Business Machines Corporation Representing state transitions
US10079647B2 (en) 2014-12-10 2018-09-18 Nxp Usa, Inc. DC offset calibration of wireless receivers
US9608587B2 (en) * 2015-06-25 2017-03-28 Freescale Semiconductor, Inc. Systems and methods to dynamically calibrate and adjust gains in a direct conversion receiver
AU2016357567B2 (en) 2015-11-17 2020-05-07 Pfizer Inc. Media and fermentation methods for producing polysaccharides in bacterial cell culture
US10445169B2 (en) * 2016-04-08 2019-10-15 Nxp Usa, Inc. Temporal relationship extension of state machine observer
US10579753B2 (en) 2016-05-24 2020-03-03 Ab Initio Technology Llc Executable logic for processing keyed data in networks
US11054811B2 (en) * 2017-11-03 2021-07-06 Drishti Technologies, Inc. Systems and methods for line balancing
CN113986814B (zh) * 2021-10-15 2023-12-01 浙江大学 一种基于微处理器的状态机通用表示及执行方法
CN113821279A (zh) * 2021-11-24 2021-12-21 深圳市永联科技股份有限公司 一种状态转换的方法、装置及嵌入式设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579439A (en) * 1993-03-24 1996-11-26 National Semiconductor Corporation Fuzzy logic design generator using a neural network to generate fuzzy logic rules and membership functions for use in intelligent systems
JPH0784789A (ja) * 1993-09-17 1995-03-31 Nippon Telegr & Teleph Corp <Ntt> 推論装置
US5481648A (en) * 1993-12-23 1996-01-02 United Technologies Corp. Fuzzy logic method and apparatus for changing the position of turbine blades via an induction motor, brake and a position lock.
US5903886A (en) * 1996-04-30 1999-05-11 Smartlynx, Inc. Hierarchical adaptive state machine for emulating and augmenting software
JPH10260718A (ja) * 1997-03-19 1998-09-29 Fuji Electric Co Ltd ダムにおける水量予測方法
JP2001060155A (ja) * 1999-08-20 2001-03-06 Fujitsu Ltd メッセージ処理装置
JP3523213B2 (ja) * 2001-03-28 2004-04-26 株式会社ジャストシステム コマンド処理装置、コマンド処理方法、及びコマンド処理プログラム

Also Published As

Publication number Publication date
WO2007008814A3 (en) 2009-05-07
US7472101B2 (en) 2008-12-30
JP2009501387A (ja) 2009-01-15
EP1920348A4 (en) 2011-08-31
US20070094192A1 (en) 2007-04-26
WO2007008814A2 (en) 2007-01-18
EP1920348A2 (en) 2008-05-14

Similar Documents

Publication Publication Date Title
JP5144511B2 (ja) 推論による状態機械
Lu et al. Robust scheduling on a single machine to minimize total flow time
US20240205266A1 (en) Epistemic uncertainty reduction using simulations, models and data exchange
US20090150900A1 (en) Workflow task re-evaluation
Verbeek et al. Reduction rules for reset/inhibitor nets
JP2010506309A (ja) パラメータ化された並行ソフトウェアのプロシジャ間データフロー解析
JP2011113566A (ja) イベント処理ネットワークならびに関連する方法および記憶媒体(イベント処理ネットワーク)
US20210182720A1 (en) Information processing device, pubo solver, information processing method and non-transitory storage medium
JP2016514296A (ja) キュー監視及び視覚化
Hu et al. Complex event processing in RFID middleware: A three layer perspective
US8930408B2 (en) Attribute-based linked tries for rule evaluation
Huang et al. A fuzzy time-dependent project scheduling problem
US20240202834A1 (en) Modeling of complex systems using a distributed simulation engine
CN114139712A (zh) 量子电路的处理方法、处理装置、电子设备和存储介质
Maggi et al. Designing software for operational decision support through coloured petri nets
Guan et al. General methodology for inferring failure-spreading dynamics in networks
Kesaraju et al. Integrated simulation combining process-driven and event-driven models
Dixit et al. Quantum computing to solve scenario-based stochastic time-dependent shortest path routing
Singh et al. Modeling and prediction of performability of safety critical computer based systems using Petri nets
Piterman et al. Global model-checking of infinite-state systems
Häggström et al. Propp–Wilson algorithms and finitary codings for high noise Markov random fields
CN113297338B (zh) 产品推荐路径生成方法、装置、设备及存储介质
Lustig et al. Synthesis from recursive-components libraries
CN108197314B (zh) 一种对历史事务的建模验证方法
WO2015045091A1 (ja) ベイジアンネットワークの構造学習におけるスーパーストラクチャ抽出のための方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120321

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120621

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120628

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120723

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120821

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121122

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151130

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5144511

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees