AutoSar AP CM通信组总结
一、通信组概述
通信组是 AUTOSAR 定义的复合服务模板,提供了在 AUTOSAR 应用程序之间以对等方式和广播模式进行通信的框架。通信组包括一个服务器和多个客户端,服务器可向客户端以对等或广播方式发消息,客户端能响应消息,且服务器随时知晓连接的所有客户端,可直接与特定客户端通信。
二、实现方式
通信组提供两个服务接口:
- 服务器服务接口,类别值为
COMMUNICATION_GROUP_SERVER
,实现为骨架(Skeleton)。
// 可能的服务器服务接口实现示例(伪代码)
class ServerServiceInterfaceSkeleton : public BaseSkeleton
{
public:
// 具体的服务接口方法实现
};
- 客户端服务接口,类别值为
COMMUNICATION_GROUP_CLIENT
,实现为代理(Proxy)。
// 可能的客户端服务接口实现示例(伪代码)
class ClientServiceInterfaceProxy : public BaseProxy
{
public:
// 具体的代理方法实现
};
通信组服务器通过服务器服务接口的服务代理连接通信组,客户端通过客户端服务接口的服务骨架连接通信组。
三、使用范围
最初用于自适应状态管理应用程序,如《SWS_StateManagement [4]》规范定义的 PowerMode(电源模式)和 DiagnosticReset(诊断重置)两个通信组。使用范围可局限于一台机器内的应用程序,从设计角度也支持本地和远程应用程序(CP 和 AP)连接。
四、特殊主题
- 架构:通信组包含一个通信组服务器类型的服务骨架实例化(限制为只有一个通信服务器能连接到该服务器服务接口),以及多个通信组客户端类型的服务代理实例化(数量取决于实现和用例,理论上限是可用通信客户端客户端 ID 数量,也可能因安全要求支持有限数量的客户端)。
- 远程连接:通信组服务器或客户端可远离通信组实例,因通信组是复合服务,在 AUTOSAR 经典平台和自适应平台都无限制。
- 服务版本控制:通信组通过相应服务接口支持服务版本控制。