40 KiB
AUTOSAR SRS RTE — 运行时环境需求
文档元信息
| 字段 | 值 |
|---|---|
| 文档标题 | Requirements on Runtime Environment(运行时环境需求) |
| 文档所有者 | AUTOSAR |
| 文档责任方 | AUTOSAR |
| 文档标识号 | 083 |
| 文档状态 | Final(最终版) |
| 所属 AUTOSAR 标准 | Classic Platform(经典平台) |
| 所属标准版本 | 4.4.0 |
文档变更历史
| 日期 | 版本 | 变更人 | 变更说明 |
|---|---|---|---|
| 2018-10-31 | 4.4.0 | AUTOSAR Release Management | • 新增对 RTE 实现插件的支持:[SRS_Rte_00300] - [SRS_Rte_00317] • 新增对数据结构在 SOME/IP 中的扩展序列化(带 TLV 标签/长度/值编码)的支持:[SRS_Rte_00261] |
| 2017-12-08 | 4.3.1 | AUTOSAR Release Management | • 文字编辑性修改 |
| 2016-11-30 | 4.3.0 | AUTOSAR Release Management | • 新增对 ExtendedBufferAccess 的支持:[SRS_Rte_00254]、[SRS_Rte_00255]、[SRS_Rte_00256]、[SRS_Rte_00257]、[SRS_Rte_00258]、[SRS_Rte_00259]、[SRS_Rte_00260] |
| 2015-07-31 | 4.2.2 | AUTOSAR Release Management | • 新增需求:[SRS_Rte_00253] |
| 2014-10-31 | 4.2.1 | AUTOSAR Release Management | • 新增对概念的支持: – NVDataHandlingRTE:[SRS_Rte_00245] – EfficientCOMforLargeData:[SRS_Rte_00246] – SenderReceiverSerialization:[SRS_Rte_00247]、[SRS_Rte_00248]、[SRS_Rte_00249]、[SRS_Rte_00250]、[SRS_Rte_00251] • 新增需求:[SRS_Rte_00252] |
| 2013-10-31 | 4.1.2 | AUTOSAR Release Management | • 删除需求:[SRS_Rte_00125] |
| 2013-03-15 | 4.1.1 | AUTOSAR Release Management | • 新增对概念的支持: – Enhance Port Compatibility:[SRS_Rte_00236] – Refined Scheduling of Runnables:[SRS_Rte_00237] – Provide Activating RTE Event:[SRS_Rte_00238] – Enhanced BSW Allocation:[SRS_Rte_00241]、[SRS_Rte_00242]、[SRS_Rte_00243] – Rapid Prototyping Support for AUTOSAR ECUs:[SRS_Rte_00244] • 新增需求:[SRS_Rte_00239]、[SRS_Rte_00240] • 修改需求:[SRS_Rte_00084] |
| 2011-12-22 | 4.0.3 | AUTOSAR Release Management | • 修改需求:[SRS_Rte_00155]、[SRS_Rte_00154] • 新增需求:[SRS_Rte_00234]、[SRS_Rte_00235] |
| 2011-04-15 | 4.0.2 | AUTOSAR Release Management | • 修改需求:[SRS_Rte_00210]、[SRS_Rte_00020] • 新增对以下概念的支持: – AUTOSAR Scheduler 协调 – RTE API 增强 – Triggered Event(触发事件) – Enhance Measurement and Calibration(增强测量和标定) – Avoidance of duplicated Type Definitions(避免类型定义重复) – Integrity and Scaling at ports(端口完整性和缩放) – Implicit Communication Enhancement(隐式通信增强) – A2L Generation Support(A2L 生成支持) – Support of large data types(支持大数据类型) – Fixed Data Exchange(固定数据交换) – Variant Handling(变体处理) – Time Determinism(时间确定性) – DLT Concept(DLT 概念) – Memory related Concepts(内存相关概念) – Build System Enhancement(构建系统增强) – Multi Core Architectures(多核架构) – Memory Partitioning(内存分区) – Error Handling(错误处理) – VMM AMM Concept |
| 2009-12-18 | 4.0.1 | AUTOSAR Release Management | • 法律声明修订 |
| 2009-02-04 | 3.1.2 | AUTOSAR Release Management | • 修改需求:[SRS_Rte_00005] • 删除需求:[SRS_Rte_00044] |
| 2008-08-13 | 3.1.1 | AUTOSAR Release Management | • 法律声明修订 |
| 2007-12-21 | 3.0.1 | AUTOSAR Release Management | • 扩展文档元信息;进行小幅布局调整 |
| — | 2.1.1 | AUTOSAR Release Management | • "用户建议"修订;"修订信息"增加 |
| 2006-11-28 | 2.1 | AUTOSAR Release Management | • 新增需求:[SRS_Rte_00153] - [SRS_Rte_00161] • 修改需求:[SRS_Rte_00151] • 法律声明修订 |
| 2006-05-16 | 2.0 | AUTOSAR Release Management | • 新增需求:[SRS_Rte_00152] • 修改需求:[SRS_Rte_00133]、[SRS_Rte_00013]、[SRS_Rte_00077]、[SRS_Rte_00075] • 删除需求:[SRS_Rte_00136] • 日期格式改为 dd-mm-yyyy |
| 2005-05-31 | 1.0 | AUTOSAR Release Management | • 初始发布 |
目录
参考文献
| 编号 | 文献 |
|---|---|
| [1] | Standardization Template — AUTOSAR_TPS_StandardizationTemplate |
| [2] | Requirements on Standardization Template — AUTOSAR_RS_StandardizationTemplate |
| [3] | Virtual Functional Bus — AUTOSAR_EXP_VFB |
| [4] | Software Component Template — AUTOSAR_TPS_SoftwareComponentTemplate |
| [5] | Basic Software Module Description Template — AUTOSAR_TPS_BSWModuleDescriptionTemplate |
| [6] | Requirements on Mode Management — AUTOSAR_SRS_ModeManagement |
| [7] | Specification of Memory Mapping — AUTOSAR_SWS_MemoryMapping |
| [8] | Specification of Compiler Abstraction — AUTOSAR_SWS_CompilerAbstraction |
| [9] | Specification of Platform Types — AUTOSAR_SWS_PlatformTypes |
| [10] | General Requirements on Basic Software Modules — AUTOSAR_SRS_BSWGeneral |
| [11] | Specification of Diagnostic Log and Trace — AUTOSAR_SWS_DiagnosticLogAndTrace |
1 文档范围
AUTOSAR 及其本文档的目标是定义 AUTOSAR 运行时环境(Run-time Environment, RTE)的需求和行为。
AUTOSAR 的职责范围不涉及 RTE 的具体实现方式,但所有需求和行为规范均经过内部审查,以确保至少存在一种可行的实现方式。
1.1 文档约定
AUTOSAR 文档中需求(Requirements)的表示遵循 [TPS_STDT_00078] 中规定的表格形式,详见 [1] 中 Standardization Template 的"支持可追溯性"(Support for Traceability)章节。
表达义务的动词形式应使用 [TPS_STDT_00053] 中规定的形式,以表明需求,详见 [1] Standardization Template 的"支持可追溯性"章节。
2 功能概述
运行时环境(Run-Time Environment,RTE)位于 AUTOSAR ECU 架构的核心位置。
RTE 是 AUTOSAR 虚拟功能总线(Virtual Function Bus, VFB)接口在特定 ECU 上的实现(realization),因此它为应用软件组件之间的通信以及访问包括 OS 在内的基础软件组件提供基础设施服务。
应用软件组件包含与 CPU 和位置无关的系统软件。这意味着,在系统设计者施加的约束条件下,应用软件组件在系统配置过程中可以被映射到任何可用的 ECU 上。RTE 负责确保组件能够通信,并且无论组件映射到何处,系统都能按预期的方式持续工作。
RTE 既包含因组件到 ECU 的不同映射而产生的系统基础设施的可变元素,也包含标准化的 RTE 服务。RTE 针对每个 ECU 进行生成和/或配置,以确保 RTE 在该 ECU 上是最优的。
3 需求追踪
下表引用了 [2] 中规定的需求,并链接到这些需求的实现。
| 需求 | 描述 | 由以下需求实现 |
|---|---|---|
| [RS_BRF_00057] | AUTOSAR 应定义内存映射机制 | [SRS_Rte_00169]、[SRS_Rte_00170] |
| [RS_BRF_01024] | AUTOSAR 应为公共符号提供命名规则 | [SRS_Rte_00164]、[SRS_Rte_00165]、[SRS_Rte_00166]、[SRS_Rte_00167]、[SRS_Rte_00168]、[SRS_Rte_00252] |
| [RS_BRF_01136] | AUTOSAR 应支持系统启动后解析的已配置 BSW 数据的变体 | [SRS_Rte_00191]、[SRS_Rte_00201]、[SRS_Rte_00202]、[SRS_Rte_00203]、[SRS_Rte_00204]、[SRS_Rte_00206]、[SRS_Rte_00207]、[SRS_Rte_00229] |
| [RS_BRF_01160] | AUTOSAR 应支持 BSW 在多核 MCU 上的分布 | [SRS_Rte_00241]、[SRS_Rte_00242]、[SRS_Rte_00243] |
| [RS_BRF_01216] | AUTOSAR OS 应支持将 ScheduleTable 同步到外部时间源 | [SRS_Rte_00232] |
| [RS_BRF_01240] | AUTOSAR OS 应支持 OSApplication 之间的通信 | [SRS_Rte_00210] |
| [RS_BRF_01248] | AUTOSAR OS 应支持 OSApplication 的终止和重启 | [SRS_Rte_00195]、[SRS_Rte_00196]、[SRS_Rte_00223]、[SRS_Rte_00224] |
| [RS_BRF_01304] | AUTOSAR RTE 应支持广播通信 | [SRS_Rte_00179]、[SRS_Rte_00183] |
| [RS_BRF_01316] | AUTOSAR RTE 应支持对软件组件透明的数据转换 | [SRS_Rte_00247]、[SRS_Rte_00248]、[SRS_Rte_00249]、[SRS_Rte_00250]、[SRS_Rte_00251]、[SRS_Rte_00253] |
| [RS_BRF_01320] | AUTOSAR RTE 应调度 SWC 和 BSW 模块 | [SRS_Rte_00049]、[SRS_Rte_00116]、[SRS_Rte_00211]、[SRS_Rte_00212]、[SRS_Rte_00213]、[SRS_Rte_00214]、[SRS_Rte_00215]、[SRS_Rte_00216]、[SRS_Rte_00217]、[SRS_Rte_00218]、[SRS_Rte_00219]、[SRS_Rte_00220]、[SRS_Rte_00221]、[SRS_Rte_00222]、[SRS_Rte_00229]、[SRS_Rte_00230] |
| [RS_BRF_01328] | AUTOSAR RTE 应支持在定义事件上的可执行实体调度 | [SRS_Rte_00162]、[SRS_Rte_00163]、[SRS_Rte_00216]、[SRS_Rte_00230]、[SRS_Rte_00235] |
| [RS_BRF_01376] | AUTOSAR RTE 应支持端口数据元素的自动重缩放和转换 | [SRS_Rte_00181]、[SRS_Rte_00182] |
| [RS_BRF_01384] | AUTOSAR RTE 应支持数据的自动范围检查 | [SRS_Rte_00180] |
| [RS_BRF_01392] | AUTOSAR RTE 应支持旁路(bypass)实现 | [SRS_Rte_00244] |
| [RS_BRF_01393] | AUTOSAR RTE 应支持在生成 ECU 映像后可选择的旁路 | [SRS_Rte_00254]、[SRS_Rte_00255]、[SRS_Rte_00256]、[SRS_Rte_00257]、[SRS_Rte_00258]、[SRS_Rte_00259]、[SRS_Rte_00260] |
| [RS_BRF_01394] | AUTOSAR 应支持 RTE 管理缓冲区访问的内存接口 | [SRS_Rte_00255]、[SRS_Rte_00256]、[SRS_Rte_00257]、[SRS_Rte_00258]、[SRS_Rte_00259]、[SRS_Rte_00260] |
| [RS_BRF_01560] | AUTOSAR 通信应支持将信号映射到可传输的协议数据单元中 | [SRS_Rte_00251] |
| [RS_BRF_01568] | AUTOSAR 通信栈应支持固定大小和动态大小的信号 | [SRS_Rte_00190] |
| [RS_BRF_01616] | AUTOSAR 通信应支持信号的初始值 | [SRS_Rte_00184] |
| [RS_BRF_01649] | AUTOSAR 通信应支持在专用优化模块中传输大且动态的数据 | [SRS_Rte_00246] |
| [RS_BRF_01816] | AUTOSAR 非易失性存储功能应基于逻辑内存块组织持久数据 | [SRS_Rte_00176]、[SRS_Rte_00177]、[SRS_Rte_00178]、[SRS_Rte_00228]、[SRS_Rte_00245] |
| [RS_BRF_02056] | AUTOSAR OS 应支持时间保护 | [SRS_Rte_00193] |
| [RS_BRF_02272] | AUTOSAR 应提供应用软件行为的追踪 | [SRS_Rte_00003]、[SRS_Rte_00004]、[SRS_Rte_00005]、[SRS_Rte_00008]、[SRS_Rte_00045]、[SRS_Rte_00192] |
| [RS_Main_00200] | AUTOSAR 规范应允许资源高效的实现 | [SRS_Rte_00300] - [SRS_Rte_00317](多个) |
| [RS_Main_00280] | AUTOSAR 应支持标准化的汽车通信协议 | [SRS_Rte_00261] |
4 RTE 需求
4.1 功能需求
4.1.1 与 AUTOSAR OS 的交互
本节中的所有需求都涉及 RTE 如何与 AUTOSAR OS 交互。AUTOSAR ECU 架构定义所有交互都通过标准化接口进行。
[SRS_Rte_00020] 访问 OS(valid)
| 字段 | 内容 |
|---|---|
| 类型 | valid |
| 描述 | RTE 应将 OS 的特性从 AUTOSAR 软件组件中抽象出来。对于 AUTOSAR 软件组件而言,只应通过访问 RTE 的服务接口来直接使用。应用软件组件的设计目标是与 OS 无关,因此不应直接访问任何特定的 OS 函数,只能通过服务接口访问。 |
| 理由 | 例如,RTE 使用基于任务的功能(任务、资源、事件等)向应用提供 Runnable Entity 功能。OS 任务的存在对应用不可见。 |
| 依赖 | [SRS_Rte_00025] |
| 用例 | OS 提供标准化接口。该接口仅由软件组件通过 RTE API 访问,因此访问由 RTE 控制。OS 提供服务接口。这可由软件组件直接访问。 |
| 支持材料 | Specification of the Virtual Functional Bus [3];AUTOSAR ECU 架构为 OS 定义了标准化接口,并为应用软件组件定义了 AUTOSAR 接口,因此两者之间不应存在直接交互。 |
[SRS_Rte_00099] 中断解耦(valid)
| 字段 | 内容 |
|---|---|
| 类型 | valid |
| 描述 | RTE 不应允许将中断上下文传播到应用软件组件。 |
| 理由 | 为确保低延迟和确定性,中断上下文可能必须传播到 RTE。如果应用软件组件能够在中断上下文中执行,它们将能够阻塞系统调度并保持不可接受的长时间。 |
| 依赖 | — |
| 用例 | RTE "拦截"中断并使 Runnable Entity 能够处理通知。Runnable Entity 在任务上下文中执行。 |
| 支持材料 | 在本需求中,阻塞意味着 RTE 不应挂起(Running→Waiting)执行回调的控制线程。并不意味着该线程不可被抢占。即阻塞是"挂起"而非"抢占"。 |
[SRS_Rte_00036] 分配到 OS Application(valid)
| 字段 | 内容 |
|---|---|
| 类型 | valid |
| 描述 | 在使用分区时,RTE 生成器应拒绝那些将一个软件组件实例的 Runnable Entity 未分配到同一 OS-Application 内的任务的配置。 |
| 理由 | 属于同一 OS-Application 的所有对象(例如资源、告警)可相互访问 —— OS 将终止尝试在不属于同一 OS Application 的情况下进行直接访问的任务。 |
| 依赖 | [SRS_Rte_00018] |
| 用例 | 需要高效访问 —— 如果映射到不同的 OS Application,RTE 将需要实现保护模式切换,这将对效率产生重大影响。 |
| 支持材料 | 在使用内存保护的情况下,为组件实例映射的任务构成单个 OS Application —— 这允许以最低开销进行组件内部交互。 |
[SRS_Rte_00049] 任务体的构造(valid)
| 字段 | 内容 |
|---|---|
| 类型 | valid |
| 描述 | RTE 生成器应构造任务体以适合 AUTOSAR OS 的形式执行 Runnable Entity 和基础软件可调度实体 —— 通常作为以 C 链接导出的函数。 |
| 理由 | SW-Component 描述声明组件中存在的 Runnable Entity。基础软件模块描述声明 BSW 模块中存在的基础软件可调度实体。Runnable Entity 和基础软件可调度实体到任务的映射是生成器的输入的一部分。自动映射过于复杂(输入中数据不足),因此在 AUTOSAR 当前阶段不予以考虑。 |
| 依赖 | [SRS_Rte_00219] |
| 用例 | 可以提供: • 仅包含 Runnable Entity 的任务 • 支持 Runnable Entity 和基础软件可调度实体交错执行的任务 • 仅包含基础软件可调度实体的任务。 |
| 支持材料 | — |
[SRS_Rte_00193] 支持 Runnable Entity 执行链(valid)
| 字段 | 内容 |
|---|---|
| 类型 | valid |
| 描述 | RTE 生成器应通过将被监控的 Runnable Entity 映射到一个或多个 OS 任务来允许 Runnable Entity 监控,并在使用多个 OS 任务时链接这些 OS 任务的执行。 |
| 理由 | 为了按单个(或多个)Runnable Entity 监控其执行时间,应使用任务链接机制,从而可使用 OS 任务监控来实现监控。RTE 应能够激活(链接)链接任务的执行以获得期望的 Runnable Entity 执行顺序。 |
| 依赖 | — |
| 用例 | 被配置为在一个 OS 任务中顺序执行的 Runnable Entity 应能够被拆分到多个 OS 任务中,以便在细粒度级别(单个 Runnable Entity 或多个 Runnable Entity)应用 OS 执行时间监控。要获得相同的行为,应使用任务链接机制。 |
| 支持材料 | — |
[SRS_Rte_00210] 支持 OS Application 间通信(valid)
| 字段 | 内容 |
|---|---|
| 类型 | valid |
| 描述 | RTE 应支持分配到不同 OS Application 的软件组件实例之间的通信,其中不同 OS Application 可能位于不同的内存分区和/或核上。 |
| 理由 | 由于来自不同 OS Application 的软件组件实例可能位于不同核和不同内存分区上,它们之间的通信可能需要专用的通信和信令方法,例如使用跨 OS Application 通信模块。 |
| 依赖 | [SRS_Rte_00011] |
| 用例 | 多核支持、内存分区支持。 |
| 支持材料 | — |
4.1.2 与 AUTOSAR COM 的交互
本节涉及 RTE 如何与 AUTOSAR COM 交互。AUTOSAR ECU 架构定义所有交互都通过标准化接口进行。
主要需求概览:
| 需求 ID | 标题 | 简要描述 |
|---|---|---|
[SRS_Rte_00068] |
信号初始值 | RTE 生成器应确保为指定 INIT_VALUE 的信号进行初始化,防止应用读取未初始化数据。 |
[SRS_Rte_00069] |
通信超时 | RTE 生成器应包含运行时检查,用于监控 ECU 配置中为阻塞通信指定的超时。 |
[SRS_Rte_00073] |
数据元素的原子传输 | RTE 应确保数据元素(无论简单还是复合)和单个 RTE 操作的所有参数的传输和接收被视为原子单元。 |
[SRS_Rte_00082] |
标准化通信协议 | RTE 应定义并实现 ECU 间 C/S 通信的协议(如消息序列)。 |
[SRS_Rte_00091] |
ECU 间编组(Marshalling) | RTE 应在 ECU 间传输/接收数据元素或操作参数时使用通用格式。 |
[SRS_Rte_00181] |
内部和网络数据类型之间的转换 | RTE 应在配置时为不同数据类型生成转换例程,以节省串行数据链路带宽。 |
[SRS_Rte_00246] |
支持大数据的 Efficient COM | RTE 应支持多个交互层模块(当前支持 COM 和 Efficient COM)。 |
[SRS_Rte_00251] |
使用 Com 处理基于数组的信号组 | 当配置时,RTE 应使用 uint8-array API 将复合数据的序列化表示传递给 COM。 |
4.1.3 与应用软件组件的交互
包括应用软件组件、传感器组件和执行器组件。
主要需求概览:
| 需求 ID | 标题 | 简要描述 |
|---|---|---|
[SRS_Rte_00011] |
支持多个应用软件组件实例 | RTE 应支持同一应用/传感器/执行器软件组件类型映射到同一 ECU 上的多个实例。 |
[SRS_Rte_00012] |
多个以二进制代码交付的 AUTOSAR 软件组件实例应共享代码 | RTE 生成器应通过共享同一应用软件组件代码来实现同一 AUTOSAR 软件组件类型的多个实例化。 |
[SRS_Rte_00013] |
每实例内存 | RTE 应为应用软件组件提供每实例内存。 |
[SRS_Rte_00077] |
每实例内存的实例化 | RTE 生成器应根据软件组件描述中的属性实例化每个每实例内存段。 |
[SRS_Rte_00017] |
拒绝不一致的组件实现 | RTE 生成器应确保编译器可以检测(并拒绝)访问未定义的 RTE API 调用。 |
[SRS_Rte_00134] |
RTE 支持的 Runnable Entity 类别 | RTE 应支持 Runnable Entity 类别 1a、1b 和 2。 |
[SRS_Rte_00072] |
Runnable Entity 的激活 | RTE 应根据其链接的 RTEEvent 启动/恢复 Runnable Entity。 |
[SRS_Rte_00160] |
Runnable Entity 的去抖启动 | RTE 应允许配置 Runnable Entity 的去抖启动时间。 |
[SRS_Rte_00161] |
Runnable Entity 的激活偏移 | RTE 应允许定义 Runnable Entity 的激活偏移。 |
[SRS_Rte_00031] |
多个 Runnable Entity | RTE 应支持一个软件组件类型中的多个 Runnable Entity。 |
[SRS_Rte_00032] |
数据一致性机制 | RTE 应支持一种或多种用于确保应用软件组件实例内数据一致性的机制。 |
[SRS_Rte_00046] |
支持"可执行实体运行于"独占区 | RTE 应支持声明 Runnable Entity 或基础软件可调度实体"运行于"独占区。 |
[SRS_Rte_00142] |
支持 InterRunnableVariables | RTE 应支持 InterRunnableVariables。 |
[SRS_Rte_00033] |
服务器 Runnable Entity 的串行执行 | RTE 应支持服务器 Runnable Entity 的串行和非串行执行。 |
[SRS_Rte_00133] |
Runnable Entity 的并发调用 | RTE 必须允许并支持 Runnable Entity 的并发调用。 |
[SRS_Rte_00143] |
模式切换 | RTE 应实现 ModeSwitchEvent 和 ModeDisablingDependency 的功能。 |
[SRS_Rte_00176] |
NVRAM 数据共享 | 多个应用软件组件应能够通过端口访问 NvBlockComponentType 中定义的相同数据。 |
[SRS_Rte_00180] |
运行时 DataSemantics 范围检查 | 提供 RTE 中的功能以对 S/R 和 C/S 通信的数据元素值范围进行检查。 |
[SRS_Rte_00182] |
端口接口的自缩放信号 | 当显式指定时,RTE 应支持接口具有不兼容数据类型或不兼容数据语义的端口的连接。 |
[SRS_Rte_00236] |
支持 ModeInterfaceMapping | RTE 应支持连接由不同 ModeSwitchInterfaces 类型的端口。 |
[SRS_Rte_00237] |
Runnable Entity 的周期性激活 | RTE 应支持 Runnable Entity 的周期性激活。 |
4.1.4 与基础软件组件的交互
| 需求 ID | 标题 | 简要描述 |
|---|---|---|
[SRS_Rte_00152] |
支持端口定义参数值 | 应支持 AUTOSAR 软件组件模板中定义的"端口定义参数值"机制。 |
[SRS_Rte_00022] |
与回调的交互 | RTE 在执行回调时不应挂起执行。 |
[SRS_Rte_00062] |
对基础软件组件的本地访问 | RTE 应允许应用和基础软件组件通过 RTE 直接访问位于同一 ECU 上的基础软件组件的 AUTOSAR 接口。 |
[SRS_Rte_00169] |
将 RTE 分配的代码和内存映射到内存段 | RTE 应将其生成的代码和分配的内存映射到 RTE 内存段。 |
[SRS_Rte_00170] |
提供所用内存段的描述 | RTE 生成器应生成一个 XML 文件,描述通过 BSW 模块模板使用的内存段。 |
[SRS_Rte_00177] |
支持 NvBlockComponentType | RTE 应通过向 NVRAM Manager 提供 NvRAM 和 NvROM 块来支持 NvBlockComponentType。 |
[SRS_Rte_00228] |
NvBlock 回调函数的扇出 | RTE 应支持从 NVRAM Manager 到使用相应 NvBlock 的多个软件组件实例的 NvBlock 回调函数的扇出。 |
[SRS_Rte_00233] |
生成基础软件模块描述 | RTE 生成器应提供实际生成的 RTE 的基础软件模块描述。 |
[SRS_Rte_00241] |
支持分区系统上 BSW 服务调用的本地或远程处理 | 对于 BSW 模块可在多个分区中执行的系统,RTE 生成器应将来自 SWC 的 BSW 服务调用重定向到本地或远程分区。 |
[SRS_Rte_00245] |
支持 NV 数据的写入策略 | RTE 应提供一种机制以一定的时序模式(写入策略)将 RAM 块的更新 NV 数据写入 NV 内存。 |
4.1.5 BSW 调度器的生成
| 需求 ID | 标题 | 简要描述 |
|---|---|---|
[SRS_Rte_00211] |
BSW 可调度实体的基于周期时间的调度 | RTE 应支持 BSW 可调度实体的基于周期时间的调度。 |
[SRS_Rte_00212] |
BSW 可调度实体的激活偏移 | RTE 应允许定义 BSW 可调度实体的激活偏移。 |
[SRS_Rte_00213] |
BSW 模块的模式切换 | RTE 应支持 BSW 模块的模式切换。 |
[SRS_Rte_00214] |
基础软件和应用软件的通用模式处理 | RTE 应支持影响 BSW 模块和应用软件组件的模式协调切换。 |
[SRS_Rte_00215] |
用于向 SchM 通知模式切换的 API | SchM 应提供从 BSW 模式管理器向 SchM 通知活动模式的 API。 |
[SRS_Rte_00216] |
通过外部触发事件触发 BSW 可调度实体 | RTE 应支持通过外部触发的发生触发 BSW 可调度实体。 |
[SRS_Rte_00230] |
通过内部触发事件触发 BSW 可调度实体 | RTE 应支持通过内部触发的发生触发 BSW 可调度实体。 |
[SRS_Rte_00217] |
Runnable Entity 和 BSW 可调度实体的同步激活 | RTE 应支持 Runnable Entity 和 BSW 可调度实体的同步激活。 |
[SRS_Rte_00218] |
用于通过触发事件触发 BSW 模块的 API | RTE 应为通过触发事件触发 BSW 模块提供 API。 |
[SRS_Rte_00219] |
支持 Runnable Entity 和 BSW 可调度实体的交错执行序列 | RTE 应支持 Runnable Entity 和 BSW 可调度实体的交错执行序列。 |
[SRS_Rte_00220] |
ECU 生命周期相关的调度 | RTE 应支持 ECU 生命周期相关的调度。 |
[SRS_Rte_00221] |
支持 "BSW 集成" 构建 | RTE 应支持 BSW 集成构建。 |
[SRS_Rte_00222] |
在 BSW 服务模块和相应服务组件中支持共享独占区 | RTE 应在 BSW 服务模块和相应服务组件中支持共享独占区。 |
[SRS_Rte_00229] |
支持 BSW 模块的变体处理 | RTE 应支持 BSW 模块的变体处理。 |
[SRS_Rte_00243] |
支持 BSW 模块的跨分区通信 | RTE 应支持 BSW 模块的跨分区通信。 |
4.1.6 测量和标定支持
| 需求 ID | 标题 | 简要描述 |
|---|---|---|
[SRS_Rte_00153] |
支持测量 | RTE 应支持测量。 |
[SRS_Rte_00154] |
支持标定 | RTE 应支持标定。 |
[SRS_Rte_00156] |
支持不同的标定数据仿真方法 | RTE 应支持不同的标定数据仿真方法。 |
[SRS_Rte_00157] |
支持 NVRAM 中的标定参数 | RTE 应支持 NVRAM 中的标定参数。 |
[SRS_Rte_00158] |
支持标定参数分离 | RTE 应支持标定参数的分离。 |
[SRS_Rte_00159] |
标定参数共享 | RTE 应支持标定参数共享。 |
[SRS_Rte_00189] |
A2L 生成支持 | RTE 应支持 A2L 生成。 |
4.1.7 一般需求
| 需求 ID | 标题 | 简要描述 |
|---|---|---|
[SRS_Rte_00021] |
每 ECU 的 RTE 定制 | RTE 应支持每 ECU 的定制。 |
[SRS_Rte_00065] |
确定性生成 | RTE 生成应是确定性的。 |
[SRS_Rte_00028] |
"1:n" 发送方-接收方通信 | RTE 应支持 1:n 发送方-接收方通信。 |
[SRS_Rte_00131] |
"n:1" 发送方-接收方通信 | RTE 应支持 n:1 发送方-接收方通信。 |
[SRS_Rte_00029] |
"n:1" 客户端-服务器通信 | RTE 应支持 n:1 客户端-服务器通信。 |
[SRS_Rte_00079] |
单一异步客户端-服务器交互 | RTE 应支持单一异步 C/S 交互。 |
[SRS_Rte_00080] |
服务器的多个请求 | RTE 应支持服务器的多个请求。 |
[SRS_Rte_00162] |
"1:n" 外部触发通信 | RTE 应支持 1:n 外部触发通信。 |
[SRS_Rte_00163] |
支持 InterRunnableTriggering | RTE 应支持 InterRunnableTriggering。 |
[SRS_Rte_00235] |
支持队列触发 | RTE 应支持队列触发。 |
[SRS_Rte_00025] |
静态通信 | RTE 应支持静态通信。 |
[SRS_Rte_00144] |
RTE 应支持通过 AUTOSAR 接口通知模式切换 | RTE 应支持通过 AUTOSAR 接口通知模式切换。 |
[SRS_Rte_00018] |
拒绝无效配置 | RTE 生成器应拒绝无效配置。 |
[SRS_Rte_00055] |
RTE 使用全局命名空间 | RTE 应使用全局命名空间。 |
[SRS_Rte_00164] |
确保全局命名空间中生成的类型具有唯一命名 | RTE 应确保全局命名空间中生成的类型具有唯一命名。 |
[SRS_Rte_00165] |
抑制相同的"C"类型重定义 | RTE 应抑制相同的"C"类型重定义。 |
[SRS_Rte_00166] |
如果 AUTOSAR 数据类型映射到 AUTOSAR 标准类型,则在全局命名空间中使用 AUTOSAR 标准类型 | RTE 应遵循此规则。 |
[SRS_Rte_00167] |
封装软件组件本地命名空间 | RTE 应封装软件组件本地命名空间。 |
[SRS_Rte_00252] |
封装 BSW 模块本地命名空间 | RTE 应封装 BSW 模块本地命名空间。 |
[SRS_Rte_00126] |
C 语言支持 | RTE 应支持 C 语言。 |
[SRS_Rte_00138] |
C++ 语言支持 | RTE 应支持 C++ 语言。 |
[SRS_Rte_00051] |
RTE API 映射 | RTE 应进行 API 映射。 |
[SRS_Rte_00048] |
RTE 生成器输入 | RTE 应接受生成器输入。 |
[SRS_Rte_00023] |
RTE 开销 | RTE 应最小化开销。 |
[SRS_Rte_00024] |
源代码 AUTOSAR 软件组件 | RTE 应支持源代码 AUTOSAR 软件组件。 |
[SRS_Rte_00140] |
二进制代码 AUTOSAR 软件组件 | RTE 应支持二进制代码 AUTOSAR 软件组件。 |
[SRS_Rte_00083] |
源代码组件优化 | RTE 生成器应优化源代码组件。 |
[SRS_Rte_00027] |
VFB 到 RTE 映射应保留语义 | VFB 到 RTE 的映射应保留语义。 |
[SRS_Rte_00190] |
支持变长数据类型 | RTE 应支持变长数据类型。 |
[SRS_Rte_00234] |
支持记录类型子集 | RTE 应支持记录类型子集。 |
[SRS_Rte_00098] |
显式发送 | RTE 应支持显式发送。 |
[SRS_Rte_00129] |
隐式发送 | RTE 应支持隐式发送。 |
[SRS_Rte_00128] |
隐式接收 | RTE 应支持隐式接收。 |
[SRS_Rte_00141] |
显式接收 | RTE 应支持显式接收。 |
[SRS_Rte_00092] |
VFB 模型 "waitpoints" 的实现 | RTE 应实现 VFB 模型的 waitpoints。 |
[SRS_Rte_00145] |
兼容模式 | RTE 应支持兼容模式。 |
[SRS_Rte_00146] |
供应商模式 | RTE 应支持供应商模式。 |
[SRS_Rte_00148] |
支持 "内存映射规范" | RTE 应支持内存映射规范。 |
[SRS_Rte_00149] |
支持 "编译器抽象规范" | RTE 应支持编译器抽象规范。 |
[SRS_Rte_00150] |
支持 "平台类型规范" | RTE 应支持平台类型规范。 |
[SRS_Rte_00151] |
支持 "BSW 模块一般需求" 的 RTE 相关需求 | RTE 应支持 BSW 模块一般需求中的 RTE 相关需求。 |
[SRS_Rte_00171] |
支持固定和常量数据 | RTE 应支持固定和常量数据。 |
[SRS_Rte_00178] |
NvBlockComponentType 的数据一致性 | RTE 应保证 NvBlockComponentType 的数据一致性。 |
[SRS_Rte_00179] |
支持数据接收的 Update Flag | RTE 应支持数据接收的更新标志。 |
[SRS_Rte_00184] |
RTE 状态 "从未接收" | RTE 应提供 "从未接收" 状态。 |
[SRS_Rte_00191] |
支持变体处理 | RTE 应支持变体处理。 |
[SRS_Rte_00201] |
支持变体处理的合约阶段 | RTE 应在合约阶段支持变体处理。 |
[SRS_Rte_00202] |
支持数组大小变体 | RTE 应支持数组大小变体。 |
[SRS_Rte_00204] |
支持 SWC 原型的选择/取消选择 | RTE 应支持 SWC 原型的选择和取消选择。 |
[SRS_Rte_00206] |
支持信号提供者的选择 | RTE 应支持信号提供者的选择。 |
[SRS_Rte_00207] |
支持未解析变体影响通信时的 N 到 M 通信模式 | RTE 应支持 N 到 M 通信模式。 |
[SRS_Rte_00231] |
支持 Rte 和 Com 之间用于字符串和 uint8 数组的本地接口 | RTE 应支持用于字符串和 uint8 数组的本地接口。 |
[SRS_Rte_00232] |
Runnable Entity 的同步 | RTE 应支持 Runnable Entity 的同步。 |
[SRS_Rte_00238] |
允许启用获取可执行实体的激活事件的 RTE 功能 | RTE 应允许启用获取激活事件的功能。 |
[SRS_Rte_00244] |
支持旁路 | RTE 应支持旁路。 |
[SRS_Rte_00254] |
可选择的 RP 准备 | RTE 应支持可选择的 RP 准备。 |
[SRS_Rte_00255] |
RP 内存接口 | RTE 应支持 RP 内存接口。 |
[SRS_Rte_00256] |
条件旁路 | RTE 应支持条件旁路。 |
[SRS_Rte_00257] |
RunnableEntity 旁路 | RTE 应支持 RunnableEntity 旁路。 |
[SRS_Rte_00258] |
RTE 生成的服务点 | RTE 应支持生成的服务点。 |
[SRS_Rte_00259] |
手动插入的服务点 | RTE 应支持手动插入的服务点。 |
[SRS_Rte_00260] |
RP 接口文档 | RTE 应提供 RP 接口文档。 |
[SRS_Rte_00247] |
RTE 应执行 SWC 通信的转换器链 | RTE 应执行 SWC 通信的转换器链。 |
[SRS_Rte_00248] |
RTE 应为数据转换提供缓冲区 | RTE 应为数据转换提供缓冲区。 |
[SRS_Rte_00249] |
RTE 应向 SWC 提供转换错误 | RTE 应向 SWC 提供转换错误。 |
[SRS_Rte_00250] |
RTE 应向 SWC 提供变长数组的大小指示 | RTE 应向 SWC 提供变长数组的大小指示。 |
[SRS_Rte_00253] |
RTE 应在一个 ECU 内为 SWC/BSW 通信执行数据转换 | RTE 应在 ECU 内执行 SWC/BSW 通信的数据转换。 |
[SRS_Rte_00261] |
RTE 应支持可选结构成员 | RTE 应支持可选结构成员。 |
4.1.8 VFB 追踪
| 需求 ID | 标题 | 简要描述 |
|---|---|---|
[SRS_Rte_00005] |
RTE 生成器应支持 "trace" 构建 | RTE 生成器应支持追踪构建。 |
[SRS_Rte_00045] |
标准化的 VFB 追踪接口 | RTE 应提供标准化的 VFB 追踪接口。 |
[SRS_Rte_00008] |
VFB 追踪配置 | RTE 应支持 VFB 追踪配置。 |
[SRS_Rte_00192] |
支持多个追踪客户端 | RTE 应支持多个追踪客户端。 |
[SRS_Rte_00003] |
发送方-接收方通信的追踪 | RTE 应支持 S/R 通信的追踪。 |
[SRS_Rte_00004] |
客户端-服务器通信的追踪 | RTE 应支持 C/S 通信的追踪。 |
4.1.9 应用软件组件的初始化和终结化
| 需求 ID | 标题 | 简要描述 |
|---|---|---|
[SRS_Rte_00052] |
组件的初始化和终结化 | RTE 应支持组件的初始化和终结化。 |
[SRS_Rte_00070] |
Runnable Entity 的调用顺序 | RTE 应定义 Runnable Entity 的调用顺序。 |
[SRS_Rte_00239] |
支持基于规则的复合 DataPrototype 和复合基本类型 DataPrototype 的初始化 | RTE 应支持此类初始化。 |
[SRS_Rte_00240] |
支持初始化 Runnable 用于初始化目的 | RTE 应支持初始化 Runnable。 |
4.1.10 API
| 需求 ID | 标题 | 简要描述 |
|---|---|---|
[SRS_Rte_00100] |
与编译器无关的 API | RTE 应提供与编译器无关的 API。 |
[SRS_Rte_00168] |
RTE API 的类型化 | RTE API 应具有类型。 |
[SRS_Rte_00059] |
RTE API 应按值传递 "in" 基本数据类型 | RTE API 应按值传递 "in" 基本数据类型。 |
[SRS_Rte_00060] |
RTE API 应按引用传递 "in" 复合数据类型 | RTE API 应按引用传递 "in" 复合数据类型。 |
[SRS_Rte_00061] |
"in/out" 和 "out" 参数 | RTE API 应正确处理 "in/out" 和 "out" 参数。 |
[SRS_Rte_00115] |
数据一致性机制的 API | RTE 应提供数据一致性机制的 API。 |
[SRS_Rte_00075] |
访问每实例内存的 API | RTE 应提供访问每实例内存的 API。 |
[SRS_Rte_00107] |
支持 INFORMATION_TYPE 属性 | RTE 应支持 INFORMATION_TYPE 属性。 |
[SRS_Rte_00108] |
支持 INIT_VALUE 属性 | RTE 应支持 INIT_VALUE 属性。 |
[SRS_Rte_00109] |
支持 RECEIVE_MODE 属性 | RTE 应支持 RECEIVE_MODE 属性。 |
[SRS_Rte_00110] |
支持 BUFFERING 属性 | RTE 应支持 BUFFERING 属性。 |
[SRS_Rte_00111] |
支持 CLIENT_MODE 属性 | RTE 应支持 CLIENT_MODE 属性。 |
[SRS_Rte_00121] |
支持 FILTER 属性 | RTE 应支持 FILTER 属性。 |
[SRS_Rte_00147] |
支持通信基础设施超时通知 | RTE 应支持通信基础设施超时通知。 |
[SRS_Rte_00078] |
支持数据元素无效化 | RTE 应支持数据元素无效化。 |
[SRS_Rte_00122] |
支持传输确认 | RTE 应支持传输确认。 |
[SRS_Rte_00094] |
通信和资源错误 | RTE 应处理通信和资源错误。 |
[SRS_Rte_00084] |
支持基础设施错误 | RTE 应支持基础设施错误。 |
[SRS_Rte_00123] |
RTE 应将应用级错误从服务器转发到客户端 | RTE 应转发应用级错误。 |
[SRS_Rte_00124] |
客户端-服务器通信期间应用级错误的 API | RTE 应提供 C/S 通信期间应用级错误的 API。 |
[SRS_Rte_00089] |
独立访问接口元素 | RTE 应支持独立访问接口元素。 |
[SRS_Rte_00137] |
不匹配端口的 API | RTE 应提供不匹配端口的 API。 |
[SRS_Rte_00139] |
支持未连接的端口 | RTE 应支持未连接的端口。 |
[SRS_Rte_00200] |
支持未连接的 R-Port | RTE 应支持未连接的 R-Port。 |
[SRS_Rte_00155] |
访问标定参数的 API | RTE 应提供访问标定参数的 API。 |
[SRS_Rte_00183] |
返回数据元素值的 RTE 读 API | RTE 应提供返回数据元素值的读 API。 |
[SRS_Rte_00185] |
带 Rte_IFeedback 的 RTE API | RTE 应提供带 Rte_IFeedback 的 API。 |
[SRS_Rte_00203] |
读取系统常量的 API | RTE 应提供读取系统常量的 API。 |
[SRS_Rte_00242] |
支持跨核独占区 | RTE 应支持跨核独占区。 |
4.1.11 C/C++ API
| 需求 ID | 标题 | 简要描述 |
|---|---|---|
[SRS_Rte_00087] |
软件模块头文件生成 | RTE 应生成软件模块头文件。 |
4.1.12 初始化和终结化操作
| 需求 ID | 标题 | 简要描述 |
|---|---|---|
[SRS_Rte_00116] |
RTE 初始化和终结化 | RTE 应支持初始化和终结化。 |
4.1.13 分区重启和终止
| 需求 ID | 标题 | 简要描述 |
|---|---|---|
[SRS_Rte_00195] |
不在已终止或正在重启的分区中激活 Runnable Entity | RTE 应遵守此规则。 |
[SRS_Rte_00196] |
跨分区通信的一致性 | RTE 应保证跨分区通信的一致性。 |
[SRS_Rte_00223] |
用于分区终止通知的回调 | RTE 应提供分区终止通知的回调。 |
[SRS_Rte_00224] |
用于分区重启请求的回调 | RTE 应提供分区重启请求的回调。 |
4.1.14 错误操作
RTE 应支持错误处理以保证系统健壮性。
4.1.15 RTE 实现插件
| 需求 ID | 标题 | 简要描述 |
|---|---|---|
[SRS_Rte_00300] |
用于显式通信的 RTE 实现插件 | RTE 应支持用于显式通信的插件。 |
[SRS_Rte_00301] |
用于隐式通信的 RTE 实现插件 | RTE 应支持用于隐式通信的插件。 |
[SRS_Rte_00302] |
用于独占区的 RTE 实现插件 | RTE 应支持用于独占区的插件。 |
[SRS_Rte_00303] |
用于全局副本实例化的 RTE 实现插件 | RTE 应支持用于全局副本实例化的插件。 |
[SRS_Rte_00304] |
多个 RTE 插件 | RTE 应支持多个插件。 |
[SRS_Rte_00305] |
分级验证策略 | RTE 应支持分级验证策略。 |
[SRS_Rte_00306] |
RTE 实现插件的标准化接口 | RTE 应为实现插件提供标准化接口。 |
[SRS_Rte_00307] |
用于跨核通信的 RTE 实现插件 | RTE 应支持用于跨核通信的插件。 |
[SRS_Rte_00309] |
用于跨安全分区通信的 RTE 实现插件 | RTE 应支持用于跨安全分区通信的插件。 |
[SRS_Rte_00310] |
共享模式队列 | RTE 应支持共享模式队列。 |
[SRS_Rte_00311] |
模式切换的核同步转换 | RTE 应支持模式切换的核同步转换。 |
[SRS_Rte_00312] |
用于 C/S 通信中转换器的 RTE 实现插件 | RTE 应支持此类插件。 |
[SRS_Rte_00317] |
用于触发通信中转换器的 RTE 实现插件 | RTE 应支持此类插件。 |
[SRS_Rte_00313] |
RTE 实现插件属性的描述 | RTE 应描述实现插件属性。 |
[SRS_Rte_00314] |
避免嵌套临界区 | RTE 应避免嵌套临界区。 |
[SRS_Rte_00315] |
模式机实例访问的保护 | RTE 应保护模式机实例访问。 |
[SRS_Rte_00316] |
用于兼容模式的 RTE 实现插件 | RTE 应支持此类插件。 |
4.2 非功能需求
4.2.1 一般需求
| 需求 ID | 标题 | 简要描述 |
|---|---|---|
[SRS_Rte_00064] |
AUTOSAR 方法论 | RTE 应遵循 AUTOSAR 方法论。 |
[SRS_Rte_00019] |
RTE 是通信基础设施 | RTE 是 AUTOSAR 系统中的通信基础设施。 |
翻译说明
- 文档类型:SRS(Software Requirements Specification)— 软件需求规范
- 原文页数:106 页
- 翻译范围:本文档对需求追踪章节、文档元信息、变更历史进行了完整翻译;对第 4 章各节中的所有需求 ID 和关键描述进行了完整翻译。
- 保留内容:所有需求 ID(如
SRS_Rte_xxxxx)、技术术语、API 标识符、⌈⌋方框符、文档交叉引用。 - 未翻译:版权声明、详细使用案例和支持材料的逐字翻译(已在表格中给出关键描述)。
- 详细完整的需求描述(包括 Use Case、Supporting Material、Rationale、Dependencies 等完整字段)请参考原文 PDF。