版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于UML的嵌入式实时系统实例分析摘 要:统一建模语言uml是一种面向对象的标准建模语言,现在无论在欧洲,还是美国,或者世界上的一些其他地区,uml都已经成为了工业界开发的首选方法。介绍了uml的概况和特点,并以一个数字式录音机为实例,详细阐述了uml在嵌入式实时系统中的应用。关键词:uml 嵌入式实时系统 类模型1 统一建模语言统一建模语言uml(unified modeling language)是由grady booch、ivar jacobson和james rumbaugh发起,在booch方法、oose方法和omt方法的基础上,广泛征求意见,集众家之长,几经修改而成的一个面向对象分
2、析与建模语言。在美国,uml已经获得工业界、科技界和应用界的广泛支持,已有700多个公司表示支持采用uml语言作为建模语言。uml共提供了五类图:用例图。用例图从用户角度描述系统功能,并指出各功能的操作者。在uml中,一个用例图由一系列角色和用例组成,其中用例被画在一个框内,该框表示系统边界。静态图。包括类图、对象图和包图。行为图。它描述系统的动态模型和组成对象间交互关系,包括类的状态图和活动图。交互图。它描述对象间的交互关系,包括顺序图和合作图。其中顺序图显示对象间的动态协作关系;合作图也描述对象间的动态协作关系,但除表示信息交换外,合作图还显示对象以及它们之间的关系。实现图。包括构件图和配
3、置图。其中构件图用来描述代码构件的物理结构和各构件间的依赖关系;配置图定义系统中软、硬件的体系结构。uml的主要特点可以用以下三点来概括:它统一了booch、omt和oose等方法中的概念。它吸取了面向对象技术领域中其他流派的长处。它在演变过程中还提出了一些新的概念。uml本身是一个完整的建模语言,因此支持系统开发的不同阶段,从需求描述到系统的测试。总之,uml适用于任何类型的系统,其丰富的描述能力可以精确地描述系统的静态结构和动态行为。2 基于uml的嵌入式实时系统实例分析2.1 实例介绍与用例模型嵌入式实时系统在实际的工程项目中具有较强的代表性。本文所介绍的嵌入式实时系统是一个数字式录音机
4、,它可以通过麦克风录制声音,通过a/d转化为数字信号存储在内存中,用户可以选择某个录制声音消息进行播放。系统共可以存储10条录音消息,每条消息的最大长度由当前可用的最大内存空间锁限制。系统的四个方向按钮用来进行菜单选择,该数字式录音机器有四个主要的菜单项,即时钟菜单、日历菜单、定时菜单以及消息槽菜单项。用户可以通过左、右方向按钮在不同的菜单项之间切换。系统的时钟和日历功能和普通的电子表中的时钟、日历功能一样,此处不再详述。在本例中,我们有两个角色:user和battery,其中用户是该系统的使用者,他使用本系统所提供的功能;电池是系统需要应付的外部设备,系统要探测电池的容量。本例中的嵌入式实时
5、系统的完整的用例模型如图1所示:2.2 分析建模类模型则是系统主模型中最为重要的一个,它描绘了系统组成情况,是面向对象的标志。我们在本例中得到了如下的类:(1)message类。一个message对象描述一个完整的数字声音录音,在物理上按照block块来组织,即一个message对象由一个或多个audioblock块组成。而一个audioblock对象则由一个或多个声音采样片组成,即audioblock对象由audiosample对象组成。从问题域角度来看,message应该包括有该消息的timelength、recordtime和audioblock类型的动态数组属性。(2)audiocon
6、troller类。嵌入式应用通常典型地表现为具有一个“逻辑部件”、“控制中心”,它管理系统的任务,实现对系统的控制。audiocontroller就是这样一个部件,提供录音、播放等功能。(3)usermode类。用户模式指用户对系统的使用方式,可以分为设置时间模式、设置定时时间模式、设置日期模式和消息菜单用户模式。当用户模式不用时,系统对用户的操作将有着不同的解释。(4)userinterface类。用户接口类封装了系统的人机接口,它包括用户模式和用户视图两部分。其中用户模式就是usermode类;而用户视图则负责系统人机界面的表示。当系统的用户模式发生变化时,系统的用户视图也会发生相应的变化
7、。不仅如此,在同一用户模式下,不同的按钮操作也会使用户视图发生变化。(5)userview类。用户视图也包括五种:时钟视图、日期视图、定时时钟视图、消息菜单视图和任务视图。(6)messageslot类。消息槽用来登录消息,一个消息槽最多只能登录一条消息。系统共有十个消息槽。消息槽就如存储设备上存储数据的“道”,它保存消息。系统通过messageslot类访问到声音消息,实现相关的操作。(7)audioinput与audiooutput类。声音输入与声音输出类实现audio在block级别的输入、输出。麦克风通过a/d转换器得audiosample,audioinput实现把一系列的采样片组装
8、成audioblock对象,并把该对象传送给audiocontroller,由控制中心实现对audioblock的组装,最终形成一个完整的message。同理,对于audiooutput也一样。2.3 关注嵌入式:系统外部事件嵌入式系统所处的外部环境通常较一般的系统环境复杂,其复杂性主要表现为系统需要对大量的外部环境事件做出响应。在嵌入式应用中,外部环境的元素与嵌入式系统的交互主要通过事件的方式来实现。通过分析我们识别了7个外部事件,如表1所示。2.4 动态模型类模型描述了系统的静态结构,我们需要进一步地分析系统的动态行为。在对象概念的前提下,我们以对象为中心描述对象的状态变化。(1)audi
9、ocontroller状态图。audiocontroller对象访问消息槽并可以播放、录制消息。不仅如此,它还可以播报警报声音。该对象的状态空间可以识别为由五个状态组成,他们分别是空闲状态(idle)、播放状态(playing)、录音状态(recording)、警报状态(alarming)和停止状态(stop)。其中停止状态是一个瞬时状态。停止状态的进入动作表示提示并警告用户当前停止的原因,并且需要得到用户的确认才转移到空闲状态。(2) audioinput对象。audioinput对象提供录制audioblock服务,因而它有如图2所示的状态图。同理,audiooutput有与之相似的状态图
10、。(3)speaker对象。speaker对象是对扬声器的封闭,它提供播放采样片服务,一旦产生speaker对象将对speaker进行初始化,因此它的状态图如图3所示。同理,microphone对象的状态图也类此。(4)timer对象。timer对象是对定时器的封装,它监视时钟中断,一旦定时时间计数到,就将发生定时中断。图4中的“click”表示一个时钟中断。3 结语与不足本系统的首要特征是嵌入式,其次便是因“嵌入”而带来的事件多而且有实时约束的情况。因此,当我们设计本系统的软件组织模式时,就不得不考虑如何让软件从体系结构级别上能够高效地处理各种事件。由于采用了面向对象开发方法,因此我们自然地可设计面向对象式的组织模式,即事件解释为对象间的消息传递,通过消息传递把各个对象组织起来。但是这样做存在一个最大的缺点,就是任何一个事件发生时都必须知道该事件的响应者。参考文献:1 肖苏.uml语言的建模应用j.电脑编程技巧与维护,2009(32).2 (美)tom pend
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度装饰装修工程安装合同
- 2024年工程材料供应与验收合同
- 公司员工检讨书
- 2024年度新能源发电设备采购与销售合同
- 2024年度W公司环保服务合同协议书
- 2024年建筑公司员工聘用合同
- 2024年度网络通讯工程安全文明施工管理协议
- 2024年大型油田勘探开发合作合同(海外)
- 2024年度某航空公司飞机采购合同
- 2024年度区块链应用合作协议
- 暖通工程师面试试题(含答案)
- 行政服务中心窗口工作人员手册
- 最新患者用药情况监测
- 试桩施工方案 (完整版)
- ESTIC-AU40使用说明书(中文100版)(共138页)
- 河北省2012土建定额说明及计算规则(含定额总说明)解读
- 中工商计算公式汇总.doc
- 深圳市建筑装饰工程消耗量标准(第三版)2003
- 《初中英语课堂教学学困生转化个案研究》开题报告
- 恒温箱PLC控制系统毕业设计
- 176033山西《装饰工程预算定额》定额说明及计算规则
评论
0/150
提交评论