通訊協定可以定義和重複使用一組工作成果:封裝體埠的規格。通訊協定可定義一組進入及送出的訊息類型
(例如,操作、信號),另可選擇定義合作關係(通常由一組序列圖組成,請參閱準則:序列圖),合作關係定義必要的訊息順序;也可以選擇再定義一個狀態機(由一組狀態圖來描述,請參閱準則:狀態圖),狀態機指定通訊協定的參與者必須提供的抽象行為。
通訊協定是期望行為的規格,可能出現在連接器上 -- 通訊協定的參與者之間一致約定的規格。只是單純的行為,不指定任何結構元素。通訊協定包含一組參與者,每一個參與者在通訊協定中扮演特定的角色。
每一個通訊協定角色以一個唯一名稱、該角色接收的一組信號及該角色傳送的一組信號來指定(兩者之中任一組可以空白)。通訊協定也可能包含有效通訊順序的規格;狀態機就可能指定這項規格。最後,通訊協定也可能有一組通訊協定互動順序(可顯示在序列圖)。這些必須符合通訊協定狀態機(如果已定義)。
二進位通訊協定(只有兩個參與者)是目前為止最常用和最簡單的通訊協定。這種通訊協定的優點是只需要指定一個角色,稱為基本角色。只要反轉進入及送出信號集,即可輕易從基本角色衍生另一方,稱為接合者。此反轉操作又稱為
接合。
<<protocol>> 類別的組合。
如上圖所示,一個通訊協定通常包含一或多個序列圖,列出此通訊協定指定的有效的訊息交換順序。通訊協定也由一組送入的(要求)訊息和一組送出的(回應)訊息組成。選用的狀態機可以指定通訊協定的參與者必須支援的行為。
|