嵌入式软件系统架构设计官与构件化分析方法

上传人:工**** 文档编号:402073241 上传时间:2022-10-28 格式:DOC 页数:112 大小:3.63MB
返回 下载 相关 举报
嵌入式软件系统架构设计官与构件化分析方法_第1页
第1页 / 共112页
嵌入式软件系统架构设计官与构件化分析方法_第2页
第2页 / 共112页
嵌入式软件系统架构设计官与构件化分析方法_第3页
第3页 / 共112页
嵌入式软件系统架构设计官与构件化分析方法_第4页
第4页 / 共112页
嵌入式软件系统架构设计官与构件化分析方法_第5页
第5页 / 共112页
点击查看更多>>
资源描述

《嵌入式软件系统架构设计官与构件化分析方法》由会员分享,可在线阅读,更多相关《嵌入式软件系统架构设计官与构件化分析方法(112页珍藏版)》请在金锄头文库上搜索。

1、嵌入式软件系统架构设计与构件化分析方法一、摘要:5二、SAE AADL 概述52.1.构件抽象52.2.构架分析6三、AADL语言抽象83.1.构件83.2.构件类型93.3.包、属性集和附录10四、AADL系统模型和规范104.1.AADL文本规范114.2.图形化表示134.3.例子详述134.4.类型声明164.5.实现声明174.6.包声明194.7.属性集声明194.8.附录库声明194.9.命名空间204.10.部分规范204.11.扩展、重定义和部分规范20五、软件组件215.1.进程215.1.1.文本表示225.1.2.图形化表示235.1.3.属性235.1.4.约束245

2、.2.线程245.2.1.文本表示245.2.2.图形化表示255.2.3.线程实施265.2.4.属性275.2.5.约束285.3.线程组285.3.1.文本表示285.3.2.图形化表示295.3.3.属性305.3.4.约束315.4.数据315.4.1.文本表示325.4.2.图形化表示335.4.3.属性345.4.4.约束345.5.子程序355.5.1.文本表示355.5.2.图形化表示365.5.3.属性385.5.4.约束39六、运行平台构件396.1.处理器406.1.1.文本和图形化描述416.1.2.属性416.1.3.约束426.2.存储器426.2.1.文本和图形

3、化描述426.2.2.属性436.2.3.约束446.3.总线446.3.1.文本和图形化描述446.3.2.属性456.3.3.约束456.4.设备466.4.1.文本和图形化描述466.4.2.属性486.4.3.约束48七、系统结构与实例497.1.系统抽象497.1.1.原文和图解表示497.1.2.约束507.2.系统实例51八、组件相互作用538.1.端口538.1.1.端口声明538.1.2.端口连接548.1.3.在系统实例模型连接568.1.4.端口通信时序578.1.5.即时和时延通信578.1.6.采样和下采样608.1.7.属性618.1.8.端口及端口连接约束628.

4、2.端口组628.2.1.端口组及其类型声明628.2.2.端口组互联648.2.3.数据端口的聚合658.2.4.属性658.3.子组件的访问658.3.1.数据访问声明668.3.2.数据访问连接668.3.3.总线访问及其连接688.4.子程序调用718.4.1.调用时序718.4.2.远程调用728.4.3.属性748.5.子程序中的数据交换和共享748.5.1.数据值传递交换:参数和连接758.5.2.引用和全局变量的数据传输768.5.3.AADL方法调用78九、模式799.1.模式说明799.1.1.子构件和连接的模式结构799.1.2.调用序列的模式结构829.1.3.模式说明

5、的属性83十、流8310.1.流声明8310.2.流路径8410.2.1.通过构件的流的路径8410.2.2.在构件中首尾相连的流85十一、属性8611.1.属性声明8711.2.属性赋值8711.2.1.基本的属性联合8711.2.2.包含的属性联合8811.2.3.继承的属性联合9111.2.4.模式或有约束力的属性联合9111.2.5.属性值9211.3.定义新的属性9311.4.属性类声明9411.5.属性名声明9511.6.属性常量声明96十二、组织说明9712.1.包9712.2.设计模式9912.2.1.类扩充9912.2.2.实现改进10012.2.3.实现扩充10112.2.

6、4.设计模式样例102附录105构件-子构件之间的关系105允许的特征105约束概要107已建立的属性类109AADL保留字110类扩充中的改进110实现声明中的改进111一、 摘要:2004年11月,美国汽车工程师协会(SAE)公布的航空航天标准AS5506被命名为结构分析与设计语言(AADL)。AADL是一种建模语言,其早期支持系统的体系结构架设和反复论证系统性能的关键属性,AADL是一个明确界定语义的框架工具,它包括软件抽象,计算硬件和系统组件,其指定和分析实时嵌入式系统及其高可靠性。下述将对AADL语言的概念、结构以及应用进行介绍和说明。二、 SAE AADL 概述SAE的AADL为我

7、们提供了形式化的概念。这些概念从组件及组件间的交互对一个应用系统的构架进行描述和分析。AADL建模过程包括将软件、硬件和系统构件进行抽象。这些抽象包括:1) 指定和分析实时嵌入式系统、复杂混合系统和具有专用性能特性系统;2) 软件与可计算硬件元素的对应关系。另外,AADL的有效性也体现在对基于模型分析和对复杂实时嵌入式系统建立规范的操作上。2.1. 构件抽象在AADL标准中,一个构件的特征包括:身份标识(一个唯一的名称和运行要素)、与其他构件的接口、固有性质(构件在其构架体系中的一些关键特性),以及子构件及其交互关系。除了接口和内部结构元素之外,也可以给一个构件和系统构架定义其他的抽象模型。例

