首页 理论教育 HMB模式的组成要素简析

HMB模式的组成要素简析

时间:2023-06-28 理论教育 版权反馈
【摘要】:图8-11 消息总线的结构3.约束HMB模式的构件接口是一种基于消息的互连接口,可以较好地支持体系结构设计。图8-12是HMB模式的连接件与构件接口连接示意图。图8-12 HMB模式的连接件与构件接口连接示意图当某个事件发生后,构件发出相应的消息,消息总线负责把该消息传递到对此消息感兴趣的构件。

HMB模式的组成要素简析

下面,采用Garlan&Shaw的定义:

软件体系结构={构件,连接件,约束}

对HMB的组成要素进行描述。

1.构件模型

HMB模式的构件模型包括了接口、静态结构和动态行为三个部分,如图8-10所示。

在图8-10所示的构件模型中

在图8-10所示的构件模型中,左上方是构件的接口部分,一个构件可以支持多个不同的接口,每个接口定义了一组输入和输出的消息集合,刻画了构件对外提供的服务,以及要求的环境服务,体现了该构件同环境的交互;右上方是用带输出的有限状态自动机刻画的构件行为,构件接收到外来消息后,根据当前所处的状态对消息进行响应,并可能导致状态的变迁,这部分是系统动态模拟运行的基础;下方是复合构件的内部结构定义,复合构件是由更简单的子构件通过局部消息总线连接而成的。消息总线为整个系统和各个层次的构件提供了统一的集成机制。

978-7-111-33186-5-Part01-335.jpg

图8-10 HMB模式的构件模型

在软件体系结构设计层次上,构件通过接口定义了同外界的消息传递和承担的系统责任,构件接口代表了构件同环境的全部交互内容,也是唯一的交互途径,除此之外,环境不应对构件做任何其他与接口无关的假设,例如实现细节等。

消息是关于某个事件发生的信息,上述接口定义中消息分为两类:

1)构件发出的消息,通知系统中其他构件某个事件的发生或者请求其他构件的服务。

2)构件接收的消息,对系统中某个事件的响应或者提供给其他构件所需的服务。(www.xing528.com)

接口中的每个消息定义了构件的一个端口,具有互补端口的构件可以通过消息总线进行通信,互补端口指的是除了消息进出构件的方向不同之外,消息名称、消息带有的参数和返回结果的类型完全相同的两个端口。

2.消息总线

HMB模式的消息总线是系统的连接件,构件向消息总线登记感兴趣的消息,形成构件—消息响应登记表;消息总线根据发出的消息类型和构件—消息响应登记表的信息定位对此消息的响应者,并把该消息传递给相应的响应和返回处理结果;必要时,消息总线还对特定的消息进行过滤和阻塞。消息总线的结构如图8-11所示,其中构件A和构件B之间通过消息总线进行连接。

978-7-111-33186-5-Part01-336.jpg

图8-11 消息总线的结构

3.约束

HMB模式的构件接口是一种基于消息的互连接口,可以较好地支持体系结构设计。构件之间通过消息进行通信,接口定义了构件发出和接收的消息的集合。同一般的互连接口相比,HMB的构件接口具有两个显著的特点。首先,构件只对消息本身感兴趣,并不关心消息是如何产生的,消息的发出者和接受者不必知道彼此的情况,这样就切断了构件之间的直接联系,降低了构件之间的耦合程度,进一步增强了构件的重用潜力,并使得构件的替换变得更为容易。另外,在一般的互连接口定义的系统中,构件之间的连接是在要求的服务和提供的服务之间进行的固定匹配,而在HMB的构件接口定义的系统中,对外来消息的响应,不但同接收到的消息类型相关,而且同构件当前所处的状态相关。构件当前的状态是对所有以前的消息响应的结果,构件对外来消息进行响应后,可能会引起状态的变迁。因此,一个构件在接收到同样的消息后,在不同的时刻所处的不同状态下,可能会有不同的响应。

图8-12是HMB模式的连接件与构件接口连接示意图

978-7-111-33186-5-Part01-337.jpg

图8-12 HMB模式的连接件与构件接口连接示意图

当某个事件发生后,构件发出相应的消息,消息总线负责把该消息传递到对此消息感兴趣的构件。按照响应方式的不同,消息分为同步消息和异步消息,同步消息是指消息的发送者必须等待消息处理结果返回,才可以继续运行的消息类型,异步消息是指消息的发送者不必等待消息处理结果的返回,即可继续执行的消息类型。常见的同步消息包括过程调用,异步消息包括信号、时钟和异步过程调用等。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