91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

協議狀態機的知識點有哪些

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

本篇內容介紹了“協議狀態機的知識點有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

概要

協議狀態機用于表現使用方法的協議。協議狀態機表示事件發生的合法的序列,關聯的行為類目的行為必須遵循這個序列。狀態機記法是一種定義類目的行為特征的調用次序的簡便方式。

協議狀態機可以和類目,接口和端口關聯。

14.4.2 Abstract Syntax

協議狀態機的知識點有哪些


語義

協議狀態機

協議狀態機總是在類目的上下文中定義。它定義了類目的在一個給定的協議狀態中,什么條件下,哪個行為特征可以被調用。這樣,從外部觀點定義了類目的某個實例的生命周期的規范。

協議狀態機幫助定義類目的行為特征被調用的順序,它明確了:

它們可以被正確調用時的行為上下文(即:哪個狀態和前置條件)

正確的調用次序,

期待的調用輸出(后置條件)

協議狀態機向協作者呈現了一個包含協議狀態機的類目的外部視圖。這種擴展依據的是通過獨立的行為特征的前置條件和后置條件可以捕捉到什么,協議狀態機也可以定義不同特征的正確的調用次序。這是通過狀態機定義實現的,在這個定義中,為了保證調用的正確性,功能調用的觸發條件和遷移的定義后置條件的監護條件必須使用以保證調用的正確性。作為過去的調用序列的結果,狀態機的狀態(協議狀態)捕捉協議的狀態并且也是前置條件的一種形式。

因為協議狀態機提供的是類目行為的“黑盒”視圖,狀態不必和內部行為狀態機的狀態相對應。

協議狀態機可以有不同的形式:

陳述性協議狀態機,它定義了行為特征調用的有效遷移。不定義行為特征調用的效應。這種類型的定義只是向上下文類目的用戶提供一種約定。

可執行(執行時)協議狀態機,它定義了一個對象可以接受和處理的所有事件發生和它們觸發的遷移。在這種情況下,正當的行為特征調用遷移必須和被觸發的遷移或運行時例外完全匹配。方法執行的調用結果和被調用的行為特征相關聯。

兩種解釋的定義都相同,唯一的區別就是后一種解釋提供了直接的動態含義。

在行為狀態機中遇到的更加復雜的形式,例如復合遷移,子狀態機,組合狀態,并發正交區域等,也可以用于協議狀態機。例如并發區域可以用于表現一個實例同時擁有多個活動狀態的情況。子狀態機和復合遷移可以用于分解復雜的協議狀態機。

一個類目可以有多個協議狀態機。例如下面的場景:一個類目擁有多個父母(類目),每個擁有自己的協議狀態機,且協議之間為正交關系。另一種方式是只擁有一個協議狀態機,但是在它的并發區域中包含不同的狀態機。

State in ProtocolStateMachines(協議狀態機中的狀態)

協議狀態機的狀態被暴露給它們的上下文類目的用戶。一個協議狀態表現了它的上下文類目的一個外部可見的穩定情況:當類目的某個實例沒有處理任何的行為特征調用時,那個實例的用戶總是知道它的狀態構成。

協議狀態機的狀態不允許定義進入,退出和doActivity行為。

協議遷移

協議遷移定義了上下文類目的行為特征在被調用時允許的遷移。協議遷移有如下特征:
· a pre-condition (preCondition), which specializes the guard attribute of Transition,

定義遷移的監護屬性的前置條件,

· a trigger,

觸發條件,
· a post-condition (postCondition).

后置條件。

協議遷移定義了上下文類目的實例可以被調用的關聯(引用)特征,如果它位于初始狀態內,有監護條件,被遷移完成觸發,那么這個實例將會處于擁有后置條件的目標狀態中。

協議遷移沒有關聯的效應行為。作為行為特征調用的結果,協議遷移的意味著與被調用行為特征相關聯的方法的執行。在其他類型觸發條件的情況下,影響是沒有定義的,除非該遷移會引出另外一個滿足特定前置條件的狀態,這時不考慮與這個遷移相關聯的任何行為。

非預期觸發接受

