0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用AADL架构如何实现嵌入式系统的设计

电子设计 来源:郭婷 作者:电子设计 2019-08-19 08:03 次阅读

在设计关键任务和实时性系统时,设计师必须满足功能性要求和非功能性属性,如性能(吞吐量和服务质量)、保护、可靠性、时间紧迫性、安全和容错等,这些系统级特性具体取决于系统架构。随着嵌入式软件系统的硬件多样性和复杂性的不断提高,可以采用模型驱动的开发方法来满足开发早期阶段出现的系统集成问题。基于模型的设计方法的要点之一是要选择合适的设计语言来描述具体平台架构。

为了调整系统架构,设计语言必须支持多种分析方法以便进行跨领域的权衡,架构设计语言还必须支持开发过程中的增量分析以及用于系统评估的多级逼真度。这种增量特性允许架构规范在整个生命周期内都有效。

架构分析与设计语言(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插件,可以进行扩展。

1 监控系统设计

在本例中让我们先看看用户的要求:用户想要安装一套监控系统来监视远离办公室的三所房屋,在这些位置没有现成的局域网,为了有效地阻止入侵者,检测过程必须快速,最好在2秒钟之内。这个延时标准是一种端到端的系统级性能要求。

一种解决方案是部署三个网络摄像机对这些房子进行监视。摄像机通过无线方式将信息发送到办公室的计算机。然而,无线通信的有限带宽无法适应全部视频流数据,因此我们需要在每个摄像机内嵌入一个视频处理器来对数据流进行压缩和预处理,但这样做会影响到端到端的延时。我们必须评估不同的硬件选择,例如视频处理器和无线芯片。我们也想尝试多种压缩和入侵检测算法,AADL能让我们集中精力满足系统性能要求,从而简化这一过程。

下一步是定义架构。AADL图形符号有助于实现这一过程,如图1所示。值得注意的是,该模型不是任意设计的,而是具有明确定义的正式模型,即使是在较高抽象层次。

利用AADL架构如何实现嵌入式系统的设计

系统构造可以对整个系统和核心子系统(视频检测系统)建模。AADL设备构造可以描述物理组件,如视频摄像机和显示器,因为这些组件不需要捆绑应用软件。我们使用端口组和连接来模拟不同组件之间的通信。摄像机发送的数据流需要穿过视频检测系统。

利用AADL架构如何实现嵌入式系统的设计

AADL通过利用层次化结构可以用不同的详细程度描述系统。图2显示了高层次的监控应用内容。在架构建立完成后,我们必须详细地定义不同的组件。在介绍详细设计之前,让我们先了解一下AADL中的基本单元,软件单元包括进程、线程、线程组、数据和子程序。它们分别定义为:

进程:受保护的地址空间

线程:一个并行执行单位

线程组:用于组织线程的复合单元

数据:数据类型和静态数据

子程序:可调用的连续可执行代码

在图2中,我们使用软件组件进程、数据、线程和系统组件对视频检测系统的逻辑进行建模。注意,这种模型只是比图1所示的内容向前迈出了一小步。

硬件组件(也称为平台种类)包括了处理器、存储器、总线和器件。在图3中(在AADL结构下方)你可以看到硬件组件的AADL标准图形描述,它们描述了系统的物理特性。在监控系统模型中,硬件平台由CPU(处理器)、存储器和总线确定。

利用AADL架构如何实现嵌入式系统的设计

组件抽象包括特性、属性和模式:特性定义了接口或输出组件功能;属性描述了特征和组件行为;模式描述了动态组件重配置。

2 组件之间的交互作用

在定义好组件后,我们需要确定它们之间的关系,AADL本身就支持这一过程。组件交互使用端口(数据和事件输入输出端口)、端口组、子组件(subcomponent)访问、子程序调用、数据交换和共享。它们定义了功能接口和组件之间的通信。在图2中,我们使用数据端口来描述系统与器件之间的交互。

AADL的一个关键特性是能对数据建模和流控制。流定义了通过多个组件和连接的顺序数据或事件。在本例中,我们为三台视频摄像机规定了三种视频流:video_flow1, video_flow2和video_flow3。这些视频流代表了从摄像机到显示器的端到端流动。

我们定义这些流是因为它们在位置上分开的。流规范的目标是支持端到端分析,例如端到端时序和延时,误码传播以及服务质量资源管理等。流的属性定义了性能特点,例如,在监控系统中,特殊流属性一般都会有最大的延时。我们需要检查实际实现情况来确定是否达到设计目标。对于这个系统中的每个端到端的流来讲,都有一个属性被定义为“期望延时等于200ms”。

AADL的一个强大特征是能够针对目标系统同时对硬件和软件建模,这有助于工程师规定和评估完整系统的交互效应。在本例中,视频摄像机、无线收发器和处理器的选择将直接影响端到端的延时。

3 完整的系统模型

图3给出了无线监控系统软硬件的AADL设计,系统利用无线设备提供的无线网络与摄像机通信。处理器按调度属性执行软件组件,并限定存储的存储器。协议反应总线的属性,并一直反馈到分析工具。可以定义像PCI或VME等不同的总线类型,包括这些标准的协议和性能特性。我们还可以定义定制无线链路,使它对CSMA/CA无线链路的特性建模。

因为我们使用时序语义和流程规范描述了关键性能特点之一,因此我们可以评估系统级性能。还可以逐渐增加其他结构细节或属性,以扩充我们定义关键内容时的分析形式。我们还能在所有开发阶段实施评估,包括早期结构权衡分析,开发阶段的系统修改和调整,评估现有架构变化带来的影响,以及根据性能模型的自动集成。这样我们就能使用基于组件的结构规范进行评估,并对每个可能的变化进行权衡。我们可以试验硬件和软件组件、通信模型、调度、误差建模、模式动态特性等,并进行结果整合。该语言还可扩展以集成其他建模和分析功能。

4 工具支持

许多工具支持AADL架构设计和分析。开源AADL工具环境(OSATE)是在开源Eclipse平台之上的一套插件,它提供了一个集成的开发环境用于AADL模型编辑、编译和前端分析。另外,它还包括了使用TOPCASED插件的AADL符号图形编辑器。目前已经开发成功多个分析插件用于执行各种架构的一致性检查、流程和可靠性分析、数据质量和安全分析以及资源调度。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4981

    文章

    18281

    浏览量

    288408
  • 监控
    +关注

    关注

    6

    文章

    1983

    浏览量

    54586
  • 计算机
    +关注

    关注

    19

    文章

    6649

    浏览量

    84520
收藏 人收藏

    评论

    相关推荐

    如何利用FPGA和嵌入式系统设计远程监控系统

    系统立足于利用Intemet实现核环境信息的远程采集。告诉大家,如何利用FPGA和嵌入式系统
    发表于 08-02 08:07

    嵌入式系统的软件架构设计!

    的误解2.1.1. 小型的系统不需要架构有相当多的嵌入式系统规模都较小,一般是为了某些特定的目的而设计的。受工程师认识,客户规模和项目进度的影响,经常不做任何
    发表于 08-10 07:46

    多核嵌入式系统存在的局限性?怎么解决这些问题?

    本文列举了多核嵌入式系统存在的一些主要局限,并对解决这些局限的可行方案进行了探讨。将以一些嵌入式系统为例,指出利用现有
    发表于 03-09 06:36

    如何利用Allegro实现嵌入式系统高速电路布线设计?

    如何利用强大的PCB设计软件Allegro实现了基于EP9315嵌入式系统的硬件电路设计。
    发表于 04-25 07:29

    如何利用单片机实现嵌入式WebServer?

    如何利用单片机实现嵌入式WebServer?利用单片机实现嵌入式WebServer方案的主要技术
    发表于 05-27 06:13

    嵌入式架构有多重要?

    嵌入式架构有多重要?要做到嵌入式应用的代码逻辑清晰,且避免重复的造轮子,没有好的应用架构怎么行?如果没有好的架构,移植将会是一件很痛苦的事情
    发表于 07-22 06:00

    嵌入式架构有多重要

    原有的代码。接下来嵌入式ARM便和大家分享一下,嵌入式架构那些事儿……01嵌入式系统的基本架构
    发表于 10-27 08:15

    嵌入式系统有哪些应用

    经过这些年的发展,嵌入式的功能不断强大,嵌入式的应用领域也更为宽泛,嵌入式在当前主要是指为了各种具体应用功能的实现,按照基本计算机技术,在硬件方面和软件方面均可裁剪,不断适应各种应用
    发表于 10-27 06:19

    嵌入式Linux系统知识架构

    嵌入式Linux系统知识架构及层次嵌入式Linux系统构成及启动略析嵌入式Linux三剑客之ub
    发表于 10-27 07:22

    嵌入式Linux系统体系架构

    介绍了嵌入式Linux系统体系架构,以及每一层开发人员的开发流程。
    发表于 11-05 06:22

    嵌入式系统设计具有什么特点

    嵌入式系统开发设计嵌入式系统设计的主要任务是定义系统的功能、决定系统
    发表于 11-08 06:02

    嵌入式系统中的架构设计的理解

    【阅读这篇文章,你能了解到什么】1. 从事嵌入式开发12年的我,对架构设计的理解;2. 对嵌入式系统中的架构设计要刻意训练;3.
    发表于 11-08 08:23

    决定嵌入式系统软件架构的因素和架构的影响

    嵌入式系统软件架构设计目录1.前言42.决定架构的因素和架构的影响42.1.常见的误解52.1.1.小型的
    发表于 11-08 06:54

    谈一下嵌入式系统架构

    主要对嵌入式系统,单片机这块谈一下嵌入式系统架构。该系列为硬件的选型第一篇
    发表于 12-07 11:46

    架构分析与设计语言AADL研究综述

    架构分析与设计语言(AADL)是一种用于描述复杂嵌入式系统体系架构的建模语言,被广泛用于安全关键系统
    发表于 05-11 15:25 3次下载