基于UML的嵌入式实时控制系统的建模与实现
基于UML的嵌入式硬件系统模型研究

基于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 建模过程
二、设计模式。
基于UML的嵌入式实时系统实例分析

基于UML的嵌入式实时系统实例分析摘要:统一建模语言uml是一种面向对象的标准建模语言,现在无论在欧洲,还是美国,或者世界上的一些其他地区,uml都已经成为了工业界开发的首选方法。
介绍了uml的概况和特点,并以一个数字式录音机为实例,详细阐述了uml在嵌入式实时系统中的应用。
关键词:uml 嵌入式实时系统类模型1 统一建模语言统一建模语言uml(unified modeling language)是由grady booch、ivar jacobson和james rumbaugh发起,在booch方法、oose方法和omt方法的基础上,广泛征求意见,集众家之长,几经修改而成的一个面向对象分析与建模语言。
在美国,uml已经获得工业界、科技界和应用界的广泛支持,已有700多个公司表示支持采用uml语言作为建模语言。
uml共提供了五类图:⑴用例图。
用例图从用户角度描述系统功能,并指出各功能的操作者。
在uml中,一个用例图由一系列角色和用例组成,其中用例被画在一个框内,该框表示系统边界。
⑵静态图。
包括类图、对象图和包图。
⑶行为图。
它描述系统的动态模型和组成对象间交互关系,包括类的状态图和活动图。
⑷交互图。
它描述对象间的交互关系,包括顺序图和合作图。
其中顺序图显示对象间的动态协作关系;合作图也描述对象间的动态协作关系,但除表示信息交换外,合作图还显示对象以及它们之间的关系。
⑸实现图。
包括构件图和配置图。
其中构件图用来描述代码构件的物理结构和各构件间的依赖关系;配置图定义系统中软、硬件的体系结构。
uml的主要特点可以用以下三点来概括:⑴它统一了booch、omt 和oose等方法中的概念。
⑵它吸取了面向对象技术领域中其他流派的长处。
⑶它在演变过程中还提出了一些新的概念。
uml本身是一个完整的建模语言,因此支持系统开发的不同阶段,从需求描述到系统的测试。
总之,uml适用于任何类型的系统,其丰富的描述能力可以精确地描述系统的静态结构和动态行为。
基于UML的嵌入式实时控制系统的建模与实现

