(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-23
(45)【発行日】2023-10-31
(54)【発明の名称】状態マシン処理、状態処理方法、装置、電子機器および記憶媒体
(51)【国際特許分類】
G06N 7/00 20230101AFI20231024BHJP
【FI】
G06N7/00
(21)【出願番号】P 2022056687
(22)【出願日】2022-03-30
【審査請求日】2022-03-30
(31)【優先権主張番号】202110594974.7
(32)【優先日】2021-05-28
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】521208273
【氏名又は名称】阿波▲羅▼智▲聯▼(北京)科技有限公司
【氏名又は名称原語表記】APOLLO INTELLIGENT CONNECTIVITY(BEIJING)TECHNOLOGY CO.,LTD.
【住所又は居所原語表記】101, 1st Floor, Building 1, Yard 7, Ruihe West 2nd Road, Beijing Economic and Technological Development Zone, Beijing 100176, China
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】▲劉▼ ▲うろーん▼
【審査官】福西 章人
(56)【参考文献】
【文献】米国特許出願公開第2019/0087243(US,A1)
【文献】Yi Yang et al.,DoubleDeck: Decoupling Complex Control Logic of Network Protocols to Facilitate Efficient Hardware Implementation,2020年10月10日,pp.1-20,インターネット:<URL:https://www.mdpi.com/2079-9292/9/10/1647>
【文献】Bas Graaf et al.,Model-Driven Consistency Checking of Behavioural Specifications,2007年03月31日,pp.1-12,インターネット:<URL:https://ieeexplore.ieee.org/document/4149173>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
状態処理対象の全ての状態からグローバル状態および単体状態を確定することと、
各前記単体状態を分類して少なくとも1つの局所的な状態集合を取得することと、
各前記局所的な状態集合に対して、各々が1つの前記局所的な状態集合内の単体状態を管理するサブ状態マシンを構築することと、
各前記サブ状態マシンおよび前記グローバル状態に基づいて階層型有限状態マシンを構築することとを含
み、
前記状態処理対象はブルートゥース電話機器を含み、
前記グローバル状態は、ブルートゥースが接続されている状態と、ブルートゥースが接続されていない状態と、連絡先に電話できる状態とを含み、
前記サブ状態マシンは、発信サブ状態マシンと、着信サブ状態マシンと、電話帳同期サブ状態マシンとを含む、
状態マシン処理方法。
【請求項2】
前記状態処理対象の全ての状態からグローバル状態および単体状態を確定することは、
前記状態処理対象の各状態の状態応答関係および状態トリガイベントを順次確定することと、
ターゲット状態にグローバル状態応答関係があることおよび/または前記ターゲット状態とターゲット状態トリガイベントとの間に影響関係が存在することを確定した場合、前記ターゲット状態を前記グローバル状態として確定することと、
前記状態処理対象における前記グローバル状態以外の他の状態を前記単体状態として確定することとを含む、
請求項1に記載の方法。
【請求項3】
各前記単体状態を分類して少なくとも1つの局所的な状態集合を取得することは、
各前記単体状態の状態マッピング機能を確定することと、
前記状態マッピング機能が同じである単体状態を各状態集合に加え、各前記局所的な状態集合を取得することとを含む、請求項1または2に記載の方法。
【請求項4】
前記各前記局所的な状態集合に対してサブ状態マシンを構築することは、
各前記局所的な状態集合に対応するサブ状態マシンIDを確定することと、
各前記サブ状態マシンIDに基づいて各前記局所的な状態集合内の単体状態に対してマッピング関係を確立することと、
各前記サブ状態マシンに含まれる各前記単体状態間の状態応答関係および状態トリガイベントを確定することとを含む、
請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記各前記サブ状態マシンおよび前記グローバル状態に基づいて階層型有限状態マシンを構築することは、
各前記グローバル状態の状態応答関係および状態トリガイベントを確定することと、
各前記グローバル状態の状態応答関係および状態トリガイベントに基づいて前記階層型有限状態マシンを構築することとを含む、
請求項1~4のいずれか1項に記載の方法。
【請求項6】
更新単体状態を確定することと、
前記更新単体状態の状態マッピング機能を確定することと、
前記更新単体状態の状態マッピング機能に基づいて更新サブ状態マシンを確定することと、
前記更新サブ状態マシンに含まれる各前記単体状態間の状態応答関係および状態トリガイベントを更新することとを更に含む、
請求項1~5のいずれか1項に記載の方法。
【請求項7】
状態処理対象の状態トリガイベントを確定することと、
前記状態トリガイベントと、前記状態処理対象の階層型有限状態マシンであって、請求項1~
6のいずれか1項に記載の状態マシン処理方法により構築されている階層型有限状態マシンに基づいて前記状態トリガイベントに応答することと、
前記状態トリガイベントの応答結果に応じて現在の更新状態を確定することとを含む、
状態処理方法。
【請求項8】
前記状態トリガイベントは、ターゲットグローバル影響イベントを含み、
前記状態トリガイベントおよび前記状態処理対象の階層型有限状態マシンに基づいて前記状態トリガイベントに応答することは、
現在のアクティブなサブ状態マシンを確定することと、
前記ターゲットグローバル影響イベントと前記現在のアクティブなサブ状態マシンとの状態応答関係に基づき、状態の更新を行うように前記現在のアクティブなサブ状態マシンに指示することと、
前記現在のアクティブなサブ状態マシンにより、前記現在のアクティブなサブ状態マシンに含まれる各単体状態を一括して更新することとを含む、
請求項
7に記載の方法。
【請求項9】
状態処理対象の全ての状態からグローバル状態および単体状態を確定することに用いられる状態確定モジュールと、
各前記単体状態を分類して少なくとも1つの局所的な状態集合を取得することに用いられる単体状態分類モジュールと、
各前記局所的な状態集合に対して、各々が1つの前記局所的な状態集合内の単体状態を管理するサブ状態マシンを構築することに用いられるサブ状態マシン構築モジュールと、
各前記サブ状態マシンおよび前記グローバル状態に基づいて階層型有限状態マシンを構築することに用いられる階層型有限状態マシン構築モジュールと、を備
え、
前記状態処理対象はブルートゥース電話機器を含み、
前記グローバル状態は、ブルートゥースが接続されている状態と、ブルートゥースが接続されていない状態と、連絡先に電話できる状態とを含み、
前記サブ状態マシンは、発信サブ状態マシンと、着信サブ状態マシンと、電話帳同期サブ状態マシンとを含む、
状態マシン処理装置。
【請求項10】
前記状態確定モジュールは、具体的に、
前記状態処理対象の各状態の状態応答関係および状態トリガイベントを順次確定することと、
ターゲット状態にグローバル状態応答関係があることおよび/または前記ターゲット状態とターゲット状態トリガイベントとの間に影響関係が存在することを確定した場合、前記ターゲット状態を前記グローバル状態として確定することと、
前記状態処理対象における前記グローバル状態以外の他の状態を前記単体状態として確定することとに用いられる、
請求項
9に記載の装置。
【請求項11】
前記単体状態分類モジュールは、具体的に、
各前記単体状態の状態マッピング機能を確定することと、
前記状態マッピング機能が同じである単体状態を各状態集合に加え、各前記局所的な状態集合を取得することとに用いられる、
請求項
9または1
0に記載の装置。
【請求項12】
前記サブ状態マシン構築モジュールは、具体的に、
各前記局所的な状態集合に対応するサブ状態マシンIDを確定することと、
各前記サブ状態マシンIDに基づいて各前記局所的な状態集合内の単体状態に対してマッピング関係を確立することと、
各前記サブ状態マシンに含まれる各前記単体状態間の状態応答関係および状態トリガイベントを確定することとに用いられる、
請求項
9~1
1のいずれか1項に記載の装置。
【請求項13】
前記階層型有限状態マシン構築モジュールは、具体的に、
各前記グローバル状態の状態応答関係および状態トリガイベントを確定することと、
各前記グローバル状態の状態応答関係および状態トリガイベントに基づいて前記階層型有限状態マシンを構築することとに用いられる、
請求項
9~1
2のいずれか1項に記載の装置。
【請求項14】
更新単体状態を確定することに用いられる更新単体状態確定モジュールと、
前記更新単体状態の状態マッピング機能を確定することに用いられる状態マッピング機能確定モジュールと、
前記更新単体状態の状態マッピング機能に基づいて更新サブ状態マシンを確定することに用いられる更新サブ状態マシン確定モジュールと、
前記更新サブ状態マシンに含まれる各前記単体状態間の状態応答関係および状態トリガイベントを更新することに用いられる関係イベント更新モジュールとを更に備える、
請求項
9~1
3のいずれか1項に記載の装置。
【請求項15】
状態処理対象の状態トリガイベントを確定することに用いられる状態トリガイベント確定モジュールと、
前記状態トリガイベントと、前記状態処理対象の階層型有限状態マシンであって、請求項1~
6のいずれか1項に記載の状態マシン処理方法により構築されている階層型有限状態マシンに基づいて前記状態トリガイベントに応答することに用いられる状態トリガイベント応答モジュールと、
前記状態トリガイベントの応答結果に応じて現在の更新状態を確定することに用いられる現在更新状態確定モジュールと、を備える、
状態処理装置。
【請求項16】
前記状態トリガイベントは、ターゲットグローバル影響イベントを含み、
前記状態トリガイベント応答モジュールは、具体的に、
現在のアクティブなサブ状態マシンを確定することと、
前記ターゲットグローバル影響イベントと前記現在のアクティブなサブ状態マシンとの状態応答関係に基づき、状態の更新を行うように前記現在のアクティブなサブ状態マシンに指示することと、
前記現在のアクティブなサブ状態マシンにより、前記現在のアクティブなサブ状態マシンに含まれる各単体状態を一括して更新することとに用いられる、
請求項1
5に記載の装置。
【請求項17】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信接続されているメモリと、を備え、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令は、前記少なくとも1つのプロセッサが請求項1~
6のいずれか1項に記載の状態マシン処理方法または請求項
7~
8のいずれか1項に記載の状態処理方法を実行可能であるように、前記少なくとも1つのプロセッサにより実行される、
電子機器。
【請求項18】
コンピュータ命令が記憶された非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ命令は、請求項1~
6のいずれか1項に記載の状態マシン処理方法または請求項
7~
8のいずれか1項に記載の状態処理方法をコンピュータに実行させることに用いられる、
非一時的なコンピュータ可読記憶媒体。
【請求項19】
プロセッサにより実行されると、請求項1~
6のいずれか1項に記載の状態マシン処理方法または請求項
7~
8のいずれか1項に記載の状態処理方法を実現する、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータ技術、IoV等の人工知能分野に関する。
【背景技術】
【0002】
状態マシンは、コンピュータ分野で非常に広く適用され、多くのシステムは状態マシンを使用する。状態マシンは、1グループのノード(状態)と1グループの対応する伝達関数とで構成され、複数の状態および状態間の遷移を定義している。定義された複数の状態内に、少なくとも1つの初期状態および少なくとも1つの最終状態が存在し、状態マシンは、初期状態から運転を始め、最終状態に遷移すると、運転を停止する。トリガイベントを受信すると、状態マシンは、それぞれの状態解析モジュールを用いてその現在の状態を解析し、状態マシンは、それぞれの制御モジュールを用いて受信したトリガイベントおよび現在の状態に基づき、対応する状態ノード間の遷移を制御し、状態マシンの次の状態への遷移を実現する。これにより分かるように、どのように異なる状態に対して合理的な状態マシンを定義して設計するかは、状態の管理性能にとって極めて重要である。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本開示の実施例は、状態マシンおよび各状態の複雑度を低減し、状態マシンの開発およびメンテナンスのコストを削減し、状態マシンによる状態の管理制御の柔軟性を向上させることができる状態マシン処理、状態処理方法、装置、電子機器および記憶媒体を提供する。
【課題を解決するための手段】
【0004】
第1の態様において、本開示の実施例は、
状態処理対象の全ての状態からグローバル状態および単体状態を確定することと、
各前記単体状態を分類して少なくとも1つの局所的な状態集合を取得することと、
各前記局所的な状態集合に対して、各々が1つの前記局所的な状態集合内の単体状態を管理するサブ状態マシンを構築することと、
各前記サブ状態マシンおよび前記グローバル状態に基づいて階層型有限状態マシンを構築することとを含む、
状態マシン処理方法を提供する。
【0005】
第2の態様において、本開示の実施例は、
状態処理対象の状態トリガイベントを確定することと、
前記状態トリガイベントと、前記状態処理対象の階層型有限状態マシンであって、第1の態様に記載の状態マシン処理方法により構築されている階層型有限状態マシンに基づいて前記状態トリガイベントに応答することと、
前記状態トリガイベントの応答結果に応じて現在の更新状態を確定することとを含む、
状態処理方法を提供する。
【0006】
第3の態様において、本開示の実施例は、
状態処理対象の全ての状態からグローバル状態および単体状態を確定することに用いられる状態確定モジュールと、
各前記単体状態を分類して少なくとも1つの局所的な状態集合を取得することに用いられる単体状態分類モジュールと、
各前記局所的な状態集合に対して、各々が1つの前記局所的な状態集合内の単体状態を管理するサブ状態マシンを構築することに用いられるサブ状態マシン構築モジュールと、
各前記サブ状態マシンおよび前記グローバル状態に基づいて階層型有限状態マシンを構築することに用いられる階層型有限状態マシン構築モジュールと、を備える、
状態マシン処理装置を提供する。
【0007】
第4の態様において、本開示の実施例は、
状態処理対象の状態トリガイベントを確定することに用いられる状態トリガイベント確定モジュールと、
前記状態トリガイベントおよび前記状態処理対象の階層型有限状態マシンであって、いずれかの実施例に係る状態マシン処理方法により構築された階層型有限状態マシンに基づいて前記状態トリガイベントに応答することに用いられる状態トリガイベント応答モジュールと、
前記状態トリガイベントの応答結果に応じて現在の更新状態を確定することに用いられる現在更新状態確定モジュールと、を備える、
状態処理装置を提供する。
【0008】
第5の態様において、本開示の実施例は、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信接続されているメモリと、を備え、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令は、前記少なくとも1つのプロセッサが第1の態様の実施例に係る状態マシン処理方法または第2の態様の実施例に係る状態処理方法を実行可能であるように、前記少なくとも1つのプロセッサにより実行される電子機器を提供する。
【0009】
第6の態様において、本開示の実施例は、コンピュータ命令が記憶された非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ命令は、第1の態様の実施例に係る状態マシン処理方法または第2の態様の実施例に係る状態処理方法を前記コンピュータに実行させることに用いられるコンピュータ可読記憶媒体を更に提供する。
【0010】
第7の態様において、本開示の実施例は、コンピュータプログラムを含むコンピュータプログラム製品であって、前記コンピュータプログラムがプロセッサにより実行されるとき、第1の態様の実施例に係る状態マシン処理方法または第2の態様の実施例に係る状態処理方法を実現するコンピュータプログラム製品を更に提供する。
【発明の効果】
【0011】
本開示の実施例は、状態処理対象の全ての状態からグローバル状態および単体状態を確定することにより、各単体状態を分類して少なくとも1つの局所的な状態集合を取得し、且つ、各局所的な状態集合に対して局所的な状態集合内の単体状態を管理できるサブ状態マシンを構築し、各サブ状態マシンおよびグローバル状態に基づいて階層型有限状態マシンを構築する。階層型有限状態マシンの構築が完了した後、状態処理対象の状態トリガイベントを確定した場合、状態トリガイベントおよび状態処理対象の階層型有限状態マシンに基づいて状態トリガイベントに応答し、状態トリガイベントの応答結果に応じて現在の更新状態を確定することができ、従来の状態管理方法に存在する状態マシンおよび各状態の複雑度が高く、状態マシンの開発およびメンテナンスのコストが高く、状態の管理制御の柔軟性が悪い等の問題を解決し、状態マシンおよび各状態の複雑度を低減し、状態マシンの開発およびメンテナンスのコストを削減し、状態マシンによる状態の管理制御の柔軟性を向上させる。
【0012】
本開示に記載された内容は、本開示の実施例のキーとなるまたは重要な特徴を標識するためのものではなく、本開示の範囲を限定するものでもないことが理解されるべきである。本開示の他の特徴は、以下の明細書により容易に理解することができる。
【図面の簡単な説明】
【0013】
図面は本形態をより良く理解するためのものであり、本開示を限定するものではない。
【0014】
【
図1】従来技術におけるブルートゥース電話の有限状態マシンが一部の状態を管理する効果の模式図である。
【
図2】本開示の実施例に係る状態マシン処理方法のフローチャートである。
【
図3】本開示の実施例に係る状態マシン処理方法のフローチャートである。
【
図4】本開示の実施例に係るブルートゥース電話機器の階層型有限状態マシンの構造模式図である。
【
図5】本開示の実施例に係る状態処理方法のフローチャートである。
【
図6】本開示の実施例に係る状態マシン処理方法のフローチャートである。
【
図7】本開示の実施例に係る状態マシン処理装置の構造図である。
【
図8】本開示の実施例に係る状態マシン処理装置の構造図である。
【
図9】本開示の実施例の状態マシン処理方法または状態処理方法を実現するための電子機器の構造模式図である。
【発明を実施するための形態】
【0015】
以下、図面を参照しながら本開示の例示的な実施例について説明する。ここで、理解の便宜上、本開示の実施例に係る様々な細かい内容まで含まれているが、例示的なものに過ぎないと理解すべきである。従って、当業者であれば理解するであろうが、本開示の範囲および主旨から逸脱しない限り、ここで説明する実施例に対して様々な変更や修正を行うことができる。同様に、以下の説明において、公知されている機能および構造の説明は、明確且つ簡潔にするために省略している。
【0016】
従来技術において、異なる状態定義に対し、異なる状態マシン制御方法をそれぞれ設計する必要があるが、全ての状態制御がほぼ1つの大きくて完全な状態マシンで管理されるため、最終的な状態マシンが呈する状態変化は極めて複雑となる。このような状態マシンの処理方式には、グローバル影響イベント(全ての状態に影響可能なイベント)がトリガされると、いずれも現在の状態からグローバル影響イベントに対応する状態に切り替えるリセット操作を実行する必要があるという1つの明らかな欠陥が存在する。これにより分かるように、統一的な状態マシンで全ての状態を管理することは、状態および状態マシンの複雑度を高めるだけでなく、更に状態マシンの管理およびメンテナンスのコストを大きく増加させ、状態マシンのロジックにバグが発生した可能性を増加する。且つ、状態マシンの定義が変動する(例えば、1つの状態が追加または減少される等)と、状態マシンの制御プログラムコードは大幅に変更され、これは同様に、状態マシンのアプリケーションシステムに基づく開発の難易度および開発のコストを大きく増加する。
【0017】
図1は、従来技術におけるブルートゥース電話の有限状態マシンが一部の状態を管理する効果の模式図である。
図1に示すように、ブルートゥース電話の管理システムを例として説明し、
図1における矩形枠は、各状態を表し、線は、状態間の応答関係および具体的な状態トリガイベントを表す。従来のブルートゥース電話の管理システムは、いずれも1つの大きくて完全な状態マシンを用いて全ての状態を管理し、最終的な状態マシンが呈する状態変化は極めて複雑となり、例えば、ブルートゥース電話の現在の状態が連絡先に同期する状態である場合、連絡先に電話をかける状態を同時に処理することができない。ブルートゥース電話にとって、ブルートゥース接続が切断されたイベントは、グローバル影響イベントである。ブルートゥース電話の全ての状態は、ブルートゥース接続が切断されたイベントを受信すると、ブルートゥースが接続されていない状態に切り替えて自体の前の状態へのリセット操作を行う必要がある。
図1から、従来の状態マシンの複雑度が高いことが分かる。明らかに、各状態でいずれも「ブルートゥースを切断する」イベントを受信する可能性があるため、ほとんど各状態でいずれも該イベントを処理する必要があることを意味する。それと同時に、
図1に示す状態マシンを実現するために、高いコード冗長性も必要となり、その原因は、同じイベントにより大量の状態についてのチェックアウトが行われ、例えば、「着信拒否」、「通話終了」等の状態がいずれも「カウントダウン終了」イベントにより検出され、同様に、同じイベントにより大量の状態についてのチェックインが行われ、例えば、「ブルートゥースが接続されていない」状態のいずれにも「ブルートゥースを切断する」ことによりチェックインが行われるためである。しかし、これらの同じ操作間では統一的な処理が行われていないため、大量のコード冗長が存在し、状態マシンの複雑度を更に増加する。状態マシンが複雑で冗長すぎるため、状態マシンによる状態の管理調整の柔軟性が悪くなるとともに、状態マシンの開発およびメンテナンスのコストも高くなる。
【0018】
一例において、
図2は、本開示の実施例に係る状態マシン処理方法のフローチャートであり、本実施例は、階層型有限状態マシンを構築して状態を効率的に管理する場合に適用され、該方法は、状態マシン処理装置により実行でき、該装置は、ソフトウェアおよび/またはハードウェアの方式で実現でき、且つ電子機器に集積できる。それに対応し、
図2に示すように、該方法は、以下のような操作を含む。
【0019】
S110において、状態処理対象の全ての状態からグローバル状態および単体状態を確定する。
【0020】
ここで、状態処理対象は、状態マシンを用いてシステムの各状態を処理する対象であってもよいし、ブルートゥース機能を持つ端末機器等のような具体的な電子機器であってもよいし、複数レベルの状態管理属性を持つビジネスプロセス等のような仮想的なシステム対象であってもよい。複数種の状態変換を備える対象であれば、いずれも状態処理対象とすることができ、本開示の実施例は、状態処理対象の具体的なタイプを限定しない。グローバル状態は、グローバル影響イベントによってトリガされる状態であってもよく、グローバル影響イベントは、全ての状態に影響を及ぼすイベントであってもよく、例えば、ブルートゥース機器におけるブルートゥースを切断するイベント等であってもよく、それに対応し、グローバル状態は、ブルートゥースが接続されていない状態であってもよい。単体状態は、非グローバル影響イベントによってトリガされる状態であってもよく、非グローバル影響イベントは、ある状態のみに影響を及ぼすイベントであってもよく、例えば、ブルートゥース電話の通話中の状態等であってもよい。グローバル状態および単体状態は、状態処理対象の具体的なタイプに基づいて確定する必要があり、本開示の実施例は、グローバル状態および単体状態の具体的な状態タイプを限定しない。
【0021】
本開示の実施例において、状態マシンを構築する前に、まず、状態処理対象のタイプおよび機能を分析し、状態処理対象の全ての状態からグローバル状態および単体状態という2種の異なる状態タイプを確定することができる。グローバル状態および単体状態に対応する状態トリガイベントのタイプが異なるため、各状態に対応する状態トリガイベントに基づいて全ての状態を分類し、状態処理対象のグローバル状態および単体状態を取得することができる。
【0022】
S120において、各前記単体状態を分類して少なくとも1つの局所的な状態集合を取得する。
【0023】
ここで、局所的な状態集合は、少なくとも1つの単体状態を含む集合であってもよい。
【0024】
それに対応し、状態処理対象の全ての状態の分類が完了した後、更に単体状態間の関連性に基づいて状態処理対象の各単体状態を分析して分類処理し、各単体状態を対応する局所的な状態集合に分けることができる。好ましくは、状態処理対象が電子機器である場合、局所的な状態集合のそれぞれは、機器におけるある機能に対応する単体状態を含んでもよい。状態処理対象がビジネスプロセスである場合、局所的な状態集合のそれぞれは、ビジネスプロセスにおけるある段階に対応する単体状態を含んでもよい。
【0025】
例示的には、状態処理対象がブルートゥース電話である場合、発信に関連する状態、例えば、通話中、呼出中および発信キャンセル等のような単体状態を1つの局所的な状態集合に分けることができ、該局所的な状態集合は、発信に関連する全ての状態を含んでもよい。同様に、着信に関連する全ての単体状態も1つの局所的な状態集合に分けることができる。状態処理対象がビジネスプロセスである場合、プロセスの開始ノードに関連する状態、例えば、機器起動、構成初期化等の単体状態を1つの局所的な状態集合に分けることができ、該局所的な状態集合は、全てのプロセスの開始段階に関連する状態を含んでもよい。
【0026】
S130において、各前記局所的な状態集合に対してサブ状態マシンを構築し、ここで、前記サブ状態マシンのそれぞれは、1つの前記局所的な状態集合内の単体状態を管理する。
【0027】
ここで、サブ状態マシンは、局所的な状態集合内の全ての単体状態を管理する状態マシンであってもよい。
【0028】
局所的な状態集合を取得すると、各局所的な状態集合に対して対応するサブ状態マシンをそれぞれ構築することができる。好ましくは、局所的な状態集合のそれぞれは1つのサブ状態マシンに対応することができる。即ち、サブ状態マシンのそれぞれは、ある局所的な状態集合内の単体状態の管理に専念することができるが、他の局所的な状態集合内の単体状態を管理することも、グローバル状態を管理することもできない。
【0029】
例示的には、状態処理対象がブルートゥース電話である場合、ブルートゥース電話の局所的な状態集合Aは、発信に関連する全ての単体状態を含んでもよく、これにより、該局所的な状態集合Aに対して1つのサブ状態マシンAを構築することができる。サブ状態マシンAは、発信に関連する全ての単体状態を管理することに用いられる。
【0030】
S140において、各前記サブ状態マシンおよび前記グローバル状態に基づいて階層型有限状態マシンを構築する。
【0031】
ここで、階層型有限状態マシンは、サブ状態マシンおよびグローバル状態で構築されている状態マシンであってもよい。
【0032】
それに対応し、状態処理対象の各局所的な状態集合に対して対応するサブ状態マシンをそれぞれ構築した場合、全てのグローバル状態と各サブ状態マシンを連立して1つの階層型有限状態マシンを構築することができる。即ち、階層型有限状態マシンは、少なくとも1つのサブ状態マシンおよび少なくとも1つのグローバル状態で構成され得る。階層型有限状態マシンにおいて、最上層の状態マシンにより全てのグローバル状態およびサブ状態マシンの状態を統一的に管理することができ、好ましくは、単体状態は、対応するサブ状態マシンで管理することができる。
【0033】
非グローバル影響イベントの状態トリガイベントに関した後、階層型有限状態マシン内の各状態マシンは、正常な状態処理方式で処理することができることが理解できる。例示的には、ビジネスプロセスを状態処理対象とすることを例として説明し、特定のビジネスのサブタスクから送信された特定の操作段階が完了したメッセージを受信した場合、特定の操作段階が完了したメッセージに基づき、サブ状態マシンにより、変換ターゲットとするサブタスクに対応する単体状態を取得することができる。それと同時に、取得された変換ターゲットとするサブタスクに対応する単体状態に基づき、サブ状態マシンの状態を変更する必要がある。ブルートゥース電話機器を状態処理対象とすることを例として説明し、非グローバル影響イベントの状態トリガイベントを受信した後、状態トリガイベントに対応するターゲット単体状態を確定し、ターゲット単体状態の状態識別ビットをオフ状態からオン状態に切り替え、該ターゲット単体状態が現在のアクティブな状態であることを示し、それと同時に、ターゲット単体状態を管理するサブ状態マシンは、自体の状態識別ビットをオフ状態からオン状態に切り替えることができ、該サブ状態マシンが現在アクティブ状態にあることを示す。更に、グローバル影響イベントの状態トリガイベントを受信すると、最上層の状態マシンにより現在のグローバル状態の基に該状態トリガイベントに応答し、状態変換のターゲットサブ状態マシンを確定し、ターゲットサブ状態マシンをアクティブ化し、該ターゲットサブ状態マシンにより後続の状態処理フローを行うことができる。
【0034】
なお、階層型有限状態マシンが、状態を分類してサブ状態マシンに統合するという状態処理方式を採用するため、各サブ状態マシンは状態の局所的な処理を同期的に行うことができるとともに、グローバル状態と単体状態との間は状態の階層化処理を同期的に行うこともできる。例示的には、ブルートゥース電話機器を状態処理対象とすることを例として説明し、現在の状態は、同時に発信サブ状態マシンにおける通話中の単体状態および電話帳同期サブ状態マシンにおける電話帳同期の単体状態であってもよく、即ち、通話中および電話帳同期という2つの単体状態は並行して処理され得る。同様に、現在の状態は、同時にブルートゥースが接続されているグローバル状態および電話帳同期の単体状態であってもよく、即ち、ブルートゥースが接続されているグローバル状態および電話帳同期の単体状態は並行して処理され得る。これにより見られるように、階層型有限状態マシンを用いて状態を処理することにより、状態変換のロジック制限を回避し、状態処理の柔軟性を向上させることができる。
【0035】
これにより見られるように、階層型有限状態マシンは、状態を分類してサブ状態マシンに統合する方式により、従来技術における状態マシンを統一する集中的な状態管理方式を打ち破り、状態管理機能を階層化してディカップリング処理し、状態に対する分散的、指向的な管理を実現し、状態および状態マシンの複雑度および冗長性を低減し、状態マシンの開発およびメンテナンスのコストを削減することができる。階層型有限状態マシンがサブ状態マシン用いて単体状態をそれぞれ管理することができるため、単体状態は他のサブ状態マシンの影響を受けず、即ち、他の関係がない単体状態の影響を受けず、状態マシンによる状態の管理制御の柔軟性を向上させる。
【0036】
本開示の実施例は、状態処理対象の全ての状態からグローバル状態および単体状態を確定し、各単体状態を分類して少なくとも1つの局所的な状態集合を取得し、各局所的な状態集合に対して局所的な状態集合内の単体状態を管理できるサブ状態マシンを構築することにより、各サブ状態マシンおよびグローバル状態に基づいて階層型有限状態マシンを構築し、階層型有限状態マシンを用いて状態を効率的に管理し、従来の状態管理方法に存在する状態マシンおよび各状態の複雑度が高く、状態マシンの開発およびメンテナンスのコストが高く、状態の管理制御の柔軟性が悪い等の問題を解決し、状態マシンおよび各状態の複雑度を低減し、状態マシンの開発およびメンテナンスのコストを削減し、状態マシンによる状態の管理制御の柔軟性を向上させる。
【0037】
一例において、
図3は、本開示の実施例に係る状態マシン処理方法のフローチャートであり、本開示の実施例は、上記各実施例の技術案の基に最適化して改良し、グローバル状態および単体状態を確定し、各単体状態を分類し、各局所的な状態集合に対してサブ状態マシンおよび階層型有限状態マシンを構築する様々な具体的な好ましい実現形態を与える。
【0038】
図3に示す状態マシン処理方法は、以下のステップを含む。
【0039】
S210において、前記状態処理対象の各状態の状態応答関係および状態トリガイベントを順次確定する。
【0040】
ここで、状態応答関係は、各状態間の応答または切り替えの関係であってもよい。状態トリガイベントは、状態の切り替えに影響可能なイベントであってもよい。
【0041】
本開示の実施例において、状態処理対象に対してグローバル状態および単体状態を区別する前に、状態処理対象の各状態の状態応答関係および状態トリガイベントを順次確定することができる。グローバル状態および他の全ての単体状態間には、いずれも対応する状態応答関係が存在することが理解できる、
【0042】
例示的には、
図1に示すように、ブルートゥース電話機器を例として具体的に説明する。ブルートゥース電話は、現在通話中の単体状態にある場合、ブルートゥースを切断するイベントを受信すると、通話中の単体状態からブルートゥースが接続されていないグローバル状態に切り替える必要がある。それに対応し、通話中の単体状態とブルートゥースが接続されていないグローバル状態との間に状態応答関係がある。同様に、現在通話中の単体状態にある場合、電話が切断されたイベントを受信すると、通話中の単体状態から通話終了の単体状態に切り替える必要がある。それに対応し、通話中の単体状態と通話終了の単体状態との間に同様に状態応答関係がある。各状態のいずれにも対応する状態トリガイベントがあり、例えば、通話中の状態トリガイベントは相手が応答したことであり、ブルートゥースが接続されていない状態トリガイベントはブルートゥースを切断すること等であることが理解できる。
【0043】
S220において、ターゲット状態にグローバル状態応答関係があることおよび/または前記ターゲット状態とターゲット状態トリガイベントとの間に影響関係が存在することを確定した場合、前記ターゲット状態を前記グローバル状態として確定する。
【0044】
ここで、グローバル状態応答関係は、自体以外の他の状態との間にいずれも状態影響関係が存在するものであってもよい。ターゲット状態トリガイベントは、グローバル状態を確定できる状態トリガイベントのタイプ、例えば、グローバル影響イベントであってもよい。
【0045】
それに対応し、あるターゲット状態と他の全ての状態との間にいずれも状態応答関係が存在すると確定し、即ち、該ターゲット状態がグローバル状態応答関係を有すると確定した場合、および/または、該ターゲット状態とターゲット状態トリガイベントとの間に影響関係が存在すると確定した場合、該ターゲット状態がグローバル状態であると確定することができる。
【0046】
例示的には、
図1に示すように、ブルートゥースが接続されているおよびブルートゥースが接続されていないという2つの状態と他の全ての状態との間には、いずれも状態影響関係が直接または間接的に存在し、即ち、ブルートゥースが接続されている状態がグローバル状態影響関係を有する場合、ブルートゥースが接続されている状態をグローバル状態として確定することができる。ブルートゥースを切断するイベントは、ターゲット状態トリガイベントとすることができ、グローバルに影響を及ぼす作用を有することが理解できる。
図1に示すように、ブルートゥースが接続されていない状態と各状態との間にいずれもブルートゥースを切断する影響関係が存在するため、ブルートゥースを切断する状態とブルートゥースが接続されていない状態との間の影響関係に基づいてブルートゥースが接続されていない状態がグローバル状態であることを確定することができる。
【0047】
S230において、前記状態処理対象における前記グローバル状態以外の他の状態を前記単体状態として確定する。
【0048】
それに対応し、グローバル状態を確定した場合、グローバル状態以外にある他の状態を単体状態として確定することができる。
図1に示すように、ブルートゥースが接続されているおよびブルートゥースが接続されていないという2つの状態がグローバル状態として確定されると、発信確認中、呼出中、着信拒否等の状態がいずれも単体状態である。
【0049】
上記形態において、グローバル状態応答関係およびターゲット状態トリガイベントに基づき、グローバル状態の状態タイプを迅速に確定し、グローバル状態および単体状態分類の効率性を向上させることができる。
【0050】
S240において、各前記単体状態の状態マッピング機能を確定する。
【0051】
ここで、状態マッピング機能は、単体状態に対応して実現される機能であってもよい。
【0052】
S250において、前記状態マッピング機能が同じである単体状態を各状態集合に加え、各前記局所的な状態集合を取得する。
【0053】
具体的には、各単体状態の状態マッピング機能に基づいて各単体状態を分類して対応する局所的な状態集合を取得することができる。
【0054】
例示的には、
図1に示すように、ブルートゥース電話の場合、発信確認中、呼出中、通話中および通話終了の状態に対応する状態マッピング機能がいずれも発信機能であるため、発信確認中、呼出中、通話中および通話終了等の単体状態を状態集合内に加え、発信機能に対応する局所的な状態集合を取得することができる。同様に、着信鳴動中、通話中、着信拒否、通話終了の状態に対応する状態マッピング機能がいずれも着信機能であるため、着信鳴動中、通話中、着信拒否、通話終了等の単体状態を状態集合内に加え、着信機能に対応する別の局所的な状態集合を取得することができる。同様に、電話帳に同期している状態、電話帳が空きである状態、電話帳の同期が失敗した状態、および電話帳の同期が成功した状態に対応する状態マッピング機能がいずれも電話帳同期機能であるため、電話帳に同期している状態、電話帳が空きである状態、電話帳の同期が失敗した状態、および電話帳の同期が成功した状態等の単体状態を状態集合内に加え、電話帳同期機能に対応する別の局所的な状態集合を取得することができる。
【0055】
上記技術案において、各単体状態の状態マッピング機能に基づいて局所的な状態集合を分けることにより、状態管理機能のディカップリングを実現することができる。
【0056】
S260において、各前記局所的な状態集合に対応するサブ状態マシンIDを確定する。
【0057】
ここで、サブ状態マシンIDは、サブ状態マシンを一意に識別することに使用できる。
【0058】
S270において、各前記サブ状態マシンIDに基づいて各前記局所的な状態集合内の単体状態に対してマッピング関係を確立する。
【0059】
それに対応し、各局所的な状態集合を取得した後、局所的な状態集合の数に基づいて各局所的な状態集合に対応するサブ状態マシンIDを確定し、各サブ状態マシンIDに基づいて各局所的な状態集合内の単体状態に対してマッピング関係を確立し、複数のサブ状態マシンを構築することができる。
【0060】
上記例を例として説明し続け、ブルートゥース電話は、発信機能に対応する局所的な状態集合、着信機能に対応する局所的な状態集合、および電話帳同期機能に対応する局所的な状態集合という3つの局所的な状態集合を含んでもよい。従い、ブルートゥース電話に対して、発信サブ状態マシン、着信サブ状態マシン、および電話帳同期サブ状態マシンという3つのサブ状態マシンIDを設けることができる。更に、発信サブ状態マシンIDと発信機能に対応する局所的な状態集合との間のマッピング関係を確立し、発信サブ状態マシンを取得し、着信サブ状態マシンIDと着信機能に対応する局所的な状態集合との間のマッピング関係を確立し、着信サブ状態マシンを取得し、電話帳同期サブ状態マシンIDと電話帳同期機能に対応する局所的な状態集合との間のマッピング関係を確立し、電話帳同期サブ状態マシンを取得することができる。
【0061】
S280において、各前記サブ状態マシンに含まれる各前記単体状態間の状態応答関係および状態トリガイベントを確定する。
【0062】
サブ状態マシンの管理機能を改善させるために、各局所的な状態集合と各サブ状態マシンIDとの間のマッピング関係を確立した後、各サブ状態マシンに含まれる各単体状態間の状態応答関係および状態トリガイベントを更に確定することができ、これにより、サブ状態マシンの構築は完了した。
【0063】
例示的には、発信サブ状態マシンを例として説明し続ける。発信確認中の単体状態と呼出中の単体状態との間に状態応答関係を設定するとともに、発信確認中の単体状態から呼出中の単体状態に切り替える状態トリガイベントを発信確認イベントとする。呼出中の単体状態と通話中の単体状態との間に状態応答関係を設定するとともに、呼出中の単体状態から通話中の単体状態に切り替える状態トリガイベントを相手着信イベントとする。通話中の単体状態と通話終了の単体状態との間に状態応答関係を設定するとともに、通話中の単体状態から通話終了の単体状態に切り替える状態トリガイベントを電話切断イベントとする。
【0064】
上記技術案は、分類が完了した局所的な状態集合を用いてサブ状態マシンを構築することにより、サブ状態マシンの構築効率および品質を向上させ、ロジックのバグ問題の発生を回避することができる。
【0065】
S290において、各前記グローバル状態の状態応答関係および状態トリガイベントを確定する。
【0066】
S2A0において、各前記グローバル状態の状態応答関係および状態トリガイベントに基づいて前記階層型有限状態マシンを構築する。
【0067】
グローバル状態と全ての状態との間にいずれも対応する状態応答関係が存在することを考慮するため、グローバル状態に対してサブ状態マシンを個別に設ける必要がなく、最上層の状態マシンにより全てのグローバル状態を統一的に管理することができる。ここで、最上層の状態マシンは、階層型有限状態マシン内のグローバル管理権限を持つ状態マシンであってもよいため、各サブ状態マシンの状態を管理することもできる。好ましくは、最上層の状態マシンにより各グローバル状態と各サブ状態マシンとの間の状態応答関係および状態トリガイベントを確定し、グローバル状態および各サブ状態マシンを統一的に管理制御することができる。それに対応し、最上層の状態マシン、グローバル状態および各サブ状態マシンは、1つの完成した階層型有限状態マシンを構成することができる。
【0068】
例示的には、上記ブルートゥース電話を例として説明し続ける。上記例で分析されたブルートゥース電話のグローバル状態は、ブルートゥースが接続されている状態およびブルートゥースが接続されていない状態を含んでもよい。それと同時に、ブルートゥース電話の機能により分かるように、連絡先に電話できる状態はグローバル状態であってもよい。従い、ブルートゥース電話のグローバル状態は、ブルートゥースが接続されている状態、ブルートゥースが接続されていない状態、および連絡先に電話できる状態を含んでもよい。ブルートゥース電話のグローバル状態および各サブ状態マシンを確定した後、各グローバル状態の状態応答関係および状態トリガイベントをそれぞれ確定し、更に各グローバル状態の状態応答関係および状態トリガイベントに基づいて前記階層型有限状態マシンを構築することができる。例えば、ブルートゥースが接続されている状態と発信サブ状態マシンとの間に相互の状態応答関係が存在し、現在の状態がブルートゥースが接続されている状態である場合、ダイヤルする状態トリガイベントが発生すると、ブルートゥースが接続されている状態から発信サブ状態マシンにおけるある単体状態(発信確認中-呼出中-通話中等)に切り替えることができ、電子状態マシンで通話終了が現在の状態でカウントダウン終了イベントが発生すると、通話終了状態から戻ってブルートゥースが接続されている状態に切り替えることができる。同様に、他のグローバル状態間は、状態応答関係および対応する状態トリガイベントをそれぞれ確定してもよいし、各グローバル状態と各サブ状態マシンとの間は、状態応答関係および対応する状態トリガイベントをそれぞれ確定してもよい。
【0069】
なお、各グローバル状態の状態応答関係および状態トリガイベントに基づいて階層型有限状態マシンを構築するとき、サブ状態マシンごとに異なる状態トリガイベントに対する処理方式をそれぞれ確定することができる。例示的には、グローバル影響イベントに対し、サブ状態マシンは一括処理モードを設定することができる。ブルートゥース電話を例として説明し、ブルートゥース切断イベントが発生したとき、前の状態が発信サブ状態マシンにおける通話中状態である場合、最上層の状態マシンが、ブルートゥース切断イベントに応答するように発信サブ状態マシンに指示することができる。それに対応し、発信サブ状態マシンは、管理する全ての単体状態に対して一括して状態リセット操作を統一的に行い、状態処理方式を簡略化することができる。それと同時に、状態マシンを開発またはメンテナンスする必要がある場合、全ての状態を修正する必要がなく、対応するサブ状態マシンに位置決めて局所的な開発またはメンテナンスを行えばよく、状態マシンの開発およびメンテナンスのコストを削減する。
【0070】
本開示の1つの好ましい実施例において、状態マシン処理方法は、更新単体状態を確定することと、前記更新単体状態の状態マッピング機能を確定することと、前記更新単体状態の状態マッピング機能に基づいて更新サブ状態マシンを確定することと、前記更新サブ状態マシンに含まれる各前記単体状態間の状態応答関係および状態トリガイベントを更新することとを更に含んでもよい。
【0071】
ここで、更新単体状態は、更新処理が必要となる単体状態であってもよく、更新サブ状態マシンは、更新処理が必要となるサブ状態マシンであってもよい。好ましくは、更新処理は、追加、削除または修正等の処理方式を含んでもよいが、これらに限定されない。
【0072】
本開示の実施例において、状態処理対象に更新単体状態が現れる場合、既存の通話中の状態を更新したり、1つの現在存在しない単体状態を追加したりする必要がある場合、該更新単体状態の状態マッピング機能を確定することができ、即ち、該更新単体状態に対応する関連機能を確定し、更に、更新単体状態の状態マッピング機能に基づいて更新サブ状態マシンを確定し、更新サブ状態マシンに含まれる各単体状態間の状態応答関係および状態トリガイベントを更新する。
【0073】
例示的には、依然として上記ブルートゥース電話を例として説明し続ける。現在のブルートゥース電話に発信キャンセルのイベント応答状態が存在しないと見出した場合、発信キャンセルを更新単体状態として確定することができる。発信キャンセルが発信機能に属するため、発信サブ状態マシンに含まれる全ての単体状態間の状態応答関係および状態トリガイベントを更新するように、発信キャンセルの更新単体状態を発信サブ状態マシンに加えるとともに、発信サブ状態マシンを更新サブ状態マシンとして確定することができることが理解できる。同様に、更新する必要があるグローバル状態が存在する場合、更新するグローバル状態を最上層の状態マシンに加え、最上層の状態マシンに含まれる全ての状態間の状態応答関係および状態トリガイベントを更新することができる。
【0074】
上記技術案において、サブ状態マシンを更新することにより、実際の必要に応じて各サブ状態マシンの管理制御機能を改善し続け、階層型有限状態マシンによる状態の管理制御能力を向上させることができる。
【0075】
図4は、本開示の実施例に係るブルートゥース電話機器の階層型有限状態マシンの構造模式図である。本開示の1つの好ましい実施例において、
図4に示すように、状態処理対象は、IoV技術における車載ブルートゥース電話機器等のようなブルートゥース電話機器を含んでもよく、前記グローバル状態は、ブルートゥースが接続されている状態と、ブルートゥースが接続されていない状態と、連絡先に電話できる状態とを含んでもよく、前記サブ状態マシンは、発信サブ状態マシンと、着信サブ状態マシンと、電話帳同期サブ状態マシンとを含んでもよい。
【0076】
図4に示すように、発信サブ状態マシンは、ブルートゥース電話機器の全ての発信機能に関連する単体状態を管理することができ、着信サブ状態マシンは、ブルートゥース電話機器の全ての着信機能に関連する単体状態を管理することができ、電話帳同期サブ状態マシンは、ブルートゥース電話機器の全ての電話帳同期機能に関連する単体状態を管理することができる。各サブ状態マシンとグローバル状態との間は、具体的な状態トリガイベントに基づいて対応する接続関係を確立し、各グローバル状態と共に階層型有限状態マシンを構成することができる。
【0077】
このように構成する利点として、サブ状態マシンを増加する方式で状態を分類し、同じサブ状態マシン内の状態数を減少できるとともに、異なるサブ状態マシン間の状態変化を規範化する。現在、発信サブ状態マシンにおける発信確認中の単体状態にある場合、ブルートゥース接続切断イベントがトリガされると、リセット操作を行うように発信サブ状態マシンにおける発信確認中の単体状態に通知する必要がなく、発信サブ状態マシンが直ちに外層で全ての単体状態を一括してリセット処理することができ、状態管理の複雑度を低減する。それと同時に、サブ状態マシンにおける全ての状態、いずれも処理する必要がある通常のイベント(例えば、「ブルートゥースを切断する」)を統一的に処理し、大量の重複した操作のロジックを統一し、状態マシンの冗長コード量を減少できるだけでなく、更にサブ状態マシンにおける全ての状態の複雑度を低減することもできる。
【0078】
上記技術案において、状態の状態応答関係および状態トリガイベントを用いて状態を分類することにより、グローバル状態および単体状態を確定し、各単体状態を分類して少なくとも1つの局所的な状態集合を取得し、各局所的な状態集合に対して局所的な状態集合内の単体状態を管理できるサブ状態マシンを構築し、各サブ状態マシンおよびグローバル状態に基づいて階層型有限状態マシンを構築し、階層型有限状態マシンを用いて状態を効率的に管理し、従来の状態管理方法に存在する状態マシンおよび各状態の複雑度が高く、状態マシンの開発およびメンテナンスのコストが高く、状態の管理制御の柔軟性が悪い等の問題を解決し、状態マシンおよび各状態の複雑度を低減し、状態マシンの開発およびメンテナンスのコストを削減し、状態マシンによる状態の管理制御の柔軟性を向上させる。
【0079】
一例において、
図5は、本開示の実施例に係る状態処理方法のフローチャートであり、本実施例は、階層型有限状態マシンを用いて状態を効率的に管理する場合に適用でき、該方法は状態処理装置で実行でき、該装置は、ソフトウェアおよび/またはハードウェアの方式で実現でき、一般的に、電子機器に集積できる。それに対応し、
図5に示すように、該方法は、以下のような操作を含む。
【0080】
S310において、状態処理対象の状態トリガイベントを確定する。
【0081】
状態処理対象は、内部状態の切り替え処理を行うために、状態トリガイベントを受信する必要があることが理解できる。従い、状態処理対象は、階層型有限状態マシンを用いて状態を処理するとき、まず、状態トリガイベントを確定する。
【0082】
S320において、前記状態トリガイベントおよび前記状態処理対象の階層型有限状態マシンに基づいて前記状態トリガイベントに応答する。
【0083】
ここで、前記階層型有限状態マシンは、上記いずれかの実施例に係る状態マシン処理方法により構築されている。
【0084】
S330において、前記状態トリガイベントの応答結果に応じて現在の更新状態を確定する。
【0085】
ここで、現在の更新状態は、階層型有限状態マシンが状態トリガイベントの応答結果に応じて確定した更新の状態であってもよいし、グローバル状態であってもよいし、単体状態であってもよく、本開示の実施例は、これについて限定しない。
【0086】
それに対応し、状態トリガイベントを確定した後、状態トリガイベントのタイプに基づき、状態処理対象の階層型有限状態マシンを用いて状態トリガイベントに応答し、応答結果に応じて現在の更新状態を確定することができる。
【0087】
例示的には、ビジネスプロセスを状態処理対象とすることを例として説明し、特定のビジネスのサブタスクから送信された特定の操作段階が完了したメッセージを受信した場合、特定の操作段階が完了したメッセージに基づき、サブ状態マシンにより、変換ターゲットとするサブタスクに対応する単体状態を取得することができる。それと同時に、取得された変換ターゲットとするサブタスクに対応する単体状態に基づき、サブ状態マシンの状態を変更する必要がある。ブルートゥース電話機器を状態処理対象とすることを例として説明し、非グローバル影響イベントの状態トリガイベントを受信して該状態トリガイベントの応答が成功したことを確定した後、状態トリガイベントに対応するターゲット単体状態を確定し、ターゲット単体状態の状態識別ビットをオフ状態からオン状態に切り替え、該ターゲット単体状態が現在のアクティブな状態であることを示し、それと同時に、ターゲット単体状態を管理するサブ状態マシンは、自体の状態識別ビットをオフ状態からオン状態に切り替えることができ、該サブ状態マシンが現在アクティブ状態にあることを示す。更に、グローバル影響イベントの状態トリガイベントを受信すると、最上層の状態マシンにより現在のグローバル状態の基に該状態トリガイベントに応答し、状態変換のターゲットサブ状態マシンを確定し、ターゲットサブ状態マシンをアクティブ化し、該ターゲットサブ状態マシンにより後続の状態処理フローを行うことができる。
【0088】
本開示の実施例は、状態処理対象の全ての状態からグローバル状態および単体状態を確定し、各単体状態を分類して少なくとも1つの局所的な状態集合を取得し、各局所的な状態集合に対して局所的な状態集合内の単体状態を管理できるサブ状態マシンを構築することにより、各サブ状態マシンおよびグローバル状態に基づいて階層型有限状態マシンを構築する。階層型有限状態マシンの構築が完了した後、状態処理対象の状態トリガイベントを確定した場合、状態トリガイベントおよび状態処理対象の階層型有限状態マシンに基づいて状態トリガイベントに応答し、状態トリガイベントの応答結果に応じて現在の更新状態を確定することができ、従来の状態管理方法に存在する状態マシンおよび各状態の複雑度が高く、状態マシンの開発およびメンテナンスのコストが高く、状態の管理制御の柔軟性が悪い等の問題を解決し、状態マシンおよび各状態の複雑度を低減し、状態マシンの開発およびメンテナンスのコストを削減し、状態マシンによる状態の管理制御の柔軟性を向上させる。
【0089】
一例において、
図6は、本開示の実施例に係る状態マシン処理方法のフローチャートであり、本開示の実施例は、上記各実施例の技術案の基に最適化して改良し、前記状態トリガイベントおよび前記状態処理対象の階層型有限状態マシンに基づいて前記状態トリガイベントに応答する具体的な好ましい実現形態を与える。
【0090】
【0091】
S410において、状態処理対象の状態トリガイベントを確定する。
【0092】
ここで、前記状態トリガイベントは、ターゲットグローバル影響イベントを含む。ターゲットグローバル影響イベントは、サブ状態マシンに含まれる単体状態を一括して更新するようにサブ状態マシンに指示できるグローバル影響イベントであってもよい。
【0093】
S420において、現在のアクティブなサブ状態マシンを確定する。
【0094】
ここで、現在のアクティブなサブ状態マシンは、現在アクティブ状態にあるサブ状態マシンであってもよい。
【0095】
S430において、前記ターゲットグローバル影響イベントと前記現在のアクティブなサブ状態マシンとの状態応答関係に基づき、状態の更新を行うように前記現在のアクティブなサブ状態マシンに指示する。
【0096】
ターゲットグローバル影響イベントは、サブ状態マシンに含まれる単体状態を一括して更新するようにサブ状態マシンに指示することができるため、状態トリガイベントのタイプがターゲットグローバル影響イベントであることを確定した後、ターゲットグローバル影響イベントと現在のアクティブなサブ状態マシンとの間の状態応答関係を確定し、該状態応答関係に基づいて状態更新を行うように現在のアクティブなサブ状態マシンに指示することができる。好ましくは、階層型有限状態マシン内の最上層の状態マシンにより、該状態応答関係に基づいて状態更新を行うように現在のアクティブなサブ状態マシンに指示することができる。
【0097】
S440において、前記現在のアクティブなサブ状態マシンにより、前記現在のアクティブなサブ状態マシンに含まれる各単体状態を一括して更新する。
【0098】
それに対応し、現在のアクティブなサブ状態マシンは、状態更新の指示メッセージを受信した後、それに含まれる全ての単体状態を一括して更新することができる。
【0099】
ブルートゥース電話を例として説明し、発生したターゲットグローバル影響イベントがブルートゥース切断イベントである場合、現在のアクティブなサブ状態マシンが発信サブ状態マシンで、発信サブ状態マシンにおける現在のアクティブな単体状態が通話中の状態であれば、最上層の状態マシンは、ブルートゥース切断イベントに応答するように発信サブ状態マシンに指示することができる。それに対応し、発信サブ状態マシンは、管理する全ての単体状態を一括して状態リセット操作を統一的に行うことができ、例えば、全ての単体状態の状態識別ビットを全てオフ状態に切り替えるように一括して制御することができ、状態処理方式を簡略化し、状態処理効率および確率を向上させる。
【0100】
S450において、階層型有限状態マシンの現在の更新状態を確定する。
【0101】
上記技術案において、ターゲットグローバル影響イベントおよび状態処理対象の階層型有限状態マシンに基づいてターゲットグローバル影響イベントに応答することにより、サブ状態マシンにより単体状態を一括して更新することを実現し、状態処理方式を簡略化し、状態処理効率および確率を向上させることができる。
【0102】
なお、以上の各実施例における各技術特性間の任意の組み合わせも本開示の保護範囲に属する。
【0103】
一例において、
図7は、本開示の実施例に係る状態マシン処理装置の構造図であり、本開示の実施例は、状態を効率的に管理するために階層型有限状態マシンを構築する場合に適用され、該装置は、ソフトウェアおよび/またはハードウェアで実現され、具体的に電子機器に構成される。
【0104】
図7に示す状態マシン処理装置500は、状態確定モジュール510と、単体状態分類モジュール520と、サブ状態マシン構築モジュール530と、階層型有限状態マシン構築モジュール540とを備える。
【0105】
状態確定モジュール510は、状態処理対象の全ての状態からグローバル状態および単体状態を確定することに用いられる。
【0106】
単体状態分類モジュール520は、各前記単体状態を分類して少なくとも1つの局所的な状態集合を取得することに用いられる。
【0107】
サブ状態マシン構築モジュール530は、前記局所的な状態集合に対してサブ状態マシンを構築することに用いられ、前記サブ状態マシンのそれぞれは、1つの前記局所的な状態集合内の単体状態を管理する。
【0108】
階層型有限状態マシン構築モジュール540は、各前記サブ状態マシンおよび前記グローバル状態に基づいて階層型有限状態マシンを構築することに用いられる。
【0109】
本開示の実施例は、状態処理対象の全ての状態からグローバル状態および単体状態を確定し、各単体状態を分類して少なくとも1つの局所的な状態集合を取得し、各局所的な状態集合に対して局所的な状態集合内の単体状態を管理できるサブ状態マシンを構築することにより、各サブ状態マシンおよびグローバル状態に基づいて階層型有限状態マシンを構築し、階層型有限状態マシンを用いて状態を効率的に管理し、従来の状態管理方法に存在する状態マシンおよび各状態の複雑度が高く、状態マシンの開発およびメンテナンスのコストが高く、状態の管理制御の柔軟性が悪い等の問題を解決し、状態マシンおよび各状態の複雑度を低減し、状態マシンの開発およびメンテナンスのコストを削減し、状態マシンによる状態の管理制御の柔軟性を向上させる。
【0110】
好ましくは、状態確定モジュール510は、具体的に、前記状態処理対象の各状態の状態応答関係および状態トリガイベントを順次確定することと、ターゲット状態にグローバル状態応答関係があることおよび/または前記ターゲット状態とターゲット状態トリガイベントとの間に影響関係が存在することを確定した場合、前記ターゲット状態を前記グローバル状態として確定することと、前記状態処理対象における前記グローバル状態以外の他の状態を前記単体状態として確定することとに用いられる。
【0111】
好ましくは、単体状態分類モジュール520は、具体的に、各前記単体状態の状態マッピング機能を確定することと、前記状態マッピング機能が同じである単体状態を各状態集合に加え、各前記局所的な状態集合を取得することとに用いられる。
【0112】
好ましくは、サブ状態マシン構築モジュール530は、具体的に、各前記局所的な状態集合に対応するサブ状態マシンIDを確定することと、各前記サブ状態マシンIDに基づいて各前記局所的な状態集合内の単体状態に対してマッピング関係を確立することと、各前記サブ状態マシンに含まれる各前記単体状態間の状態応答関係および状態トリガイベントを確定することとに用いられる。
【0113】
好ましくは、階層型有限状態マシン構築モジュール540は、具体的に、各前記グローバル状態の状態応答関係および状態トリガイベントを確定することと、各前記グローバル状態の状態応答関係および状態トリガイベントに基づいて前記階層型有限状態マシンを構築することとに用いられる。
【0114】
好ましくは、状態マシン処理装置は、更新単体状態を確定することに用いられる更新単体状態確定モジュールと、前記更新単体状態の状態マッピング機能を確定することに用いられる状態マッピング機能確定モジュールと、前記更新単体状態の状態マッピング機能に基づいて更新サブ状態マシンを確定することに用いられる更新サブ状態マシン確定モジュールと、前記更新サブ状態マシンに含まれる各前記単体状態間の状態応答関係および状態トリガイベントを更新することに用いられる関係イベント更新モジュールとを更に備える。
【0115】
好ましくは、前記状態処理対象はブルートゥース電話機器を含み、前記グローバル状態は、ブルートゥースが接続されている状態と、ブルートゥースが接続されていない状態と、連絡先に電話できる状態とを含み、前記サブ状態マシンは、発信サブ状態マシンと、着信サブ状態マシンと、電話帳同期サブ状態マシンとを含む。
【0116】
上記状態マシン処理装置は、本開示のいずれかの実施例に係る状態マシン処理方法を実行でき、方法の実行に対応する機能モジュールおよび有益な効果を備える。本実施例で詳しく説明されていない技術詳細は、本開示のいずれかの実施例に係る状態マシン処理方法を参照することができる。
【0117】
上記状態マシン処理装置が本開示の実施例における状態マシン処理方法を実行可能な装置であるため、本開示の実施例に係る状態マシン処理方法に基づき、当業者は、本実施例の状態マシン処理装置の具体的な実施形態および様々な変形を知ることができ、従い、ここでは、該状態マシン処理装置が本開示の実施例における状態マシン処理方法をどのように実現するかについて詳細に説明しない。当業者が本開示の実施例における状態マシン処理方法を実施するために使用する装置であれば、いずれも本開示の保護しようとする範囲内に属する。
【0118】
一例において、
図8は、本開示の実施例に係る状態マシン処理装置の構造図であり、本開示の実施例は、階層型有限状態マシンを用いて状態を効率的に管理する場合に適用でき、該装置は、ソフトウェアおよび/またはハードウェアで実現でき、具体的に電子機器に構成される。
【0119】
図8に示す状態処理装置600は、状態トリガイベント確定モジュール610と、状態トリガイベント応答モジュール620と、現在更新状態確定モジュール630とを備える。
【0120】
状態トリガイベント確定モジュール610は、状態処理対象の状態トリガイベントを確定することに用いられる。
【0121】
状態トリガイベント応答モジュール620は、前記状態トリガイベントおよび前記状態処理対象の階層型有限状態マシンに基づいて前記状態トリガイベントに応答することに用いられ、ここで、前記階層型有限状態マシンは、上記いずれかの実施例に係る状態マシン処理方法により構築されている。
【0122】
現在更新状態確定モジュール630は、前記状態トリガイベントの応答結果に応じて現在の更新状態を確定することに用いられる。
【0123】
本開示の実施例は、状態処理対象の全ての状態からグローバル状態および単体状態を確定し、各単体状態を分類して少なくとも1つの局所的な状態集合を取得し、各局所的な状態集合に対して局所的な状態集合内の単体状態を管理できるサブ状態マシンを構築することにより、各サブ状態マシンおよびグローバル状態に基づいて階層型有限状態マシンを構築する。階層型有限状態マシンの構築が完了した後、状態処理対象の状態トリガイベントを確定した場合、状態トリガイベントおよび状態処理対象の階層型有限状態マシンに基づいて状態トリガイベントに応答し、状態トリガイベントの応答結果に応じて現在の更新状態を確定することができ、従来の状態管理方法に存在する状態マシンおよび各状態の複雑度が高く、状態マシンの開発およびメンテナンスのコストが高く、状態の管理制御の柔軟性が悪い等の問題を解決し、状態マシンおよび各状態の複雑度を低減し、状態マシンの開発およびメンテナンスのコストを削減し、状態マシンによる状態の管理制御の柔軟性を向上させる。
【0124】
好ましくは、前記状態トリガイベントは、ターゲットグローバル影響イベントを含み、状態トリガイベント応答モジュール620は、具体的に、現在のアクティブなサブ状態マシンを確定することと、前記ターゲットグローバル影響イベントと前記現在のアクティブなサブ状態マシンとの状態応答関係に基づき、状態の更新を行うように前記現在のアクティブなサブ状態マシンに指示することと、前記現在のアクティブなサブ状態マシンにより、前記現在のアクティブなサブ状態マシンに含まれる各単体状態を一括して更新することとに用いられる。
【0125】
上記状態処理装置は、本開示のいずれかの実施例に係る状態処理方法を実行でき、方法の実行に対応する機能モジュールおよび有益な効果を備える。本実施例で詳しく説明されていない技術詳細は、本開示のいずれかの実施例に係る状態処理方法を参照することができる。
【0126】
上記状態マシン処理装置が本開示の実施例における状態マシン処理方法を実行可能な装置であるため、本開示の実施例に係る状態マシン処理方法に基づき、当業者は、本実施例の状態マシン処理装置の具体的な実施形態および様々な変形を知ることができ、従い、ここでは、該状態マシン処理装置が本開示の実施例における状態マシン処理方法をどのように実現するかについて詳細に説明しない。当業者が本開示の実施例における状態マシン処理方法を実施するために使用する装置であれば、いずれも本開示の保護しようとする範囲内に属する。
【0127】
一例において、本開示は、電子機器、可読記憶媒体、およびコンピュータプログラム製品を更に提供する。
【0128】
図9は、本開示の実施例を実施するために使用可能な例示的な電子機器700の模式的なブロック図を示す。電子機器は、ラップトップ型コンピュータ、デスクトップ型コンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータのような様々な形式のデジタルコンピュータを表すことを目的とする。電子機器は、携帯端末、携帯電話、スマートフォン、ウェアラブル機器および他の類似する計算装置のような様々な形式の移動装置を表すこともできる。本開示に示されたコンポーネント、それらの接続、関係、およびそれらの機能は例示的なものに過ぎず、本開示に記載および/または要求される本開示の実現を限定するものではない。
【0129】
図9に示すように、機器700は、計算ユニット701を備え、読み出し専用メモリ(ROM)702に記憶されたコンピュータプログラム、または記憶ユニット708からランダムアクセスメモリ(RAM)703にロードされたコンピュータプログラムに基づき、様々な適当な動作および処理を実行することができる。RAM703には、デバイス700の操作に必要な様々なプログラムおよびデータが記憶されてもよい。計算ユニット701、ROM702およびRAM703は、バス704を介して互いに接続されている。入力/出力(I/O)インタフェース705もバス704に接続されている。
【0130】
デバイス700における複数のコンポーネントはI/Oインタフェース705に接続され、キーボード、マウス等のような入力ユニット706と、各種のディスプレイ、スピーカ等のような出力ユニット707と、磁気ディスク、光ディスク等のような記憶ユニット708と、ネットワークカード、モデム、無線通信送受信機等のような通信ユニット709とを備える。通信ユニット709は、機器700がインターネットのようなコンピュータネットワークおよび/または様々な電気通信ネットワークを介して他のデバイスと情報/データを交換することを許容する。
【0131】
計算ユニット701は、処理および計算能力を有する汎用および/または専用の処理アセンブリであってもよい。計算ユニット701のいくつかの例は、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、各種の専用の人工知能(AI)コンピューティングチップ、各種の機械学習モデルアルゴリズムを実行する計算ユニット、デジタルシグナルプロセッサ(DSP)、および任意の適当なプロセッサ、コントローラ、マイクロコントローラ等を含んでもよいが、これらに限定されない。計算ユニット701は、上記様々な方法および処理、例えば、状態マシン処理方法または状態処理方法を実行する。例えば、いくつかの実施例において、状態マシン処理方法または状態処理方法は、コンピュータソフトウェアプログラムとして実現でき、有形的に記憶ユニット708のような機器可読媒体に含まれている。いくつかの実施例において、コンピュータプログラムの一部または全ては、ROM702および/または通信ユニット709を介してデバイス700にロードおよび/またはインストールされ得る。コンピュータプログラムがRAM703にロードされて計算ユニット701により実行されるとき、上記状態マシン処理方法または状態処理方法の1つまたは複数のステップを実行することができる。あるいは、他の実施例において、計算ユニット701は、他の任意の適当な方式(例えば、ファームウェアを介して)により、状態マシン処理方法または状態処理方法を実行するように構成され得る。
【0132】
本開示に記載されたシステムおよび技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準パーツ(ASSP)、システムオンチップのシステム(SOC)、複合プログラマブルロジックデバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせで実現できる。これらの様々な実施形態は以下を含んでもよい。1つまたは複数のコンピュータプログラムに実施され、該1つまたは複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行および/または解釈することができ、該プログラマブルプロセッサは、ストレージシステム、少なくとも1つの入力装置、および少なくとも1つの出力装置からデータおよび命令を受信し、且つデータおよび命令を、該ストレージシステム、該少なくとも1つの入力装置、および該少なくとも1つの出力装置に伝送することができる専用または汎用のプログラマブルプロセッサであってもよい。
【0133】
本開示の方法を実施するためのプログラムコードは、1つまたは複数のプログラミング言語の任意の組み合わせでコードできる。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサまたはコントローラに提供でき、これにより、プログラムコードがプロセッサまたはコントローラにより実行されるとき、フローチャートおよび/またはブロック図で規定された機能/操作が実施される。プログラムコードは、完全に機器で実行されてもよいし、一部が機器で実行されてもよいし、独立したソフトウェアパッケージとして一部が機器で実行されて一部がリモート機器で実行されてもよいし、完全にリモート機器またはサーバで実行されてもよい。
【0134】
本開示の明細書において、機器可読媒体は、命令実行システム、装置またはデバイスに使用される、または命令実行システム、装置またはデバイスと合わせて使用されるプログラムを含有または記憶できる有形的な媒体であってもよい。機器可読媒体は、機器可読信号媒体または機器可読記憶媒体であってもよい。機器可読媒体は、電気的、磁気的、光学的、電磁気的、赤外線的、または半導体システム、装置またはデバイス、または上記内容の任意の適当な組み合わせを含んでもよいが、これらに限定されない。機器可読記憶媒体の更なる具体的な例は、1つまたは複数の線による電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み出し専用ディスク(CD-ROM)、光記憶デバイス、磁気記憶デバイス、または上記内容の任意の適当な組み合わせを含む。
【0135】
ユーザとのインタラクションを提供するために、ここで説明するシステムおよび技術をコンピュータで実施することができ、該コンピュータは、ユーザに情報を表示するための表示装置(例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)と、ユーザがそれにより入力をコンピュータに提供することができるキーボードおよび指向装置(例えば、マウスまたはトラックボール)とを有する。他の種類の装置は、更にユーザとのインタラクションを提供するために使用できる。例えば、ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であってもよく、且つ、任意の形式(音入力、音声入力または、触覚入力を含む)でユーザからの入力を受信することができる。
【0136】
ここで説明するシステムおよび技術を、バックグラウンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとする)、または中間コンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)、またはフロントエンドコンポーネントを含むコンピューティングシステム(例えば、ユーザがそれによりここで説明するシステムおよび技術の実施形態とインタラクションできるグラフィカルユーザインタフェースまたはネットワークブラウザを有するユーザコンピュータ)、またはこのようなバックグラウンドコンポーネント、中間コンポーネント、またはフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムに実施することができる。任意の形式または媒体のデジタルデータ通信(例えば、通信ネットワーク)により、システムのコンポーネントを互いに接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ブロックチェーンネットワーク、およびインターネットを含む。
【0137】
コンピューティングシステムはクライアントおよびサーバを含んでもよい。クライアントとサーバとは、一般的に互いに離れ、且つ、通常、通信ネットワークを介してインタラクションを行う。対応するコンピュータで実行されて互いにクライアント-サーバ関係を持つコンピュータプログラムにより、クライアントとサーバとの関係を生成する。サーバはクラウドサーバであってもよく、クラウドコンピューティングサーバまたはクラウドホストとも呼ばれ、クラウドコンピューティングサービス体系における1つのホスト製品であり、従来の物理ホストおよびVPSサービスに存在する管理しにくく、トラフィックの拡張性が弱いという欠陥を解決するために使用される。
【0138】
本開示の実施例は、状態処理対象の全ての状態からグローバル状態および単体状態を確定し、各単体状態を分類して少なくとも1つの局所的な状態集合を取得し、各局所的な状態集合に対して局所的な状態集合内の単体状態を管理できるサブ状態マシンを構築することにより、各サブ状態マシンおよびグローバル状態に基づいて階層型有限状態マシンを構築する。階層型有限状態マシンの構築が完了した後、状態処理対象の状態トリガイベントを確定した場合、状態トリガイベントおよび状態処理対象の階層型有限状態マシンに基づいて状態トリガイベントに応答し、状態トリガイベントの応答結果に応じて現在の更新状態を確定することができ、従来の状態管理方法に存在する状態マシンおよび各状態の複雑度が高く、状態マシンの開発およびメンテナンスのコストが高く、状態の管理制御の柔軟性が悪い等の問題を解決し、状態マシンおよび各状態の複雑度を低減し、状態マシンの開発およびメンテナンスのコストを削減し、状態マシンによる状態の管理制御の柔軟性を向上させる。
【0139】
上記に示す様々な形式のフローを用い、ステップを並べ替え、追加または削除することができることを理解すべきである。例えば、本開示に記載された各ステップは、並列に実行されてもよいし、順に実行されてもよいし、異なる順序で実行されてもよく、本開示に開示された技術案の所望する結果を達成できる限り、本開示はここで限定しない。
【0140】
上記具体的な実施形態は、本開示の保護範囲を限定するものではない。当業者は、設計要求および他の要因に基づき、様々な修正、組み合わせ、サブ組み合わせおよび代替が可能であることを理解すべきである。本開示の精神および原則内で行われる任意の修正、均等置換および改良等は、いずれも本発明の保護範囲内に含まれているべきである。