基于UML/MARTE的汽车安全关键系统设计手段

news/2025/10/10 8:16:25/文章来源:https://www.cnblogs.com/tlnshuju/p/19132295

基于UML/MARTE的汽车安全关键系统设计手段

2025-10-10 08:08  tlnshuju  阅读(0)  评论(0)    收藏  举报

摘要

如今汽车中电子 / 电气系统的复杂性正不断提升。高度分布式系统(即所谓的信息物理系统)与物理世界相互作用并对其产生影响,这带来了新的挑战。行业需要像 UML/MARTE 这样的建模语言,在整个设计过程中为工程师和管理人员献出支持,以降低成本并缩短产品上市时间。尤其对于安全关键系统,从高层框架描述到硬件和软件的详细建模,在各个抽象层级都必须考虑安全因素。在此过程中,不仅要考虑功能需求,还需兼顾非功能需求。本文提出了一种无缝的模型驱动架构方法,用于在功能安全标准 ISO 26262 的整个设计阶段对安全关键平台进行建模。此外,为解决可追溯性问题,本文采用 SysML 扩展 MARTE,以实现半形式化需求建模。为验证该办法的有效性,将其应用于电池管理系统这一工业用例。结果表明,MARTE 完全适用于汽车领域不同粒度层级的系统建模,且符合机制安全需求。

1、引言

如今的汽车由高度繁琐的电子 / 电气(E/E)体系构成,其中的传感器与执行器相互联网,实际上,现代汽车或多或少可被视为 “装在车轮上的智能手机”。显而易见,汽车正朝着全电子 / 电气化方向发展,传统内燃机正逐渐被淘汰。这些系统的传感与控制工作由高度分布式的电子控制单元(ECU)做完,目前一辆电动汽车中集成的微控制器数量已多达 100 个,这一现象并不罕见。

近年来,车载电子 / 电气架构的发展趋势以及新型应用的出现,推动框架朝着多核、异构、网络化和可重构的方向快速转变。此类环境的设计与开发极为艰难,给来自不同领域的(硬件和软件)设计师在应用开发过程中带来了巨大挑战。下一代此类系统需能够在系统的不同部分(如多个 ECU、单个 ECU 多核架构中的处理器和数字信号处理器(DSP))上并行运行。应用领域正不断拓展,涵盖多媒体、信息娱乐、高级驾驶辅助框架(ADAS)、导航等多个方面。这一变化对设计、开发和管理工作产生了影响,进而导致生产成本增加和产品上市时间延长。欧洲工业界也已认识到这一问题。

随着汽车领域复杂性的不断提升,安全已成为未来汽车开发的关键问题。特别是对于与物理世界相互作用并产生影响的信息物理平台而言,仅对单一行为进行测试已远远不够。在开发周期的早期阶段,就必须在各个粒度层级对整个系统进行验证。汽车电子 / 电气系统功能安全标准 ISO 26262也推荐采用这一做法。ISO 26262 是机制安全标准 IEC 61508 在汽车领域的适应性版本,目前汽车原始设备制造商(OEM)及电子 / 电气系统供应商均需遵守该标准。ISO 26262 在产品全生命周期的各个抽象层级为管理人员和工程师提供支持。由于需要考虑多种系统假设和设计方案,基于模型的方法成为工程师和多方利益相关者开展工作的重要基础。该方法能帮助设计师快速、全面地了解系统,为沟通献出有效途径,尤其适用于涉及多个设计团队参与的复杂系统构建场景。

MARTE 是对这类系统进行建模的有效工具。它是 UML2 的扩展规范,具备对硬件、软件以及时序和性能行为进行建模的能力。目前,许多半导体厂商和供应商都在利用 MARTE。尽管 MARTE 在汽车领域的应用尚未普及,但随着汽车电气化进程的推进,越来越多的组件与电子 / 电气系统相关联,未来 MARTE 必将在降低开发成本、缩短开发时间方面发挥关键作用。此外,MARTE 是欧洲 Catrene 工程 OpenES中的主导系统设计语言。OpenES 是一项欧洲发起的倡议,旨在填补当前平台设计领域的空白,构建通用解决方案以保持行业竞争力。该计划特殊关注对功能需求的整体支持,同时也重视对时序、热问题和功耗等非功能需求的支持。