UM L 。 Ba e o e s g nd Re lz to n 。 s d M d lDe i n a a i a i n i Em b dd d Re l 。Ti e Co r lS s e e e a 。 m nt o y t m
W ANG a - ig , Xiopn XUAN -e 一 Z Lefi,, HANG e W i
代码 的 自动生 成 , 提高 了软 件设计 和实 现 的效 率 、 量 、 这 质 维护性 和扩 展性 。
关键 词 : 准建 模语 言 ; 入式 系统 ; 标 嵌 实时控 制 ;A i a T T I Rv ul A E s S 中 图分类 号 : ) 2 1 n 3 . 0 文献 标识 码 : A 文章 编号 :6 3 2 x 2 o )7 29 3 1 7 —69 (O 60 —03 —0
证到 编码 这一 整个过 程 的模型 系统及 建模 方法 变得越 来越 重要 。用 U 对嵌 入式 系统 进行 面 向对 象分 析 与设 计 , 以电 M1 并
梯实时控制系统为例, 建立系统的静态模型和动态模型。在 I Rv ul A E环境下, A sa T T i S 分析系统状态 , 实现了从状态图到 C
to  ̄ t sa x m pe.I n lzss t tt a dta somssaeda rmsit c d uo t al n I 、 rls e a n e a l t ay e  ̄ e s e n r n fr tt ig a m a m as noC o ea tmai l c yi AR fce c iin y,q ai ult y,man ea c n d e p n iit of ot r einn wo l ei p db sd O hsmeh d. itn n ea x a sbl i y fwaed g i s s g ud b m mv ae Nt i to Ke r s u fe d l n uge e b d e y t ;e l t ec n rlI y wod : ni dmo ei l g a i g n a m e d d s se ra — i o to ;AR i a ATE m m vs l u
嵌入式系统的设计和实现

嵌入式系统的设计和实现嵌入式系统是指集成了计算机芯片、控制器、传感器等硬件设备的特殊电子设备系统。
它通常运行在一些资源受限的嵌入式处理器上,具有实时性、可靠性、成本低廉等特点。
如今,随着信息技术的迅速发展,嵌入式系统已经广泛应用在各种领域,例如智能家居、智能交通、智能医疗等。
嵌入式系统设计开发的核心,在于硬件电路的设计和程序代码的编写。
本文将从嵌入式系统的设计和实现两个方面,探讨如何开发一款成功的嵌入式系统。
一、嵌入式系统的设计1.硬件电路设计嵌入式系统的硬件设计是系统整体性能的基础,是开发过程中必不可少的一步。
在设计硬件电路时,需要首先了解嵌入式系统所需的硬件组件,比如处理器、存储器、输入输出设备、传感器等。
其次,需要根据设计目标和系统要求,选择合适的硬件设备,并将其组合成合理的电路结构。
最后,需要完成电路设计的的绘制及原理图、PCB的布线等工作。
在这个过程中,设计者需要考虑功耗、散热、成本等多个因素。
2.软件设计嵌入式系统的软件设计是嵌入式系统开发的重中之重。
在软件设计方面,需要仔细考虑嵌入式系统的程序架构及程序设计模式,比如事件驱动模型或多任务模型。
同时,需要考虑系统的实时性和稳定性,确保系统代码的质量和可靠性。
在软件设计过程中,需要使用一些工具和开发环境,如Keil、IAR、Eclipse等集成开发环境。
3.测试与调试测试和调试是嵌入式系统开发的重要环节,只有将系统进行充分测试与调试,才能保证系统的正确性和稳定性。
在测试过程中,需要首先进行各个模块的单元测试,以验证系统的功能是否正常。
然后进行集成测试,交叉验证各个模块的协同工作是否正常。
最后进行耐久性测试和压力测试,确保系统能够在各种恶劣环境环境下正常运行。
二、嵌入式系统的实现1. 系统内核系统内核是嵌入式操作系统的核心,也是嵌入式系统的核心。
系统内核需要提供一个可靠的执行环境和一些重要的操作系统服务,如任务管理、内存管理、中断管理、设备驱动程序和通讯协议等。
基于UML的嵌入式软件建模研究

基于UML的嵌入式软件建模研究冯林;张新福;翟性泉;胡海明【期刊名称】《微计算机信息》【年(卷),期】2012(000)005【摘要】In this paper a design of an embedded control software system is introduced. As an Object-Oriented modeling tool, the UML can be used to solve problems which often exist in traditional embedded software system design .The practice shows that it is a new way to design embedded software system for developer.%摘要:本文以某型嵌入式控制系统软件的设计建模为例,证明了以可视化面向对象的UML建模工具,能够有效克服传统嵌入式系统软件设计中出现的问题,为嵌入式系统软件开发人员提供了一种新的设计开发方法。
【总页数】2页(P6-7)【作者】冯林;张新福;翟性泉;胡海明【作者单位】92117部队,北京100072;92117部队,北京100072;92117部队,北京100072;92117部队,北京100072【正文语种】中文【中图分类】TP302.1【相关文献】1.基于UML模型的嵌入式软件测试用例生成方法 [J], 黄晨;段永颢2.基于UML的嵌入式软件开发 [J], 周末3.基于UML的嵌入式软件测试用例生成方法研究 [J], 殷永峰;刘斌;姜同敏4.基于UML的嵌入式软件开发 [J], 彭敏5.基于UML实时扩展的嵌入式软件测试用例生成技术 [J], 殷永峰;郑本焘;陆民燕;倪红英因版权原因,仅展示原文概要,查看原文内容请购买。
UML软件分析与建模技术在嵌入式指纹门禁系统中的应用研究

UML软件分析与建模技术在嵌入式指纹门禁系统中的应用研究嵌入式系统的开发是一个软硬件协同设计过程,它需要不同技术背景的人共同开发.而传统的嵌入式软件分析与设计方法严重脱节,开发过程没有—个确定的统一的标准,这使得产品形成的每一个过程人为因素影响严重.此外,分析设计的结果不能在开发类似项目或产品时重用.以上几个问题成为多年来制约嵌入式系统发展的主要瓶颈,使得大部分嵌入式软件的开发工作变得十分困难甚至无法进行.作为面向对象建模技术的标准,UML适合于将复杂的系统设计问题简单化.它采用面向对象图形的方式对系统进行描述,支持从分析、设计到建模的全过程.按照UML规范,使用CASE工具Ra ti onal Ros e对嵌入式系统建模,不仅可以使系统分析设计实现标准化,而且将UML分析建模的构建方法和相应的集成和测试策略结合在一起,完全可以实现系统分析、设计和制作、测试分别由不同的项目成员在统一、一贯的方式下完成,这将会使高质量的嵌入式系统的开发变得更为容易.1、指纹门禁系统需求分析目前,将指纹识别技术应用到各种需要身份验证的系统或者嵌入到原有的大量保安系统,会大大提高系统的安全性和便捷性.本文中,设计了一个嵌入式指纹门禁系统,它使用指纹识别技术来验证用户身份,并提供了一套完整的软硬件来实现门禁系统的日常管理.主要包括:用户信息注册、删除、查询、指纹比对、门禁控制和监视以及日志管理等.针对嵌入式指纹门禁系统的复杂性,在本系统的开发中,按照UML规范,采用基于UML的嵌入式软件分析与建模方法,使用CASE工具 Rational R0 绘制了各种模型图,从不同的层次和角度为系统的分析、设计、验证以及实现过程提供支持,详细讨论了如何使用UML辅助完成整个系统的开发.1.1 系统功能需求建模过程首先应该从系统中的类开始,为了理解类的结构,需要对系统及其工作过程做一个总体陈述.经分析,该系统包含一个电动门、一个指纹传感器、一个微处理器、一个存储指纹库的存储系统、一个数字键盘、一个十字型按键、一个液晶显示屏、一个电动门以及两个状态灯.系统从指纹传感器中获取指纹数据,并在微处理器中进行预处理和特征提取,获取指纹的生物代码信息,并与指纹库中注册用户的指纹模板进行匹配算法的验证,并输出结果,通过状态灯显示,同时根据匹配结果发送控制信号控制门的开关.通过对系统及类做进一步分析可得到系统总的类图如图1所示.通过这幅图我们可以得知系统中所包含的基础类及其相互之间的关系,为后文动态模型的建立奠定了基础.图1 指纹门禁系统类图1.2 用例说明通过对系统的需求分析,我们确定了该系统需要实现的功能.那么如何形象化地描述这些功能,以便使我们更好地与用户沟通,更准确地了解他们的需求呢?这就要使用UML的用例模型.在UML中,用例可以被描述为参与者与系统之间的一次交互作用.每一个用例都是一种不同的使用系统的方法,都会产生不同的结果.而角色是与系统交互的对象,它是使用该系统的人或者其它系统.用例图列出了用户最想要的功能以及每个功能的描述.经分析,本系统的用例图如图2所示.图2 指纹门禁系统用例图从图中我们可以明确地了解到系统的功能需求.该系统主要有两类用户:普通用户和管理员.“启动系统”用例表明系统初始化时要进行传感器和微处理器等的自检.进入正常工作状态以后,普通用户可以通过“身份验证”用例进行指纹验证.如果是未注册用户则在获得合法II)的前提条件下,通过“注册”用例注册自己的相关信息.系统提供的“开/关门”用例则主要是根据指纹匹配结果,通过信号线将控制信号传输给门的驱动电动机以此来控制门的开关.管理员主要负责系统维护,可以使用“注册”、“查找”和“删除”等用例进行信息管理操作.由于在该阶段我们对系统还没有充分理解,同时为了控制用例的数目,在这里我们只是给出了系统的总体用例模型,在随后的详细设计阶段我们可以对这些用例进行进一步的细化以精化系统的需求.2、指纹门禁系统设计需求分析完成以后,可以依据分析结果和所建立的模型图进一步指导系统的设计.系统设计主要包括了用例详细设计、类设计、数据模型设计等.2.1 用例详细设计详细设计阶段需要对系统需求中的每个用例进行详细的分析,并以一种通用的表示来文档化,以便使开发人员更清晰得了解每个用例的具体实现过程.本文以指纹验证用例为实例,对该用例进行更进一步的详细分析,它包含了指纹采集、预处理、图像增强、细化、二值化处理、特征码提取、比对、结果输出等过程,这些过程都可以通过文档清晰地表示.我们在描述系统用例时,是从用户角度出发的,没有涉及系统内部.通过分析得到满足系统需求的类之后,便可根据用例驱动的思想,通过类之间的交互来实现用例.嵌入式系统一般都要与硬件设备如传感器等进行交互,同时还有很强的时间和内存空间的约束.交互图就是用来描述对象间的动态交互行为的,它一步步地显示了使用案例的流程.在UML中定义了两种交互框图:顺序图和合作图.这两种框图显示同一信息,但组织方式不同.顺序图按时间排序,依次显示对象间进行的操作;合作图则以数据流为中心,显示各个对象间的数据交换情况.由于顺序图能更好地说明对象间的交互顺序,有利于我们理解系统,所以本文以“指纹验证”用例的顺序图(见图3)为例来描述对象之间的交互过程.其它用例都可以采用此种方法来详细说明,以便我们更清晰地了解系统每个功能(用例)的具体实现过程.图3 指纹验证用例顺序图2.2 类设计UML规范按照类职责不同将系统设计类分为边界类、实体类和控制类.其中实体类是系统运行的数据基础类,也是类设计的核心部分.按照RUP的思想,采用名词分析法对系统需求进行分析,便可以得到大部分的实体类.对于指纹门禁系统而言,指纹信息数据是系统的核心数据,同时,一些相关的管理信息也是实体类的组成部分,主要有用户信息、系统13志等等.在这里我们只对系统中两个主要类进行分析,如下表格1,2所示.表1 指纹图象FingerImage实体类表2 指纹特征Finge rf eature实体类2.3 数据库模型设计完成实体类的分析与设计之后,可建立其数据库模型.在本系统中采用Pc 机与嵌入式处理器之间的通信来管理相应的数据,因此PC机上数据管理系统的数据库模型设计如下图4所示.数据库表组成包括注册用户管理、被鉴定人信息、指纹特征数据和日志管理,数据库中表结构字段的描述与上文实体类成员变量的结构是相对应的.例如:注册用户信息由RegisterUse rs表组织,设置的字段有:用户ID、姓名、用户级别等;指纹图像数据表Fin- gerimage设置的字段有:图像名称、图像保存路径、图像特征数、图像宽度、高度等;指纹特征数据表FingerFeature设置的字段有:ID、注册用户指纹特征、被鉴定人指纹特征、指纹特征数等,完全可以满足系统的需求.图中其它各表的详细数据项描述可根据实际的需要来设计,在此不作过多举例说明.各个表间的连线表示数据表约束,例如:RegisterUs-ers表和W or klog表之间的对应关系为一个注册用户可以对应多条日志记录.同时,RegisterUsers表的主键用户 ID)是表WoALog的外键,图中其他依赖关系表示含义相同.3、指纹门禁系统实现与集成测试通过反复迭代上述建模及模型验证过程,便可建立起整个系统的正确模型.建模工作流完成以后便是系统的实现阶段,此阶段主要进行下列工作:(1)实现平台的选择①硬件的设计与实现本系统硬件平台采用SAMSUNG公司的S3C2410开发板设计实现,CPU采用,S3C2410A ARM920T.②系统软件的设计与实现ARM应用软件的开发需要交叉编译环境,而在Windows平台下常用的ARM SD T调试器提供了一个集成开发环境]DE,可以在一台Pc机上完成编辑、编译、链接、下载和调试等工作.开发工具安装之后,可以用ARM Project Manager来生成一个自己的工程,并在ARM Debuggefor Windows下进行调试.因此,本系统的指纹图像处理及匹配算法采用V C语言在IDE中实现。
使用UML对系统进行建模

