AUTOSAR 安全扩展规范解析与图解
目录
1. 概述
本文档基于AUTOSAR安全扩展规范(Document ID 671: AUTOSAR_TPS_SafetyExtensions),通过图表和详细解释,阐述AUTOSAR安全扩展的核心概念、结构和应用方式。
AUTOSAR安全扩展旨在为符合ISO 26262标准的功能安全开发提供标准化的信息交换机制,确保不同供应商和工具之间的一致性安全信息管理。
2. AUTOSAR安全扩展概览
2.1 安全扩展基本架构
下图展示了AUTOSAR安全扩展的基本架构及其主要概念之间的关系:
2.1.1 安全需求类型
AUTOSAR将安全需求分为以下几类:
- 安全目标(Safety Goal): 源自危害分析和风险评估(HARA),是最高级别的安全需求
- 功能安全需求(Functional Safety Requirement): 从安全目标细化而来,描述功能安全概念
- 技术安全需求(Technical Safety Requirement): 细化功能安全需求,描述技术安全概念
- 软件安全需求(Software Safety Requirement): 细化技术安全需求,描述软件安全概念
- 硬件安全需求(Hardware Safety Requirement): 细化技术安全需求,描述硬件安全概念
- 外部安全需求(External Safety Requirement): 引用AUTOSAR文档外部的安全需求
每种安全需求在AUTOSAR XML中通过category
属性进行标识,分别对应为:SAFETY_GOAL
、SAFETY_FUNCTIONAL
、SAFETY_TECHNICAL
、SAFETY_SOFTWARE
、SAFETY_HARDWARE
和SAFETY_EXTERNAL
。
2.1.2 安全完整性级别(ASIL)
ASIL是ISO 26262定义的汽车安全完整性级别,分为QM(无安全要求)、A、B、C、D四个等级,其中D级表示最高的安全要求。AUTOSAR安全扩展支持以下ASIL值:
- 基本ASIL: QM、A、B、C、D
- 分解ASIL: QM(A)、QM(B)、QM©、QM(D)、A(B)、A©、A(D)、B©、B(D)、C(D)
括号中的值表示分解前的上下文ASIL,例如B(D)表示从ASIL D分解为ASIL B。
2.1.3 安全需求追溯和分配
安全需求追溯包括以下类型的关系:
- 细化/精炼关系: 安全需求层次之间的细化,如技术安全需求细化功能安全需求
- 分解关系: 安全需求的ASIL分解,将一个高ASIL需求分解为两个独立的较低ASIL需求
- 独立性需求: 确保分解元素之间的独立性,防止干扰
- 分配关系: 将安全需求分配到AUTOSAR元素,如软件组件、端口等
- 映射关系: 将安全需求映射到安全机制/措施
- 实现关系: AUTOSAR元素对安全需求或安全机制的实现
3. 安全需求追溯与分配示例
下图展示了安全需求的分解和分配过程的具体实例:
3.1 安全需求分解
在上图中,技术安全需求ECU_TSR_01(ASIL B)被分解为两个独立的安全需求:
- ECU_TSR_03(ASIL QM(B)): “CAN总线CAN_CL15到逻辑CL15_01消息的正确转换应该得到确保”
- ECU_TSR_047(ASIL QM(B)): “CAN消息CAN总线CAN_CL15应该被正确接收”
这种分解通过DECOMPOSITION
关系表示,同时需要满足独立性需求,以确保两个分解需求之间不会相互干扰。
3.2 安全需求映射和分配
分解后的安全需求被映射到相应的安全机制:
- ECU_TSR_03映射到"CAN总线消息转换机制"
- ECU_TSR_047映射到"CAN总线消息接收机制"
这些安全需求和安全机制最终被分配到AUTOSAR软件组件FLM上,该组件通过REALIZES
关系实现这些安全需求。
4. AUTOSAR安全需求的XML结构
下图展示了AUTOSAR安全需求在XML文档中的表示结构:
4.1 基本元素
安全需求在AUTOSAR XML中基于以下核心元素:
- StructuredReq: 结构化需求元素,继承自Referrable,包含category属性用于标识安全需求类型
- AdminData: 管理数据,包含安全相关的属性,如ASIL和状态
- Sdg/Sd: 特殊数据组和特殊数据,用于存储安全属性
- SdxRef: 特殊引用,用于表示分解、独立性、分配等关系
- TraceableText/L-1: 可追溯文本,用于需求描述和追溯
- Xfile: 外部文件引用,用于引用AUTOSAR外部的安全需求
4.2 XML表示示例
以下是安全需求在AUTOSAR XML中的表示示例:
<STRUCTURED-REQ>
<SHORT-NAME>SysSafReq05</SHORT-NAME>
<CATEGORY>SAFETY_TECHNICAL</CATEGORY>
<ADMIN-DATA>
<SDGS>
<SDG GID="SAFEX">
<SD GID="ASIL">B</SD>
<SD GID="STATUS">PROPOSED</SD>
</SDG>
</SDGS>
</ADMIN-DATA>
<DESCRIPTION>...</DESCRIPTION>
</STRUCTURED-REQ>
安全需求的分解关系示例:
<SDG GID="DECOMPOSITION">
<SDX-REF DEST="STRUCTURED-REQ" BASE="SAFEX">ECU_TSR_03</SDX-REF>
</SDG>
5. 应用指南
5.1 安全需求定义
- 使用适当的
category
属性标识安全需求类型 - 为每个安全需求分配唯一的
shortName
,作为全局标识符 - 为安全需求设置正确的ASIL属性
- 为安全需求添加状态属性,跟踪需求生命周期
5.2 安全需求分解
- 确保分解后的两个安全需求是独立的
- 使用
INDEPENDENCE
属性引用确保独立性的需求 - 遵循ISO 26262-9中的ASIL分解规则
- 使用适当的ASIL标记法表示分解(如B(D))
5.3 安全需求分配
- 将安全需求分配到适当的AUTOSAR元素
- 确保AUTOSAR元素的ASIL不低于分配给它的安全需求的ASIL
- 可以使用
REALIZES
关系表示AUTOSAR元素对安全需求的实现
6. 总结
AUTOSAR安全扩展为在AUTOSAR环境中进行ISO 26262合规开发提供了标准化的安全信息交换机制。通过定义安全需求类型、ASIL属性、追溯关系和分配机制,使不同供应商和工具之间能够一致地管理安全信息。
本文通过图表和解释,详细阐述了AUTOSAR安全扩展的核心概念和应用方式,包括:
- 安全需求的分类与层次结构
- ASIL级别和ASIL分解机制
- 安全需求追溯和分配方法
- XML结构表示
这些知识对于在AUTOSAR环境中实施功能安全开发至关重要,能够帮助开发者符合ISO 26262标准的要求,提高汽车电子系统的功能安全性。