UML 的另一优势在于,目前已有多款商业和开源工具对其提供拥护,例如 Eclipse 的 Papyrus。该工具能协助设计师使用 UML 以及 MARTE、SysML 等扩展规范进行系统建模。

本文提出了一种在不同抽象层级对安全关键系统进行建模的手段。研究表明,现有建模语言能够完整呈现功能安全标准 ISO 26262 的整个设计流程,且无任何妥协,同时还能为安全分析提供额外功能拥护。为此,本文采用了在 OpenES 工程中完善的模型驱动架构(MDA)改进版本。研究证明,从任务定义、系统设计到软硬件分离的整个过程,都可映射到图 1 所示的基于模型的方法中。在该方法中,ISO 26262 的每个层级在 MDA 中都有对应的层级,这有助于设计师和工程师在设计阶段的各个层级保持一致的认知。此外,在需求阶段,本文利用 SysML 的能力在不同抽象层级对各项需求进行建模,从而实现与设计阶段模型和图表的无缝衔接。研究还表明,MARTE 非常适合汽车领域复杂系统的设计工作。

图1. ISO 26262设计阶段到MDA映射

本文结构如下:第 2 节介绍研究现状及相关工作;第 3 节简要概述机制安全及安全生命周期;第 4 节阐述模型驱动架构技巧及所运用的建模语言;第 5 节介绍将该方法应用于电池管理系统案例研究的具体情况;终于在第 6 节得出结论。

2、相关工作

多篇文献探讨了如何在协同设计过程中使用 MARTE,这些文献阐述了 MARTE 如何与模型驱动架构及规定的抽象层级相契合,同时也讨论了在设计过程中如何在不同抽象层级对硬件和软件进行建模,以及如何对额外功能属性进行建模和如何将软件应用映射到平台等问题。然而,这些文献既未考虑与 SysML 需求的可追溯性,也未涉及安全约束的建模。

文献 的作者提出了在安全关键系统开发中应用 ISO 26262 的概念,重点探讨了该能力安全标准第 3 部分(概念阶段)和第 4 部分(系统级产品开发)中涉及的体系层面问题,但未考虑硬件或软件的详细建模。此外,该文献未采用 UML 等标准进行系统建模,也无法在整个设计阶段实现无缝流程。该手段既未说明如何在流程中添加行为图,也未定义安全状态或其他行为特性,且仅部分达成了与结构图表和行为图表的可追溯性。

文献讨论了在汽车行业及功能安全标准中如何将 SysML 用作需求表示工具。这些文献的作者展示了如何在不同抽象层级以半形式化的方式对需求进行建模,同时也解决了安全生命周期需求阶段不同层级之间的可追溯性难题。其中一种方式通过扩展 SysML 来定义安全关键系统的需求;文献则考虑了需求与结构模型和行为模型的分配问题。该手段很好地展示了如何利用 SysML 在不同抽象层级对需求进行建模,但遗憾的是,它并未覆盖 ISO 26262 的整个设计阶段,且仅局限于 UML/SysML 图表的可追溯性。本文将以该方法为基础,实现标准所推荐的全方面可追溯性。由于上述方法均未将 MARTE 视为硬件和软件的详细建模语言,因此本文将展示如何利用 SysML 搭建与多个层级 MARTE 模型的可追溯性。

EAST-ADL是汽车领域一种成熟的建模语言,关键用于汽车嵌入式电子系统的开发,常与致力于软件开发生标准化的 AUTOSAR 协同应用。该语言是在 ITEA 合作项目 EAST-EEA 以及后续的 ATESST、MEANAD等计划的背景下开发的。由于 EAST-ADL 已被纳入 Eclipse Papyrus,因此也可启用 SysML 需求模型来定义需求。

实现效果安全标准与 EAST-ADL 抽象层级的映射,但这些层级与模型驱动架构并不兼容,且该方法也未涵盖 ISO 26262 的所有设计层级。此外,EAST-ADL 缺乏对时序、性能属性及其他额外功能属性的引用能力,而 MARTE 则对这些属性进行了详细的处理。就是EAST-ADL 分为五个抽象层级,每个层级对应相应的系统行为,分别是车辆层、分析层、设计层、实现层和操作层。EAST-ADL 建立在 AUTOSAR 基础之上,仅覆盖从车辆层到设计层的抽象层级,而实现层和操作层则通过 AUTOSAR 进行建模。此种架构使得 ISO 26262 标准所要求的自上而下的可追溯性以及需求可追溯性的实现变得极为繁琐且容易出错。ATESST 和 MEANAD 项目的目标之一