使用UML对系统进行建模面向对象的软件工程,同传统的面向过程的软件工程相比,在需求的获取、系统分析、设计和实现方面都有着很大的区别。
UML是OOA和OOD的常用工具。
使用UML来构建软件的面向对象的软件工程的过程,就是一个对系统进行不断精化的建模的过程。
这些模型包括用例模型、分析模型、设计模型,然后,我们需要使用具体的计算机语言来建立系统的实现模型。
当然,在整个软件工程中,我们还需要建立系统的测试模型,以保证软件产品的质量。
使用面向对象的工具来构建系统,就应该使用面向对象的软件工程方法。
然我,我们经常会发现,在实际的开发过程中,很多开发人员虽然能够理解UML的所有图形,却仍然不能得心应手的使用UML来构建整个项目,其很大的原因,是仍然在使用原有的软件工程方法,而不清楚如何使用UML来建立系统的这些模型,不清楚分析和设计的区别,以及他们之间的转化。
应用软件系统,就其本质来说,是使用计算机对现实世界进行的数字化模拟。
应用软件的制造过程,按照UML的方法,就是建立这一些列模型的过程。
本文将就一个图书馆系统,说明如何使用UML来对系统进行这一系列的建模。
关于这个图书馆系统,基本的需求比较简单,就是允许学生可以在图书馆借阅和归还图书,另外,也可以通过网络或者图书馆的终端来查阅和预订书。
当然,图书馆管理员也可以对图书进行管理。
为了简化系统,我们没有把图书馆中的人员作细分。
之所以采用这个相对简单案例,是因为很多人都对图书馆系统有很强的感性认识,这样,读者不需要花很多的时间来理解系统包含的业务知识。
同时,也因为本文只是对使用UML 的过程做一个探讨,着眼于使用UML进行建模的过程,说明各个层次的模型之间的区别和联系,展示系统演进的过程,而不会深入UML的细节方面。
对于更加复杂的系统,其分析和设计的方法是相通的,可以举一反三。
用例模型——系统需求的获取用例模型定义系统做什么,是用来获取系统需求的有效手段。
用例模型由“角色”和“用例”组成。
实时系统中的实时嵌入式控制系统设计(五)

