中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

行為狀態機中的偽狀態和偽狀態種類是什么

發布時間:2022-01-13 15:54:39 來源:億速云 閱讀:211 作者:iii 欄目:大數據

這篇文章主要介紹了行為狀態機中的偽狀態和偽狀態種類是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇行為狀態機中的偽狀態和偽狀態種類是什么文章都會有所收獲,下面我們一起來看看吧。

連接點引用

就像前面提到的那樣,連接點引用表現的是子狀態機狀態對于定義在狀態機中的進入/退出點的引用。子狀態機狀態的連接點引用可以用作遷移源和遷移目標。連接點引用表現的是被子狀態機狀態引用的進入子狀態機的入口和離開子狀態機的出口。

連接點引用是遷移源或遷移目標意味著離開子狀態機的出口的和進入子狀態機的入口被子狀態機狀態引用。

進入點連接點引用作為遷移的目標意味著遷移目標是定義在子狀態機狀態中的狀態機的進入點偽狀態。作為結果,子狀態機的區域通過對應的進入點偽狀態被進入。

退出點連接點引用作為遷移的源意味著遷移的源是定義在子狀態機狀態中里的狀態機中的退出點偽狀態。當子狀態機到達了對應的退出點,子狀態機狀態也從退出點退出。

完了狀態

完了狀態是一種特殊的狀態,表明包含它的區域已經結束。就是說,遷移到完了狀態表示包含完了狀態的區域的行為已經結束。

偽狀態和偽狀態種類

偽狀態是一種抽象,它包括了狀態機圖中各種瞬間通過的頂點。偽頂點通常被用于將多個遷移連接成更加復雜的復合遷移(參考下面的說明)。例如,利用將一個進入分叉偽狀態的遷移和一組離開該分叉偽狀態的遷移組合起來,可以得到用來進入正交區域的復合遷移。

偽狀態的具體語義依賴于偽狀態的種類,這是通過狀態的類型為PsudostateKind的種類屬性來定義的。

初始-初始偽狀態表現了區域的開始點;也就是說,當以默認激活的方式進入區域時,它是區域中包含的活動開始執行的位置。它最多是一個遷移的源,這個遷移可以有效果行為,但不能有關聯的觸發條件或監護條件。一個區域中最多只能有一個初始頂點。

深歷史-這種偽狀態是一種變量,保存的是包含它的區域在最近被激活時的狀態構成。如前面所講,遷移進入這個偽狀態就意味著將區域恢復到與最近離開時相同的狀態構成,伴隨著所有進入狀態的語義(參見狀態進入的小節)。被恢復狀態的所有進入行為被從最外層狀態開始按照恰當的順序執行。深歷史偽狀態只能在組合狀態中被定義,而且組合狀態的一個區域中最多只能定義一個。

淺歷史-如前面所講,這類偽狀態是一個變量,保存了包含它的區域的最近的活動子狀態。但不包含這個子狀態的(下級)子狀態。遷移到這個偽狀態意味著將區域恢復到該子狀態,同時伴隨著進入狀態的語義。可以有一條離開該偽狀態指向組合狀態里的某個子狀態的遷移。這個子狀態是組合狀態的默認淺歷史狀態。淺歷史偽狀態只能在組合狀態中被定義,而且組合狀態的一個區域中最多只能定義一個。

匯合-這種類型的偽狀態為兩個或多個來自不同頂點的遷移提供目標頂點,而這些源頂點處于不同的正交區域中。終止于匯合偽狀態的遷移不允許有監護條件和觸發條件。類似于Petri網絡中的接合點,匯合偽節點實現同步功能,只有在所有的進入遷移都完成以后,才能繼續進行離開遷移。

分叉-分叉偽狀態將一個進入遷移分成兩個或多個遷移,它們終止于組合狀態的(不同的)正交區域。離開分叉偽狀態的遷移不可以有監護條件和觸發條件。

連接點-這種類型的偽狀態用于將狀態之間的多個遷移連接成復合路徑。例如,合并偽狀態可以用來將多個進入遷移合并成一個離開遷移,通過這種方式表現后續路徑分享。也可以用于將一個進入遷移分成多個離開遷移,這些離開遷移通過不同的監護約束選擇。

注意:這樣的監護約束的演算是在包含這個偽狀態的復合遷移執行之前進行的,這就是為什么它被稱為靜態條件路徑。

可能發生這樣的事情,對于一個具體的復合遷移,遷移路徑和監護條件的構成導致無法到達某個有效的狀態構成。在這種情況下,即使觸發條件的是有效的,整個復合遷移也是無效的。(作為避免某種情況下出現這種局面的方法,可以為最多一個離開遷移關聯事先定義的表示為“else”的監護條件,這個遷移在所有其他遷移的監護條件的結果為假時有效)。如果多于一個監護條件的結果為真,其中一個會被選中,但做出這種選擇的算法無定義。

選擇-這種類型的偽狀態和連接點偽狀態(參見前面)相似,而且具有類似的用途。有一點不同就是離開遷移上的監護約束是當復合遷移到達這個偽狀態時動態演算的。因此,選擇用于識別動態條件分支。它允許將復合遷移分成多個可選的分支,判斷采用那條路徑時可以根據處于同一個復合遷移中的行為在遷移到達該選擇點之前的執行結果。如果多于一個監護條件的演算結果為真,其中的一個遷移會被選中,但是進行這個選擇的算法無定義。如果沒有監護條件的演算結果為真,那么這個模型被認為是病態。為了避免這種情況,推薦為所有的選擇偽狀態設置一個預先定義的“else”離開遷移。

進入點-進入點偽狀態表示的是狀態機或者封裝了內部狀態/狀態機的組合狀態的入口點。在包含入口點的狀態機或者組合狀態的每個區域中,最多可以有一個從入口點到區域內頂點的遷移。

注意:如果擁有入口點的狀態關聯了入口行為,這個行為在離開遷移的任何關聯行為之前執行。如果多個區域被調用,入口點的行為和分叉偽狀態一樣。

退出點-退出點偽狀態表示的是狀態機或者封裝了內部狀態/狀態機的組合狀態的退出點。遷移到組合狀態或者是被子狀態機狀態引用的狀態機中的區域中的退出點意味著組合狀態或者是子狀態機狀態的退出(伴隨著關聯退出行為的執行)。如果存在多個從狀態機中的正交區域到這個偽狀態的遷移,那么它的行為像匯合點偽狀態一樣。

終止-進入終止偽狀態意味著狀態機的執行立即終止。狀態機不會退出任何狀態,也不會執行任何退出行為。任何執行中的doActivity行為被自動地中止。進入終止偽狀態等同于調用刪除對象動作。

關于“行為狀態機中的偽狀態和偽狀態種類是什么”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“行為狀態機中的偽狀態和偽狀態種類是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

石台县| 刚察县| 禹城市| 阆中市| 永登县| 宜兴市| 红河县| 长白| 获嘉县| 鄢陵县| 栖霞市| 巩留县| 咸阳市| 乌兰浩特市| 仁化县| 杂多县| 建始县| 合肥市| 鹤庆县| 如皋市| 巴南区| 霍林郭勒市| 潼南县| 驻马店市| 工布江达县| 唐山市| 亚东县| 铜梁县| 广元市| 舟山市| 藁城市| 武宣县| 泽库县| 武隆县| 永嘉县| 汤原县| 吴旗县| 虹口区| 布拖县| 蒙城县| 凯里市|