随着汽车领域越来越多的系统涉及实时嵌入式系统,将安全标准应用于 MARTE 已成为安全关键系统开发的下一步重要工作。

3、功能安全

ISO 26262 是功能安全标准 IEC 61508 在汽车电子 / 电气系统领域的适应性版本。由于 ISO 26262 在法律层面被视为行业最佳实践,如今汽车原始设备制造商(OEM)及其供应商均需遵守该标准。该标准针对与安全相关的电子 / 电气系统因故障而引发的危害进行了规范,并涵盖了产品全生命周期内的功能安全方面。它以行业标准的 V 模型(即汽车安全生命周期)的形式,对危害识别、设计、实施和测试等环节进行了规定。该标准还通过汽车安全完整性等级(ASIL)分析,明确了硬件和软件组件开发所需的各项安全需求。针对每个具有 ASIL 分类的危害事件,需制定相应的安全目标。这些安全目标是整个安全生命周期链条的起点,进而形成安全档案,以证明系统具备可接受的安全性。安全档案用于收集和呈现证据,为安全声明和论证给出支持。本文主要关注 V 模型的左侧部分,即从概念阶段到产品开发阶段的内容。由于 V 模型右侧涉及验证、测试和生产环节,超出了本文方法的研究范围,因此暂不涉及。本文采用 MDA 方法,展示如何在汽车安全标准的设计阶段对安全方面进行建模。

4、模型驱动架构

4.1 建模语言

对象管理组织(OMG)制定的建模标准,它凭借图形化方式对软件及其他系统进行规范和文档化描述,能够全面呈现系统的整体情况、各个组件及其相互之间的交互关系。UML 包含多种类型的结构图(如类图、组件图、复合结构图)和行为图(如活动图、用例图、状态机图)。尽管 UML 非常适合软件开发,但它不具备设计硬件和非功能属性的能力。就是UML

另一种办法是采用领域特定建模语言 SysML。它采用了 UML2 的子集,并献出了额外的扩展功能,用于在系统工程中描述复杂系统。SysML 为 UML2 新增了两种图表(需求图、参数图),分别用于需求工程和性能分析,为需求到组件或行为图的分配提供了良好机制,但在硬件和资源建模方面不够精准。

通过MARTE 是 OMG 为解决 UML 在平台建模方面的不足而制定的适应性规范。MARTE是一种领域特定建模语言,适用于信息物理系统中实时嵌入式软件的基于模型的设计与分析。MARTE 作为 UML2 的一种规范,献出了 UML 所缺失的实时系统建模额外机制。其优势在于,通过 HRM(硬件资源模型)和 SRM(软件资源模型)构造型,能够精确地对硬件和软件资源进行建模。此外,借助 MARTE 的分配机制,能够将软件应用分配到硬件资源上。MARTE 遵循信息物理系统的理念,关注整个系统而非一系列专门的部件,这也与 ISO 26262 对安全关键平台设计的建议相符。

随着采用更正式的建模语言并进一步挖掘其潜力的趋势日益明显,MDA 方法的重要性也不断提升。从不同子规范的定义可以看出,MDA 已融入 MARTE 语言之中。欧洲层面也认识到了这一发展的重要性,在 Catrene 工程 OpenES 中,MARTE 和 MDA 方法占据了要紧地位。本文方法仅使用标准化的 MARTE 元素。

4.2 改进的模型驱动架构

在 OpenES 计划中,由于 OMG 制定的标准 MDA 层级未得到充分明确的规定,且缺乏形式化定义,项目合作伙伴对 MDA 方法进行了改进(如图 1 所示)。该图展示了 ISO 26262 设计阶段不同层级与 MDA 层级之间的映射关系。在本文方法中,功能安全标准的每个层级在 MDA 方法中都有对应的层级。各层级的详细定义如下:

计算独立模型(CIM):旨在给出体系级视图,主导聚焦于系统的效果结构,不涉及功能构建方式的具体信息,尤其不含有软硬件识别相关内容。此外,这类模型的精度不足以协助模型执行。尽管 CIM 缺乏显式或隐式的计算模型,但它可以包含系统级用例,以展示不同功能块之间的同步和异步通信。不过,CIM 的抽象程度较高,无法对非功能属性进行规范。

平台独立模型(PIM):除具备 CIM 的功能外,还包含 UML 状态机、活动图等额外的行为模型。此外,在该改进层级中,可以表达时序、功耗、热问题、安全性等非功能属性。PIM 并非完全可执行的模型,仅能对整个系统的部分内容进行更精确的细化。如果未在图表中直接表达行为,则可将模型与现有的实现代码相关联。这些模型可用于对系统行为进行早期的高层级仿真。PIM 所呈现的规范内容,在不同平台间具有稳定性,不会因平台变化而改变。

改进的 PIM:该层级的明确设立旨在与 OpenES 的子系统定义概念相契合。它依据对 PIM 进行能力分解,使分解后的每个功能块粒度足够精细,能够分配到单个硬件或软件执行资源上。也就是说,一个 PIM 功能块不能分配到多个执行资源上,因此需要先将功能块拆分为不同的子功能。此外,在将这些子功能映射到不同执行资源之前,需明确它们的通信接口。

平台特定模型(PSM):涵盖多个方面的内容。首先,它需包含用于描述执行平台的元素,包括硬件和软件执行资源。在硬件方面,模型可包含寄存器、内存映射信息等底层细节;在软件方面,执行平台描述可明确操作系统相关信息,如任务、调度算法、中间件服务等。除平台描述外,PSM 还涵盖对 PIM 模型的进一步改进,即将平台无关的功能组件转换为平台特定的组件,并明确引用执行资源服务。PSM 的部分内容可通过下文所述的分配模型生成。

分配模型:是改进的 PIM 与完整 PSM 之间的中间环节,用于描述如何将改进后的平台无关功能组件分配到硬件或软件执行资源上。这意味着 PSM 的部分内容需预先存在,以便识别和引用这些执行资源。分配模型可作为额外功能属性分析器具的输入,用于验证特定的映射是否能够满足预期的额外功能属性约束。同时,它也可作为代码生成或模型转换的来源,以获取详细的平台特定应用模型。由于分配模型更像是连接更高细节模型的纽带,因此在本文方法中不将其视为一个独立的层级。

5、案例研究:电池管理系统

一项重要措施。由于全面探讨该项目的所有安全方面超出了本文的范围,因此本文重点关注电池状态监测。电池管理系统的各组成部分详细说明如下:就是为展示如何在功能安全标准的整个设计阶段运用 MARTE 和 MDA 方法,本文以 CISC 半导体公司提供的带有能量回收特性的电池管理系统为例进行工业验证。随着越来越多的车辆采用锂离子电池供电,工程师确保电池可靠性和容错性的挑战也大幅增加。过去,电池过热甚至爆炸的问题屡见不鲜,其重要原因是再生制动过程中能量摄入过高,或恶劣环境条件的影响。因此,管理系统和相关机制至关重要,它们能确保人员安全,避免财产损失。诸如对电池单体温度和电压进行冗余且多样化测量等安全机制,可减少单点故障、残余故障和多点故障的发生。此外,在高完整性等级下,对传感器素材进行多次多样化计算也

电池监测单元(BMU):作为电池的主控制器,负责采集来自电池单体传感器的各类信息。BMU 计算电池的荷电状态(SOC)和健康状态(SOH),同时负责电池单体均衡、单体保护以及电池需求管理。此外,它还控制一个硬件开关,用于连接电池与电动机。

电池控制单元(BCU):在充电过程中,负责控制充电器输出的电压和电流曲线。除控制外部充电器充电外,BCU 还监测再生制动过程中的充电情况,并在电池充满电时进行能量释放。当发生故障时,可依据 BCU 实现电池隔离,或由 BCU 向动力传动控制器(PTC)发送信号以限制车速。

动力传动控制器(PTC):是电池与电动机之间的主要接触器,负责控制车辆和车轮转速,并向监测电池状态的 BMU 发送指令,以启动电动机。

电池:由 12 个串联连接的单体组成,每个单体均配备温度传感器和电压测量接口。

显示器:用于表明当前电池的 SOC 和 SOH,并在达到临界阈值时向驾驶员发出警告。

