工作产品:协议
该工件指定各个封装体之间使用的通信模式。各个封装体之间的通信是通过向封装体的端口发送消息来实现的。协议类定义可以发送到封装体端口或从封装体端口接收的消息。
关系
角色负责人: 修改者:
输入至必需: 可选:
外部:
输出自
主要描述

协议允许定义并复用一组工作产品:封装体端口的规范。协议定义一组进入和外发消息类型(例如,操作和信号),并可选择定义协作(通常由一组时序图组成,请参阅指南:时序图),协作定义所需的消息顺序和状态机(由一组状态表图描述,请参阅指南:状态表图),状态机指定协议中的参与者必须提供的抽象行为。

协议是可以在连接器上发生的期望行为的规范,它是对协议参与者之间合同协定的明确规范。 它是纯行为,不指定任何结构性元素。协议由一组参与者组成,每个参与者在协议中扮演一个特定角色。

每个这样的协议角色由一个唯一的名称、该角色接收的一组信号以及该角色发送的一组信号指定(后两个组中的每一个都可以为空)。可选的,协议还可以具有有效通信序列的规范;状态机可以指定该规范。最后,协议还可以具有一组原型的交互序列(可以将这些序列显示为时序图)。它们必须符合协议状态机(如果已定义)。

二元协议仅涉及两个参与者,是目前最常见和最易于指定的协议。这些协议的优点之一是仅需要指定一个名为基本角色的角色。而另一个名为配对的角色,可以通过简单地反转入站和出站信号集从基本角色派生。此反转操作称为 共轭

协议类的组成

<<protocol>> 类的组成。

如上图中所示,协议通常包含一个或多个时序图,图说明了由协议指定的有效消息交换序列。协议还由一组入站(请求)消息和一组出站(响应)消息组成。可选择使用状态机来指定协议中的参与者必须支持的行为。

属性
可选
已计划Yes
定制
说明选项UML 表示法:类,构造型为 <<protocol>>。注意该表示基于 UML 1.5 表示法。该表示法的大部分内容可以在 UML 2.0 中使用概念:结构化类表示。  请参阅 UML 1.x 和 UML 2.0 之间的区别获取更多信息。
更多信息
核对表