關于沒有和當前狀態,狀態不變量或前置條件匹配的事件發生的接受的解釋沒有被定義(即,它可以被忽略,拒絕或推遲;升起異常;或作為錯誤而終止應用的執行)。在語義上它對應于前置條件的違反,在UML中沒有為它設定預先定義的行為。

非預期行為

作為遷移的非預期結果(錯誤的完了狀態,或完了狀態不變量,或后置條件),非預期行為的解釋也無定義。然而它應該被解釋成協議狀態機實現的錯誤。


操作的前置和后置條件的等價性

在語義上,協議遷移可以從操作的前置和后置條件兩個方面來解釋。例如圖14.42中的遷移可以按以下方式解釋:

1 The operation “m1” can be called on an instance when it is in the ProtocolState “S1” under the condition “C1.”

當實例處于協議狀態"S1",滿足條件“C1”時,操作m1可以被調用。

2 When “m1” is called in the ProtocolState “S1” under the condition “C1,” then the ProtocolState “S2” must be reached under the condition “C2.”

當處于協議狀態“S1”s時,“m1”被調用,那么滿足條件”C2“時,必須到達協議狀態"S2“。

協議狀態機的知識點有哪些


被多個遷移引用的操作

協議狀態機的知識點有哪些

圖14.43表示了在協議狀態機中,多個遷移可以引用同一個操作的例子。在這個情況下,所有的前置和后置條件都被組入操作的前置(/后置)條件,表示如下

Operation m1()
Pre: in state S1 and condition C1
or
in state S3 and condition C3
Post: if the initial condition was “in state S1 and condition C1”
then in S2 and C2
else
if the initial condition was “in state S3 and condition C3”
then in S4 and C4

協議狀態機為它的遷移所引用的每個行為特征定義了所有的協議遷移。

沒有被引用的操作

如果行為特征沒有被任何的行為特征引用,那么該操作可以被協議狀態機的任何狀態調用,并且不會改變當前狀態或前置/后置條件。

在協議狀態機中使用其他類型的事件

除了調用行為特征,可以使用另外的事件來表現協議狀態機的行為。不是行為特征調用的觸發條件可以用于定義協議遷移。這種定義是對于行為狀態機外部環境的需求。也就是說,只有滿足協議狀態機定義的條件時,向上下文類目發送事件發生才是合乎要求的。與此有關的準確的語義解釋沒有被定義。

協議一致

協議狀態機可以被定義為更加具體的協議狀態機。協議一致聲明了具體的協議狀態機定義了一個協議,它與泛用協議狀態機定義的協議一致。

協議狀態機屬于類目。該類目擁有一個泛用狀態機,而且通常情況下,也會通過泛化和實現關聯一個具體的狀態機。

協議一致表示一個聲明:為泛用協議狀態機定義的所有規則,約束(狀態不變量,協議狀態機引用的操作的前置/后置條件)都會適用與具體的協議狀態機。

記法


協議狀態機

協議狀態機的記法和行為狀態機非常相似。只是通過靠近狀態機名稱的?protocol?關鍵詞從圖形上區別了協議狀態機圖。

協議狀態機的知識點有哪些

與協議狀態機中的狀態相關聯的不變量的文字表達式的表示方法,是通過將其封裝入括號中,放到狀態名之后或之下。

協議狀態機的知識點有哪些


協議遷移

使用通常的狀態機中的記法。區別是不會定義效應行為和可以有后置條件。后置條件和監護條件的語法相同,但是遷移語法的最后表示。

協議狀態機的知識點有哪些

“協議狀態機的知識點有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

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

AI

曲周县| 山丹县| 子长县| 合作市| 锡林郭勒盟| 祁门县| 汨罗市| 喜德县| 商南县| 丹巴县| 无极县| 贡觉县| 乡城县| 巢湖市| 定兴县| 宁乡县| 阿拉善右旗| 台东县| 璧山县| 泰兴市| 通海县| 宿松县| 曲水县| 溧水县| 宜丰县| 西吉县| 女性| 恩施市| 工布江达县| 卢氏县| 凤翔县| 尼勒克县| 宁夏| 乌兰察布市| 沂水县| 通城县| 郑州市| 江西省| 铜鼓县| 邯郸市| 雅江县|