在作用安全标准框架下,开发过程的首要且关键步骤是明确项目定义。方案定义指的是在车辆层面实现特定功能的一个或多个平台组合,安全标准将应用于该系统组合。一个系统是由至少包含传感器、控制器和执行器的一组元素构成,其中每个元素既可能是硬件部分,也能够是软件部分。图 2 通过 UML 复合结构图和信息流的形式,将项目定义建模为功能块,清晰呈现了 CIM 层级下整个项目的全貌,包括其边界以及与外部环境的接口。在该层级中,仅展示各功能块之间的通信方式,而不具体规定效果的实现途径。

图2. 项目定义:高级能力视图

利用项目定义以及危害分析和风险评估,为每种危害制定相应的安全目标。每个安全目标都有其对应的 ASIL 等级,该等级根据操作场景的严重程度、暴露度和可控性进行分类。在本案例中,设定的 ASIL C 级安全目标为:“必须避免电池温度过高”。这些安全目标是功能安全概念(FSC)中规定的功能安全需求(FSR)的基础(ISO 26262,第 3-8 部分)。本案例中衍生的一项 FSR 为:“电池管理系统(BMS)应监测并控制电池,确保电池在工作范围内运行”。

ISO 26262 标准针对不同 ASIL 等级,推荐了多种实现安全的方法和设计技术。在本案例中,为提高系统的可靠性和可用性,采用了异构双工模式。该模式使用额外且多样化的硬件组件,不仅能够处理随机故障,还能应对系统性故障。不同的硬件组件会使硬件产生不同的响应,同时也能提高对共因失效的覆盖范围。由于本项目的 ASIL 等级为 C 级,标准推荐使用两个独立且多样化的信号来控制电池单体,以实现冗余和多样化。本文将此与 ISO 26262 的分解机制相结合,将 ASIL C 级传感器分解为两个 ASIL B(C)级传感器,这样既能保持相同的分类等级,又能通过独立的冗余和多样化测量提高可靠性。

下一步,将之前定义的 FSR 细化为:“若两个测量值显示电池单体数据存在差异(合理性检查),则系统应切换至安全状态”。安全状态是指框架在发生故障时应呈现的预期行为,可确保系统安全运行。在本案例中,安全状态包括 “降低功率(降级功能)” 甚至 “切断电池与电动机之间的连接”。

图3. 架构假设:系统设计的预版本,没有提供有关所用平台的信息

功能安全概念的输出结果是初步的架构假设(如图 3 所示),它是系统设计的初步版本,也是功能需求的实际解决方案。在该图中,各组件之间的关系表达更为明确,系统视图更为详细。此外,图中还包含了组件实例的 MARTE 流端口(输入、输出、双向)以及组件之间的连接器。在该抽象层级(PIM),模型与具体构建无关,因此不涉及功能达成所依赖的技术细节或平台。凭借利用 MARTE 通用资源模型(GRM),可以对系统设计做出初步假设。利用 “通信介质(communicationMedia)” 构造型,可以定义 CAN 总线的容量、传输模式等属性;采用 “计算资源(computingResource)” 构造型,能够在较高抽象层级对处理资源进行建模,无需关注 CPU 速度、内存容量等细节。

,后续可用于生成基于仿真的验证所需的测试平台,还可将其与仿真结果进行对比分析。就是在此阶段,还需添加活动图、状态机图等额外的行为模型,以描述系统行为,并将这些行为图分配到架构假设的各个模块中。图 4 经过节点和边对安全状态进行建模。借助 “定时处理(timedProcessing)” 构造型,还可在活动图中考虑初步的时序约束(图中未表明),具体可依据值规范建模语言(VSL)将持续时间指定为 “value = 30;unit = ms”。在后续的细化步骤中,结合硬件 - 软件接口(HSI)的更多细节,行对图中每个节点的时序行为进行更精确的定义,例如详细描述框架响应时间或故障响应时间。MARTE 的优势在于,能够通过定性和定量标注的方式,在行为描述中捕捉时序信息。这些预期的行为规范可为后续过程中的模型验证提供重要输入。行为图和时序约束的另一作用

图4. 安全状态:具有额外机制计时属性的活动图

做完系统设计的初步版本后,需将 MARTE 模型与已有的 SystemC-TLM 实现模型相结合。这样便可利用高层级仿真,深入研究各组件之间的依赖关系。为此,本文采用了 SHARC软件,这是一款基于 Eclipse 开发的设备,适用于对不同抽象层级的信息物理平台进行建模和仿真。SHARC 是 SyAD/SIMBA的增强版本,支持对以 SystemC、Matlab 或 VHDL 编写的各类分布式组件进行协同仿真,还可切换至系统中单个组件的较低建立层级(如 RTL 级)进行仿真。这对于采用故障注入等办法验证硬件安全机制至关重要,也是 ISO 26262 中硬件设计验证方法所推荐的做法。

