您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
基于AADL的模型设计与仿真分析技术
 
作者:付瑶琴
  4216  次浏览      16
 2019-11-18
 
编辑推荐:
本文介绍了AADL核心组件及组件类别,AADL的建模过程,AADL与其他建模语言关系,希望对您有所帮助。
本文来源于微信号麦禾测试,由火龙果软件Delores编辑,推荐

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

AADL组件类别

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

表1 组件类别

图 1 AADL核心组件

AADL建模过程

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

图 2 AADL建模过程

AADL验证技术与工具

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

★ OSATE:单一层次结构(声明性模型)、开源工具;

★ STOOD:多级层次结构(实例性模型)、商业工具,具备代码和文档生成;

★ AADL Inspector:AADL的模块化分析框架,包括静态分析工具、Cheddar可调度性分析工具、Marzhin动态模拟器、Ocarina代码生成器以及LMP技术。

图 3 AADL Inspector仿真分析工具主界面

1 LMP

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

2 Cheddar

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

3 Marzhin

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

AADL模型设计与仿真分析

1 时空分区模型

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

图 4 AADL时空分区模型与Marzhin仿真分析结果

2 流延迟分析模型

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

图 5 AADL模型与流延迟分析结果

3 故障树分析模型

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

图 6 AADL模型与故障树分析结果

4

基于总线的系统调度模型

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

图 7 AADL系统模型与全局时序分析结果

AADL与其他建模语言

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

图 8 AADL与其他建模语言关系图

   
4216 次浏览       16
 
相关文章

UML概览
UML图解:用例图(Use case diagram )
UML图解:活动图(activity diagram )
UML图解:类图(class diagram )
UML图解:对象图(object diagram)
UML图解:顺序图( sequence diagram )
 
相关文档

模型跟踪:跟踪图、矩阵、关系(建模工具EA)
自定义表格(Custom Table)在EA中的使用
元素的详情浏览控制
UAF 1.2规范解读(DMM 和 UAFML )
EA中支持的各种图表
EA中的界面原型建模
 
相关课程

UML与面向对象分析设计
UML + 嵌入式系统分析设计
业务建模与业务分析
基于SysML和EA进行系统设计与建模
基于模型的需求管理
业务建模 & 领域驱动设计