当前位置:首页 >> 机械/仪表 >>

AADL外文翻译过来文献综述


AADL:一种复杂嵌入式实时系统体 系结构设计与分析语言
摘 要:近年来,软件体系结构逐渐成为复杂嵌入式实时系统设计 与开发中的关键技术之一。而作为该领域的体系结构设计与分析语 言标准,AADL 日益受到学术与工业界的关注,并发展成为一个重 要的研究方向。分析与归纳了 AADL 的发展历程及其主要研究内 容,从系统全生命周期的角度,综述了 AADL 在不同阶段的研究与

应用,并对 AADL 的工业应用进行了概述。最后,探讨了 AADL 的 发展趋势。

关键词:嵌入式实时系统; AADL; UML; ADL;全生命周期,综 述

嵌入式实时系统广泛应用于航空航天、汽车控制、机器人、工业 过程控制设备、 医疗设备等领域, 这些系统具有资源受限、 实时响应、 容错、专用输入输出硬件等特点,对性能、可靠性等性质有较高的要 求[1], 文献[2]称之为性能关键系统(Performance Critcial Systems, PCS)。由于计算精度、实时响应的要求,这类系统变得越来越复杂, 如何设计与实现高可靠、高质量的复杂嵌入式实时系统,并有效控制 开发时间与成本,成为现在学术界和工业界的热门话题。 软件体系结构是控制软件复杂性、提高软件质量、支持软件开发

和复用的重要手段之一。研究复杂嵌入式实时系统的体系结构,不仅 可以为方便软件工程师和控制、机械工程师之间的交流与协作,而且 可以在早期阶段对系统进行分析与验证,有助于保证系统的质量属 性。 UML 以及 C2、Darwin、Wright、Aesop、Unicon、Rapide 等 ADLs 不是专门面向嵌入式实时系统领域,尚不能解决该领域的时限响应、 并发处理等特定需求。为了能够对嵌入式实时系统建模与分析,OMG 先后定义了 UML profile for SPT(Schedulability, Performance, and Time, SPT[3]),UML profile for Qos/FT( Quality of Service and Fault Tolerance, Qos/FT[4])。但这些方法还是很难支持基于 模型、体系结构驱动的嵌入式实时系统设计与开发[5]。 2004 年,SAE(Society of Automotive Engineers)组织提出嵌入 式实时系统体系结构分析与设计标准 AADL(Architecture Analysis and Design Language)[6]。AADL 借鉴了 UML、MetaH[7]及多种 ADLs 的优点,目的是提供一种标准的、足够精确的方式,设计与分析嵌入 式实时系统的软件、硬件体系结构及其性能关键属性。在嵌入式实时 系统领域, 还有其他体系结构描述语言: UML profile Marte(Modeling and Analysis of Real-Time and Embedded systems, Marte[8])是 OMG 最近提出的嵌入式实时系统体系结构描述语言标准,Marte 提供 多模型多分析的模式,容易导致各种模型之间的不一致性,且语言本 身还不成熟。ESAT-ADL[9]是专门面向汽车嵌入式电子系统的体系结 构描述语言。AADL 以语法简单、语义精确、功能强大的优点,日益

受到学术界和工业界的广泛关注和支持。

1 AADL 简介
AADL 是一种体系结构描述语言,主要是用于对嵌入式实时系统 进行建模。它在很多项目中都充当了核心的角色,像COTRE[Farines et al.,2003a] , ASSERT[ASSERT, 2006] , TOPCASED[Farail et Gaufillet, 2005]等等。AADL 的第一个版本于2004年11月发布,第 二个版本正在制定中。 AADL 标准定义了三种模型描述的方式:文本化, XML 和 图形 化。正是由于这种多样化的描述方式,AADL 可以被许多不同的工具 所使用。对UML的支持同样允许我们在UML的工具中插入AADL。 作为一种体系结构描述语言,AADL 通过描写构件和连接来建立系 统的体系结构。一个 AADL的描述由对一系列构件的描述组成,通过 对这种描述的实例化来建立系统体系结构的模型。 1.1 构件描述 AADL的构件被定义成两部分:类型和实现。 一个AADL的构件拥有 一个类型(component

type)以及对应的零个,一个或者很多个实现

