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

发布者:温馨生活最新更新时间:2012-03-23 来源: 微计算机信息 关键字:UML  层次构架  嵌入式 手机看文章 扫描二维码
随时随地手机看文章

面向对象方法是当前计算机领域在系统建模方面最流行的一种设计方法,它与传统的开发方法不同,把对象作为研究问题的核心,把事物从具体抽象为一般,运用封装技术减少模块间的耦合度,有利于模块的重复利用,降低开发成本。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

关键字:UML  层次构架  嵌入式 引用地址:基于UML的嵌入式硬件系统模型研究

上一篇:嵌入式数据采集系统中的ADS8364驱动程序设计
下一篇:基于WinCE系统的FIFO数据传输程序设计

推荐阅读最新更新时间:2024-03-16 12:56

嵌入式DSP在家电中的应用
    摘要: 随着政府部分对家电效率及节约能源的要求,基于DSP的电机控制器逐渐进入家电领域。本文阐述了嵌入式DSP的基本特征和优势,并且就基于DSP的异步电机磁场定向控制和无刷直流电机的扩展卡尔曼滤波算法进行了讨论。     关键词: 嵌入式 DSP 家电 概述 DSP擅长于数学运算,嵌入式DSP电机控制芯片把DSP内核与一系列功能强大的控制外设集成到一个芯片上,这样便能以快速的DSP内核作为计算引擎,加上片内的A/D模块提高了电机控制带宽,并且允许低成本实现更加复杂垢控制和无传感器的算法,因此能控制交流感应电动机、无刷直流电动机和开关磁阻电机,需不需要速度或位置传感器,甚至特殊的电流传感方式。这些计
[嵌入式]
嵌入式驱动编写之简单驱动Hello_word
开发环境 BootLoader:u-boot-1.1.6 kernel:linux-2.6.30.4 cpu:S3C2440 步骤 1、编写驱动代码 这应该是最简单的一个驱动了,只在内核打印一下信息,代码如下: #include linux/module.h #include linux/kernel.h MODULE_LICENSE( GPL ); static int __init le2440_hello_init(void) { printk( 1 n Hello,changle_2440!n ); printk( 1 nThis is first driver progr
[单片机]
<font color='red'>嵌入式</font>驱动编写之简单驱动Hello_word
格芯和 Microchip 宣布Microchip 28纳米SuperFlash® 嵌入式闪存 解决方案投产
广泛部署的非易失性存储器 (NVM)解决方案针对单片机(MCU)、智能卡和物联网芯片进行了优化 格芯(GlobalFoundries)与Microchip Technology Inc.(美国微芯科技公司)及其旗下子公司Silicon Storage Technology® (SST®)今日宣布,采用 GF 28SLPe 制程的SST ESF3第三代嵌入式SuperFlash技术NVM 解决方案即将投产。 在实施SST广泛部署的ESF3 SuperFlash技术方面,格芯确立了新的行业基准。该实施方案具有以下功能和优势: • 成本最低的28纳米HKMG ESF3解决方案,仅增加了10个掩模,包括真正的5V IO
[嵌入式]
格芯和 Microchip 宣布Microchip 28纳米SuperFlash® <font color='red'>嵌入式</font>闪存  解决方案投产
嵌入式与温州动车追尾事故关系的深度剖析
7.23温州动车追尾事故发生至今已将近一个星期,关于此事故发生的原因众多纷纭,但经数日的调查,“雷击停驶说”已被多方证据推翻,那究竟是什么原因导致这次事故的发生,为何如此先进的控制系统这么容易就失效?为何D301没有看到D3115次列车停下而做相应的减速。 笔者了解到动车设计上的各种操作系统与嵌入式技术有很大的关系,其中引起最大争议的信号系统、防灾系统、视频系统、监控系统等就与嵌入式系统有着千丝万缕的关系。 来自 粤嵌教育的嵌入式技术讲师及工程师,通过自己专业的嵌入式技术知识对此事故进行了详细的分析,并给予了专业的回答。以下是针对林工的问答,供大家参考。 “因现在黑匣子还未检测公布,我们也没有确切的证据
[嵌入式]
<font color='red'>嵌入式</font>与温州动车追尾事故关系的深度剖析
基于ARM LINUX的嵌入式GUI的研究和移植
引言 什么是嵌入式系统 嵌入式系统一般指以嵌入式微处理器为核心,有别于PC系统,有计算机的部分功能但又不称之为计算机的设备或器材。它主要是以应用为目的,系统软硬件于一体,通常要求具有代码小、响应速度快、可靠性高、低功耗、集成度高等特点。嵌入式系统遍布于各个行业以及人们的日常生活当中,比如掌上PDA、移动计算设备、电视机顶盒、手机、汽车、数字相机、家庭自动化系统、安全系统、自动售货机、工业自动化仪表与医疗仪器等。 什么是嵌入式系统中的GUI 随着后PC时代的到来,嵌入式系统的性能有了大幅度的提高,应用范围也越来越广,当初的一些简单的人机交互接口已经无法满足人们的要求。而与此同时,在台式PC机上图形交互界面早已普及并成熟,于是
[单片机]
基于ARM LINUX的<font color='red'>嵌入式</font>GUI的研究和移植
意法与厦门大学合作研发32位嵌入式系统
  微控制器设计开发的领导厂商意法半导体(ST)协同其增值服务商深圳市博巨兴,宣布与厦门大学签订合作协议,成立“ST嵌入式系统联合实验室”,并举行实验室揭牌仪式。意法半导体持续推动校园合作计划,与中国的大学携手开发嵌入式应用技术和培训电子工程专业学生,再迈出重要的一步。   作为32位微控制器的主导厂商之一,意法半导体将向厦门大学提供先进的基于32位ARM Cortex-M3的STM32微控制器及其开发工具,信息科学与技术学院(通信工程系、电子工程系、自动化系、计算机系及智能科学与技术系)的本科生及研究生将参与意法半导体的实际项目的开发。此外,意法半导体将提供所需的全部培训和技术支持,从事教学和学术研究,协助大学院校及产业界培
