基于UML的嵌入式硬件系统模型研究
 

2010-03-16 作者:陈冬旭 程小辉 龚幼民 来源:网络

 

面向对象方法是当前计算机领域在系统建模方面最流行的一种设计方法,它与传统的开发方法不同,把对象作为研究问题的核心,把事物从具体抽象为一般,运用封装技术减少模块间的耦合度,有利于模块的重复利用,降低开发成本。UML技术是当前系统开发中常用的面向对象技术,它吸取了面向对象技术领域中其他流派的长处,同时也包括非面向对象的方法,是一种定义良好、易于表达、功能强大且普遍适用的面向对象建模技术。本文把该技术运用到嵌入式硬件系统的描述中,通过分析、设计、实现,初步得到嵌入式硬件系统的模型。

一、UML

UML(Unified Modeling Language,统一建模语言),是一套用来设计软硬件蓝图的标准图形化建模语言,也是一种可视化的面向对象模型分析语言[1],它使软、硬件系统的设计充分经历需求分析、全局设计、详细设计、实施部署等阶段。UML是在Booch、Rumbaugh和Jacobson三人的共同努力下,于1996年6月统一了Booch、OMT(Object Modeling Technology,对象建模技术)和OOSE(Object-Oriented Software Engineering,面向对象软件工程)等方法得到的。统一建模语言UML主要由静态图和动态图来定义,常用的图形有9种。静态图分为:类图、部署图、组件图、对象图、用例图;动态图分为:序列图、合作图、状态图、活动图。整个UML建模可分为概念级建模、逻辑级建模、物理级建模三个过程,如图1。

图1 UML建模过程

二、设计模式

设计模式(Design pattern)是被人们广为接受并反复使用、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式由UseCase实现、构架模式、构架机制三个部分组成,UseCase实现是在需求分析报告的基础上,得到的系统需求,作为系统功能需求过度到构架模式的中介;构架机制是描述可复用的前人设计经验,通过构架机制可以实现知识的复用。UseCase实现和构架机制这两者让系统从需求分析向设计方案过度。设计模式中的构架模式是在特定领域基于体系结构的可重用的设计,是系统重要的构件组织或结构,它是分析设计工作流程的结果。当项目再次进行工作流程时,构架模式将在一次又一次迭代中不断演化、改进、精炼。层次构架是一种典型的构架模式,它把分析和设计的结果按特殊到一般的等级进行分组,分成四个层次:特定应用层、一般应用层、通用服务层、系统服务层,如图2。

 SHAPE  \* MERGEFORMAT

图2 设计模式

特定应用层:包含了仅与当前应用逻辑相关的设计要素及组合。

一般应用层:包含了不仅在当前应用中有价值,而且可能在其他相关应用中有重复利用价值的要素及组合。

通用服务层:包含了和应用领域无必然关系,属于软件技术范畴的要素和组合。

系统服务层:包含了用于提供基础性服务的要素和组合[3]。

三、UML用于嵌入式硬件系统开发

嵌入式系统是用来控制或监视机器、装备或工厂等大规模系统的设备[4]。在嵌入式计算机体系结构中,嵌入式的硬件系统处在体系中的最底层,它的上面分别为硬件驱动和SOC片上系统以及相对应的应用软件。相对台式计算机而言,嵌入式硬件系统可分为:微处理器、存储器、输入/输出设备,这样的系统具有专用性强、系统内核小、系统精简、实时性强等优点,它可用于工业控制、信息家电、人工智能、计算机网络、电子产品等方面。以下我们利用UML技术来建立一个通用的嵌入式硬件系统。

1、概念级的描述

在概念级阶段,关键是确定要解决的问题和需要完成的目标,在系统需求分析时常采用黑盒方法识别角色和识别用例并在这个基础上确定它们之间的关系,最后绘制用例图。角色并不一定是与系统交互的人,它也可能是与系统交互的物;用例是系统应该提供的功能模块;角色与用例之间的关系为关联关系,用例与用例之间的关系包括一般化关系、扩展关系、包括关系等三种关系[5]。本硬件系统中,主要的参与者为硬件系统的使用者,它分为软件设计师和普通用户;主要的用例是软件设计师可对该硬件系统进行编程,这包括硬件驱动的编写、软件系统的编写和系统的基本操作。普通用户通过软件设计师设计的软件来操作硬件系统,完成相应操作;如图3所示。该阶段中所得到的成果,我们可以把它们存放在UseCase视图或者UseCase实现中。