(component implementation) 。 构件的类型描述了外部的接口 ( 进 出端口,属性等)。继承的机制允许我们通过对一个已知类型的扩展 定义一个新的类型。构件的实现(component implementation)描述了 构件的内部结构(子构件,其他的属性等)。一个构件的类型可以有多 个实现,和构件类型一样,一个实现同样可以扩展为其他的实现。

1.2 构件的种类 AADL 定义了很多构件的种类, 总的来说可以分成三大类:软件 构件,硬件构件以及组合构件。每个种类中构件的语义和组合规则 都被严格地定义。 软件构件 定义了系统体系结构中的应用元素。 ? 数据(data) 代表了在构件之间能够存储或者交换的那些结构 数据。 ? 线程(thread) 是软件应用程序的组成元素; ? 线程组(thread group) 允许集中线程用来建立系统的层次结 构。 ? 进程(process) 定义了执行线程的内存空间。 ? 子程序(subprogram) 用来对指定程序语言的过程进行建模, 例如ADA或者C。 硬件构件(或者叫执行平台构件) 对硬件元素进行建模。 ? 总线(bus) 用来描述各种类型的连接网络以及总线等。 ? 内存(memory) 代表了所有的存贮设备:硬盘,读写存储器等 等。 ? 处理器(processor) 用来描写含有调度程序的微处理器。 ? 外设 (device) 代表了系统体系结构内部忽略的元素,例如传 感器。 组合构件(system) 用来集中各种不同的构件(软件和硬件),在逻 辑上以实体的形式建立系统的体系结构。

1.3 特征 构件的特征 (features) 在构件类型 (type) 中声明,以这样的方 式,构件类型的所有实现 (implementation) 给其他构件提供同样的 接口。AADL存在很多种的特征:交互的进出端口(port),接口子程 序(subprogram),子程序的参数(parameter),以及子构件的存取。 它们之间通过定义在实现 (implementation) 中的连接 (connection) 来完成。 1.4 属性 属性(property)是 AADL组成中重要的一个方面,它不但能够描述 AADL 实体的不同的特性,而且能够描述应用在体系结构中的约束条 件,进而验证系统的可靠性,例如,属性被用来规定子程序的执行 时间,线程的周期,数据或事件端口的等待队列协议等。属性的声 明集中在属性集(property sets)中,有三种声明方式:类型,常量 和属性名。一些属性已经定义在AADL标准里, 用户可以根据自己的需 要定义新的属性 1.5 扩展 当定义新的属性不能满足用户需要时,AADL又引入了附件(annex) 的概念。附件是另一种对描述的元素添加信息的方式,和属性的不 同,它仅仅能够使用在构件的声明中,并且拥有自己独立的语法规 则。附件的使用允许我们扩展AADL的语法规则以用于描述构件的动 态行为。

2 AADL 的研究现状
在学术和工业界的共同努力下,AADL 的研究已经渗透到系统全 生命周期的各个阶段。AADL 的研究与传统软件工程、软件体系结 构的研究一样,AADL 的研究首先关注全生命周期的设计阶段,然 后过渡到设计之后的实现、 后开发阶段,最后再关注设计之前的需求 分析阶段,从而成为覆盖全生命周期的整体框架。表 1 从系统全生 命周期的角度,对现有的 AADL 研究进行了分类与总结。 Table 1 Research and practice of AADL in the system life cycle 表 1 系统全生命周期中 AADL 的研究与应用

Requirement phase Design phase

System level requirements : system decomposition and architectural constraints Timing requirements Functionality and semantics extension of AADL: behavior annex , error model annex , ARINC653 annex and UML annex Architecture Description using AADL Analysis and Verification of AADL Model: Dependability Analysis, Schedulability Analysis, Model Checking and Simulation

