Technical articles
AADL:面向嵌入式系统架构特征的建模语言
一、AADL概述
AADL(Architecture Analysis and Design Language)是一种应用于嵌入式系统领域的体系结构建模语言,支持航空、航天、汽车等领域复杂实时的安全关键系统的设计与分析。AADL具有语法简单、功能强大、可扩展等优点,能够对嵌入式软件的功能和非功能属性进行建模与描述,对实时系统的软件及硬件进行标准化的分类,提供精确的语义定义,在开发早期对系统进行分析与验证。
图 1 AADL与其他建模语言关系图
AADL规范表示计算机系统运行时架构的组件模型,它由应用软件(通常是嵌入式的、安全关键的、任务关键的或性能关键的)和执行平台(及计算机硬件)组成和物理系统。组件代表系统的一部分并与其他组件交互。系统由交互的组件分层组成。AADL规范由包声明和属性集声明组成。AADL包(Package)包含组件规范,及AADL组件类型和组件实现,以及功能组件类型和附件库。该标准将数据、子程序、子程序组、线程、线程组和进程定义为应用软件组件类别,将内存、总线、虚拟总线、处理器、虚拟处理器和设备定义为执行平台组件类别,将系统和抽象定义为通用组合组件,它们构成了AADL建模词汇的核心。
图 2 AADL组件类别
AADL使用一种逐步精化的建模方法,不仅可以在不同的阶段进行建模,而且可以从不同的层次进行建模:顶层设计主要描述系统的各个模块及模块间的关系;低层设计主要描述模块的软硬件组成、软硬件与模块、软硬件与软硬件之间的关系。
图 3 AADL建模过程
二、AADL组件种类
AADL定义了很多组件种类,主要分为三大类:软件组件、执行平台组件、组合组件。每个种类中组件的语义和组合规则都被严格地定义。
图 4基于AADL的架构模型
(1)软件组件定义了系统体系结构中的应用元素,包含数据、线程、线程组、进程、子程序、子程序组。
图 5应用软件组件类别
(2)执行平台组件定义硬件元素,包含总线、内存、处理器、设备、虚拟总线、虚拟处理器。
图 6执行平台组件类别
(3)组合组件用来采集各种不同的组件(软件和硬件),在逻辑上以实体的形式建立系统的体系结构。
三、组件特征
组件的特征在组件类型中声明,组件实现会自动同步类型定义中声明的特征。AADL定义了很多特征,例如:交互的输入/输出端口、子程序参数、子程序访问等。它们之间通过定义在组件实现的端口连接来完成。
图 7组件特征
四、扩展的语言
五、AADL语法
基于所设计的AADL模型能够生成AADL代码,AADL是用与上下文无关的语法描述的正式的说明性语言。
图 8 AADL代码示例
六、AADL架构建模优势
参考文献:
《使用AADL的模型基工程:SAE体系结构分析和设计语言入门》著:Peter H. Feiler; David P. Gluch; 译:光电控制技术重点实验室。
SAE AS 5506B Architecture Analysis & Design Language (AADL)
技术文章