当前位置:首页-文章-AADL-正文

基于AADL的模型设计与仿真分析技术

1、引言

AADL(Architecture Analysis and Design language)是一种应用于嵌入式系统领域的体系结构建模语言,支持航空、航天、汽车等领域复杂实时的安全关键系统的设计与分析。AADL具有语法简单、功能强大、可扩展等优点,能够对嵌入式软件的功能和非功能属性进行建模与描述,在开发早期对系统进行分析与验证。

2、AADL组件类别

AADL提供了标准化的文本和图形描述,是一个用以区分各类组件接口规范、组件实现蓝图以及组件实例之间的区别的组件基建模语言。组件由组件类型和组件实现两种方式描述。组件类型定义了组件与外界联系的接口,如特征、流应用、模式、属性等;组件实现定义了组件的内部结构,如子组件、连接、流等。系统建模中常用的组件如下:

基于AADL的模型设计与仿真分析技术 - 第1张
基于AADL的模型设计与仿真分析技术 - 第2张

3、AADL建模过程

模型驱动体系结构MDA(Model Driven Architecture )将模型分为两种:平台无关模型PIM (Platform Independent Model),描述从执行平台抽象的功能和结构;平台相关模型PSM (Platform Specific Model),描述特定执行平台上的功能和结构。AADL使用一种逐步精化的建模方法,不仅可以在不同的阶段进行建模,而且可以从不同的层次进行建模:顶层设计主要描述系统的各个模块及模块间的关系;底层设计主要描述模块的软硬件组成、软硬件与模块、软硬件与软硬件之间的关系。

基于AADL的模型设计与仿真分析技术 - 第3张

4、AADL验证技术与工具

基于AADL的验证技术主要包括属性的分析验证(端口连接检查、架构分析、流延迟分析、安全级别检验等)、可调度性分析(检查时间约束、实时可调度性分析和仿真)以及可靠性分析等。自2004年AADL首次发布以来,已经开发了许多建模与验证工具,这些产品包括:

  1. OSATE:单一层次结构(声明性模型)、开源工具;
  2. STOOD:多级层次结构(实例性模型)、商业工具,具备代码和文档生成;
  3. AADL Inspector:AADL的模块化分析框架,包括静态分析工具、Cheddar可调度性分析工具、Marzhin动态模拟器、Ocarina代码生成器以及LMP技术。
基于AADL的模型设计与仿真分析技术 - 第4张
  • LMP

LMP技术已被用于实现如静态规则检查器、代码和文档生成器以及逆向工程工具。Stood工具中,使用LMP技术最成功之一是空客支持DO 178认证过程的定制模型验证的资格。

  • Cheddar

Cheddar是一个实时调度工具,提供架构是否满足其周期性任务性能要求的依据。通过公式(1),计算具有抢占式固定优先级调度任务的最差响应时间:ri为任务i的基于截止时间计算的最差响应时间;hp(i)是该组的优先级高于i的任务;Pi(period)是任务周期时间;Ci(capacity)是任务执行时间;Di(deadline)是任务截止时间。通过公式(2),计算处理器的利用率U:n为处理器内thread的数量,如果处理器利用率小于n(21/n-1),则满足任务时间约束。

基于AADL的模型设计与仿真分析技术 - 第5张
  • Marzhin

Marzhin是一个基于多代理内核的模拟引擎,提供实时系统的调度分析结果。每个代理可以包含一个或多个在模拟周期中随机调用的执行单元。在执行时,所有代理一起交互以展示全局行为。

5、AADL模型设计与仿真分析

5.1、时空分区模型

AADL通过使用ARINC 653附件,可以对时空分区架构进行建模和分析。使用AADL虚拟处理器来定义分区,使用AADLARINC653附件来指定分区的静态调度。图中上部分为AADL建立的分区系统模型,模拟了一个主时间框架为30ms的二分区系统模型,图中下部分为由Marzhin仿真处理器上的分区以及分区上的每个任务的时序运行结果。

基于AADL的模型设计与仿真分析技术 - 第6张

5.2、流延迟分析模型

AADL语言中采用了连接和流的概念来对组件间的交互行为进行描述,能够表示数据流、控制流或者故障事件流等。AADL工具提供对任务端口间通信的延迟分析功能,该功能根据任务实际运行时间、任务周期、网络带宽等进行计算。图 中上部分为基于AADL图形化组件建立的系统模型与端到端的流模型示意图,模拟了一条消息由传感器至软件,最终发送到两个执行设备的流路径。图中下部分为基于模型的端到端的流延迟分析结果。

基于AADL的模型设计与仿真分析技术 - 第7张

5.3、故障树分析模型

AADL扩展语言EMA(Error Model Annex)是一种添加组件安全信息的标准,通过描述组件的可靠性信息,如故障状态、故障行为、故障传播等,建立故障模型。将故障模型与AADL架构模型相结合,可以构成完整的嵌入式系统可靠性模型。故障树分析(Fault-Tree Analysis)通过遍历故障树模型的结构,利用底事件的发生概率,分析顶层错误发生概率。图中上部分为AADL系统模型与基于EMA的故障描述,图中下部分为基于该模型分析得出的故障树模型及故障发生概率分析结果。

基于AADL的模型设计与仿真分析技术 - 第8张

5.4、基于总线的系统调度模型

实时功能的建模和早期验证是嵌入式应用程序的关键问题,AADL支持由总线连接的多个处理器的建模和全局时序分析。网络的每个节点由在处理器上运行的实时软件描述,并且每个节点间的通信绑定到总线。图中上部分从左至右依次为AADL系统模型结构图、子系统模型设计图、软件模块设计图。各子系统模型通过总线模型交互,图中下部分为基于Marzhin的全局时序分析结果,展示了各子系统内任务模型基于总线的调度运行情况及数据的交互。

基于AADL的模型设计与仿真分析技术 - 第9张

6、AADL与其他建模语言

Simulink适用于构建控制系统,UML适用于构建概念性体系结构,SysML适用于构建物理系统,而AADL适用于构建嵌入式系统的体系结构。同UML及SysML等建模语言相比,AADL语言能够对实时系统的软件及硬件进行标准化的分类,提供精确的语义定义。

基于AADL的模型设计与仿真分析技术 - 第10张
本文来源:麦禾测试微信号,作者:付瑶琴。

相关文章

换一批