8、如:可以被识别、能与特殊构件交互、互联及分析的抽象信息或控制流。这些添加进去的抽象模型元素可以通过AADL语言向用户提供的可补充附录规范加入到AADL的核心语义中。AADL构件抽象可以概括为以下三种类型:应用软件a) 线程:可以并发执行并可组合到线程组中;b) 线程组:抽象为一组线程、数据和线程组的集合;c) 进程:一块受保护的地址空间,它的范围在它自己运行时会被加强;d) 数据:文本中的数据类型和静态数据;e) 子程序:类似于调用返回值和方法调用的概念;执行平台(硬件)a) 处理器:调度和执行线程;b) 内存:储存代码和数据;c) 设备:与外部环境进行交互的构件,比如传感器、制动器等等;d)

9、 总线:连接处理器、内存和设备;复合系统a) 系统:将其它不同的构件集成到一起而形成一套结构,它同样也可包含其它的系统;系统的构件组成是多元的,可以包括其他系统以及软件或硬件构件。AADL中还有一个重要的特点就是实时数据交换,它包括以下几部分:l 消息传递l 事件传递l 对相同构件的同步访问l 线程调度协议l 实时性要求l 远程程序呼叫另外,实时系统结构的动态重配置可以使用操作状态和状态转移来实现。 2.2. 构架分析AADL可用于对已用系统进行建模与分析,并可以用于设计和集成新的系统。AADL可用于对不完全定义的构架模式进行分析(利用有限的构架细节),同时,也可以从源代码中提取整个系统的构架

10、进行整体分析(依据完整的系统属性)。AADL支持系统的前期预测,并可以分析系统的关键特性,如性能、可调度性和可靠性。例如,在具体描述和分析可调度性能中,AADL提供对线程组件的支持。对这些线程的描述包括周期、非周期(事件驱动)、后台(一次调用并结束执行)和偶然(最大上限触发)事件。这些线程特性将当作线程声明的一部分来定义,并且可以随时分析和提取。在AADL语义中,包含了新的构件属性和其他模型元素的属性集是可以被接受或认可的。依赖AADL语言的扩展能力,更多的模型元素和属性也可以被包含进去。例如,为了减轻马儿可夫或故障树方法对构架分析的难度,我们可以定义一个可靠模型,并定义组件属性的可靠附录。由

11、此建立起的分析方法可以评估构架与特定可靠性要求的一致性程度。总的来说,AADL的这些属性和扩展功能使我们在构架设计中更好地结合入新的分析方法,并更多地关注对相关分析方法的研究工作中。这样的意义在于,分析方法有助于减轻我们在早期的开发或升级过程中对设计方案的比较、评估和选择。 AADL通过专有的接口定义来实现构件间的交互。一个构件的接口由以下具有方向性的流式构件组成: a) 无序状态数据的数据端口b) 队列信号数据的事件数据端口c) 异步事件的事件端口d) 同步函数调用e) 显式数据构件访问构件间的交互是被明确规定的。例如,数据构件间通信是通过连接声明来规定的。这样可以更好地实现即时或延时通信控

12、制。另外,这些连接语义确保了数据流转移的可确定性。这意味着一个线程总是以相同的时间延时来接收数据。如果数据流转移速度超出或未达到线程延时的时间,那么,线程也不会随着需要接收数据流的速度来调整自己的延时。应用构件具有各自的时间特性,例如周期、最坏执行时间、最长执行时间、空间请求、完成效率。同时,应用构件也具有数据和事件流的特性。因而,属性定义需要包括如下内容:a) 实现AADL模型上应用构件的源代码和数据b) 线程到处理器、源代码和数据存储的绑定约束以上约束可以限制应用构件绑定到特定的处理器或者其他存储体类型(例如支持DSP功能的处理器)。同时,也预防了应用构件绑定到其他应用组件的储存单元,提供

13、了容错的功能。三、 AADL语言抽象AADL的核心语义概念和关键规范元素如图3.1所示。在AADL中,构件通过类型和实现声明来定义。一个构件类型的声明定义了一个构件接口元素和外部显式属性(例如,与其他构件交互的接口特性、流式细节和内部属性值)。一个构件实现声明从子构件、子构件连接、子函数调用次序、模式、流式实现和属性这些方面定义了一个构件的内部结构。构件被分为应用软件、执行平台和复合类型。包将AADL元素组织入被命名的组合中。属性集和附录能够让设计者对语义进行扩展,并可以通过用户自定义的AADL规范来满足工程或者设计中的需求。3.1. 构件构件是AADL中最主要的模型关键字。构件被指定给一个专

14、用的名称,并被声明为一个类型,在一个特殊的构件类别中实现。一个构件类别定义了一个构件的运行要素。构件类别被分成如下三个集合:1.应用软件a) 线程:一个并行执行的可调度单位b) 线程组:用于组织线程的合成单位c) 进程:一个受保护的地址空间d) 数据:源代码中的数据类型或静态数据e) 子函数:可顺序调用并执行的源代码2.执行平台a) 处理器:执行线程的构件b) 存储器:用于存储数据和代码的构件c) 设备:连接并表示外部环境的组件d) 总线:为执行平台组件间提供数据互访的组件3. 复合系统a) 系统:软件、执行平台或者系统构件的复合在本文档的相应章节中,将会对每一个构件类别进行讨论。在4.1节中,将讨论AADL规范中的语法和语义声明。3.2. 构件类型一个AADL构件类型声明确立了组件可见的外部特征。例如,一个声明规定了一个线程构件的接口。一个构件类型声明由一个定义条款和

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号