微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于嵌入式实时系统设计模式的研究与应用

基于嵌入式实时系统设计模式的研究与应用

时间:02-20 来源:互联网 点击:

摘要:为满足嵌入式实时系统快速适应硬件型号升级、快速变更要求以及可伸缩、可修改、可复用等方面的需求,本文提出了一种适用于嵌入式实时系统的设计模式--ERTSDP,解决了系统分析设计中实时性、可靠性等方面的问题,提高了软件的开发速度。最后结合具体应用对这一模式的实例化过程加以阐述。

1 引言

从系统的观点来看,嵌入式实时系统也是系统,特别是硬件技术的快速发展,嵌入式实时软件也有快速适应硬件型号升级问题,也有业务快速变更要求以及可伸缩、可修改、可复用等方面的问题。但面向对象技术对于实时性、可靠性的描述并不适合,在嵌入式实时应用中依然不是主流设计方法,从而引入了模式的概念。

最早也是最基础的设计模式是Liskov提出的七种基本模式,并提出对象构成模式的五条基本准则[1-4],为面向对象设计模式奠定了理论基础。Gamma等四人提出了常用的25种设计模式[5],为用模式设计软件体系结构提供了工程实践的基础。不过Gamma的模式作用域是局部的,只在单个的协作内。Bruce Douglas将两个重要的软件工程进展--模式和UML相结合,成功地应用在主流实时软件传统使用的概念和技术中[6]。

本文讨论的模式ERTSDP是基于Bruce Douglass的实时设计模式基础之上,对典型嵌入式实时系统的设计解决方案加以总结抽象,提出的一套完整的设计思路。这一模式的提出可以促使本领域软件开发速度成倍的提高,更为重要的是软件质量也可以得到保证。

2嵌入式实时系统设计模式(ERTSDP)研究

2.1 设计模式的定义

设计模式[7-9]是对经常出现问题的泛解。模式由三个重要的方面组成:第一是问题(problem),这是要以模式来处理的设计的某个方面的陈述,也就是要用模式解决的某些优化和QoS的侧面。第二是解决方案(solution),也就是模式本身,模式用指明了角色的结构图表示。最后是结果(consequences)。

2.2 ERTSDP (Embedded Real-Time Systems Design Pattern)

1.目的

针对嵌入式实时系统分析和设计过程中的问题进行抽象并建立模型,使得新系统可以通过模式匹配、实例化等手段快速建立,从而达到缩短嵌入式实时产品开发周期的目的。

2.解

解即模式本身,2.3小节将详细讨论。

3.结果

结果是使用模式后的一组利弊,将在本文最后讨论。

2.3 模式的解

2.3.1 系统分析

分析的目的是定义待开发系统的基本性质。一般来说,分析是一个黑箱视图,而设计则按某个服务质量QoS的要求提供充分的功能。对系统的分析又可分为两个阶段:需求分析阶段和系统工程阶段。

(1)需求分析阶段

在需求阶段尽可能详细地标识和捕获当前原型的需求,可用顺序图、状态图、活动图、正文描述以及约束等的组合对需求加以描述。

(2)系统工程阶段

系统工程阶段实际是做高层的体系结构设计。系统工程阶段主要定义子系统的体系结构、子系统的接口及交互协议、将系统的用例和需求分解为子系统的用例和需求以及对系统的算法分析和控制法则规范说明。

2.3.2 系统设计

设计就是该问题的具体解决方案,是对分析模型的优化。优化准则的集合就是要求的系统服务质量QoS。如果把每个QoS方面看作是独立的特征并具有相对重要性的加权因子,那么一个好的设计就是找出下面公式的最小值。

Min [ΣQoSFeaturej * Weightj ]

其中Weightj指的是与第j个QoSFeature相关的相对重要性。对系统的设计也分为两个阶段:体系结构设计阶段和详细设计阶段。

(1)体系结构设计阶段

体系结构包括逻辑体系结构和物理体系结构。逻辑体系结构只涉及模型本身如何组织,这种组织可简可繁,取决于小组需要用它构造什么;物理体系结构指的是组织存在于运行时的事物。这一阶段用五层体系结构视图、子系统视图和资源并发视图等来描述。

五层体系结构视图[6]是一个特定的体系结构,作用于许多嵌入式和实时系统的通用结构。它包含五个域:应用域(application domain)、用户界面域(user interface domain)、通信域(communication domain)、抽象操作系统域(abstract OS domain)和抽象硬件域(abstract hardware domain)。

子系统视图是表示重要子系统的类图,多用于对系统进行细化时。

资源并发视图是实时和嵌入式系统一个最突出的特点。一个有资源服务的元素,它的有效性由一个或多个服务质量(QoS)特性来定义。QoS是资源的量化性质,如容量、执行速度、可靠性等等。

(2)详细设计阶段

详细设计阶段是对对象和类的内部精细加工,它只限制在单个对象和类之中。详细设计时,多数优化都集中在数据构造、算法分解、对象状态机的优化、对象实现策略、关联的实现以及可见性和封装问题等方面。

模式

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top