1 文档范围(Scope of document)
AUTOSAR 关于功能抑制管理器(Function Inhibition Manager,FIM)的工作目标与本文档的目标是定义 FIM 功能需求。重点在于 FIM 的范围,也涉及与其他 AUTOSAR 控制机制(如 RTE)的区分,以及其元素在何种程度上需要可配置、应符合哪些前提条件以满足定制需求。
本工作包中不定义这些新元素本身。不过,关于所需基础软件元素的附加信息应提供给相关工作组。
约束:基础软件模块需求规范的首要范围是非安全相关的系统。对于安全相关系统中基础软件模块的实现,应当检查是否需要附加需求。
2 如何阅读本文档(How to read this document)
每个需求都有以 BSW("Basic Software",基础软件)前缀开头的唯一标识符。对于任何评审注释、意见或问题,请引用此唯一 ID 而非章节或页码!
2.1 使用的约定(Conventions used)
- AUTOSAR 文档中的需求表示遵循 [1, TPS_STDT_00078] 中指定的表格。
- 在需求中,使用以下特定语义(来自 IETF 的 RFC 2119):
本文档中的关键字 MUST、MUST NOT、REQUIRED、SHALL、SHALL NOT、SHOULD、SHOULD NOT、RECOMMENDED、MAY 和 OPTIONAL 应按以下方式解释:
注意:使用这些词所在文档的需求级别会修改这些词的强制力。
- MUST(必须):该词或形容词 "LEGALLY REQUIRED",表示该定义是规范的绝对要求(基于法律问题)。
- MUST NOT(不得):该词组或短语 "MUST NOT",表示该定义是规范的绝对禁止(基于法律问题)。
- SHALL(应当):该词组或形容词 "REQUIRED",表示该定义是规范的绝对要求。
- SHALL NOT(不得):该词组表示该定义是规范的绝对禁止。
- SHOULD(建议):该词或形容词 "RECOMMENDED",表示在特定情况下可能存在合理的理由忽略特定项,但在选择不同方案之前必须充分理解并谨慎权衡全部含义。
- SHOULD NOT(不建议):该词组或短语 "NOT RECOMMENDED",表示在特定情况下该行为可能是可接受的甚至有用的,但在实现任何以此标签描述的行为之前,应充分理解其含义并谨慎权衡。
- MAY(可以):该词或形容词 "OPTIONAL",表示该项是真正可选的。一个供应商可能选择包含该项,因为特定市场需要它或因为供应商认为它能增强产品,而另一个供应商可能省略相同的项。
不包含特定选项的实现应当准备好与包含该选项的另一实现互操作,尽管可能功能减少。同理,包含特定选项的实现应当准备好与不包含该选项的另一实现互操作(当然,该选项提供的功能除外)。
2.2 需求结构(Requirements structure)
每个模块特定章节包含基础软件模块的简短功能描述。每个章节中的同类需求按以下标题分组(如果适用):
功能需求:
- 配置(哪些模块元素需要可配置)
- 初始化
- 正常运行
- 关闭操作
- 故障操作
- ...
非功能需求:
- 时序需求
- 资源使用
- 可用性
- 其他 WP 的产出(例如描述模板、工具...)
- ...
3 缩略语与缩写(Acronyms and abbreviations)
| 缩略语 / 术语 | 说明 |
|---|---|
| Activity state(活动状态) | 活动状态是正在执行的软件组件的状态。活动状态源自作为前置条件的权限状态以及物理使能条件。它不由 FIM 计算,也不作为状态变量可用。它只能从软件组件内的本地信息推导。 |
API | Application Programming Interface(应用程序编程接口) |
BSW | Basic Software(基础软件) |
DEM | Diagnostic Event Manager(诊断事件管理器) |
ECU | Electronic Control Unit(电子控制单元) |
EOL | End Of Line(产线下线) |
ESD | Electro Static Disturbance(静电干扰) |
ESP | Electronic Stability Program(电子稳定程序) |
FID | Function Identifier(功能标识符) |
FIM | Function Inhibition Manager(功能抑制管理器) |
| Functionality(功能) | 功能包括系统的用户可见和用户不可见的功能方面(AUTOSAR_Glossary.pdf [2])。 此外——在 FIM 上下文中——功能可由一个、若干或部分可运行实体的内容构建,这些可运行实体具有相同的权限/抑制条件集。通过 FIM,可以配置这些功能的抑制甚至通过标定进行修改。每个功能由唯一的功能 ID(FID)表示。功能以其特定的抑制条件集为特征,而可运行实体则具有特定的调度条件。 |
HW | Hardware(硬件) |
ID | Identification/Identifier(识别/标识符) |
ISO | International Standardization Organization(国际标准化组织) |
| IUMPR | In Use Monitoring Performance Ratio(在使用监测性能比): 在使用监测性能比(IUMPR)表示 OBD 系统监测特定部件的频率与车辆操作量之比。其定义为可发现故障的次数(=分子)除以车辆操作已完成的次数(=分母),如各 OBD 法规中所定义。 |
MIL | Malfunction Indication Light(故障指示灯) |
| Monitoring function(监测功能) |
|
NVRAM | Non Volatile Memory(非易失性存储器) |
OBD | Onboard Diagnostics(车载诊断) |
OEM | Original Equipment Manufacturer(原始设备制造商) |
OS | Operating System(操作系统) |
| Permission state(权限状态) | 权限状态包含由其 FID 表示的功能是可执行还是不应运行的信息。该状态由 FIM 根据报告的事件控制。 |
RAM | Random Access Memory(随机访问存储器) |
ROM | Read-only Memory(只读存储器) |
RTE | Runtime Environment(运行时环境) |
| Runnable entity(可运行实体) | 可运行实体是原子软件组件的一部分,可以独立于该原子软件组件的其他可运行实体执行和调度。它由可由 RTE 启动的指令序列描述。每个可运行实体与恰好一个 EntryPoint 关联。 |
SW-C | Software Components(软件组件) |
Xxx_ | API 提供者的占位符 |
4 需求规范(Requirement Specification)
4.1 功能概述(Functional Overview)
功能抑制管理器(FIM)负责为软件组件及其内部功能提供控制机制。在此上下文中,功能可由一个、若干或部分可运行实体的内容构建,这些可运行实体具有相同的权限/抑制条件集。通过 FIM,可以配置这些功能的抑制甚至通过标定进行修改。因此,将功能适配到具有修改的物理边界条件和影响的新系统环境中得以显著增强。
FIM 意义上的功能与可运行实体是不同且独立的分类类型。可运行实体主要由其调度需求来定义。相比之下,功能由其抑制条件分类。FIM 服务重点关注 SW-C 中的应用,但不仅限于它们。BSW 的功能也可以使用 FIM 服务。
注意,RTE 与 FIM 之间没有功能关系。RTE 仅提供通信,即将 SW 组件的所需端口与 FIM 的提供端口相连接。但 RTE 不实现 FIM 的任何功能。相比之下,FIM 处理抑制条件并通过各自的标识符(FID)为可运行体内的功能控制提供支持机制。因此,FIM 与 RTE 概念彼此不干扰。
4.2 功能需求(Functional Requirements)
4.2.1 配置(Configuration)
[SRS_Fim_04701] FIM 监管的功能应当由静态配置定义。
| 类型 | Valid |
|---|---|
| 描述 | 应当由静态配置定义应由功能抑制管理器(FIM)监管的功能集。 |
| 理由 | 只有通过 FID 监管的功能才能使用 FIM 功能/服务(可配置的权限状态)。FIM 必须处理功能的 FID,以在所请求的部分上提供执行权限的自动检查机制。 |
| 用例 | 由 FIM 处理的 FID 数量强烈依赖于应用。因此,FID 列表应当由配置定义。 |
| 支持材料 | — |
| 满足 | RS_BRF_02216 |
[SRS_Fim_04702] FIM 应当支持不同的抑制选项。
| 类型 | Valid |
|---|---|
| 描述 | FIM 应当支持不同的抑制选项。可能的抑制选项基于由 DEM 提供的 Dem_EventStatusExtendedType(TestFailed、Passed 等)。FIM 至少应当支持由于事件状态"failed"而产生的抑制。DEM 与 FIM 之间的信息交换通过转发扩展事件状态来确保。FIM 的反应只能基于此。 |
| 理由 | 检测到故障时最常见的反应是停用受影响的功能。因此,FIM 应当支持由于"failed"而产生的抑制。 |
| 用例 | 如果重要传感器发生故障,例如适配功能应当停止,以防止错误的适配值。 |
| 支持材料 | AUTOSAR_SWS_DEM |
| 满足 | RS_BRF_02216 |
[SRS_Fim_04719] 应当提供汇总诊断事件状态的机制。
| 类型 | Valid |
|---|---|
| 描述 | FIM 应当提供处理汇总诊断事件状态的机制。汇总诊断事件状态意味着从软件组件中的若干单独故障计算组合故障。然而,并未详细说明此需求是通过配置过程还是通过 FIM 实现来完成。 |
| 理由 | 更易于标定、对诊断包变更具有鲁棒性、减少资源消耗。 |
| 用例 | 所有指示传感器故障的故障。 |
| 支持材料 | — |
| 满足 | RS_BRF_02216 |
[SRS_Fim_04706] 应当提供功能的抑制条件的单独配置。
| 类型 | Valid |
|---|---|
| 描述 | FIM 应当按 FID 配置,以灵活地将事件关联到它。事件 - FID(抑制)关系应当可在配置的限制内通过标定进行更改,例如 FID 数量、支持的抑制掩码等。注意,汇总事件也可在此考虑([SRS_Fim_04719] 应提供汇总诊断事件状态机制)。 |
| 理由 | 故障的结果是可用功能的减少。这必须通过故障和 SW 组件的相关信息进行配置。 |
| 用例 | 氧传感器故障将导致报告相应的事件,进而导致催化器诊断功能的减少。 |
| 支持材料 | — |
| 满足 | RS_BRF_02216 |
4.2.2 初始化(Initialization)
[SRS_Fim_04712] 启动时的权限状态应当被初始化。
| 类型 | Valid |
|---|---|
| 描述 | 基于所有恢复的事件状态信息(不仅仅是存储在故障存储器中的事件),FIM 需要在初始化时计算所有 FID 的权限状态。 |
| 理由 | FIM 需要获得可能影响 FID 权限的事件通知。 |
| 用例 | — |
| 支持材料 | — |
| 满足 | RS_BRF_01136、RS_BRF_02216 |
4.2.3 正常运行(Normal Operation)
[SRS_Fim_04700] 应当提供用于查询 FID 权限状态的接口。
| 类型 | Valid |
|---|---|
| 描述 | FIM 应当向 SW 组件和/或 BSW 模块(如 DEM 中的 IUMPR 计算)提供接口,以便它们能够查询其权限状态。FID 必须作为参数传递,返回值为允许或禁止(权限 yes/no)。 |
| 理由 | 其他 BSW 模块和软件组件应当独立于 FIM 的实现。唯一相关信息是权限状态。因此,应当通过以 FID 为参数的接口函数查询发布状态。 |
| 用例 | 如果氧传感器被检测为已故障,则不应执行催化器监测功能。如果通过 FID 控制催化器监测功能,则传感器报告的故障应导致 FID 被禁止。 |
| 支持材料 | — |
| 满足 | RS_BRF_02216、RS_BRF_01440 |
[SRS_Fim_04709] 在执行功能之前应当评估权限状态。
| 类型 | Valid |
|---|---|
| 描述 | 由 FID 通过使用 FIM 监管的功能应查询 FIM 的权限。如果 FID 被释放,则在满足所有其他使能条件时可以执行该功能。另一方面,如果 FID 被禁止,则不得执行该功能。 |
| 理由 | 主要功能。 |
| 用例 | 不活动的功能必须防止执行。由于 FIM 规范的目标是通知机制,权限在应用 SW 中查询。在那里,需要检查所有使能条件。 |
| 支持材料 | — |
| 满足 | RS_BRF_02216 |
[SRS_Fim_04713] 应当提供计算权限状态的方法。
| 类型 | Valid |
|---|---|
| 描述 | FIM 应当提供计算单个 FID 权限状态的方法。权限状态源自与 FID 相关的诊断事件状态。这些事件状态被报告给 DEM,然后转发给 FIM(SRS_Fim_04700)。 |
| 理由 | 本需求重点在于提供计算权限状态的方法。不应当明确要求存储 FID 的权限状态或在请求权限时计算它。 |
| 用例 | 假设 FID_alpha 应由 event_1 或 event_2 禁止,因此 FID_alpha 的权限状态取决于 event_1 和 event_2 的状态。在请求 FID_alpha 的权限时,可以评估 event_1 和 event_2 的状态。或者,可以提供 FID_alpha 的状态信息,每当 event_1 或 event_2 更改时该信息都会更新。 |
| 支持材料 | — |
| 满足 | RS_BRF_02216 |
[SRS_Fim_04717] 权限状态应当被更新。
| 类型 | Valid |
|---|---|
| 描述 | FIM 应当向 DEM 提供 API,以便获得关于报告事件的相关状态变化的通知。然后,可以更新相关 FID 的状态。 |
| 理由 | FIM 需要获得可能影响 FID 权限的事件通知。 |
| 用例 | — |
| 支持材料 | — |
| 满足 | RS_BRF_02216 |
[SRS_Fim_04723] FIM 应当为每个 FID 提供一个布尔型配置选项。
| 类型 | Valid |
|---|---|
| 描述 | FIM 应当为每个 FID 提供一个布尔型配置选项。 |
| 理由 | 用例特定的功能配置,ECU 中只可以执行所需的功能。 |
| 用例 | 变体编码(Variant coding)。 |
| 支持材料 | — |
| 满足 | — |
[SRS_Fim_04721] 应当支持 OBD 功能。
| 类型 | Valid |
|---|---|
| 描述 | 对于 OBD,需要跟踪监测器的在使用性能。为此,DEM 生成记录。为了考虑抑制故障对监测器的影响,FIM 应当向 DEM 提供对其配置数据的访问。 |
| 理由 | DEM 需要访问抑制关系以处理 IUMPR 数据。 |
| 用例 | — |
| 支持材料 | — |
| 满足 | RS_BRF_02216 |
4.2.4 关闭操作(ShutDown Operation)
无需求。
4.2.5 故障操作(Fault Operation)
无需求。
4.3 非功能需求(Non-Functional Requirements)
4.3.1 时序需求(Timing Requirements)
无需求。
4.3.2 资源使用(Resource Usage)
无特殊需求。使用取决于实现和硬件。
5 需求追溯(Requirements Tracing)
下表引用了 [3] 中指定的特性,并链接到这些特性的实现。
| 特性 | 描述 | 由以下 SRS 满足 |
|---|---|---|
RS_BRF_01136 | AUTOSAR 应当支持在系统启动后解析的已配置 BSW 数据变体。 | SRS_Fim_04712 |
RS_BRF_01440 | AUTOSAR 服务应当支持系统诊断功能。 | SRS_Fim_04700 |
RS_BRF_02216 | AUTOSAR 诊断应当允许在运行时降级有故障的功能,以保持最低的 ECU/车辆可操作性。 | SRS_Fim_04700、SRS_Fim_04701、SRS_Fim_04702、SRS_Fim_04706、SRS_Fim_04709、SRS_Fim_04712、SRS_Fim_04713、SRS_Fim_04717、SRS_Fim_04719、SRS_Fim_04721 |
6 参考资料(References)
6.1 AUTOSAR 交付物
- [1] 标准化模板(
AUTOSAR_TPS_StandardizationTemplate) - [2] 术语表(
AUTOSAR_TR_Glossary) - [3] AUTOSAR 特性需求(
AUTOSAR_RS_Features)
6.2 相关标准与规范
6.2.1 ITEA-EAST
- [10] D1.5-通用架构;ITEA/EAST-EEA,1.0 版;第 3 章,72 页起。
- [20] D2.1-嵌入式基础软件结构需求;ITEA/EAST-EEA,1.0 或更高版本。
- [30] D2.2-现有解决方案描述;ITEA/EAST-EEA,1.0 或更高版本。