Implementation phase

Model transfermation Code generation: C,ADA,AutoSAR Components Composition

Post-development

AADL components are split into specification and

phase

implementation, which can help in modifying implementations Dynamic architecture Architecture reconstruction

2.1 需求阶段的 AADL 研究 在需求阶段研究 AADL,主要有如下两种:用 AADL 的基本元 素和描述手段在较高抽象层次规约系统需求与问题; 研究基于其他描 述方法的需求规约自动或半自动地转换到 AADL 模型。 AADL 提供一种面向体系结构的需求工程方法, 将软件体系结构 的概念引入到需求分析阶段, 有助于保证需求规约和设计之间的一致 性和可追踪性。 AADL 用构件和连接子的概念来对系统级别的需求进 行形式化规约,得到系统的层次组织结构、构件的需求规约、连接子 的需求规约以及系统约束的需求规约等,例如构件接口需求规约、可 靠性需求规约、实时任务的时间需求规约、资源需求规约等。AADL 能够同时获取与描述功能需求和非功能需求,对于嵌入式实时系统, 非功能需求显得尤为重要。在设计阶段,功能与非功能需求的实现将 会被验证与分析。 由于 UML、XUML、SysML 等描述语言已经广泛应用于需求的 描述,因此 AADL 结合这些描述语言的优势是必要的,从需求模型 到 AADL 模型的转换成为重要的研究内容。 文献[ ]采用 UML 作为需 求模型,并提出结构化转换(Structural transformation)作为需求模型到 AADL 模型转换的规则,这些规则包括 UML 类转换到 AADL Component Type、UML 类之间的组合连接(Composition Links)转换到

AADL Subcomponent、 UML 类之间的直接连接(Directed Associations) 转换到 AADL Port 等。文献[ ]研究了将 XUML 和 AADL 集成到统一 的模型驱动开发过程 (MDD),通过一些经验规则来完成需求模型到 AADL 模型的转换。SysML 是 UML 在系统工程领域的改进,增加了 需求图、参数图,并修改了活动图和配置图,SysML 能够更好的描 述系统层次的需求,文献[ ]采用 SysML 作为需求模型,并研究了 SysML 到 AADL 的模型转换。 总体上,需求阶段的 AADL 研究还处于初步阶段。如何保证模 型转换的可追踪性是需求模型到 AADL 模型的关键。现有的需求模 型到 AADL 模型的转换大部分只涉及如何根据需求模型构件 AADL 模型,但很少涉及模型转换的可追踪性。传统软件体系结构领域,采 用表格[ ]、Use Case Map[ ]、 “特征-责任-构件”映射关系[ ]、全局 分析[ ]等方法来维护模型转换的可追踪性,为需求模型到 AADL 模 型转换有很好的借鉴作用。 2.2 设计阶段的 AADL 研究 设计阶段的 AADL 研究是最早被关注的。这个阶段的研究也是最 丰富和成熟的。 主要包括 AADL 本身的功能和语义完善、 基于 AADL 的体系结构描述以及 AADL 模型分析与验证方法等。AADL 语言功 能和语义的完善,首先是为了适应更多特定领域的需求,其次更是为 了更好的设计、分析与验证系统的体系结构。 2.2.1AADL 语言扩展 AADL 核心语言(Core Language)提供了一些具有精确语义的建

模概念,用于实时、资源受限、安全关键以及包括特殊外设硬件的系 统的描述,但它并不能适应所有的体系结构分析。AADL 提供了两种 扩展方式:引入新属性或符号;经核准的子语言(Sub Language)扩展。 对于第一种方式, AADL 标准允许用户或工具提供商为各种构件引入 新的属性集, 或专用于特殊分析的符号。 后者则很严格, 需要先提议、 发展、 投票以及被核准, 才能成为 AADL 语言的一部分, 一般以 AADL 标准附件文档(Standard annex documents)的形式给出,主要包括子语 言的语法,并要与 AADL 标准相符合。 刚开始的 AADL 核心标准是非图形化的, Graphical AADL Notation Annex[ ]为 AADL 图形化标注定义了一系列图形符号, 这些符号用于 表 示 AADL 模 型 中 构 件 (Components) 、 属 性 (Featrues) 、 连 接 (Connections)之间的关系。Graphical AADL Notation Annex 为用户提 供了方便的图形视图。 The Programming Language Compliance and API Annex[ ]为用户提 供了 AADL 模型到 Ada、C 语言源代码的转换规则。 The Meta Model and Interchange Formats annex[ ]定义了 AADL 元 模型以及基于 XML 的 AADL 模型交互格式。元模型定义 AADL 模 型的结构,也就是 AADL 规约的对象表示(Object representation)。这 些对象表示可以用一种标准的的交互格式保存成 XML 文档。这种交 互格式能够使得支持 XML Schema 或 XMI 的不同工具能够对 AADL 模型进行互操作。 Error model annex(2006)[ ]定义了一些能够规约冗余管理、风险

管理的属性,使得用户能够对系统的安全性、可靠性、完整性、可用 性以及可维护性进行定性与定量分析。该 Annex 提供了一个子语言 可以为每个构件定义 error model。 AADL 一般通过规约模式变化(Mode changes)来描述事件响应、模 式依赖流程来描述子程序调用等行为, 而构件的实际行为则要用目标 执行语言来描述,例如 C 或 Ada。为了能够对行为进行精确分析,法 国 IRIT 提出了 Behavior annex[ ]。Behavior annex 采用扩展 Mode 自 动机的方法, 对 Thread、 subprogram 构件的动态行为进行描述与分析, 并保证与 AADL 执行模型的语义一致。但由于目前的 Behavior annex 只能描述一些简单行为,并且没有给出 Behavior annex 的形式语义, 需要进一步研究与扩展 Behavior annex 的描述能力。 随着AADL逐渐成为工业界的实际标准, 对AADL扩展的需求会更多, 来适合不同的应用需求。在嵌入式实时系统领域,AADL成熟的应用 于航空与航天领域,例如,ARINC653是重要的航空电子标准, Honewell实验室目前正在研究与开发AADL ARINC653 annex,研究 AADL模型与ARINC653标准之间的转换[ ]。 由于AADL属于高层体系 结构规约,在嵌入式自动控制领域应用还较少,这就需要与其他领域 的方法和标准结合, 例如AADL与OSEK[ ]、 AutoSAR[ ]、 EAST-ADL[ ] 等标准的集成。AADL还可以与UML Marte Profile[ ]等标准集成。为 了支持通用领域的应用,Edward Colbert研究了AADL UML Profile annex[ ],可以与UML进行集成。 2.2.2 AADL 形式语义

在 AADL 标准中,软件构件、硬件构件、系统构件以及连接的 语义都是用自然语言来定义的。构件包括一个类型 Type 和一个或多 个实现 Implementations,构件接口、构件交互都给出了完整定义。但 我们知道, 很多 ADLs 都定义了构件及其构件交互的形式语义。 例如, Darwin 使用 Pi 演算作为形式语义模型、 Wright 采用 CSP 作为形式语 义模型、Rapide 使用偏序时间集(Partially ordered event sets)描述构件 的语义。形式化方法能够给出更精确的语义,同时有助于体系结构规 约的验证与分析。因此,研究 AADL 的形式语义是十分必要的。 AADL 标准本身提供了使用混成自动机 (Hybrid Automata)描述 Threads 的执行语义。AADL 的创始人 Peter H. Feiler 等正在利用一些 形式化方法给出构件交互(Component Interactions)的时序语义。法国 IRIT 实验室采用动作时序逻辑描述语言 TLA+对 AADL 执行模型的 形式语义做了初步的研究 [ ] ,目前只对通过端口的构件间通信 (Communication through ports) 、 通 过 共 享 变 量 的 构 件 间 通 信 (Communication through shared variables)、 抢占式调度策略(Preemption Scheduling strategy)的语义进行了形式描述,目的是为了能够更好的 验证体系结构性质以及为 AADL 的执行平台开发提供形式规约。 通过我们的研究表明,由于 AADL 的构件种类(Categories)、属 性(Properties)、规则(Rules)和约束(Constrains)很多,AADL 还有很多 语义需要形式化。 1 )目前 AADL 通过一些规则来描述构件组合 (Component Composition),每种构件都有相应规则,因此构件组合非 常复杂,尤其构件是可以扩展的,更加增加了构件组合的复杂性[ ]。

