首页 理论教育 智能运输系统软件技术特点

智能运输系统软件技术特点

时间:2023-10-14 理论教育 版权反馈
【摘要】:在VPM中,每个移动实体都由一组参数表示,这组参数构成一个结构体。图8.4 VPM中每个移动实体的结构移动实体到达节点之后,就被看作一个实际进程,并在调度程序列表中排队等候。图8.5中的伪代码表示正通过迭代进行仿真的移动实体的程序主体。图8.5 移动实体在节点处作为进程出现在迁移过程中,移动实体的参数被压缩成一条消息。在图8.7中,标号L1的代码段反映了调度程序让移动实体队列中的第一个元素出列,并执行它的过程。

智能运输系统软件技术特点

在VPM中,每个移动实体都由一组参数表示,这组参数构成一个结构体。结构的大小是应用对象的函数且为动态的。为了对VPM和PPM进行比较,假定每个移动实体结构中都包括以下字段(见图8.4):第一个字段是实体的标识符(标号);第二个字段反映了计算需求;第三个字段将实体必须与主静态进程进行交换的其他消息数进行压缩;第四个字段存储了实体移动模式中剩余的跳频数。

一个移动单元的计算负荷用一个100~10000000之间的整数表示,它用一个“for loop”循环来实现,即“for loop”循环中的迭代次数就等于计算负荷值,也等于利用迭代循环来仿真实际计算时间的执行次数。在VPM中,在任一时刻下,为了争取同一个控制线程,可能会有一个或多个移动实体在同一个静态节点处驻留。为了保证每个移动实体都能公平地使用该控制线程,仿真提出采用时间分割的方法,即每个虚拟进程每次只执行100次迭代,然后该进程将自动放弃控制。

978-7-111-37676-7-Chapter08-4.jpg

图8.4 VPM中每个移动实体的结构

移动实体到达节点之后,就被看作一个实际进程,并在调度程序列表中排队等候。调度程序把时间空当安排给各进程,并在时间空挡中执行移动实体的主体程序。图8.5中的伪代码表示正通过迭代进行仿真的移动实体的程序主体。迭代按100次为一组执行。在图8.5中,从第L1行开始的代码段检查是否还有迭代没有执行。如果是肯定的,移动实体应至少执行100次迭代;如果是否定的,则意味着移动实体已经完成所有预定的迭代。下面标号L2的代码段检查是否还有需要进行交流的信息未被传递。如果是,移动实体将通过写入动态地址来模拟完成该信息的交流;如果不是,则意味着所有预定的信息已完成交流。标号L3的代码段检测所有预定的迭代和信息交流都已完成的情况。然后就可以确定移动实体的下一个迁移,并将该实体传送至下一个目标节点。

978-7-111-37676-7-Chapter08-5.jpg

图8.5 移动实体在节点处作为进程出现

在迁移过程中,移动实体的参数被压缩成一条消息。其地址和大小通过调用“write”函数传递给操作系统,该程序将信息写入相应的发送套接字并执行转换过程。

在接收端,节点在0超时条件下调用“select”函数选择到达的移动实体。该选择仍具备调用单一函数对多个套接字连接进行监测的能力。消息到达时,节点将其看作一个实际进程,并将其放进调度程序列表中排队等候。图8.6中的伪代码解释了节点的这个功能。在图8.6中,标号L1的代码段检测是否有一条封装了到达的移动单元的新消息。如果检测到该消息,节点就会读取该消息并生成相应的进程。(www.xing528.com)

978-7-111-37676-7-Chapter08-6.jpg

图8.6 节点拦截封装了移动实体的消息

调度程序对静态进程,以及可能在主处理器驻留的一个或多个移动进程进行循环调度。在程序执行时,移动实体首先离开等候队列,执行完成后,移动实体或者重新进入调度列表排队,或者被标记为要移动到另一个节点的实体。由伪代码编写的调度函数如图8.7所示。在图8.7中,标号L1的代码段反映了调度程序让移动实体队列中的第一个元素出列,并执行它的过程。如果这个实体已经完成了迭代并标记为准备迁移,并被代码段L2检测到,调度程序就会以消息的形式封装并输出这个实体。否则,这个实体会重新回到节点处的移动单元列表进行排队等候。

978-7-111-37676-7-Chapter08-7.jpg

图8.7 每个节点处的调度程序

节点处执行的主程序将上述子程序整合到一起,描述了整个实施过程,如图8.8所示。首先,数据结构按代码段L1所表述的那样进行初始化,然后,代码段L2利用封装在外部数据文件中的信息压缩移动实体。程序的剩余部分将会按照适当的顺序反复执行下面两个操作:①检查是否有一个新的移动节点从邻近的静态节点迁移过来。如果是,利用网络消息将这个移动实体再现成一个实际进程,然后将其插入调度程序的队列中,准备在将来某一时刻执行。②执行调度程序,将分割的时间空隙分配给排队的移动节点。代码段L3和L4分别描述了操作①和操作②。

978-7-111-37676-7-Chapter08-8.jpg

图8.8 每个节点处的主程序

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