面向对象方法是当前计算机领域在系统建模方面最流行的一种设计方法,它与传统的开发方法不同,把对象作为研究问题的核心,把事物从具体抽象为一般,运用封装技术减少模块间的耦合度,有利于模块的重复利用,降低开发成本。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。
图2 设计模式[page]
特定应用层:包含了仅与当前应用逻辑相关的设计要素及组合。
一般应用层:包含了不仅在当前应用中有价值,而且可能在其他相关应用中有重复利用价值的要素及组合。
通用服务层:包含了和应用领域无必然关系,属于软件技术范畴的要素和组合。www.51kaifa.com
系统服务层:包含了用于提供基础性服务的要素和组合[3]。
三、UML用于嵌入式硬件系统开发
嵌入式系统是用来控制或监视机器、装备或工厂等大规模系统的设备[4]。在嵌入式计算机体系结构中,嵌入式的硬件系统处在体系中的最底层,它的上面分别为硬件驱动和SOC片上系统以及相对应的应用软件。相对台式计算机而言,嵌入式硬件系统可分为:微处理器、存储器、输入/输出设备,这样的系统具有专用性强、系统内核小、系统精简、实时性强等优点,它可用于工业控制、信息家电、人工智能、计算机网络、电子产品等方面。以下我们利用UML技术来建立一个通用的嵌入式硬件系统。www.51kaifa.com
1、概念级的描述
在概念级阶段,关键是确定要解决的问题和需要完成的目标,在系统需求分析时常采用黑盒方法识别角色和识别用例并在这个基础上确定它们之间的关系,最后绘制用例图。角色并不一定是与系统交互的人,它也可能是与系统交互的物;用例是系统应该提供的功能模块;角色与用例之间的关系为关联关系,用例与用例之间的关系包括一般化关系、扩展关系、包括关系等三种关系[5]。本硬件系统中,主要的参与者为硬件系统的使用者,它分为软件设计师和普通用户;主要的用例是软件设计师可对该硬件系统进行编程,这包括硬件驱动的编写、软件系统的编写和系统的基本操作。普通用户通过软件设计师设计的软件来操作硬件系统,完成相应操作;如图3所示。该阶段中所得到的成果,我们可以把它们存放在UseCase视图或者UseCase实现中。
图3 系统用例图
2、逻辑级的描述
在逻辑级阶段的设计模式中,我们采用了层次构架,该阶段的主要任务是在确定所建系统范围的基础上,详细分析用例的基本信息和具体工作流程,包括提取分析类,建立相应的类图、状态图、序列图、活动图、合作图等并把它们按照与应用逻辑关联的程度分别存放在层次构架的各层次中。在整个分析设计过程中,我们又可以把这些过程划分为静态和动态描述。[page]
2.1 静态描述
该阶段主要是明确系统的关键要素(类),要素间的关系、以及要素的关键状态和关键行为。可以使用类图、对象图等进行静态描述。通过对系统用例图和用户手册的分析,可以得到系统的关键类为:MCU微处理器类、SDRAM类、ROM类、BUS(总线)类、接口类等,它们之间的关系为关联关系,其中接口类又是USB接口类、KEYBOARD类、LCD类、ENTERNET(以太网)类的父类,因此它们间的关系应该为聚合关系。在确定类与关系的基础上再进一步描述出每个类的属性和功能。比如MCU微处理器类的属性有CPU_OE(使能)属性、A(地址)属性、D(数据)属性等等,相应的操作有INITE()初始化操作、READ()读操作、WRITE()写操作等等。www.51kaifa.com
2.2 动态描述
在动态描述中我们主要使用的是序列图、合作图等对系统进行描述,如图4所示。用户通过键盘把数据输入到PCLD(可编程逻辑控制器)中,然后再通过总线输入到微处理器里进行相应的运算处理;当数据从微处理器向外输出数据时,也必须通过总线,然后再经过PCLD最终通过显示器显示出来。
图4 系统序列图
3、物理级的描述
进入物理级这个阶段后,我们着重考虑系统的实际结构并考虑该系统的物理部署,它包括了系统和设备间的连接。通过部署图,可以了解到硬件组件之间的物理关系以及处理节点的组件分布情况。在部署图中,一个结点表示一个计算设备或一个单独的硬件设备,通常描述成一个立体体;结点之间的通信关联一般称为连接,用于描述连接结点间的关系。如图5所示,在该硬件系统中,系统与各设备的相连如下:键盘通过可编程逻辑控制器接口;以太网通过IEEE802.3协议;USB设备通过USB2.0串口;串口设备通过通用串口;工业设备通过相应的CANBUS(控制器局域网络总线技术);显示设备通过编程逻辑控制器与系统相连。
图5 系统部署图
四、总结
本文阐述了UML的基本开发方法,把UML技术运用到嵌入式领域,通过一个通用的嵌入式硬件系统开发,具体描述了如何用UML技术分析、设计以及实施该嵌入式硬件系统。利用UML面向对象技术开发嵌入式系统有助于提高开发人员和用户对整个系统的清晰认识,有助于开发、维护系统,节约各方面的花费,为后继的开发和使用提供坚实的保障。
本文作者创新点:把UML的设计思想用于了嵌入式硬件系统的开发
参考文献:
[1] 孙惠民 UML设计宝典 中国铁道出版社 2003.8
[2] 吴丽君,张毅刚,姜守达 UML在嵌入式系统设计中的应用 哈尔滨工业大学学报 2005.9(9)37
[3] 尤克滨 UML应用建模实践过程 机械工业出版社 2003.1
[4] 沈文斌 嵌入式硬件系统设计与开发实例详解 电子工业出版社 2005.
[5] 贾少锐,薛红梅等 基于UML的远程家电控制软件系统的设计 微计算机信息 2006 (09X) 44-45
[6] Wendy Boggs,Michael Boggs Mastering UML with Rational Rose 2002 Publishing House of Electronic Industry 2002.7
上一篇:嵌入式数据采集系统中的ADS8364驱动程序设计
下一篇:基于WinCE系统的FIFO数据传输程序设计
推荐阅读最新更新时间:2024-03-16 12:56
设计资源 培训 开发板 精华推荐
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况