摘要:介绍了一个在分布式计算环境下可以实时运行的动态交通分配系统。该系统基于CORBA技术,可进行动态起迄点出行分布矩阵的估计和预测,还可以进行系统一致性控制。
随着经济发展,交通拥挤、道路阻塞、交通事故和交通污染等问题越来越严重地困扰着世界各国的城市。应运而生的智能交通系统ITS(Intelligent Transportation Systems)通过使用先进的计算机技术、电子技术和通信技术以提高现有交通系统的效率,给人类带来了新的希望。根据美国智能交通协会ITS AMERICA(Intelligent Transportation Society of America)的定义,ITS的两个基本组成部分是先进交通信息系统ATIS(Advanced Traveler Information Systems)和先进交通管理系统ATMS(Advanced Traffic Management Systems)。ATIS使用视觉和听觉设备搜集相关交通信息,然后分析、传递和提供信息,从而在起点到终点的旅行过程中,向出行者提供实时帮助,使整个旅行过程舒适、方便、高效;ATMS将车辆作为管理系统的一部分,利用它感知并预测未来交通拥挤堵塞,并且给出交通管理最佳策略。
保证ITS(尤其是ATMS)运行的核心方法是动态交通分配DTA(Dynamic Traffic Assignment)。所谓动态交通分配,就是将实时交通流量在路网各路段上进行合理分配,为旅行者提供出发时间与方式选择,为车辆提供道路诱导系统,引导车辆行驶在最佳线路上,并提供诱导系统与交通控制系统的相互联系。
美国德克萨斯州奥斯汀大学于2001年开发出了一套实时DTA系统——DYNASMART-X。本文基于其研究成果,提出了一个CORBA分布式实时DTA系统的框架。
1 CORBA技术
从1989年成立起?熏对象管理组织OMG(Object Management Group)一直致力于使用面向对象技术,使基于对象的软件在分布异构环境中可重用、可移植、可互操作。公共对象请求代理体系结构CORBA(Common Object Request Broker Architecture)即是由OMG提出的应用软件体系结构和对象技术规范。其核心是一套标准的语言、接口和协议,以支持异构分布应用程序间的互操作性及独立于平台和编程语言的对象重用。
CORBA技术是一个重大革新,它解决了系统集成中两大著名问题:(1)开发客户机/服务器应用的困难;(2)快速集成新老系统的问题。它被认为是新出现的分布式对象管理DOM(Distributed Object Management)技术的规范。DOM技术在基本的分布式计算服务上提供了一个更高层次的面向对象接口。最高层次的规范叫做对象管理体系结构OMA(Object Management Architecture),见图1。其中,ORB的作用是对其他部件间的请求进行传递;CORBA服务提供了一些基本的系统服务,如命名、持久性和事件通知等;CORBA设施包括用户界面、信息管理等设施;CORBA域对应于特定的应用域,如财政、制造和远程通信技术等。
集成应用对象的关键是使用接口定义语言IDL(Interface Definition Language)定义的标准规范。一旦所有应用和数据有了一个与IDL兼容的接口,通信就会独立于物理位置、平台类型、网络协议和程序语言。一个使用CORBA创建的信息系统仲裁这些软件对象间的控制和信息流。
广泛使用的CORBA2.0 ORB是在对象间建立客户机/服务器关系的中间件。使用一个ORB,一个客户机对象可以透明地调用一个服务器对象的一个方法,这个服务器对象可以在同一台机器上,也可以在一个网络上。ORB截听调用请求,并负责找到一个对象,执行这个请求,传递参数,调用方法并返回结果。此客户机不需要知道对象的位置、编程语言、操作系统或其他任何不属于对象接口的方面。注意到客户机/服务器作用只是协调两个对象之间的相互作用非常重要。
2 动态交通分配
DTA系统是一个复杂的系统,在保证对交通系统中周期性和非周期性的事件进行实时响应的同时,还需要对数以万计的路段、控制器和车辆的历史、当前及预测数据进行管理。DTA系统的实时运行要求系统同时满足两个条件:(1)系统响应避免系统故障;(2)系统响应及时,如果不能及时响应,系统也不致停止运行。计算环境和软件工具是保证一个复杂系统实时响应的两个主要因素。
2.1 实时运行机制
为了满足实时运行的要求,需要一个机制,使DTA系统实时接收测量值,并启动相应的算法单元,传递结果到相应的外部设备。图2给出了这种实时运行机制。在当前运行时段Ti的起点,DTA系统接收并评价刚刚过去的运行时段Ti-1的测量值。基于这些测量值,整个系统及其中的算法单元在当前时段响应和作用。每个算法单元和整个集成系统在逻辑内部和功能设计上均使用上述机制,从而通过运行时段的一致定义,即可方便地增减算法步骤和功能,大大提高了灵活性。
2.2 实时DTA框架
实时DTA系统由以下功能单元组成:(1)一致性检查;(2)一致性更新;(3)O-D估计(O即Origin,D即Destination,O-D估计即起迄点出行分布矩阵估计);(4)O-D预测;(5)状态估计;(6)状态预测;(7)交通分配;(8)用户界面;(9)数据库:(10)管理。这些功能单元之间相互作用并与ATMS数据库相互作用。其中(1)负责检查真实系统和DTA仿真器与(3)之间的一致性,主要是比较预测的状态变量和实际的状态变量,一旦超过事先规定的阈值,即向(2)报告;(2)基于(1)的报告更新DTA仿真器和(4);(3)基于监视系统的实时测量值和历史O-D数据,估计当前道路网络的起迄点出行矩阵;(4)基于当前O-D估计结果、当前网络状态和历史O-D数据,产生未来时段的O-D预测;(5)把给定的非常短的仿真间隔(几秒钟)的路径决策与(2)产生的调节结合来仿真交通流的类型;(6)仿真更长时间的交通流的类型并提供未来时段(20~30min)的路径决策;(7)根据系统最优和用户平衡等不同用户要求提供路径决策:(8)提供用户接口;(9)最小化其他单元请求的等待时间和最大化吞吐量;(10)提供所有单元间的控制以维持系统稳定并防止故障,同时保证系统同步。显然,实时DTA系统的设计应基于层次结构。最高层,即管理单元,其他单元各自被映射到一个不同的专用处理器,见图3。
3 基于CORBA的DTA系统
3.1 AMH框架下的DTA系统
多处理机/并行计算对实时DTA系统相当重要。在实时DTA系统中,一些功能周期性执行;另一些功能非周期性地被其他功能触发。因此,设计时,最根本的一点是把握每个功能单元的执行周期。
可以把所有循环集成在一个异步多层次AMH(Asynchronous Multi-Horizon)框架中。在AMH框架中,各功能在不同层次的分布式处理器上实现。每个功能以周期性模式、非周期性模式或联合活动模式运行。周期性活动模式下,基于执行循环定时执行;非周期性活动模式下,只有当其他功能发出一个事件调用请求时才执行;联合活动模式下,一个功能定时执行,同时允许其他功能触发以启动一个新功能的运行。也就是说,在当前执行循环中,当接收到一个调用请求时,将从下一个执行循环的起点开始新功能的运行。这个策略非常重要,保证系统对环境变化实时响应,同时维持整个DTA系统的可靠和稳定。
3.2 ILU框架下的DTA系统
在CORBA环境下实现实时DTA系统最好使用中间语言统一体ILU(Inter Language Unification),因为ILU是共享的,可用性更好。ILU支持创建新的对象、远程过程调用和异步调用。一旦一个ILU对象被创建,它就通知ILU服务器其已经存在。通过这个服务器,每个对象都能获得其他对象的信息。此后,每个对象均能远程访问其他任何对象,就像在同一台机器上。
实时DTA系统可以由三个主要对象组成:操作对象、GUI和ATMS数据库,见图4。CORBA中的对象需要被指定为服务器或客户机。服务器定义为一个接收客户机请求并执行这个请求的对象;客户机定义为一个向服务器发送请求的对象。一个对象也可以同时被指定为客户机和服务器。它既能发送也能接收请求。
??? 在实时DTA系统中,三个对象均被指定为客户机和服务器。在操作对象下设计六个子操作对象。每个子操作对象在一个运行周期工作。在状态估计对象下设计一致性检查和一致性更新两个对象,是因为这两个对象与状态估计对象直接作用。GUI负责输入指令输出结果。ATMS数据库包括实时监视数据、系统输出、历史数据及其中的相互作用。
动态交通分配是保证智能交通系统运行的核心手段。基于CORBA技术设计实时运行的动态交通分配系统是恰当的解决方案。国际上这方面的研究尚处于系统测试阶段,而国内更是刚刚起步。本文对这一框架进行初步探讨,期待有更多的学者深入研究,开发出真正实用的实时动态交通分配系统,以促进智能交通系统的发展。