实时系统中的实时嵌入式控制系统设计随着科技的飞速发展,嵌入式控制系统在现代社会中发挥着越来越重要的作用。
尤其是在实时系统中,嵌入式控制系统的设计变得尤为关键。
本文将从实时系统中的需求出发,探讨实时嵌入式控制系统的设计原则和方法。
一、实时系统中的需求实时系统是指能够满足特定时间约束的系统,在嵌入式控制领域中,实时系统的要求更加严格。
实时嵌入式控制系统需要满足以下几个关键需求:1. 时钟同步:在实时系统中,各个子系统需要精确同步。
确保系统中的各个模块在相同的时间标准下进行操作,避免时间差带来的错误。
2. 响应时间:实时嵌入式控制系统需要及时响应各种输入信号,对于实时性要求较高的应用,响应时间必须足够快,否则会导致系统失效。
3. 可靠性:实时嵌入式控制系统必须保证高可靠性,尤其是在关键领域如航空航天、医疗设备等。
系统设计要考虑到各种可能的故障和异常情况,以保证系统的稳定性和安全性。
二、实时嵌入式控制系统的设计原则在实时嵌入式控制系统的设计过程中,以下原则是必须遵循的:1. 分析需求:在开始系统设计之前,需要对需求进行充分的分析,明确系统的功能和性能要求。
只有清楚了解需求,才能更好地进行系统架构设计和模块划分。
2. 模块化设计:实时嵌入式控制系统的设计应该采用模块化的方式。
通过将系统划分为多个功能模块,可以提高系统的可维护性和可扩展性,方便进行软硬件的开发和调试。
3. 优化代码:在实时嵌入式控制系统中,代码的执行效率直接影响系统的响应时间和稳定性。
因此,需要针对不同的任务和资源进行代码的优化,减少不必要的计算和通信开销。
4. 硬件选择:实时嵌入式控制系统的硬件选择非常重要。
需要根据需求和预算选择适合的处理器、存储器、传感器等硬件设备,以确保系统性能和功耗的平衡。
三、实时嵌入式控制系统的设计方法在实时嵌入式控制系统的设计过程中,可以采用以下几种方法:1. 面向对象设计:面向对象设计是一种常用的设计方法,可以将系统划分为多个对象,每个对象负责一个特定的功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
万方数据 为智能嵌入式系统。
・F ? G・
计算机技术与发展
第E H卷
经建立的过程模型在过程模型环境的支持下是可执行的, !" # 描述被转化为代码。可执行的过程是过程模型的实 例。通过对过程执行的跟踪和监控, 收集与过程有关的量
[ ] $ 度, 对过程进行评价, 以便改进过程模型 。
到达的楼梯的位置。 ・ 标识器 ( ) : 提供电梯的当前位置和移动方 3 / 4 5 6 , 7 8 1 向, 系统有两类标识器: 电梯位置标识器 (@ A . 9 , 7 8 1+ 8 5 7 5 8 / ) 和电梯方向标识器 (@ 3 / 4 5 6 , 7 8 1 A . 9 , 7 8 1: 5 1 . 6 7 5 8 /3 / 4 5 6 , ; ) 。 7 8 1 软件的架构视图可以解决对象构造视图中出现的一 些问题, 如: 当超过一个对象想同时得到中央控制对象的 控制时, 这些对象竞争控制器有限的计算资源是不可避免 的, 一些对象不能及时得到维持正常运行的控制消息。 电梯系统的软件架构如图E所示: 控制任务被分配到 几个控制对象中, 每个控制一个或两个环境对象 (被控制 对象所控制的对象被定义为环境对象, 尽管它们存在于电 梯系统, 但不属于软件控制系统) , 都没有负担过重或空 闲。除了 : , 所有其它的控制对象都是从超类 5 , 7 6 > . 1 = — — —电梯控制器继承而来。这些控制对象共享电梯控制 器的一些属性, 而且有用于其控制对象的自己属性和方 法。 以下是图E的部分说明: ) : 控制电梯驱动, 它使电 ・ 驱动控制器 (: 1 5 9 .B 8 / 7 1 8 A 梯上下移动, 在需要时停下。 ・ 电梯按钮控制器 (C ) : 电梯按钮控制器 D 7 7 8 /B 8 / 7 1 8 A 接受电梯呼叫按键的呼叫, 并控制相应的电梯信号灯的开 关。
第’ <卷 第 (期 ! " " <年 (月
计算机技术与发展
: \; , 8 9 18 9 : J ? \ F \ @ ^0 ? QQ 9 S 9 F \ ; 9 ? 8
S A . ) ’ < ? A ) ( ] 5 . )! " " <
基于 !" # 的嵌入式实时控制系统的建模与实现
!, 王小平’, 宣乐飞’, 张
!" #$% & ’ ( )" * ) ( +, ( ’ /& / )0 ( & + 1 & 2 * / / . 3 4 5 ( ) ) ( )0 ( & + $6 4 (7 * / 2 8 * + 9 ’ 2 ( 4 :
’ ’!, ’ >0 ? @= 3 6 A B 3 D = , 0 ?F G B H G 3 I J 0 ? @> G 3 C E, ,
) 是面向对象技术领域内占主导地位的标准 3 D 6 D 5 6 G EF E E 建模语言, 主要作用是帮助用户对软件系统进行面向对象 的描述和建模, 描述了从需求分析到实现和测试的软件开 发全过程。
收稿日期: ! " " # $ " % $ ! & 作者简介: 王小平 ( , 男, 福建龙海人, 硕士研究生, 研究方向 ’ % ( % $)
? 引
言
@ 基于 !" # 的嵌入式实时软件建模
@ A @ !" # 简介 , , ,F已 经 成 为 一 个 得 到 包 括 : A M 6 / [ -, / D N G . C Z , 3 K O A 4 A H N 7 5 D等 众 多 知 名 大 公 司 在 内 的 广 泛 接 受 的 标 准, 被 \-@ 组织强烈推荐为面向对象的产品研发过程中 标准的建模语言。,包 F 是一种通用可视化建模语言, 括 ,它结合 [ , F 语 义 和 ,F 表 示 法 两 部 分, A A N L 统一符号体系, 并从其它方法 \8, ] 6 K A U 4 A D方法的优点, [ ] & 。 和工程实践吸收了许多经过实际检验的概念和技术 @ A B 用 !" +进行软件建模的步骤 软件过程可分解为若干活动, 活动与活动之间存在复 杂的时序关系, 如同步、 异步、 反馈、 串行、 并行等。建模是 通过将用户需求映射为代码, 保证代码满足这些需求, 并 第一步是描述 能方便地回溯需求。当采用 ,F 建模时, 过程需求, 即进行过程分析。主要是识别角色, 识别用例, 建立角色与用例之间的关系, 得到用例图。第二步, 用类 图描述出过程模型中的重要元素 (如产品、 活动等) 之间的 静态关系。第三步, 描述活动、 产品等元素在执行时的时 序关系或交互关系, 动态行为用顺序图和状态图描述。已
( , , , ; ’ ) 7 K பைடு நூலகம் ) A H: A M 5 N G O J 6 D P L A 5Q 3 6 D P 3, D 3 2 ) J 6 D P L A 5* ’ " " ’ + : L 3 D 6 C E E , , , ) ! ) Q G N ) A H / D H A ) 6 D R9 . G K N O A D 3 K 4 J 6 D P L A 5S A K 6 N 3 A D 6 .8 G K L D A . A A . . G G J 6 D P L A 5* ’ " " ’ + : L 3 D 6 C E E T: E E
: , ; 5 ’ 2 8 & < 2 9 M U G R R G R 4 4 N G MU G K A M G 4M A O G 6 D RM A O G K A M . 3 K 6 N G RV 3 N L 3 N 4V 3 R G 4 O G 6 R5 4 G 3 D6 2 6 O 3 G N H R A M 6 3 D 4 )G N L A R 4 A H 6 D 6 . P 3 D T C C TA T E , R G 2 G . A 3 D A R G . 3 D 6 D R 2 G O 3 H 3 D G M U G R R G R 4 4 N G M6 O G 3 D K O G 6 4 3 D . 3 M A O N 6 D N ) 8 L 3 4 6 G O 3 D N O A R 5 K G 4 N L G O A K G 4 4 A H A U G K N $ A O 3 G D N G R 6 D B C E M E T E T E T C C C C W 6 . P 3 D D R R G 4 3 D 3 D 6 D G M U G R R G R 4 4 N G MV 3 N L,F, G 4 N 6 U . 3 4 L 4 3 N 4 4 N 6 N 3 KM A R G . 6 D R R D 6 M 3 KM A R G . U N 6 X 3 D N L G G . G 2 6 N A O O G 6 . $ N 3 M G K A D B T E6 E E T T T E N O A . 4 4 N G M6 4 6 D G Y 6 M . G ) / N 6 D 6 . P G 4 4 4 N G M4 N 6 N G 4 6 D R N O 6 D 4 H A O M 4 4 N 6 N G R 3 6 O 6 M 4 3 D N A:K A R G 6 5 N A M 6 N 3 K 6 . . 3 D / 0 12 3 4 5 6 . 7 8 0 8 9) 8 L G G H B T C T T E T , , 5 6 . 3 N M 6 3 D N G D 6 D K G 6 D RG Y 6 D 4 3 U 3 . 3 N H 4 A H N V 6 O GR G 4 3 D 3 D A 5 . RU G 3 M O A 2 RU 6 4 G RA D N L 3 4M G N L A R ) H 3 K 3 G D K Z T C TA E EV C T : ; ; ; = ( * 8 ) ’5 D 3 H 3 G RM A R G . 3 D . 6 D 5 6 GG M U G R R G R 4 4 N G MO G 6 . $ N 3 M G K A D N O A ./ 0 12 3 4 5 6 . 7 8 0 8 9 E E E T :>
! 电梯实时控制软件的静态建模
! " # 系统描述 选用电梯系统作为论述 !" 因为 # 建模的一个实例, 它作为一种典型的嵌入式实时系统更容易被人们理解和 接受。与现实的电梯系统相比, 笔者忽略一些无关的细 节, 只是抽象了一般的电梯系统都有的基本功能和操作。 假设电梯在一幢大楼的第 一 层 到 第 "% &’( # ) ) * 层之间移动, 当电梯停在某一层, 电梯当前运行方向的标 识灯点亮, 乘客获得当前电梯运行的方向。电梯在两个楼 层之间快速移动, 但它应该能提前减速停在目的层。乘客 通过观察电梯移动方向和电梯位置标识器决定是否进 / 出 电梯。 ! " ! 用例图 用户都是为了某种目的与系统的自动化角色进行交 互, 人和 角 色 都 希 望 系 统 的 行 为 是 可 预 知 的。在 !" # 中, 用例图描述一组用例、 角色和它们的关系, 是一个系统 行为、 一个子系统或一个类建模的中心。基于电梯控制系 统的需求文档, 共有一个角色— — —乘客 (+ ) 和以下 , . / . 1 0 2个用例: ・标识运 行 方 向 ( 3 / 4 5 6 , 7 ." 8 9 5 / 5 ; 0: ) : 电梯应该有这种机制, 即让乘客知 1 . 6 7 5 8 / 道电梯目前的运动方向, 决定是否进电梯。 ・电梯的动 / 停 (" / ) : 8 9 . < 7 8 7 > .: 1 5 9 . = 这是一台电梯的主要功能, 详细的动作包 括驱动速度的改变、 停止的判定、 电梯的运 动方向驱动。 ・ 标识电梯位置 ( 3 / 4 5 6 , 7 .: 1 5 9 .+ 8 5 ; ) : 类似地, 电梯应该让乘客知道他 / 她 7 5 8 / 的目的层是否到达, 决定是否离开电梯。 ! " $ 类 图 类图是面向对象系统中应用最广的静 态图, 用来描述一组类、 接口和协作, 及它们的关系。通常 用类图来描述整个系统 (比如类的属性和操作等) 和建立 静态结构 (比如系统的结构和细节等) 。在对电梯系统用 例的描述的基础上, 从系统对象组成的角度建立以下? 个 类: ・ 电梯控制器 (@ ) : 电梯系统的核心控制 A . 9 , 7 8 1 B 8 / 7 1 8 A 对象。 ) : 电梯在电梯控制器的控制下以不同的 ・ 电梯 (: 1 5 9 . 速度上升和下降, 需要时可以停下。 ・ 按钮 (C ) : 是电梯控制器类 (@ D 7 7 8 / 8 D / 7 A . 9 , 7 8 1 ’B ) , 也是控制按钮类。它控制对象与按钮对象的通 B 8 / 7 1 8 A 万方数据 信, 得到按钮是否被按下, 并比较当前楼梯的位置和所要