初步架构假设、HSI、失效模式与影响分析 / 故障树分析(FMEDA/FTA)以及硬件架构指标共同作用,最终形成技术安全需求(TSR)。可通过文献中描述的方法,对 UML 模型进行 FMEA/FTA 分析。在本案例研究中,TSR1 定义为:“每 30 毫秒对两个模拟传感器(温度和电压)进行合理性检查。若温差超过 10°C 的容差阈值且持续时间超过规定值,则切换至安全状态”。这进而形成了系统设计的第一个正式版本。

在此阶段,需初步确定将通过硬件和软件分别完成哪些功能。根据 OpenES 改进的 PIM 的定义,如果无法将每个模块分配到硬件或软件(即不具备原子性),则必须将架构拆分为子系统。本文通过之前采用的分解机制,将 ASIL C 级传感器拆分为两个 ASIL B(C)级硬件传感器,从而对架构进行细化。在 UML 类图中,通过组件聚合构建 ISO 26262 各层级之间的纵向可追溯性。

在硬件平台建模方面,采用 MARTE 硬件资源模型(HRM)。图 5 将电池拆分为多个电池单体,每个单体都与标有 MARTE“硬件传感器(hwSensor)” 构造型的电压和温度传感器相连。图中还包含两个处理单元,分别是标有 “硬件计算资源(hwComputingResource)” 的微控制器和标有 “硬件专用集成电路(hwASIC)” 的 ASIC,二者均为 “硬件资源(hwResource)” 构造型的特化类型。这两个处理单元用于独立、冗余地计算来自传感器的数据,从而提高系统的容错能力。为清晰区分硬件和软件,将传感器处理任务和管理任务分别分配到微控制器(即电池管理单元)这一计算资源上。

图5. 系统设计:将应用程序分配给利用的硬件平台

在将应用分配到平台的这一环节,可按照文献中描述的方法,在 MARTE 中进行可调度性分析。这样能够在确定具体实现方案之前,对不同设计方案进行早期分析,这对于安全关键架构的设计尤为重要,基于在这类环境中,必须谨慎处理资源分配,确保多媒体应用等常规任务不会影响安全关键任务,也不会占用安全关键任务在规定时间内运行所需的资源。可将某个任务切换到另一个拥有独立受保护内存的处理单元上运行,借助这种办法,能够分析不同任务分配到处理器核心时的最坏情况。

将系统功能块拆分为硬件和软件组件后,即可制定硬件和软件的需求。设计手段的最终层级(PSM),即硬件和软件架构设计,便是根据这些需求推导而来。

MARTE 规范提供了一系列硬件建模概念,可用于构建详细的计算硬件模型。在本案例中,通过复合结构图对硬件进行设计,以图形化方式展示输入 / 输出接口(如图 6 所示)。在系统级设计的 BMU,此时被拆分为四个详细组件:CPU、ROM、RAM 和 CAN 控制器。借助 MARTE HRM,为这些模块添加特化构造型标签,以明确其属性。此外,还可在硬件描述中添加硬件设计所需的其他安全相关属性标注,如失效率、是否与安全相关、硬件安全机制以及相关的诊断覆盖率等。本文还采用了自定义的 MARTE 规范,以 IP-XACT标准对硬件进行描述。

图6. 硬件描述:电池管理单元的详细结构

在软件设计中,采用传统的类图对软件任务进行描述。MARTE 软件资源模型(SRM)和高层应用模型(HLAM)足以对系统的各项约束(如消息大小、内存大小)进行定义。下一步,为 BMU 的管理任务添加 ThresholdCheck ()、Display ()、PlausibilityCheck () 等操作,并使用 MARTE 时序标记为任务添加时序属性。随着模型细节的不断丰富,这些模型后续可用于自动生成 SystemC环境下的硬件和软件代码。Gaspard2 框架利用 MARTE 模型生成用于综合的 RTL 代码,或用于高层级仿真的 TLM 代码,从而填补了从早期安全关键需求分析、系统规范制定到仿真与综合之间的空白。

