协议允许定义并复用一组工作产品:封装体端口的规范。协议定义一组进入和外发消息类型(例如,操作和信号),并可选择定义协作(通常由一组时序图组成,请参阅指南:时序图),协作定义所需的消息顺序和状态机(由一组状态表图描述,请参阅指南:状态表图),状态机指定协议中的参与者必须提供的抽象行为。
协议是可以在连接器上发生的期望行为的规范,它是对协议参与者之间合同协定的明确规范。 它是纯行为,不指定任何结构性元素。协议由一组参与者组成,每个参与者在协议中扮演一个特定角色。
每个这样的协议角色由一个唯一的名称、该角色接收的一组信号以及该角色发送的一组信号指定(后两个组中的每一个都可以为空)。可选的,协议还可以具有有效通信序列的规范;状态机可以指定该规范。最后,协议还可以具有一组原型的交互序列(可以将这些序列显示为时序图)。它们必须符合协议状态机(如果已定义)。
二元协议仅涉及两个参与者,是目前最常见和最易于指定的协议。这些协议的优点之一是仅需要指定一个名为基本角色的角色。而另一个名为配对的角色,可以通过简单地反转入站和出站信号集从基本角色派生。此反转操作称为
共轭。
<<protocol>> 类的组成。
如上图中所示,协议通常包含一个或多个时序图,图说明了由协议指定的有效消息交换序列。协议还由一组入站(请求)消息和一组出站(响应)消息组成。可选择使用状态机来指定协议中的参与者必须支持的行为。
|