应用设计模式目录(Application Design Patterns Catalogue)

📄 文档 ID:672 🏷 类型:TR(技术报告) 📅 版本:AUTOSAR CP 4.4.0 📑 页数:51 📌 状态:Final 🔗 原 PDF:AUTOSAR_TR_AIDesignPatternsCatalogue.pdf

目录

1 介绍(Introduction)

本文档是 AUTOSAR应用接口(Application Interfaces)的一部分,描述了可在 AUTOSAR 项目中使用的应用设计模式。这些模式描述了处理常见汽车应用问题的可重用解决方案,例如传感器读取、设定值仲裁、信号转发等。

1.1 文档约定(Document conventions)

本文档遵循"四人帮"(Gang of Four,GoF)模式描述格式:

1.2 需求追溯(Requirements Tracing)

本文档不包含独立的需求,但每种模式都隐含了对应用接口建模的需求。

2 关于模式(About Patterns)

2.1 模式类型(Types of Pattern)

本文档涵盖两类模式:

2.2 模式描述(Describing Patterns)

每个模式使用统一的描述模板,包括:

3 传感器与执行器模式(Sensor and Actuator Pattern)

3.1 问题(Problem)

汽车 ECU 需要与各种传感器和执行器交互。这些传感器/执行器通常由硬件抽象层处理,但应用软件需要一致的方式来:

3.2 又称(Also Known As)

此模式也称为"传感器/执行器抽象模式"或"硬件抽象模式"。

3.3 适用性(Applicability)

适用于所有需要访问物理量或控制物理设备的 SW-C。

3.4 解决方案(Solution)

传感器与执行器模式定义了一组标准端口接口,用于 SW-C 与物理设备交互:

图:传感器/执行器模式结构
应用 SW-C
   │
   │ (通过标准化端口)
   ▼
[传感器/执行器 SW-C]
   │
   ▼
硬件抽象层 → 硬件
  

关键设计要点:

3.5 命名(Naming)

标准化的端口与数据类型命名约定:

3.6 示例(Example)

3.6.1 节气门(Throttle Valve)

典型电控节气门系统:

3.6.2 涡轮增压器(Turbo Charger)

单级涡轮增压控制:

3.6.3 多级/多组涡轮增压器(Turbo Charger with Stages and Banks)

高级涡轮增压系统,包含多个涡轮和级数。

3.6.4 无反馈环执行器(Actuator without Feedback Loop)

开环控制(如简单加热元件)。

3.6.5 标准传感器(Standard Sensor)

典型物理量传感器:

3.6.6 环境温度标准传感器(Standard Sensor for Environment Temperature)

环境温度测量:

3.6.7 分发设备抽象(Distributing Device Abstraction)

将单个物理设备的访问分发到多个软件客户端。

3.7 示例代码与模型(Sample Code and Model)

本节提供示例 AUTOSAR XML 模型片段和 C 代码,演示传感器/执行器模式的应用。

3.8 已知用法(Known Uses)

该模式已在多家 OEM 的发动机控制、变速箱控制、车身控制系统中应用。

3.9 相关模式(Related Patterns)

与以下模式相关:

3.10 应注意的反模式(Anti-Patterns One Should be Aware of)

常见反模式:

3.11 进一步阅读(Further Readings)

4 多个请求者或提供者之间的仲裁(Arbitration between several requesters or providers)

4.1 问题(Problem)

多个请求者对同一执行器发出不同设定值请求,或多个提供者提供不同估计值时,需要确定采用哪一个值。

典型场景:

4.2 适用性(Applicability)

适用于任何需要协调多个请求者或多个提供者的场景。

4.3 解决方案(Solution)

引入仲裁器 SW-C(Arbitrator SW-C),作为所有请求者和执行器之间的中介:

图:仲裁模式结构
多个 Requester SW-C
       │ (Request)
       ▼
[Arbitrator SW-C]
       │ (Consolidated Request)
       ▼
   Actuator SW-C

   或

多个 Provider SW-C
       │ (Estimate)
       ▼
[Arbitrator SW-C]
       │ (Consolidated Estimate)
       ▼
   Consumer SW-C
  

仲裁策略包括:

4.4 示例(Example)

4.4.1 多个设定值请求者(Several Setpoint Requesters)

多个功能请求不同的发动机扭矩:

仲裁器根据优先级(通常 ACC > TC > Driver)和最小值策略输出最终扭矩请求。

4.4.2 多个合并值的提供者(Several Providers of Consolidated Values)

多个子系统提供车辆状态信息:

仲裁器选择最可靠的值。

4.4.3 多个估计值的提供者(Several Providers of Estimated Values)

多个算法估计同一物理量:

仲裁器选择最可信的估计。

4.5 示例代码与模型(Sample Code and Model)

本节提供仲裁器的示例 XML 模型与 C 代码。

4.6 已知用法(Known Uses)

该模式已在多家 OEM 的扭矩管理、车辆状态估计等系统中应用。

4.7 相关模式(Related Patterns)

与传感器/执行器模式(见第 3 章)配合使用。

A 变更历史(Change History)

A.1 AUTOSAR R4.3.0 变更历史

具体内容详见原文第 41 页。

A.2 AUTOSAR R4.2.2 变更历史

包括:通用化仲裁模式(三个示例:多个设定值请求者、多个估计值提供者、多个合并值提供者)、对信号定义的重新考量、为智能执行器和无反馈环执行器定制模式等。

A.3 AUTOSAR R4.2.1 变更历史

首次发布本文档。涵盖的模式:

B 引用类表(Mentioned Class Tables)

附录提供了本模式使用的元模型类的定义,包括 ApplicationDataTypeSenderReceiverInterfaceClientServerInterface 等。具体详见原文第 43 页。

📋 校对记录

校对轮次:L1 自动校对(2026-06-13)