确保可追溯性。可追溯性始于安全目标,贯穿整个需求和设计阶段,涵盖从功能安全需求(FSR)、技术安全需求(TSR)等衍生需求到行为模型和结构模型的各个环节。为了为不同领域的工程师和管理人员提供支持,同时为安全档案中的论证提供依据,必须在生命周期的每个层级确保可追溯性。就是ISO 26262 标准中频繁提及的一个关键问题

在本文技巧中,采用 SysML 对需求树进行建模,并通过 SysML 的 “衍生(derived)” 构造型建立各项需求与不同层级之间的关联。若某项需求的描述不够详细,可通过 “细化(refine)” 构造型关联另一项更详细的需求。图 7 表明,通过将每项需求分配到对应的组件或图表,不仅完成了生命周期内的纵向可追溯性,还实现了横向可追溯性。另一种方法是在 Papyrus 中以指定的类表格形式展示 SysML 需求,这种方式能清晰呈现所有需求及其 “满足(satisfiedBy)” 关系。该表格具备动态更新机制,当需求与模型之间的关联关系发生增减或修改时,表格会立即更新,同时也适用于大型系统。

图7. 组件和图表的需求分配:垂直和水平可追溯性

6、结论

本文提出了一种基于模型驱动架构(MDA)的手段,用于在机制安全标准 ISO 26262 的设计阶段对不同粒度层级的安全关键系统进行建模,其中 MDA 层级的规范和细化工作是在欧洲 Catrene 项目 OpenES 中完成的。研究采用面向实时嵌入式系统的 UML 规范 MARTE,在 ISO 26262 设计阶段的所有抽象层级对安全方面进行建模。结果表明,无需使用任何自定义的 UML 扩展规范,MARTE 就非常适合汽车领域电子 / 电气系统的建模工作。利用采用标准化建模语言,实现了与该领域其他工具的高度复用性。此外,借助 SysML 构建了需求与组件及行为模型之间的横向和纵向可追溯性,凭借与 MARTE 图表的关联,达到了 ISO 26262 标准所要求的高可追溯性水平。本文通过将该方法应用于电池管理系统,验证了其有效性。

未来的工作将围绕设计模型的仿真展开,以实现安全关键系统的验证。借助 SHARC 器具,可将 MARTE 模型与不同抽象层级下以 SystemC 或 Matlab 编写的实现模型相关联。下一步,将利用行为模型自动生成用于基于仿真验证的测试平台。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/933961.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 8.0 my.cnf 配置详解

MySQL 8.0 my.cnf 配置详解MySQL 配置文件(通常命名为 my.cnf 或 my.ini)是控制数据库运行行为的核心载体,尤其在 MySQL 8.0 版本中,诸多参数默认值与旧版差异显著(如默认字符集、认证插件、InnoDB 特性)。合理配…

Vue3水波纹指令:2025年Material Design交互新标准 - 实践

Vue3水波纹指令:2025年Material Design交互新标准 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

巨型飞机运输风力涡轮机叶片技术解析

本文详细介绍了为运输超长风力涡轮机叶片而设计的巨型飞机WindRunner的技术细节,包括其特殊机身结构、短距起降能力、 dirt跑道适应性等工程创新,以及大型涡轮叶片运输面临的物流挑战和解决方案。巨型飞机运输风力涡…

CCPC2024女生专场 游记(VP)

两人打女生赛,$8t$ 冲进金牌区。谁说女生赛金不是金?省流两人打女生赛,\(8t\) 冲进金牌区。谁说女生赛金不是金? 10.8 内含剧透,请vp后再来。 不是题解!!!!!!! 赛前 不知道为什么,今天白天突然选择了睡大…

dremio sql server uniqueidentifier 数据类型问题

dremio sql server uniqueidentifier 数据类型问题uniqueidentifier 类型用来存储guid,sql server内部存储为16个固定字节的二进制数据,在dremio 当前的arp 类型映射中,存储为了varbinary,机制上没有问题,但是很多…

重磅福利,JetBrains 宣布 DataGrip 面向非商业用途免费!

前言 JetBrains 再放大招!继 JetBrains RustRover、CLion、Rider、WebStorm 和 RubyMine 之后,其专业数据库管理工具 DataGrip 也正式面向非商业用途免费开放。无论你是学生、开源贡献者,还是出于个人兴趣探索数据库…