[医疗电子]
通信 工业和嵌入式光通信技术进步背后的推动力
随着工业和嵌入式计算对通信距离、低功耗和小型配置需求的提高,对通信带宽也提出了更高的要求。 而FPGA等特定使能技术以及收发器、连接器和接收器的进步也为光通信技术的快速发展提供了支持。 图1:带终端的光纤电缆 一般来说,光通信包括一个将信息编码成光信号的发射器、一个将信号传输到目的地的通道和一个从光信号中复制信息的接收器。光通信速度在很大程度上取决于信息信号与光纤分子相互作用所产生的失真度。传输速度越快,信号就越容易失真。当失真较大时,接收端就会出现检测错误。 不同于射频通信固有的局限性,如今的光解决方案可以在更高的带宽下运行,并通过比射频更小、更轻、功耗更低的封装来传输更多的数据,同时还可以在未受到管制的频谱内运
[工业控制]
通信  工业和<font color='red'>嵌入式</font>光通信技术进步背后的推动力
基于嵌入式系统的RFID手持机系统设计
  RFID 手持机在交通运输、门禁、物流、考勤、货物管理、身份识别等方面有着十分广泛的应用。RFID 手持设备对电源的效率、使用寿命、可靠性、体积、成本等方面有较高的要求。因此,设计一个稳定性好、效率高、杂散小的电源对于RFID 手持机有着十分重要的意义。      1 RFID 手持机硬件结构      在基于嵌入式系统的RFID 手持机系统设计中,以微处理器LPC2142 为主控制器,根据系统的需求外扩了SRAM、Flash、SD 卡、键盘、LCD 显示、声响提示进行数据处理、数据存储、人机交互以及出错报警提示,通过USB 接口可以与主机进行数据通信,背光模块可以为LCD 和键盘提供背光,电压检测模块通过核心处理器的A/D 转
[网络通信]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved