"); //-->
为了调整系统架构,设计语言必须支持多种分析方法以便进行跨领域的权衡,架构设计语言还必须支持开发过程中的增量分析以及用于系统评估的多级逼真度。这种增量特性允许架构规范在整个生命周期内都有效。
架构分析与设计语言(AADL)是一种可以满足这些要求的可扩展的标准架构描述语言。AADL适合具有挑战性资源约束(如尺寸、重量和功率)、严格实时要求和/或高性能保证等级的嵌入式系统使用,应用场合包括监控、航天、飞行管理、引擎和传动系统控制、医疗设备、工业工艺控制设备和航空等。
AADL是在国际汽车工程师协会(SAE)的指导下开发的,已经于2004年11月被批准为工业标准AS5506。为了支持性能分析,AADL定义了时序语义(semantics);为了支持可靠性分析,它包含了一个误差建模附录,它是AS5506/1标准中所含的更大附录集的一部分,它能为每个组件提供误差模型表述。
与SysML和UML等其他建模语言相比,AADL为标准的软硬件组件分类提供了强大的语义,这样常用分析方法和良好定义的系统集成就可以根据这些规范实施。专门为嵌入式系统设计的这种语言可以通过用户可定义属性(获得AADL编译器验证的属性子语言支持)和用户定义附录进行扩展。附录扩展经过标准化可供业界广泛使用。另外,在操作模式帮助下AADL还能支持系统动态建模。
AADL支持基于标准XML/XMI定义的模型交换和工具链接。AADL具有标准元模型(meta-model)、图形定义和文本语言属性。AADL UML 2.0规范已经开发成功,并已经开始进入投票阶段。ARINC 653架构的附录也已开始制订。有许多工具支持这种语言,其中有许多是开放源码的工具。开源AADL工具集环境(OSATE)是很重要的一个工具,它基于Eclipse框架,包含文本、XML和图形编辑器以及众多分析工具。这些工具都是开源Eclipse插件,可以进行扩展。
监控系统设计
在本例中让我们先看看用户的要求:用户想要安装一套监控系统来监视远离办公室的三所房屋,在这些位置没有现成的局域网,为了有效地阻止入侵者,检测过程必须快速,最好在2秒钟之内。这个延时标准是一种端到端的系统级性能要求。
一种解决方案是部署三个网络摄像机对这些房子进行监视。摄像机通过无线方式将信息发送到办公室的计算机。然而,无线通信的有限带宽无法适应全部视频流数据,因此我们需要在每个摄像机内嵌入一个视频处理器来对数据流进行压缩和预处理,但这样做会影响到端到端的延时。我们必须评估不同的硬件选择,例如视频处理器和无线芯片。我们也想尝试多种压缩和入侵检测算法,AADL能让我们集中精力满足系统性能要求,从而简化这一过程。
下一步是定义架构。AADL图形符号有助于实现这一过程,如图1所示。值得注意的是,该模型不是任意设计的,而是具有明确定义的正式模型,即使是在较高抽象层次。
图1:用于无线视频监控系统的一种AADL环境框图。
系统构造可以对整个系统和核心子系统(视频检测系统)建模。AADL设备构造可以描述物理组件,如视频摄像机和显示器,因为这些组件不需要捆绑应用软件。我们使用端口组和连接来模拟不同组件之间的通信。摄像机发送的数据流需要穿过视频检测系统。
图2:用于无线视频监控系统的初始AADL模型。
AADL通过利用层次化结构可以用不同的详细程度描述系统。图2显示了高层次的监控应用内容。在架构建立完成后,我们必须详细地定义不同的组件。在介绍详细设计之前,让我们先了解一下AADL中的基本单元,软件单元包括进程、线程、线程组、数据和子程序。它们分别定义为:
进程:受保护的地址空间
线程:一个并行执行单位
线程组:用于组织线程的复合单元
数据:数据类型和静态数据
子程序:可调用的连续可执行代码
在图2中,我们使用软件组件进程、数据、线程和系统组件对视频检测系统的逻辑进行建模。注意,这种模型只是比图1所示的内容向前迈出了一小步。
硬件组件(也称为平台种类)包括了处理器、存储器、总线和器件。在图3中(在AADL结构下方)你可以看到硬件组件的AADL标准图形描述,它们描述了系统的物理特性。在监控系统模型中,硬件平台由CPU(处理器)、存储器和总线确定。
图3:带有硬件和软件的AADL系统。
组件抽象包括特性、属性和模式:特性定义了接口或输出组件功能;属性描述了特征和组件行为;模式描述了动态组件重配置。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。