因 此 , 需 要 研 究 AADL 构 件 层 次 组 合 (Components Hierarchical Composition)的形式语义。 2) AADL 构件可以标注非功能属性, AADL 标准也只是给出了一些规则,各种构件能够标注什么样的属性,某个 属性能否被哪些构件标注。所有属性构成属性集合(Properties Set), 根据属性集合可以进行非功能属性分析。文献[ ]提出 AADL 属性定 义不清晰, 主要表现在构件类型与属性关系不清晰以及属性集合与非 功能属性分析关系不清晰。因此,需要研究 AADL 属性定义的形式 语义。 2.2.3 AADL 模型分析与验证 在早期进行体系结构分析与验证, 能够尽早发现系统设计的潜在 错误。主要通过分析与验证 AADL 模型,预测系统的质量属性。传 统的体系结构分析方法一般分为两类:基于形式化、模拟仿真方法; 基于场景分析、调查等手段。目前对 AADL 模型进行分析与验证主 要是采用形式化方法。法国 LAAS 实验室研究了基于随机 Petri 网的 AADL 模型可靠性分析(Dependability Analysis) [ ],提出将 AADL 系 统体系结构模型和 AADL 系统 Error model 结合作为 AADL 可靠性模 型, 并转换成 GSPN 可靠性模型, 然后进行可靠性分析。 Pennsylvania 大学研究了 AADL 模型的可调度分析(Scheduability Analysis) [ ],提 出将 AADL 模型转换成时间进程代数 ACSR, 并基于工具 VERSA 进 行可调度分析、时间分析。可调度分析一般是基于模型检测方法,存 在状态空间爆炸问题。法国 Brest 大学 LISYC 实验室 Frank Singhoff 等人提出采用仿真的方法对 AADL 模型进行可调度分析,并开发了

Cheddar[ ]工具,Cheddar 是一个开源的实时系统调度分析工具。由法 国巴黎电信研究的 Ocarina[ ]工具,能够对 AADL 模型进行处理、形 式模型产生、可调度分析以及代码生成。 在实时系统形式验证方面已经取得了很多重要研究成果, 例如瑞 典 Uppsala 大学 WangYi 等研究的基于扩展时间自动机网的模型检测 方法及其工具 UPPAAL[ ],可调度分析工具 TIMES[ ]、CATS[ ]。法 国 LAAS 实验室研究的基于时间 petri 网的模型检测工具 TINA[ ]。 这 些都可以作为 AADL 模型分析与验证的方法与工具。由于复杂嵌入 式实时系统对性能、安全性、容错等其他性能关键属性有较高要求, 因此会需要更多不同的模型分析与验证方法。 2.3 实现阶段的 AADL 研究 从高层的系统体系结构层次到系统实现层次的有效转换,是研究 复杂嵌入式实时系统体系结构的意义所在。 目前的研究主要包括基于 AADL 的模型驱动开发以及代码生成。 (1)基于 AADL 的模型驱动开发 AADL 被证明是嵌入式实时系统领域较好的建模语言,而模型驱 动开发(Model Driven Development, MDD)正在成为主流的开发过程, 文献[ ]提出 AADL 与 MDD 结合,能够使得 AADL 得到广泛使用。 模型转换(Model Transformation)是 MDD 的核心,传统 MDD 定义了 三个层次的抽象:平台独立模型( Platform Independent Model, PIM)、 平台特定模型( Platform Specific Model, PSM)以及代码( Code)。一个 PIM 可以转换为一个或多个 PSM,并在转换规则中加入平台相关细

