电梯状态变化调度模拟UML课程实验报告.doc

电梯状态变化调度模拟UML课程实验报告.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电梯状态变化调度模拟UML课程实验报告

UML课程实验报告 题 目: 电梯状态变化的模拟 院 系: 计算机科学与工程学院 专 业: 计算机科学与技术 指导教师: 谢武 2014年5月20号 一:系统介绍 功能描述 本电梯系统用来控制一台运行于一个具有6层的大楼电梯,它具有上升、下降、开门、关门、载客的基本功能。 大楼的每一层都有: (1) 两个指示灯: 这两个指示灯分别用于指示当前所在的层数和电梯的当前状态(上行、下行或停止); (2)按钮: 除了第一层和顶层,每一层都有两个按钮(上行、下行),乘客可以呼叫上楼或下楼,顶楼只有一个下楼按钮,而第一层只有一个上楼按钮。 2. 电梯里面具有: 标示从“1”到“6”的6个楼层按钮,用于让乘客选择所要的层数; 二:关键实现方法描述 用“最大距离循环”来说明电梯的运行方式。也说是说,电梯处于上行状态时就一直上行直到不再有上行任务,电梯处于下行状态时就一直下行直到不再有下行任务。 用两个队列来实现电梯的调度,电梯根据这两个队列发送来的楼层号作为目的地进行运行。在上行队列中保存了所有的上行请求的楼层号(包括楼层的呼叫和电梯里的楼层按钮请求),即保存电梯上行时需要停的楼层号。队列排列规则是:高于或等于电梯当前所地楼层的上行请求的楼层号从小到大排在队列的前部分,低于电梯当前所地楼层的上行请求的楼层号从小到大排在队列后部分。如果新请求的楼层号被插在队列头时同时将这个楼层号发送给电梯作为它的目的地。在下行队列中保存了所有的下行请求的楼层号(包括楼层的呼叫和电梯里楼层按钮请求),即保存电梯下行时需要停的楼层号。队列排列规则是:低于或是等于电梯当前所在楼层的下行请求的楼层从大到小排在队列前部分,高于电梯当前所在楼层的下行请求的楼层号从大到小排在队列后部分。 当电梯正在上行时,如果上行队列的队列头改变时,系统将同时将这个新的队列头发送给电梯作为它的新目的地。有两种原因引起队列头的改变。 新的请求插入到上行队列头。 电梯到达某个楼层将这个楼层的请求从上行队列的队列头删除,后继的更高楼层号成为对列头。 当电梯正在下行时,如果下行队列的队列头改变时,系统将同时将这个新的队列头发送给电梯作为它的新目的地。有两种原因引起下行队列头的改变。 (1) 新的请求插入到下行队列头。 (2) 电梯到达某个楼层将这个楼层的请求从下行队列的队列头删除,后继的更高楼层号成为对列头。 在电梯上行过程中,当上行队列中没有比电梯当前所在的楼层更高的楼层号时,发送电梯目的地的开始从下行队列中取得。同样,在电梯下行过程中,当下行队列中没有比电梯当前所在的楼层更低的楼层号时,发送电梯目的地的开始从上行队列中取得。如此反复,当两个队列中都没有数据时,电梯暂停。 当电梯到达某层时,此层的所有请求按钮全部复位(包括楼层和电梯里的按钮),电梯门自动开启,在一段时间内如果乘客没有按下开门或关门的按钮,电梯将自动关门。 三: 电梯具体设计 本次设计用的语言是java,用的环境是eclipse开发工具, 该系统用了5个函数,一个主函数ladderMain,一个按钮函数ladderButton,一个容器函数ladderFrame,一个画布函数Ladder,还有一个背景声音函数Ring.. 1. 电梯设置 ? 电梯分为三种状态:静止,上升,下降。跟随着电梯还有一个数据,就是电梯当前所在楼层数floor_lift,其中floor_lift=6floor_lift=1。 2 乘客分析 ? 乘客的需求分为“上”和“下”两种。此外乘客还有当前层数floor_from以及目标层数floor_to。当然floor_from、floor_to也是在1~6之间的整数。 3 电梯需要初始化,其中状态为静止state=0,层数floor_lift设置为1。目标层数数组需要初始化. 四:测试结果 结过几周的不断编写和调试,最后程序得已成功运行,期间查看了不少的资料和信息,特别是对于画布的设计效果,还有就是对于电梯开关时的音效. 下面是测试效果: 开始界面,初使是默认在第一层, 这是点击了向上的按钮后的效果图,电梯门打开,可以进入电梯中. 进入后,按下第一四层后的效果,,电梯到达第四层后,电梯暂停,电梯门打开. 这是如果你第六层,想下楼梯时,按了向下按钮后的效果. 这是在进入电梯后点击了4,2,1楼后的效果,分别在4,2,1楼电梯都停止,电梯门打开. 这是从六楼开始向下,在3楼先点了向下,后点4楼按向下,此时电梯还是六楼时,电梯会在后操作的4楼先停,然后再到三楼停. 注:关于源文件的使用方法

文档评论(0)

kaiss + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档