CORBA技术在动态交通分配系统中的应用
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中的对象需要被指定为服务器或客户机。服务器定义为一个接收客户机请求并执行这个请求的对象;客户机定义为一个向服务器发送请求的对象。一个对象也可以同时被指定为客户机和服务器。它既能发送也能接收请求。