AP 架构
功能集群
在AUTOSAR AP(自适应平台)标准规范中,功能集群(Functional Clusters,简称FCs)是构成AP的核心组件,它们定义了软件平台的行为,并从应用和网络的角度进行描述。功能集群并不是最终软件设计的约束,而是将AUTOSAR AP的功能进行逻辑分组,以支持服务和应用程序接口的实现。
The platform consists of functional clusters which are grouped in services and the AUTOSAR Adaptive Basis.
Functional clusters…
- assemble functionalities of the Adaptive Platform
- define clustering of requirements specification
- describe behavior of software platform from application and network perspective
- but, do not constrain the final SW design of the architecture implementing the Adaptive Platform.
【解读】:这段需要重点理解这个AUTOSAR Adaptive Basis概念和范畴!!!
AUTOSAR Adaptive Basis(自适应基础)是AUTOSAR自适应平台(AP)的核心组成部分,它为自适应应用程序提供了运行环境,即AUTOSAR Runtime for Adaptive Applications (ARA)。这个基础环境由一系列功能集群(Functional Clusters)组成,这些功能集群分为两大类:Adaptive Platform Foundation和Adaptive Platform Services**。
Adaptive Platform Foundation 提供了AP的基础功能,包括操作系统接口(OSI)、状态管理(SM)、执行管理(EM)、网络管理(NM)、诊断管理(DM)、存储管理(PER)、持久化管理(PS)、健康管理(HM)、安全和加密服务等。这些功能集群构成了AP的基础层,为上层的应用程序提供必要的支持和服务。
Adaptive Platform Services 提供了AP的平台标准服务,如通信管理(CM)、服务发现(SD)、更新和配置管理(UCM)、日志和跟踪(LT)、身份和访问管理(IAM)等。这些服务在车内网络中可以分布部署,为应用程序提供高级的服务和功能。
功能集群在AUTOSAR Adaptive Platform Basis中,每个(虚拟)机器至少需要有一个实例,而服务可以在车内网络中分布。与AUTOSAR Classic Platform相比,AUTOSAR Runtime Environment为自适应平台在运行时动态链接服务和客户端。
在实际的车辆软件开发中,Adaptive Basis为开发者提供了一套标准化的接口和工具,使得他们可以专注于应用程序的开发,而不必关心底层硬件和操作系统的复杂性。这样,Adaptive Basis不仅提高了软件的可移植性和复用性,还简化了软件的开发和集成过程。
Functional clusters in AUTOSAR Adaptive Platform Basis have to have at least one instance per (virtual) machine while services may be distributed in the in-car network.
功能集群的定义
功能集群在AUTOSAR AP中扮演以下角色:
组装功能:功能集群将AP的不同功能进行逻辑分组,以便于管理和实现。
需求规范的聚类:它们定义了需求规范的聚类,有助于组织和实现特定的功能。
描述软件平台行为:功能集群从应用和网络的角度描述软件平台的行为,但并不限制最终软件设计的架构实现。
实例化要求:在AUTOSAR AP基础中的功能集群在每个(虚拟)机器上至少需要有一个实例,而服务可以在车内网络中分布。
功能集群的分类
功能集群分为两大类:
- Adaptive Platform Foundation:提供AP的基础功能,如操作系统接口、状态管理、执行管理等。
- Adaptive Platform Services:提供AP的平台标准服务,如通信管理、存储管理、安全管理等。
功能集群的应用
在实际的汽车软件开发中,功能集群的应用包括:
-
服务提供:功能集群作为服务提供者,通过应用程序接口(APIs)和服务平台为自适应应用程序(Adaptive Applications, AAs)提供必要的支持。
-
应用程序开发:开发者使用C++对自适应应用程序进行编程,利用功能集群提供的服务和接口来实现特定的功能。
系统集成与部署:功能集群的信息和配置被用于系统集成和部署,执行清单(Execution Manifest)和其他配置文件描述了应用程序的部署需求。
功能集群的实现
在物理视图中,每个自适应应用程序(AA)被实现为一个独立的进程,具有自己的逻辑内存空间和名称空间。功能集群通常也被实现为进程,可以是单线程或多线程。这些进程可以通过进程间通信(IPC)或操作系统的其他功能进行交互。
功能集群的交互
功能集群之间的交互可以通过以下几种方式实现:
- 基于库的设计:功能集群提供的接口库链接到AA,直接调用IPC。
基于服务的设计:进程使用通信管理功能,具有链接到AA的Server Proxy库,Proxy库调用通信管理接口,协调AA进程和服务器进程之间的IPC。 - 功能集群的动态管理
AP支持应用程序的动态部署和管理,功能集群在此过程中发挥作用。状态管理(SM)根据系统设计命令执行管理(EM),仲裁不同的状态,从而控制整个系统的行为。