服务机器人控制架构与QoS感知应用框架解析
服务机器人控制架构实现
在服务机器人控制单元的开发中,采用了一种通用的架构框架(ACROSET)。在实现阶段,需要将概念视图映射到模块视图,这里选择了面向对象范式和Ada95语言来实现架构,即把组件、端口和连接器映射为类、对象、关联和依赖。
端口和连接器
ACROSET遵循面向组件的方法,端口和连接器是其中两个重要概念。连接器用于连接两个组件的兼容端口,通过它封装的通信协议来调用组件端口提供的功能,从而将消息内容与发送方式分离。
端口类似于接口,但有两个区别:一是端口涉及组件提供和需要的操作;二是端口实现必要的服务以满足其连接器的通信协议。连接器可以简单如管道和事件,也可以复杂如客户端 - 服务器协议。改变连接器意味着改变其所连接端口之间的通信协议,这种变化应反映在与通信相关的端口服务修改上,而不影响通过端口访问的组件功能。
为了分离这些概念,ACROSET根据可能的通信方式定义了多种端口类型,如SUC的控制输入端口、传感器的输出数据端口和输入数据端口等。定义这些端口的通信协议可以通过继承所需的协议端口来实现,示例如下:
Simple_OP
connPort
connect(inport) : Boolean
disconnect(inport) : Boolean
event()
<<OutPort>>
Subject_OP
observerList
attach(observer) : Boolean
detach(observer) : Boolean
notify()
<