APP下载

城市轨道交通网络系统的面向对象体系建模

2011-03-26徐育锋何胜学范炳全

上海理工大学学报 2011年2期
关键词:交通网面向对象站点

徐育锋, 何胜学, 范炳全, 张 立

(上海理工大学管理学院,上海 200093)

由于传统的软件开发技术是基于问题域的功能,因此,用它开发的系统是实现模块功能的函数和过程的集合[1].但由于用户的需求和轨道交通软硬件技术的不断发展变化,按照功能划分设计的系统模块必然也会随之变化,从而使得这样开发出来的程序模块可重用性不高,且不易维护.面向对象建模技术从根本上改变了传统的软件设计思想,它对问题空间进行自然分割,以更接近人类思维的方式建立问题域模型,以便对客观实体进行结构模拟和行为模拟,使设计出的轨道交通系统软件尽可能直接地描述现实世界,从而构造出模块化的、可重用的和维护性好的软件.

目前面向对象技术已在交通领域得到了广泛的应用.杨晓光[2]将面向对象理论运用到 ITS (intelligent transportation system)项目评价中.杨勇杰[3]运用面向对象的理论建立了空中交通流量管理系统的模型结构.王婷[4]采用面向对象分析和建模的方法对城市轨道交通列车控制系统进行了需求分析、模块分解、对象模型建立以及对象间的静态关联性分析.陈玉[5]依据面向对象软件开发思想确定了城市交通仿真系统的主要对象类,在此基础上进行了对象建模、动态模型,并完成了主要对象类属性和操作的设计.隽志才[6]采用面向对象设计思想和交通并行仿真建模理论分析了交通网络分布并行仿真系统数据结构.

鉴于轨道交通网涉及的要素众多,利用面向对象思想对轨道交通系统的特性进行分析建模,可以全面覆盖轨道交通网络系统的各种组成部分,便于分析各部分间复杂的相互关系.同时,新的需求及研究成果可以及时融入到已存在的系统,从而使所建模型系统的重用性优势得以充分发挥.正是基于上述思想,本文首次利用面向对象的软件开发思想对城市轨道交通网络系统进行建模分析,明确了系统中基本类的特征,建立了初步的轨道交通网的静态、动态以及功能程序模型.

1 面向对象建模技术简介

面向对象建模技术也即三视点技术,它将分析时收集的信息构造在对象模型、动态模型和功能模型中,用这3种模型来描述一个目标系统.其中,对象模型是3个模型中最关键的1个模型,用以描述系统中对象之间的静态关系,包括构成系统的类和对象的属性、操作以及相互间的联系;动态模型描述系统中对象的变化和对象之间相互关系的变迁,它着重于系统的控制逻辑;功能模型侧重于系统内部数据的传送和处理.这3种模型中功能模型说明发生了什么,动态模型说明何时发生,对象模型说明作用对象[7].

2 轨道交通网络系统的面向对象建模

2.1 轨道交通网中对象和类的识别

轨道交通网的问题空间中包含以下实体[8]:

a.轨道交通网的每个站点一般都由出入口、自动扶梯、自动售票机、闸机、站台和服务人员组成,站点是乘客与轨道交通交互的界面,站点内的各项服务是否到位,很大程度上能体现出轨道交通的服务水平,所以,将站点作为一个类.

b.线路上包含站点,车辆在线路上运行,它决定了车辆的走向、站点的区位和乘客的流向,所以,将线路作为一个类.

c.换乘点是线网中各条线路的交叉点,它除了集散乘车乘客之外,还要能实现两线或多线车站站台之间的客流畅通,可以将换乘点看作一个类.

d.枢纽站是两条以上轨道交通线路交叉处,这种车站的客流集散量很大,不仅在内部换乘,还与外部大型客运站连接,需做好内外交通组织设计,因此,将枢纽站作为一个类.

e.区段是两个站点之间的连接通道,区段的长度是行车时间的决定因素之一;区段的通行能力是整条路线通行力的一部分,所以,有必要将区段作为一个类.

f.城市轨道交通列车作为城市公共交通的旅客运载工具,要保证列车运行的安全、准点、快速,以及为乘客提供良好的服务条件,使乘客乘车舒适、方便,可将它作为一个类.

g.土地使用是城市总体规划的依据,也是轨道交通规划设计的依据,同时,轨道交通的发展也会促进土地的开发利用,因此,有必要将城市用地作为一个类.