节。PSM 到 Code 的模型转换则是在转换规则中加入执行细节。 根据嵌入式实时系统的特殊需求,文献[ ]给出了基于 AADL 的模 型驱动开发过程: 1) 获得 AADL PIM 模型。 主要是将 AADL 与 UML 结合起来使用,根据 AADL UML Profile Annex ,将 AADL 版型 (Stereotype)标注在 UML 模型上, 这样的 UML 模型作为 AADL PIM。 例如, 每个构件用 UML Class 来表示, 并标注构件类型(Thread、 Process 等)。 2) 利用功能转换(Functional Transformations)规则, 转换成 AADL PSM 。 3) 利用非功能转 (Non-Functional Transformation) 换规则,将 PSM 转换成 AADL 分析模型(Analysis Model),可以进行可调度、性 能分析。4)转成可执行代码。 MDD 已经成为相对独立的软件工程领域,研究者提出了很多 MDD 方法和自动化工具,例如 OptimalJ[ ]。在自动化工具的支持下, 通过平台提供的转换模式实现从 PIM 到 PSM 的转换,并允许用户修 改 PSM 以加入更多的细节。这些研究成果对基于 AADL 的模型驱动 开发方法有很好的借鉴意义。 (2)代码生成 代码生成(Code Generation)主要研究从 AADL 模型到可执行代码 的生成规则、方法、工具以及语义一致性验证等。从软件体系结构到 实现的过程中,借助一定的中间件技术,体系结构更容易映射成相应 的实现。目前可以生成的程序语言有 Ada、C、C++、Java-RTSJ(Real Time Specification for Java)等。法国巴黎电信研究开发的 Ocarina[ ], 支持从 AADL 体系结构描述生成 Ada 语言,这些 Ada 应用是运行在

PolyORB[ ]中间件基础之上的,同时支持生成 POSIX 和 RTEMS[ ]平 台之上的 C 代码。 STOOD[ ] 是支持 AADL 、 UML2.0 、 HOOD 、 HRT-HOOD 等建模方法的商业设计与开发环境,支持 C/C++,Ada 代码生成以及 HTML、RTF、MIF 等文档的生成,还支持 Ada、C 代 码到 AADL 体系结构规约的逆向转换。 法国 IRIT 正在研究 AADL 体 系结构描述到 Java-RTSJ 的代码转换,因为 RTSJ 被认为是航天应用 系统的可能的执行内核。法国 Verimag 实验室正在研究 AADL 模型 到同步语言 Lustre 的代码转换问题[ ], Lustre 广泛的应用于航空航 天领域。转换的难点在于如何将非确定性和异步的 AADL 描述中转 换成 Lustre 的同步描述。 由于 AADL 模型的执行环境(Execution Environment)在实时操作系 统之上,因此代码生成可以归纳为以下几类:1)基于 AADL 各类应 用构件,生成构件对应的源代码,例如 Thread 构件到 C 代码的转换, Process 构件到 Ada 代码的转换。2)基于 AADL 的设备构件,研究 设备驱动代码的生成技术。3)研究生成符合各种应用标准的源代码 方法, 例如生成符合汽车电子控制系统标准 AutoSAR[ ]、 铁路控制系 统标准 EN-50128 的 C 代码。4)生成代码框架。但实时操作系统本 身也可以用 AADL 的软件构件和执行平台构件来表示[ ],因此可以 研究生成实时操作系统代码的方法。 由于体系结构通常是在较高层次规约系统的行为,缺乏实现层次 的具体细节,体系结构描述往往只能转化为简单的代码框架。因此, 代码生成技术应该和基于 AADL 的模型驱动开发方法结合起来,通

