欢迎来到天天文库
浏览记录
ID:56880996
大小:691.00 KB
页数:15页
时间:2020-07-19
《把用例应到实时系统.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、把用例应用到实时系统中的实践DavidHanslip本文介绍了一个真实的范例,然后讨论了在把用例用来定义实时系统的规格时遇到的问题,以及相关的经验学习。概述本文基于我去年为客户开发一个实时控制系统的工作。本文的目标是:第一,重点描述实时系统规格的确定和用例之间的关系;第二,描述我们如何开发用例模型以及应用用例给我们带来了哪些益处。要说明的第一件事情是为什么我们需要类似这样的一篇文章,然后我们再说明用用例来描述实时系统有哪些特殊之处。在叙述为什么需要本文之后,我将描述一个具体项目和它的用例模型。我将重点描述用例模型的一些有趣的和有意义的特性,然后看看它们是如何有
2、益于项目的。最后,我将讨论一些经验学习,并给出一些建议。为什么我们需要这篇文章?有一种看法认为用例只对你描述高度交互的系统有用,这些系统以IT系统为代表,如银行系统。例如,在银行中你可能需要处理一个抵押应用,它会有大量的用户交互。对于实时系统来说,并不存在那么多的用户交互。但是,如果实时系统具有有意义的外部可视的行为,用用例描述仍然对定义它们的规格是有用的,即使在一些用例中用户只是选择一些设置以及告诉系统完成一些功能。在为客户工作了这么多年来,我发现用例被广泛地误解。尽管有很多与之相关的书籍、文章和培训课程。可能这些书籍、文章和培训课程都只关注于问题,因此它们
3、提供大量的不同的方法。在这些著作中经常提到的一个例子是自动柜员机(ATM)。类似这样的例子对于说明一些问题是有用的,但在处理很大而且很复杂的实际系统时却通常没有明显的帮助。在实时系统中你将怎样处理出现的问题?有一些实际的例子可以对你有所帮助,本文恰恰可以给你提供这样一个实际的例子。什么是实时系统的特点?实时系统就是时间是最关键因素的系统。如果一个系统不理会它的时间需求,将可能导致生命危险,例如造成飞机失事。简单来说,对于这样的系统,对于时间需求处理的失败将可能导致产品的损害和上百万美元的损失。实时系统也有最小限度的用户交互,对于这类系统怎么样定义它的用例是一件
4、值得考虑的事情。实时系统通常都是高度算法化的,用例可能并不是最好的描述算法的文档方法。典型地,一个用例将引用在其它地方描述的算法。如果你的系统具有有效的外部可视行为,那么用例能够极大地帮助你文档化你的系统需求。下面我描述的系统就有大量外部可视行为。在IT系统中应用用例的规则在这里仍然适用。产品传送系统(PT)项目用户是一个全球最大的铁矿生产商,它在澳大利亚西北的Headland港拥有一套铁矿传送工厂。铁矿从传送带网络传送到火车车厢,然后分类,称重,保存在仓库。最后铁矿从仓库中运出,再通过传送带运送到船上。这个系统中每个东西都很大。有的传送带有7公里长,需要15
5、分钟才能启动。运行传送带网络需要一个复杂的控制系统。对控制系统的一个需求是减少运行系统需要的人数。另一个需求是降低对运行系统的人的培训需求。图1是工厂的航拍图。图1:Hedland港工厂的航拍图在左上角有一个船泊位。你可以看到有铁路线从右边连过去。卸货场在接近于中间的垂直线附近。在这个线的顶端是粉碎机。你可以在北面和南面的院子里看到仓库。传送带运行在卸货场和粉碎机,以及粉碎机和仓库之间。你可以看到运输机从仓库装上铁矿,把它运到船上。运输机的容量非常大。在这个系统中,传送带可以在一小时内传送10000吨的铁矿!有一些能够增加系统复杂度的需求非常值得关注。控制系统
6、在避免溢出的情况下要达到最大的生产能力。出口容量在2004年从每年67M(百万)吨增加到81M吨,到2011年将扩大到90M吨。基本概念:作业(route)一个作业(route)由一系列传送带、定位和反馈设备组成,这些设备被选择和调配以便把铁矿从源位置运送到目标位置。作业可以是单独的,也可以共享设备以便允许把铁矿分开运输,从一个源位置运送到多个目标位置,或者组合运输,从多个源位置运送到一个目标位置。这些作业由操作员创建、维护和删除。一旦操作员启动作业,系统就开始工作,按照正确的顺序启动每个工作,以及处理一些异常状态例如有不合适的产品已经在传送带上。为了达到生产
7、力的需求,控制系统采用激进的启动和错误处理策略。尽管已经存在的系统在一个时间点一个作业只能启动一条传送带,当它达到最大速度后,再启动下一条,依此类推。新的控制系统在一个作业中将同时启动所有的传送带--注意我们的传送带的长度不同,启动时间和容量也不同。在出现问题时,新的系统试图尽可能关闭最少数量的设备以避免溢出,因为启动一个长的传送带需要15分钟。无论什么可能情况,设备都将保持运行,直到铁矿有可能溢出为止。系统需要同时运行作业,以便矿石能够传送到多个目标位置或者把矿石从多个源位置组合到一个位置。设备失败的处理是全自动的。当一个传送带一小时可以传送超过10000吨
8、矿石时,你可以想象出现问题时不能很快停
此文档下载收益归作者所有