用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

运用UML分析设计占先式实时内核

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:44:55
【本文由PB创新网为您整理】
要:UML是软件工程领域的标准模语言。本文介绍使用统一建模语言UML对嵌入式系统中占先式实时内核的面向对象软件分析与设计;详述利用UML的各种标准符号进行从需求分析到整体设计的一系列工作。

    关键词:统一建模语言(UML) 面向对象 占先式实时内核嵌入式系统

引言

在过去的10多年里,嵌入式技术得到飞速发展。随着嵌入式应用的不断深入,嵌入式系统的复杂性、不确定性在不断提高,系统规模也在逐步增大;而产品的研发周期又在不断地缩短,这给嵌入式应用软件的开发带来了新的挑战。因此,最近几年,对占先式实时内核的研究、开发与应用逐渐成为嵌入式系统的重点研究方向。

面向对象技术由于内在地支持了对系统的抽象、分层和复用技术,能够很好地控制系统的复杂性,可很好地减轻嵌入式软件的开发者必然面临 的由于芯片性能的提高、嵌入式操作系统平台等技术方面不断变化所带来的各种压力,因此在嵌入式领域得到越来越广泛的应用。其中,统一建模语言是当今世界上面向对象系统开发领域中应用最为广泛的工具之一。
javascript:window.open(this.src);" style="cursor:pointer;"/>
1 统一建模语言UML

1.1 UML简介

UML(Unified Modeling Language)是一种标准的、用于面向对象和基于构件的软件系统建模工具,是一种用于对软件系统模型绘制可视化描述的工具。UML以标准的、易于理解的方式建立能够描述复杂系统结构和过程的可视化模型,广泛用于描述信息管理系统、具有实时要求的工业系统过程、嵌入式系统、分布式系统、系统软件等。

UML由图、视图、模型元素、通用机制和扩展机制等几个部分组成。其中图是UML建模的关键,视图由图来描述;而图由模型元素结合通用机制、扩展机制等表示和语义组成。

根据图在系统开发过程中不同阶段的应用,可以分为五类:用例图、静态图、行为图、交互图与实现图。

这些图为系统的分析、设计提供了多种图形表达形式,应用于建模的不同阶段。运用UML。我们可以分析、设计几乎所有的软件和非软件系统。当然,对于具体的系统应该根据系统的类型、系统的规模和开发需要绘制相应的图,不一定在一个系统中画出所有种类的图。

1.2 UML与占先式实时内核

开发一个占先式实时内核与一般软件的开发一样,必然要经过开发的分析、设计、编码、测试四个阶段。在嵌入式软件开发过程中,一般采用的是一种顺序开发方法。然而,由于嵌入式产品更新很快,研发周期要求尽可能的短,同时在开发过程中应能动态地调整,所以,开发初斯所做的需求分析和设计,在后期的实现和测试中往往要做变动。这反映了在软件开发过程中的需求分析、设计与具体实现之间有某种程度上的脱节,对软件实现后面的验证往往会带来很大风险。另外,传统的嵌入式系统软件开发环境主要是对开发过程中软件实现和测试阶段的支持,是以源程序的开发和测试为核心的,缺少必要的需求分析和设计工具。

UML为占先式实时内核的设计和实现提供了一套功能强大的建模工具。由于UML融合了面向对象方法中的数据驱动和行为驱动两种方式,可以从各个方面描述实时系统的功能及反映实时系统的结束条件,可以为具有静态结构和动态结构的系统以面向对象图形的方式建模。因此,使用面向对象的UML可以很好地完成占先式实时内核的建模。

图2 占先式实时内核的类图

2 UML建模的具体应用

2.1 占先式实时内核概述

占先式实时内核具有多任务机制。多任务机制是基于面向任务对象的,以任务为对象,以事件和时间为驱动,通过实时内核管理时间关键任务和任务的优先级,实现任务之间的调度、协同和仲裁。

多任务机制的具体实现由调度程度来完成。在系统程序运行过程中,当前任务完成之后,调度程序调出任务就绪表中优先级最高任务的入口地址,把CPU资源分析给该任务,使之执行。如果该任务在执行过程中引起比它优先级高的任务进入就绪态,或者是中断服务程序使一个更高优先级任务进入就绪态,调度程序会把任务的当前程序指针、寄存器压入到该任务的任务堆栈指针指向的栈空间,保证现场,再把CPU资源分配给更高优先级任务,使高优先级任务开始执行。高优先级任务执行完毕后,下一个在任务就绪表中的最高级任务先从该任务的堆栈数据区恢复寄存器、程序指针、程序状态,然后切换并执行该任务。

采用占先式实时内核的思想设计单片机软件,可以合理应用单片机的有限资源并达到很高的实时响应,能降低软件设计的难度。在本设计中,要求占先式实时内核应用于单片机中,任务数量最多不超过16个任务。

占先式实时内核的功能需求是:

*支持外部异步事件中断、定时器中断、消息传递及任务消息到达时的调度;

*支持基于任务优先级占先调度,多种实时调度策略;

*任务的创建、运行、悬挂、唤醒与撤销;

*定时器时钟管理,任务延时处理;

*共享资源管理,保证任务的同步运行。

由于占先式实时内核主要体现在软件设计方面,所以在此省略了构件图和配置图。

2.2 用例图

图1为用例图,列出了该系统最基本的功能及功能描述,包括一系列用例和从系统中抽象出来的执行者。

(1)角色说明

*任务。是嵌入式系统中用户想要实现的具体功能,是一个线程。这些

[1] [2]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:19,484.38000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号