过逐步精化 AADL PIM,最终生成完整的可执行代码。 2.4 部署与后开发阶段的 AADL 研究 随着分布式实时系统(Distributed Real-Time Systems ,DRE)与网络 的发展,嵌入式软件的部署受到重视。文献[ ]提出基于软件体系结构 的软件部署有助于 1)提供高层的体系结构视图描述部署阶段的软硬 件模型;2) 基于软件体系结构模型可以分析部署方案的质量属性, 从而选择合理的部署方案;3)通过软件体系结构记录软件部署的经 验,以便下次复用。由于 AADL 可以描述详细的配置与部署信息, 欧盟 ASSERT 项目中采用 AADL 作为部署视图的描述语言[ ]。巴黎 电信将 AADL 作为描述、部署以及构建分布式嵌入式实时系统的工 具[ ], 从 AADL 体系结构描述自动产生代码,并从描述中抽取系统 配置信息,部署整个应用。根据 AADL 体系结构模型中的配置和部 署信息,可以分析与评估部署方案。 软 件 部 署 安 装 之 后 的 阶 段 成 为 后 开 发 阶 段 ( Post-development Phase)。主要包括动态体系结构[ ]、体系结构恢复与重构等方面的研 究。研究表明,软件的体系结构由于内部执行或外部环境会导致在运 行时会发生改变,即动态体系结构。如何在设计阶段获取体系结构这 种动态性,并指导系统在运行时实施这些变化,从而达到系统的自动 演化或自适应,这是动态体系结构的主要研究内容。AADL 每个构件 定义都分为 Type 和 Implementation,一个 Type 可以对应多个版本的 Implementation,支持多个版本之间的演化,也可以在后期方便修改 构件的执行。AADL 还提供 Plug-replacement、Recursive-replacement、

Interceptor 等机制,支持构件替换、构件递归替换以及增加新构件等 变化的描述。很多研究者采用形式化方法来描述动态体系结构, Darwin 采用推迟实例化、动态实例化等机制来描述动态性,并用 Pi 演算描述其语义。随着系统规模的扩大,动态体系结构研究会面临更 多的新问题。因此,AADL 对动态体系结构的描述机制需要进一步加 强,并采用形式化方法对其语义进行精确描述。 体系结构恢复与重构主要是对遗留系统的升级和功能增强的需 要,因为很多现有遗留系统是没有体系结构或体系结构不合理,所以 要进行体系结构恢复和重构。例如,瑞典 MdH 大学正在采用 AADL 对现有的 ABB 机器人系统[ ]进行体系结构重构,基于 AADL 模型进 行系统属性分析,从而达到替换一些关键构件的目的。目前基于 AADL 的体系结构恢复和重构还处于探索阶段, 缺乏必要的自动重构 工具和方法支持。

3 AADL 工业应用实践概述
为了定义新的关于嵌入式系统开发的过程,很多工业上的企业将 AADL 作为他们的选择,下面就介绍几个具有代表性的工业项目。 3.1 ASSERT(Automated proof based System and Software Engineering for Real-Time applications) ASSERT 是欧盟开发研究计划中的一个项目,共有 29 个合作成员 参与,其中大部分成员来自航空航天领域。这个项目的目标是对嵌入 式实时系统的开发过程的改进。它使用基于验证机制的工业系统 (proof-based system engineering),在这个系统中,验证机制使用在开