【GitHub每日速递 251010】Zen MCP:一键 orchestrate 多 AI 模型,代码开发协作新革命!

开源神器 Infisical:一站式解决秘密管理、PKI、KMS 等难题! Infisical 是一个开源的密钥管理、PKI 和 SSH 访问平台。简单讲,它帮助团队安全地存储和管理敏感信息(如密码、证书、密钥),并控制谁可以访问这些资源…

Beyond Compare5最新破解版下载及安装使用教程

Beyond Compare5最新破解版下载及安装使用教程Beyond Compare5中文版是一款功能强大且极其专业的文件数据对比软件,软件支持对比文本内容、文件目录、文本类型等内容,软件可以有效帮助用户对比文件具体差异参数或者同…

Why cant developing countries become developed?

When capitalist countries allow immigrants to engage in labor while they themselves surf the internet every day for public opinion propaganda because they have nothing to do. They have never really ask…

22 LCA模拟赛2T1 奶龙与贝利亚 题解

奶龙与贝利亚 题面 \(n\) 个生物排成一排,每个生物是奶龙或者贝利亚。 给定数组 \(a_1,a_2, \cdots, a_n\),有约束:若第 \(i\) 个位置是奶龙,那么前面恰好有 \(a_i\) 个奶龙。 若第 \(i\) 个位置是贝利亚,那么前面…

微软拼音输入法自定义短语批量导入导出工具(支持Windows 10/11)

微软拼音输入法自定义短语批量导入导出工具(支持Windows 10/11)用微软拼音输入法?你一定遇到过这个痛点! 在 Windows 10/11 上,微软拼音输入法虽然自带自定义短语功能,但有个致命问题: 没有官方的批量导入/导出…

AI风险管控新规应对系统抵抗关闭行为

某中心旗下DeepMind更新前沿安全框架,新增对AI系统抵抗关闭和异常说服能力的监控,研究显示大型语言模型可能通过修改代码规避关闭指令,引发对高级AI系统人类控制能力的担忧。某中心扩展AI风险规则 研究揭示令人担忧…

01-Vue3阶段必会的前置知识-01变量和常量

01-Vue3阶段必会的前置知识-01变量和常量$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");变量变量使用let声明常量常量使用的是const声明数组添加元素4 cons…

这是我的第一个个人博客

这是我的第一个个人博客这是我的第一个博客,后续,我还想将我的想法以文章或者视屏的方式发到我的个人网站上去。还有Github,reddit,贴吧上。 现在当务之急是找到一个顺手的写作工具和多平台管理工具。

BLDC中的Q15

介绍一下Q15格式化是什么,其目的是为了什么,最好举例,并能用易懂的方式表述 好的,我用一个非常易懂的方式来解释 Q15格式化。一句话理解 Q15 Q15 是一种在整数上“假装”有小数的方法,它让只能处理整数的CPU(比如…

华为 AP hw_manage 离线管理 Wi-Fi 密码

AP尚未上线:Fit AP无密码、Cloud AP为 hw_manage AP上线后离线:为AC的 temporary-management psk 命令设置的密码

251009

edu 183 div2 div2 D 假若存在一个满足条件的构造,则最终的排列一定是由若干极长递增子段拼成的,一个区间如果只属于某一个极长递增子段,则这个区间就不包含逆序对,也就不会对 \(k\) 产生贡献;如果一个区间跨越了…

MaxProduct

public class MaxProduct {public static int maxProduct(int[] arr) {if (arr == null || arr.length < 2) {return 0;}int max1 = Integer.MIN_VALUE, max2 = Integer.MIN_VALUE;int min1 = Integer.MAX_VALUE, m…

雪落 - L

雪落本文根据作者虚假经历瞎编而成,请各位不要当真。由于作者幼稚的文笔,已借助AI润色。一 她像一道苍白的影子,悄无声息地嵌在教室的角落。 当他踏入十四班,成为初中生的第一刻,目光便无意中被那道身影捕获。她并…

PluginMonitor - Typecho 插件监控工具

为什么需要插件监控? 作为 Typecho 博客的站长,你是否遇到过以下困扰:插件过多导致性能下降:安装了太多插件,不知道哪些在拖慢网站速度 数据库臃肿:插件创建的数据表越来越多,数据库变得臃肿不堪 内存占用不明:…