图3 系统用例图

2、逻辑级的描述

在逻辑级阶段的设计模式中,我们采用了层次构架,该阶段的主要任务是在确定所建系统范围的基础上,详细分析用例的基本信息和具体工作流程,包括提取分析类,建立相应的类图、状态图、序列图、活动图、合作图等并把它们按照与应用逻辑关联的程度分别存放在层次构架的各层次中。在整个分析设计过程中,我们又可以把这些过程划分为静态和动态描述。

2.1 静态描述

该阶段主要是明确系统的关键要素(类),要素间的关系、以及要素的关键状态和关键行为。可以使用类图、对象图等进行静态描述。通过对系统用例图和用户手册的分析,可以得到系统的关键类为:MCU微处理器类、SDRAM类、ROM类、BUS(总线)类、接口类等,它们之间的关系为关联关系,其中接口类又是USB接口类、KEYBOARD类、LCD类、ENTERNET(以太网)类的父类,因此它们间的关系应该为聚合关系。在确定类与关系的基础上再进一步描述出每个类的属性和功能。比如MCU微处理器类的属性有CPU_OE(使能)属性、A(地址)属性、D(数据)属性等等,相应的操作有INITE()初始化操作、READ()读操作、WRITE()写操作等等。

2.2 动态描述

在动态描述中我们主要使用的是序列图、合作图等对系统进行描述,如图4所示。用户通过键盘把数据输入到PCLD(可编程逻辑控制器)中,然后再通过总线输入到微处理器里进行相应的运算处理;当数据从微处理器向外输出数据时,也必须通过总线,然后再经过PCLD最终通过显示器显示出来。

图4 系统序列图

3、物理级的描述

图5 系统部署图

进入物理级这个阶段后,我们着重考虑系统的实际结构并考虑该系统的物理部署,它包括了系统和设备间的连接。通过部署图,可以了解到硬件组件之间的物理关系以及处理节点的组件分布情况。在部署图中,一个结点表示一个计算设备或一个单独的硬件设备,通常描述成一个立体体;结点之间的通信关联一般称为连接,用于描述连接结点间的关系。如图5所示,在该硬件系统中,系统与各设备的相连如下:键盘通过可编程逻辑控制器接口;以太网通过IEEE802.3协议;USB设备通过USB2.0串口;串口设备通过通用串口;工业设备通过相应的CANBUS(控制器局域网络总线技术);显示设备通过编程逻辑控制器与系统相连。

四、总结

本文阐述了UML的基本开发方法,把UML技术运用到嵌入式领域,通过一个通用的嵌入式硬件系统开发,具体描述了如何用UML技术分析、设计以及实施该嵌入式硬件系统。利用UML面向对象技术开发嵌入式系统有助于提高开发人员和用户对整个系统的清晰认识,有助于开发、维护系统,节约各方面的花费,为后继的开发和使用提供坚实的保障。

本文作者创新点:把UML的设计思想用于了嵌入式硬件系统的开发

参考文献:

[1] 孙惠民 UML设计宝典 中国铁道出版社 2003.8

[2] 吴丽君,张毅刚,姜守达 UML在嵌入式系统设计中的应用 哈尔滨工业大学学报 2005.9(9)37

[3] 尤克滨 UML应用建模实践过程 机械工业出版社 2003.1

[4] 沈文斌 嵌入式硬件系统设计与开发实例详解电子工业出版社 2005.11

[5] 贾少锐,薛红梅等基于UML的远程家电控制软件系统的设计微计算机信息 2006 (09X) 44-45

[6] Wendy Boggs,Michael Boggs Mastering UML with Rational Rose 2002 Publishing House of Electronic Industry 2002.7



如何向妻子解释OOD
OOAD与UML笔记
UML类图与类的关系详解
UML统一建模语言初学
总结一下领域模型的验证
基于 UML 的业务建模


面向对象的分析设计
基于UML的面向对象分析设计
UML + 嵌入式系统分析设计
关系数据库面向OOAD设计
业务建模与业务架构
使用用例进行需求管理

相关咨询服务
UML+OOAD项目实施
UML+OOAD项目敏捷咨询


某航空IT部门 业务分析与业务建模
联想 业务需求分析与建模
北京航管科技 EA工具与架构设计
使用EA和UML进行嵌入式系统分析
全球最大的茶业集团 UML系统分析
华为 基于EA的嵌入式系统建模
水资源服务商 基于EA进行UML建模
更多...   
 
 
 
 
 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号