发过程中每一个环节,从需求分析到代码实现。AADL 被用来描述所 开发系统的体系结构,由于它的良好扩展性,可以用于支持那些必要 的信息,特别是基于验证机制的工业系统的特别数据(验证的描述, 非功能性要求,条件的可行性等等)。 3.2 COTRE COTRE 是空中客车公司(airbus)的一个项目,开始于 2001 年,它 的目标是在软件设计到实现的工业过程中, 将形式化方法和半形式化 方法相结合,定义一种实用的,工具性的建模和验证方法,并且将这 种方法应用到实际生产中。COTRE 使用 AADL 作为体系结构语言, 并且对其进行扩展,以支持体系结构动态信息。 3.3 TOPCASED(Toolkit in Open source for Critical Applications & Systems Development) 开发一个庞大的,并且要维护几十年的航空和自动化系统的计算 机系统并不是一件简单的事情,从开始确定开发工具开始就要值得 认真思考,以往我们总是使用由传统商业公司提供的软件产品来作 为我们的庞大的计算机系统的开发工具,但是我们现在需要转变, 日前空客公司就作出了一个大胆的举动,推出名为 TOPCASED(Toolkit in Open source for Critical Applications & Systems Development-- 关键应用程序和系统开源工具包 ) 的开源项目,从开 发工具入手,将开源软件引入了航空系统的开发中来,而这在以前 是不可想象的。 在将来的开发计划中,该工具包将包含一切可能在产品开发过程

中用到的软件,从系统识别到实施,再到硬件产品固化等等。因为 目前的开源软件的成熟度和产品已经达到令人满意的程度,有足够 的能力在该平台上进行二次创新,开发出足够优秀和稳定的系统, 稳稳当当的运行几十年是没有什么大问题的。 虽说目前的 TOPCASED 项目刚刚起步,但是已经有一大批公司和 研究所加入其中,他们其中有来自 核心部门还有来自外部零配件厂 商。比如 Siemens VDO 自动化部门、卫星设备制造商 EADS Astrium, 还有来自政府相关机构,比如法国太空总署,他们都一致看好目前 的 TOPCASED 计划,因为在产品软件开发过程中,各大厂商都能够参 与其中,而不会像过去那样,总是被某些软件产品所摆布。

4 结束语与进一步的研究工作
在工业界和学术界的共同努力下,AADL 的研究已经渗透到全生 命周期的各个阶段,并取得了较好的研究成果。本文从全生命周期的 角度,分类与归纳了 AADL 在不同阶段的研究与应用,希望能够为 AADL 的进一步研究提供参考。 随着系统规模以及复杂性的增加,体系结构在复杂嵌入式实时系 统设计与开发中的作用更加显著, AADL 的研究与应用也会进一步得 到加强。尤其是网络的发展,嵌入式计算不再限于简单设备控制,它 已经能以高实时处理率和低能耗来执行分布式并行的复杂任务, 即所 谓 的 高 性 能 嵌 入 式 计 算 (High Performance Embedded Computing, HPEC)[ ]。HPEC 涉及异构多处理器、嵌入式中间件、可重构系统、 软硬件协同设计等方面的要求,这会导致系统体系结构更加复杂,因

此,HPEC 环境下的 AADL 研究是一个值得关注的课题。由 MIT Lincoln 实验室主办的 HPEC 国际会议[ ],自从 AADL 被提出以后, 每年都会涉及 AADL 的议题。Virginia 大学 Sang H. Son 和 John A. Stankovic 将 AADL 用于无线传感器网络系统的建模与分析,并基于 OSATE 工 具 开 发 了 无 线 传 感 器 网 络 分 析 与 设 计 工 具 ANDES( Analysis-based Design tool for wireless sensor networks)。我们 认为: 基于 AADL 的分布式嵌入式实时系统的设计与分析将是 AADL 的一个重要研究方向。

致谢 参考文献


相关文章:
AADL文献综述
AADL文献综述_交通运输_工程科技_专业资料 暂无评价|0人阅读|0次下载|举报文档 AADL文献综述_交通运输_工程科技_专业资料。今日推荐 ...
AADL综述
AADL综述_计算机软件及应用_IT/计算机_专业资料。AADL...文献[12] 采用UML作为需求模型,提出需求模型到AADL...英文个人简历模板 创意简历模板汇集 推理型题分析与总结...
更多相关标签:
如何查找外文文献综述 | 外文文献综述 | 外文文献综述怎么写 | 跨境电商外文文献综述 | 如何找外文文献综述 | 招聘外文文献综述 | 成本核算外文文献综述 | 整合营销外文文献综述 |