h.轨道交通网络由列车、站点及与其相连接的线路、路段组成.网络作为问题域的整体,可将它视为一个抽象对象.它与其余对象是整体与部分的关系,可定义为网络类.

在求解空间中,每个实体将映射到抽象对象的一个类中.由于Java类构造支持数据封装和将一个问题分解成对象和操作,因此,本文用它来表述城市轨道交通系统中面向对象问题求解空间的每个类的定义.限于篇幅,仅举例介绍轨道交通列车类的定义.

2.2 轨道交通网的静态建模

轨道交通网的静态建模描述了轨道交通系统中的网络、站点、线路、换乘点、枢纽及区段等对象的数据结构,以及它们相互之间的结构化关系,借助CASE工具用统一 建模语言 UML(unified modeling language)产生静态模型的图形如图 1所示.

类图描述了每个对象的数据结构并将其封装起来[9].以网络为例,它的属性包括线路总条数、线网结构等,它的操作方法包括调用站点对象集合、通过能力及输送能力等方法.

类图描述了类间的关联、聚集、继承和多重性的结构化关系[9].关联是类之间的最一般的结构化关系,总网络与土地之间是相互促进的关联关系,轨道交通网的规划设计依据城市土地的利用性质,同时,轨道网的规划会提高沿线的土地开发强度.聚集是一种暗含包容关系的特殊形式关联,在关联线和包含类相接的一端放置菱形来区别普通的关联,例如,总网络由土地、线路、站点、区段及列车等聚集而成.继承表示一类关系,在关联线和基类相接的一端放置三角形以区别普通关联,例如,枢纽继承了换乘点的数据结构,换乘点继承了站点的数据结构,枢纽和换乘点都是站点.多重性指可以和给定的某一类的一个实例关联在一起的另一类型对象的数目,多重性指示器标在关联线的两端,例如,一个区段有且只有两个站点组成,一个站点至少位于一个区段上.

图1 城市轨道交通网类图Fig.1 Class diagram of urban rail transport network

2.3 轨道交通网的动态建模

动态模型描述了系统中与时间和操作顺序有关的内容,它由事件、场景、顺序图和通信图这4个单元构建[7],通信图和顺序图在本质上是一样的,所以,此处省略.

事件是对对象的外部刺激,并以消息的形式通知对象[9].图2表明总网络收到事故点的消息,接着总网络以消息的形式请求线路、站点、车辆发出预警,下面的代码片段以线路为例阐明了这种情况:

Network n=new Network();∥实例化一个

网络对象

Line l=new Line();∥实例化一个线路对象

l.linePrewarning(n);∥线路对象收到一个来

自网络对象请求预警的消息

场景描述了在执行某些系统功能时必须出现的从始到终的内部消息(事件)序列,场景是特定的用例如何完成的假想的实例,即一个用例可以产生多个不同的场景[9].“轨道交通网发生事故后恢复运行”用例的其中一个场景:a.事故点向总网反应;b.总网同时请求线路、站点、车辆预警;c.系统检查站点中的换乘点;d.轨道网系统通知换乘本线路的乘客转乘地面公交;e.系统定位到发生事故的区段并封闭区段站点;f.维修工人对事故点进行检修;g.事故点确认检修完成;h.此区段、站点解除封闭;i.总网向线路、站点和车辆解除预警.

顺序图是图形化地描述在执行给定的场景时消息如何从一个对象流到另一个对象的方法.图2是以“轨道交通网发生事故后恢复运行”为用例的其中一个场景顺序图.

顺序图的核心作用是来确定静态模型中每个类需要的操作方法[9].代表向该对象提出新请求的实线箭头表示了接收请求的对象必须执行的方法,例如,在图2中可以看到一个标记了“总网请求线路预警”的实线箭头指向线路对象的生命线,表明线路类需要定义一个方法,以允许客户对象传入特定的总网络对象的引用,并接收从该方法返回线路是否对乘客进行了警戒的响应.该方法的声明如下: boolean linePrewarning(Network n).表示从其他对象执行方法返回的响应的虚线箭头不能建模为方法,但是,暗示了发起响应方法的返回类型,例如,由于消息“总网络请求线路预警”的响应是“线路已警戒乘客”,因此,方法返回boolean结果.

