翻新时间:2023-02-17
基于UML的城市轨道交通列车超速防护系统建模
摘 要 分析 I-Logix公司的Rhapsody软件的主要特性在Rhapsody开发环境下对北京地铁1号线的ATP系统车载设备进行UML建模,并介绍系统级调试功能。
关键词 UML Rhapsody 面向对象 嵌入式系统 建模
统一建模语言UML(UnifiedModelingLanguage)是迄今为止最好的面向对象的统一建模语言,它取代了以往各种面向对象表示法,可以全面、细致地同时描叙业务和软件系统,实现软件开发全生命周期建模的无缝统一。UML与OOAD(面向对象分析和设计)工具的结合,更使软件工程思想的实现往前走了一大步。
美国I-Logix公司的Rhapsody是一种基于UML2.0的面向嵌入式 应用 开发的集成可视化环境,它为嵌入式软件的开发提供了一个“四化”的支撑平台,即可视化、工程化、自动化和团队化。Rhapsody正在迅速成为国防/航空航天领域首选的MDD(模型驱动开发,ModelDrivenDevelopment)开发环境,在一系列项目中(如FutureCombatSystems(FCS)andF22等)被作为主要开发工具来使用。
列车自动防护系统(ATP系统)是城市轨道 交通 运行控制系统的组成部分之一。它主要保证提供速度限制信息以保持列车间的安全间隔,使列车在符合限制速度的标准下运行。ATP车载设备是列车自动防护系统的一个重要组成部分,负责完成ATP车载部分的功能。北京地铁1号线所采用的LCF100DT型车载设备是保证列车运行安全、提高运输能力的地铁信号专用技术的行车安全控制设备。本文首先介绍了Rhapsody的主要特性———实时框架,然后分析了ATP系统的工作原理,并在Rhapsody基础上对北京地铁1号线的ATP系统车载设备软件系统进行建模,最后分析了系统级调试功能。
1 Rhapsody框架特性
Rhapsody的实时框架是一个垂直框架,嵌入式和实时应用专门选择和优化的设计模板,实现了用于内务处理(如状态机的实现、容器类的实现等)代码的重写,实时框架使得设计的模型与操作系统无关,通过实时框架,应用程序可以方便地从一个实时操作系统移植到其他的操作系统。
实时框架包含4个主要部分,如图1所示。对象执行框架提供UML模型执行的基本结构管理线程状态机的执行,对象间关联模式管理对象间的一对多、多对多关系,抽象操作系统与框架自身和实时操作系统无关,便于框架的移植动画,调试框架可以使用户进行基于模型的调试,如基于状态图的断点设置、捕捉不同对象间消息映射等。下面分析对象执行框架中的主要元素。
2 自动超速防护系统
2.1 自动超速防护系统概要
ATP(AutomaticTrainProtection,列车自动防护系统)具有超速防护、零速度检测和车门限制等功能,提供速度限制信息,以保持列车间的安全间隔,使列车在符合限制速度的标准下运行。超速防护车载设备是列车超速防护系统的一个重要组成部分,它是依据从ATP地面设备接收到的列车运行控制命令,对列车进行实时速度监督的一种安全保障设备。
2.2 北京地铁1号线ATP系统
ATP子系统实现所需的设备包括地面设备和车载设备。地面设备主要由集中设置的地面轨道电路FS2500无绝缘轨道电路构成,由发送器、接收器、码发生器及调谐单元组成;其发码由微机联锁设备及控制中心控制,以保证安全追踪间隔及临时限速等。车载设备的功能由地面信息接收部分、测速部分、速度比较控制部分等完成,当列车运行速度超过允许速度时,自动完成减速控制,车载设备由以微处理器为基础的安全子系统和非安全子系统、速度表、天线及装在不同轴上的测速电机组成。
ATP系统的功能包括:在设置区间闭塞分区时,保证列车追踪运行时的最小安全间隔,防止列车尾追事故;列车按线路最大允许安全速度运行,防止列车超速运行;确保所排进路正确、安全;确保提供车门正确开闭条件;区间临时限速。
2.3 利用软件Rhapsody对ATP(车载设备)建模
为了使系统软件具有较高的可靠性、可维护性,结构化、模块化是系统软件设计的关键,软件模块的划分应尽量明确、相对独立,入口参数、出口参数意义范围明确。软件Rhapsody只支持 英文 环境,图中英文都有相应的解释。
2.3.1 需求分析
需求分析就是明确从外围系统的角度,要求列车运行控制仿真系统提供什么功能。在以往的需求分析中,始终没有一种合适的工具来保证系统需求的完整表达,所以直接导致了系统在完成后的检测中发现与真实情况不符。
在分析阶段引入全面支持UML的Rhapsody这个有效的形式化工具,以完整的、无歧义的语言表达上述功能需求,减少了设计人员的理解偏差,简化了开发过程中的交流。
图2为本案例的用例图,该图形象地表示了各个对象和用例之间的关系。driver(司机)启动是否进行ATP的操作,一旦启动ATP超速防护系统,ATPdevice(ATP车载设备)就处于超速防护状态,接受目标速度和实时运行速度,进行比较;如果司机按照允许速度操纵列车,速度监督设备不干预司机的正常操作。当司机违章操作或列车运行超过允许速度时,ATP车载设备将自动实施制动。其中,车载设备主要实现以下几个功能:initialtrain(自检并初始化车载设备),acquireactualspeed(获得实际速度),acquireactualspeed(获得列车实际运行的实时速度),acquirelmiitedspeed(获得允许速度,即入口区段的列车速度),acquiregoalspeed(获得出口区段的目标速度),protectspeed(对列车运行进行速度防护及监督),announceemergency(超速告警),braketrain(当发现列车超过允许速度,强行制动列车),司机要实现的功能是:brakebyhuman(人工制动)以及activitateATP(模式开关的选择和司控开关状态的采集)。
2.3.2 类的划分和处理
由功能需求 分析 确定,利用面向对象设计思想,将各个部分用对象来描述,将具有一定属性和操作的对象聚集成类的表现形式。从逻辑上看,一个对象是独立存在的模块,从外界来看,只需要了解它具有哪些功能,至于如何实现这些功能对外界都是屏蔽的。系统中的各个对象通过消息激活机制被动态联系在一起,并可利用面向对象建模中类的继承性,简化类和对象的生成。如果不同的类有共同的属性和 方法 ,依据类的层次把这些共同性概括为总类。
图3为本系统的对象模型图。
北京地铁1号线使用的控制方式是分级速度控制方式的出口检查方式:在一个闭塞分区中,只按照一种允许速度判断列车是否超速,并且要求司机在闭塞分区内将列车运行降低到目标速度,设备在闭塞分区出口检查列车运行速度,这个过程主要通过ProtectSpee(防护速度)类来实现。列车的允许速度为该区段的入口速度,机车信号显示器给出目标速度。本区段的目标速度就是下个闭塞分区的允许速度,各种速度的获得是在SignalConditionIn(信号输入)中实现的,另外还设立了DriverCommand(驾驶命令)类以及BrakeControlle(制动控制)类来完成ATP启动列车制动的动作。各个类中的函数及其事件在这里就不再详细描述。
2.3.3 状态图分析
UML编程过程是在状态图中定义的,由于状态图的表达性和可伸缩性都很好,UML用它们作为正式的FSM(有限状态机)表示。有限状态机是由已存在的条件(称为“状态”)的有限集定义的机器,同样也是状态间因事物触发的状态转移有限集。本案例的行为是通过各个类的状态和转换关系进行定义的,为了使状态图不趋于复杂化,并方便以后的更精确化,我们将各个类分配状态图。在这里,我们将主要类———ProtectSpeed(防护速度类)进行讨论(见图
4),包括CompareSpeed(防护区段内列车速度控制在允许速度之下)、GetdownActualSpeed(保证列车在区段出口时速度降低到目标速度)、RefreshActualSpeed(不断得到列车实际运行速度)。
比如,在RefreshActualSpeed(刷新实际速度)中需要获得处理好的数字速度,在该状态中加入Actual-Speed=SignalConditionerIn->GetActualSpeed(),这样就可以从SignalConditionIn(信号输入)中得到最大列车实际运行速度。
在CompareSpeed(速度比较)中对得到的实际速度和最大允许速度比较,若超出规则进入制动状态,状态图进入BrakeController(制动控制)的状态图中。
2.4 代码生成及系统级调试
当以上设计完成时,我们能够产生代码并测试系统模型。我们需要用Component组件来告诉Rhapsody产生什么样的环境。通常我们使用的是Microsoft环境(Windows操作系统和VisualC++编译器),这样Rhapsody可以产生VisualC++6.0和基于VxWorks的C++程序。 Rhapsody代码在目标机上运行的同时,运行情况动态反馈到设计模型中来,例如基于状态图的断点设置、在顺序图上捕捉不同对象之间的消息映射等。在进行设计级调试的同时,与代码级调试工具联合调试。Rhapsody通过模型级/代码级联合调试、验证,能够直观地尽早发现系统的设计错误或缺陷,从而较早地确定或降低项目风险。
另外,Rhapsody可以生成高质量的中文文档,可以生成软件应用所需的框架结构、运行库、编译文件、通讯方式、实施策略等。而且模型和代码的一致性更保证了文档和代码的一致性,为我们顺利地完成开发、后期经验的累积提供了很好的平台。可以通过定制模板,生成适合具体工作要求的文档。
3 结论
通过对北京地铁1号线的UML建模,可以缩短车载设备软件的开发周期。本文针对北京地铁1号线的LCF-100DT型车载设备进行UML建模,利用了Rhapsody这个基于UML语言的开发环境,UML的状态机模型与车载设备极好地对应,且便于借助CASE工具实 现代 码自动生成,能够极大地提高车载设备软件的开发效率和项目可管理性。Rhapsody采用基于模型的开发方式,为系统的开发提供了清晰的结构以及可复用的软件模块,能够切实提高实时软件的开发效率和可维护性,并可在系统级进行调试,从而提高系统的可靠性和实时性。Rhapsody提供了一个完整的用于复杂实时嵌入式的应用软件,是从分析、设计一直到代码实现和软件测试的开发环境。
参考 文献 [2]BrueggeB,DutoitAH.面向对象的软件工程[M].北京:清华大学出版社,2002.
[3]DoulassBP.实时设计模式[M].麦中凡,陶伟,译.北京: 北京航空航天大学出版社,2004.[5]G.R.deBoer.DevelopmentofacruisecontrolinUMLusing rhapsody[C]//ReportofI00,UniversityofTwente,2001
下载文档
网友最新关注
- 秋天的树叶
- 妈妈,我爱你
- 动物间的感情也纯真
- 我的新老师——陈老师
- 我
- 感恩父母
- 漫画的人生人生的真实
- 妈妈爸爸,我长大了懂事了!
- 跳跳球
- 歌颂母亲
- 灰灰
- 我有一双隐形的翅膀
- 读名著让我着迷
- 假如我能上天入地
- 假如我是......
- 二年级组2002年——2003年第一学期工作计划
- 少先队工作计划2
- 少先队工作计划
- 云林中学教科室2005--2006学年第二学期工作计划
- 学校政教工作计划
- 中学2002—2003学年度上学期高一年级组工作计划
- 一年级第一学期年级组工作计划
- 英语教研组教研计划
- 三年级组工作计划
- 上涌中心小学04春少先队工作计划
- 学生处工作计划
- 小学学校工作计划
- 小学语文教研组计划
- 小学六年级组工作计划
- ——少先队工作计划
- 中国公共财政的困境
- 关于政府基础安全设施支出问题的思索
- 外语教育中的翻译与身份认同
- 论新建本科院校大学英语翻译教学的新思考
- 规范政府投融资管理体制的几点建议
- 县乡财政:困境与出路
- 电影片名的几种翻译方法
- 关于企业分部财务报告行政法论文(1)
- 从公司治理结构透视财务管理目标行政法论文(1)
- 欧盟财政政策与启示
- 平衡论:对现代行政法的一种本质思考行政法论文(1)
- 论中国特色企业财务管理目标行政法论文(1)
- 论行政裁量与司法审查
- 谈音译外来语的规范必要与否
- 论语翻译语言学模型
- 《索溪峪的“野”》教学设计十二
- 《索溪峪的“野”》教后感
- 《索溪峪的“野”》教学设计十一
- 《索溪峪的“野”》
- 《索溪峪的“野”》有感
- 《索溪峪的“野”》谈合作学习
- 《索溪峪的“野”》教学设计十三
- 《索溪峪的“野”》
- 《索溪峪的“野”》教后感
- 《索溪峪的“野”》教学设计十
- 《詹天佑》教学设计八
- 《詹天佑》教学设计二
- 《索溪峪的“野”》 教学案例反思一
- 《索溪峪的“野”》教材理解
- 《詹天佑》教学设计一