图2 “轨道交通网发生事故后恢复运行”用例的顺序图Fig.2 Sequence diagram of resuming operation after the accident

2.4 轨道交通网的功能建模

功能模型描述了系统中的计算,仅说明计算中输入到输出的推导,不考虑计算的次序.它由多个数据流图组成,描述数据流从外部输入经计算和内部存储输出到外部的过程[7].图3(见下页)是轨道交通网中实现全日行车计划功能的数据流图,线路作为整个数据流图的驱动者,通过输入线路的属性高峰小时客流量和全日客流分布模拟图,计算全日分时最大断面流量、分时开行列车数和行车间隔时间,最终得到全日行车计划表[10].然而,在计算全日分时开行列车数时还需调用被动对象线路断面满载率和列车定员数表,它们本身不能产生任何操作,仅仅是对存储和访问数据请求的响应.

功能模型中的处理对应对象模型中的操作.通常在顶层数据流图中的处理对应于复杂对象提供的操作,轨道交通网系统与开发人员、终极用户之间形成最顶层数据流图,轨道交通网系统软件对应于轨道交通网系统中提供的操作;而在低层数据流图中的处理对应于基本的对象操作,如在图3中计算全日开行列车数对应于线路中的操作“全日分时开行列车数()”.

图3 全日行车计划表功能模型Fig.3 Functional model of full-day driving schedules

3 结 论

本文建立的轨道交通网络对象模型、动态模型和功能模型并不是完全独立的过程,它们是相辅相成、不可分割的一个整体.对象模型是动态模型和功能模型的基础和主要依据;动态模型反过来补充和完善静态模型和唤醒功能模型动作的决策;功能模型描述对象模型中的操作和动态模型中的动作唤醒的功能.

本文的研究为我国城市轨道交通运营系统的自主开发提供了一个可行的方法,从而为轨道交通网的规划设计、运营管理提供了有效的工具,大大提高了轨道交通运营系统的效率,最终为实现轨道交通运营系统软硬件完全国产化起一定的铺垫作用,从而可以降低轨道交通建设与运营的成本.

当然,在这方面的工作还有很大的研究空间,对轨道交通系统所涉及的基础资料数据库系统的设计与实现有待进一步分析.轨道交通网建模只是一个准备阶段,是整个软件系统代码实现的基础,具体的某些方法的代码实现本文还未作深入研究,可以运用UML语言并借助Enterprise Architect工具进行代码实现的深入研究,最终实现软件生产的自动化.

[1] 于铁峰,葛雁平,吴红明,等.面向对象技术在建筑建模中的应用[J].计算机辅助设计与图形学报,1997,9 (2):98-102.

[2] 杨晓光,云美萍,周雪梅,等.中国智能交通系统评价方法研究[J].交通运输系统工程与信息,2006,6(6): 14-20.

[3] 杨勇杰,郭宝华,张燕.面向对象的空中交通流量管理系统建模与仿真[J].控制理论与应用,2008,27(6): 9-14.

[4] 王婷,唐涛.基于UM L的城市轨道交通列车控制系统分析与建模[J].系统仿真学报,2005,17(8): 1993-1996.

[5] 陈玉.基于面向对象技术的城市交通仿真研究[J].科技资讯,2009(2):7-8.

[6] 隽志才,高林杰,倪安宁.面向对象的交通网络分布式仿真并行数据结构[J].交通与计算机,2006,24(1): 36-39.

[7] 洪永清,黄德才,吕丽民.面向对象建模与设计[M].北京:人民邮电出版社,1998.

[8] 毛保华,李夏苗,王明生.城市轨道交通规划与设计[M].北京:人民交通出版社,2006.

[9] 巴克.从概念到代码[M].万波,译.北京:人民交通出版社,2007.

[10] 季令,张国宝.城市轨道交通运营组织[M].北京:中国铁道出版社,1998.

猜你喜欢

交通网面向对象站点
河南构建多通道多方向多路径综合立体交通网
广西“扬帆”行动加速交通网5G应用
广东到2035年综合立体交通网总规模达28.7×104km
基于Web站点的SQL注入分析与防范
2017~2018年冬季西北地区某站点流感流行特征分析
首届欧洲自行车共享站点协商会召开
怕被人认出
面向对象Web开发编程语言的的评估方法
开车时遭遇雷电怎么办
基于面向对象的车辆管理软件的研制与开发