发明内容
本发明的目的是提供一种基于时间触发的机载光网络仿真系统,该系统通过模拟通信任务的产生和在机载光网络中的运行过程,实现机载光网络性能的仿真评估。本发明仿真系统通过物理拓扑得到网络节点信息MD2,通过通信消息的配置得到网络消息信息MD3,通过光网络生成机制得到配置保存参数MD4、光网络拓扑-消息参数MD4A和光网络时刻调度表参数MD4B,通过离散事件仿真模拟消息在端系统和光网络路由器的传输过程,解决了现有机载光网络中对于严格实时传输的消息不提供时间确定性的传输机制。本发明系统实现了在机载光网络中加入时间触发机制,能够使机载光网络具有确定的实时性,能更有效的利用网络带宽资源,达到机载光网络在传输消息时具有时间确定性的技术效果。
本发明的一种基于时间触发的机载光网络仿真系统,该系统包括有配置输入输出模块(1)、光网络拓扑配置模块(2)、光网络消息配置模块(3)、光网络生成模块(4)、光网络仿真模块(5)和结果输出显示模块(6);
配置输入输出模块(1)第一方面依据机载光网络对时间触发机制的需求进行参数配置,得到配置完善的参数MD1,该配置输出参数MD1输出给光网络仿真模块(5);
配置输入输出模块(1)第二方面用于接收光网络生成模块(4)输出的配置保存参数MD4;
配置输入输出模块(1)第三方面将接收到的MD4存储为XML文件格式;
配置输入输出模块(1)第四方面读取XML文件格式,并复现出配置完善参数;
光网络拓扑结构配置模块(2)第一方面用于生成网络节点信息MD2,所述MD2中包括有端系统参数ES、端系统个数ESN、光网络路由器参数OP、光网络路由器个数OPN、连接线参数FI、连接线条数FIN,采用集合形式表达为MD2={ES,ESN,OP,OPN,FI,FIN};
光网络拓扑结构配置模块(2)第二方面用于将MD2输出给光网络生成模块(4);
光网络拓扑结构配置模块(2)第三方面用于将MD2中的端系统的标识号es1输出给光网络消息配置模块(3);
光网络消息配置模块(3)第一方面用于生成网络消息信息MD3,所述MD3中包括有消息参数MSG和消息个数MSGN;第二方面将MD3输出给光网络生成模块(4);
光网络生成模块(4)第一方面将接收到的MD2和MD3用于生成虚拓扑配置参数SETVTE;
光网络生成模块(4)第二方面将生成的配置保存参数MD4输出给配置输入输出模块(1);所述MD4的内容与配置输出参数MD1的内容相同;
光网络生成模块(4)第三方面把光网络拓扑-消息参数MD4A和光网络时刻调度表参数MD4B输出给光网络仿真模块(5);其中MD4A包括端系统配置参数SETESA、光网络路由器配置参数SETOPB、连接线配置参数SETFIC、消息配置参数SETMSGD和虚拓扑配置参数SETVTE,采用集合形式表达为MD4A={SETESA,SETOPB,SETFIC,SETMSGD,SETVTE};其中MD4B的内容与时刻调度表配置参数SETSTF的内容相同;
光网络生成模块(4)由虚拓扑生成模块(4A)和时刻调度模块(4B)两部分组成;虚拓扑生成模块(4A)输出光网络虚拓扑参数给时刻调度模块(4B),所述包括虚拓扑连接的节点地址AddVTE,虚脱扑中连接线的传输速率vVTE,虚脱扑中连接线的长度LVTE,虚脱扑对应的波长WVTE,采用集合形式表达为
光网络仿真模块(5)采用离散事件仿真方法对接收到的MD4A和MD4B进行仿真,并将仿真结果MD52输出给结果输出显示模块(6);
光网络仿真模块(5)由仿真配置模块(51)和仿真内核模块(52)组成;仿真配置模块(51)负责配置仿真所需的时间MD51,并判断之前输入的各种参数MD52={TCESA,UROPB,UWFIC,MSMSGD}是否正确;由于仿真内核模块(52)是通过离散事件仿真方法模拟机载光网络在仿真时间内的行为,仿真内核模块(52)需要通过光网络端系统模型(5A)和光网络路由器模型(5B)的建模来得到消息在端系统和光网络路由器上的事件列表组成;
结果输出显示模块(6)是把仿真结果用三维图形、二维图形或者统计数表的方式展现出来,使仿真结果展示更加简单,直观。
本发明基于时间触发的机载光网络仿真系统的优点在于:
①本发明提供一种基于时间触发的机载光网络仿真系统,在机载光网络的研制过程中,能够通过借助本发明进行机载光网络的网络行为的模拟和分析,为设计开发机载光网络提供必要支撑。
②由于时间触发的加入,本发明可以支持多种延时要求的消息服务,同时也可以用来测试在不同的消息类型和虚拓扑下的,消息传输所需要的端到端延迟。
③本发明采用模块化设计,把机载光网络中的不同设备参数变为可输入,可以仿真需要光电转换或者是全光传输的网络结构,并可以仿真多种网络拓扑类型。而且仿真系统利用离散事件调度机制,使仿真过程能更好的模拟消息在网络中的通信过程。
④本发明提供机载光网络设计中所需的多种结果类型,包括波长利用率,光路由器的带宽利用率,消息的延迟和丢包等。使用者能够通过这些结果更方便的观察出所设计的机载光网络的性能。
具体实施方式
下面将结合附图和实施例对本发明做进一步的详细说明。
本发明设计的一种基于时间触发的机载光网络仿真系统,是采用VisualC++2012的编程软件完成的,是运行于安装有WINDOS的计算机内。计算机是一种能够按照事先存储的程序,自动、高速地进行大量数值计算和各种信息处理的现代化智能电子设备。最低配置为CPU2.4GHz,内存4GB,硬盘30GB;操作系统为windowsXP及以上版本。
本发明设计的一种基于时间触发的机载光网络仿真系统,是采用了时间触发以太网TTE的调度思想,在机载光网络中加入时间触发机制(Time-Triggered)来解决传统机载光网络对于严格实时传输的消息不提供时间确定性的传输机制的技术问题,在机载光网络中加入时间触发机制,能够使机载光网络具有确定的实时性,能更有效的利用网络带宽资源,达到机载光网络在传输消息时具有时间确定性。
参见图1所示,机载光网络由多个端系统和多个光网络路由器构成。其中,第一个端系统记为ES1,第二个端系统记为ES2,第三个端系统记为ES3,第四个端系统记为ES4,第五个端系统记为ES5,第六个端系统记为ES6,第七个端系统记为ES7,第八个端系统记为ES8,第九个端系统记为ES9,第十个端系统记为ES10,第十一个端系统记为ES11,第十二个端系统记为ES12,最后一个端系统记为ESa,a表示端系统的标识号。其中,第一个光网络路由器记为OP1,第二个光网络路由器记为OP2,第三个光网络路由器记为OP3,第四个光网络路由器记为OP4,最后一个光网络路由器记为OPb,b表示光网络路由器的标识号。机载光网络中所有的端系统采用集合形式表达为ESA={ES1,ES2,ES3,ES4,ES5,ES6,ES7,ES8,ES9,ES10,ES11,ES12,…,ESa}。机载光网络中所有的光网络路由器采用集合形式表达为OPB={OP1,OP2,OP3,OP4,…,OPb}。
参见图2所示,本发明设计了一种基于时间触发的机载光网络仿真系统,其包括有配置输入输出模块1、光网络拓扑配置模块2、光网络消息配置模块3、光网络生成模块4、光网络仿真模块5和结果输出显示模块6。
配置输入输出模块1:
参见图2所示,配置输入输出模块1第一方面依据机载光网络对时间触发机制的需求进行参数配置,将配置完善的参数记为MD1,该配置输出参数MD1输出给光网络仿真模块5;
第二方面用于接收光网络生成模块4输出的配置保存参数MD4;
第三方面存储为XML文件格式,是将接收到的MD4存储为XML文件格式;
第四方面读取XML文件格式,是将读取到的XML文件复现出配置完善参数。
在本发明中,配置输出参数MD1中包括有端系统配置参数SETESA、光网络路由器配置参数SETOPB、连接线配置参数SETFIC、消息配置参数SETMSGD、虚拓扑配置参数SETVTE和时刻调度表配置参数SETSTF,采用集合形式表达为MD1={SETESA,SETOPB,SETFIC,SETMSGD,SETVTE,SETSTF}。
其中,端系统配置参数SETESA包括有端系统的地址AddESA、端系统的处理速率vESA,端系统的缓存bufESA,采用集合形式表达为SETESA={AddESA,vESA,bufESA}。
其中,光网络路由器配置参数SETOPB包括有光网络路由器的地址AddOPB、光网络路由器的处理速率vOPB、光电光路由器的缓存bufOPB、光网络路由器的类型TYPEOPB、光网络路由器能处理的波长的个数WNOPB,采用集合形式表达为SETOPB={AddOPB,vOPB,bufOPB,TYPEOPB,WNOPB}。
其中,连接线配置参数SETFIC包括有连接线连接的节点地址AddFIC、连接线的传输速率vFIC、连接线的类型TYPEFIC、连接线上能够传输的波长的个数WNFIC、连接线的长度LFIC,采用集合形式表达为SETFIC={AddFIC,vFIC,TYPEFIC,WNFIC,LFIC}。
其中,消息配置参数SETMSGD包括有消息的源地址消息的目的地址消息的类型TYPEMSGD、消息的长度LMSGD、消息的周期PERMSGD、TT消息的发送时刻偏移OFSMSGD,采用集合形式表达为
其中,虚拓扑配置参数SETVTE包括有虚拓扑连接的节点地址AddVTE、虚脱扑中连接线的传输速率vVTE、虚脱扑中连接线的长度LVTE、虚脱扑对应的波长WVTE、虚拓扑的跳数hopVTE,采用集合形式表达为SETVTE={AddVTE,vVTE,LVTE,WVTE,hopVTE}。
其中,时刻调度表配置参数SETSTF包括有时刻调度表所在的节点地址AddSTF、时刻调度表基本周期PERSTF,时刻调度表所在的波长WSTF,TT消息在时刻调度表上的发送时刻SendSTF,采用集合形式表达为SETSTF={AddSTF,PERSTF,WSTF,SendSTF}。
光网络拓扑结构配置模块2:
参见图1、图2所示,光网络拓扑结构配置模块2第一方面用于生成网络节点信息MD2,所述MD2中包括有端系统参数ES、端系统个数ESN、光网络路由器参数OP、光网络路由器个数OPN、连接线参数FI、连接线条数FIN,采用集合形式表达为MD2={ES,ESN,OP,OPN,FI,FIN};第二方面用于将MD2输出给光网络生成模块4;第三方面用于将MD2中的端系统的标识号es1输出给光网络消息配置模块3。
参见图1、图2、图2A所示,在本发明中,光网络拓扑配置模块2包括网络节点选择单元2A、拓扑互连单元2B和网络节点参数配置单元2C三个部分。网络节点选择单元2A能够给用户提供端系统和光网络路由器的绘制图标,用户可以根据需求来进行网络节点拓扑图的绘制。拓扑互连单元2B能够提供连接线的绘制图标,用户可以根据需求来实现网络各节点的连接。网络节点参数配置单元2C能够实现光网络终端和路由器参数的配置和修改,以及进行连接线的参数配置和修改。
光网络消息配置模块3:
参见图1、图2所示,光网络消息配置模块3第一方面用于生成网络消息信息MD3,所述MD3中包括有消息参数MSG和消息个数MSGN;第二方面将MD3输出给光网络生成模块4。
参见图1、图2、图2B所示,在本发明中光网络消息配置模块3包括仿真消息配置单元3A、仿真消息修改单元3B和仿真消息查看单元3C三个部分。仿真消息配置单元3A能够配置网络中传输的消息参数MSG。仿真消息修改单元3B负责消息属性的修改,用户可以重新编辑消息的参数。仿真消息查看单元3C负责消息属性的查看。
在本发明中,通过光网络消息配置模块3用来进行整个网络仿真时的消息录入、仿真消息修改、仿真消息查看等。
光网络生成模块4:
参见图2所示,光网络生成模块4第一方面将接收到的MD2和MD3用于生成虚拓扑配置参数SETVTE;第二方面将生成的配置保存参数MD4输出给配置输入输出模块1;所述MD4的内容与配置输出参数MD1的内容相同;第三方面把光网络拓扑-消息参数MD4A和光网络时刻调度表参数MD4B输出给光网络仿真模块5;其中MD4A包括端系统配置参数SETESA、光网络路由器配置参数SETOPB、连接线配置参数SETFIC、消息配置参数SETMSGD和虚拓扑配置参数SETVTE,采用集合形式表达为MD4A={SETESA,SETOPB,SETFIC,SETMSGD,SETVTE};其中MD4B的内容与时刻调度表配置参数SETSTF的内容相同。
在本发明中,光网络生成模块4由虚拓扑生成模块4A和时刻调度模块4B两部分组成。虚拓扑生成模块4A输出光网络虚拓扑参数给时刻调度模块4B,所述包括虚拓扑连接的节点地址AddVTE,虚脱扑中连接线的传输速率vVTE,虚脱扑中连接线的长度LVTE,虚脱扑对应的波长WVTE,采用集合形式表达为
虚拓扑生成单元4A:
虚拓扑生成单元4A采用启发式算法生成虚拓扑参数VT。
启发式算法是指清华大学出版社2005年9月第2版《现代优化计算方法》(第2版),第12页。
虚拓扑生成模块4A包含了虚拓扑自动生成单元4A1、虚拓扑手动配置单元4A2和虚拓扑检验单元4A3。
虚拓扑自动生成单元4A1采用启发式算法生成虚拓扑参数VT;虚拓扑手动配置单元4A2能够根据用户的需求来配置虚拓扑参数VT;虚拓扑校验单元4A3对虚拓扑参数VT进行波长和节点的检验。
在本发明中考虑到机载网络对实时性和可靠性的要求,启发式算法是一种综合考虑了消息的跳数和波长负载的启发式算法。而虚拓扑手动配置单元4A2则是提供给用户图形化选择和记录界面,用户配置完路由和波长后,仿真系统将通过虚拓扑校验单元4A3验证是否资源满足,验证失败将提醒,成功则记录。
时刻调度模块4B:
时刻调度模块4B包含了时刻调度生成单元4B1和TT调度表显示单元4B2。当光网络的物理拓扑,消息属性和虚拓扑配置完成后,用户可以通过时刻调度生成单元4B1自动生成时刻调度表参数SETSTF。其中TT消息对应的是固定的时刻调度表,而RC消息和BE消息则是在不传输TT消息的时刻内进行传输。TT调度表显示单元4B2会以二维图形的方式直观展示TT消息的时刻调度表。
光网络仿真模块5:
参见图1、图2所示,光网络仿真模块5采用离散事件仿真方法对接收到的MD4A和MD4B进行仿真,并将仿真结果MD52输出给结果输出显示模块6。
在本发明中,仿真结果MD52包括有端系统吞吐量TCESA、光网络路由器利用率UROPB、连接线的波长利用率UWFIC、消息结果MSMSGD,采用集合形式表达为MD52={TCESA,UROPB,UWFIC,MSMSGD}。其中消息结果MSMSGD包括消息延迟消息丢包采用集合形式表达为
参见图2、图2C、图2D所示,光网络仿真模块5由仿真配置模块51和仿真内核模块52组成。仿真配置模块51负责配置仿真所需的时间MD51,并判断之前输入的各种参数MD52={TCESA,UROPB,UWFIC,MSMSGD}是否正确。由于仿真内核模块52是通过离散事件仿真方法模拟机载光网络在仿真时间内的行为,仿真内核模块52需要通过光网络端系统模型5A和光网络路由器模型5B的建模来得到消息在端系统和光网络路由器上的事件列表组成。
本发明的离散事件仿真方法,是指机械工业出版社2009年7月第1版第1次印刷的《计算机仿真技术》,第68-70页,即4.4.1节和4.4.2节的内容。离散事件仿真是由一系列的事件按照一定的运行规则来驱动的。事件的调度通常需要建立一事件表(FEL),用其来对事件进行排序并记录,仿真时钟每次推进时,均扫描事件表(FEL),并将时钟推进到下一个最早发生事件的发生时刻,并在事件表(FEL)中清除该事件,执行该事件,同时对状态变量、各种统计变量进行相应的调整,并产生新的事件加入到事件表(FEL)中。。
在本发明中,在进行完参数配置和生成后,则将进行仿真,仿真内核模块52所采用的离散事件仿真方法就是把事件通过时间排序依次调度执行,而执行完当前事件后,将触发下一个事件,并加入队列,直到仿真时间的结束。而消息的产生和发送主要是通过光网络终端和光网络路由器。因此对消息在光网络终端和光网络路由器中的行为进行建模有利于更好的模拟整个过程。
光网络端系统模型5A:
参见图2C所示,光网络端系统模型5A它包括了消息在端系统中的接收和发送两个过程。
在消息发送的过程中,端系统首先产生新的消息,并按照消息的类型分别将TT消息放入TT消息生成队列5A2,RC消息放入RC消息生成队列5A4以及将BE消息放入BE消息生成队列5A6中;
然后,根据同步后的本地时间窗口按时刻调度表将从TT消息生成队列5A2取出的TT消息放入TT消息队列5A3;从RC消息生成队列5A4取出的RC消息放入RC消息队列5A5;从BE消息生成队列5A6取出的BE消息放入BE消息队列5A7;依次从TT消息队列5A3,RC消息队列5A5和BE消息队列5A7取出消息,其中TT消息的优先级最高,RC消息的优先级高于BE消息,若取出的消息在本次时间窗口内,则把该消息放入消息发送队列5A8;若消息的发送时刻在下个时间窗口,则不取出消息;
然后,TTE端系统发送处理机制5A9从消息发送队列5A8依次取出消息,并进行不同类型消息的处理;即若取出的是TT消息,TT消息将严格按照时刻调度表进行发送,并给TT消息添加UDP/IP帧头和MAC帧头;若取出的是RC消息,则把它放在本时间窗口内空闲的发送时刻进行发送,并给RC消息添加UDP/IP帧头和MAC帧头;若取出的是BE消息,则把它放在本时间窗口内除TT消息RC消息外的空闲发送时刻进行发送,并给BE消息添加UDP/IP帧头和MAC帧头;处理完毕后,把消息放入端口输出单元5A10;
最后,消息在端口输出单元5A10中寻找端系统所对应的光网络路由器,准备发送到该光网络路由器。
在消息接收的过程中,首先消息从光网络路由器发送到对应的端系统,并通过端口输入单元5A11进入该端系统;
然后,TTE端系统接受处理机制5A12依次从端口输入单元5A11中取出消息;
最后,在TTE端系统接受处理机制5A12中进行不同类型消息的处理;即通过读取消息的帧头进行消息类型判断,若取出的是TT消息,判断是否处于接收TT窗口,若处于,把该TT消息去除帧头后放入到消息接收队列5A13中;若不处于TT窗口,则将TT消息继续放入缓存等待;若取出的是RC消息或者BE消息,则直接进行去除帧头处理,并将RC消息或者BE消息放入到消息接收队列5A13中。
光网络路由器模型5B:
参见图2D所示,在光网络路由器模型5B中,首先消息通过光纤的传输到达该光网络路由器的输入端口单元5B2中;
由于机载WDM网络是一种波分复用网络,消息在到达后需要利用WDM机制5B3将不同频段的波长通过解复用进行分离,分离后将消息取出,并放入流量类型分类5B4中;
流量类型分类5B4通过读取消息帧头的标示位进行判断消息的类型,分别把TT消息放入TT消息处理机制5B5并记录达到时间;把RC消息放入RC消息处理机制5B6中并记录达到时间;把BE消息放入BE消息处理机制5B7中并记录达到时间;
在TT消息处理机制5B5中,TT消息将进行时间窗检测,若该TT消息处于该任务的调度窗口并可以在当前窗口处理完毕,则取出该TT消息把它放入调度与转发机制5B8的缓存队列中;若无法在当前窗口完毕或者当前并非该任务的调度窗口,则检测是否开启了流量类型转换功能,如果流量类型转换功能开启,则进行由TT类型至RC类型的转换,并把它放入调度与转发机制5B8的缓存队列中;如果流量类型转换功能未开启,则丢弃TT消息;
在RC消息处理机制5B6中,取出RC消息,通过流量整形放入调度与转发机制5B8的缓存队列中;
在BE消息处理机制5B7中,直接取出BE消息并放入到调度与转发机制5B8的缓存队列中;
在调度与转发机制中5B8,从缓存队列中取出消息,其中TT消息的优先级最高,RC消息的优先级高于BE消息;同时严格按照时刻调度表和规划好的路由进行消息的调度和转发,并把消息放入WDM机制5B9中;
在WDM机制5B9中消息所在波长将重新进行复用进入到同一根光纤中,并经输出端口单元5B10进行传输。
结果输出显示模块6:
参见图4B、图4C、图4D、图4E所示,结果输出显示模块6是把仿真结果用三维图形、二维图形或者统计数表等方式展现出来,使仿真结果展示更加简单,直观。统计结果包括网络中光路由器的带宽利用率、消息的延迟和丢包,波长利用率以及光网络终端吞吐量等。
应用本发明设计的基于时间触发的机载光网络仿真系统进行的离散事件的仿真,在端系统中消息的发送与接收的过程如下:
对于消息发送:
(1)初始化消息序列产生事件:该事件首次产生新的消息,消息属性为 以及消息所产生的时间tstart,并依照消息的类型TYPEMSGD分别加入到TT消息生成队列5A2、RC消息生成队列5A4或者BE消息生成队列5A6中。
(2)消息处理事件:分别从TT消息生成队列5A2,RC消息生成队列5A4和BE消息生成队列5A6中读取消息,其中若是首次产生的消息,对TT类型的消息,按照时刻调度表将消息排放在基本周期中对应的时间窗口放入TT消息队列5A3;当所有TT消息安排完成后,RC消息将放置在基本周期中的其他空闲时间加入RC消息队列5A5;BE消息的优先级最低,排在TT和RC消息之后加入BE消息队列中5A7。。若是消息产生事件所产生的消息,对于TT消息,生成的下一次发送时间如落在下一个基本周期,并能找到对应的时间窗口,则将消息放入TT消息队列5A3,如落在当前基本周期TT窗中,并能在当前基本周期的当前时刻之后找到对应的时间窗口,则将其派发时刻进行调整后插入发送队列5A8,如果找不到时刻调度表安排的时间窗口,该消息将会被丢弃;对于RC与BE消息,生成的下一次发送时间如落在下一个基本周期,则将该消息分别放入RC消息队列5A5和BE消息队列中5A7,如落在当前基本周期,插入发送队列5A8。
当消息从消息生成队列中读取完后,并触发消息排队事件。
(3)消息产生事件:该事件与初始化消息序列产生事件类似,表示端系统处理完成一条消息后,会周期性的产生下一条相同的消息,并按照消息的类型TYPEMSGD加入到TT消息生成队列5A2、RC消息生成队列5A4或者BE消息生成队列5A6中。
(4)消息排队事件:从TT消息队列5A3,RC消息队列5A5和BE消息队列这三个消息队列中读取消息,按消息在时刻调度表中的派发时刻的先后放置到发送队列5A8,若队列的大小大于缓存,则产生发送-丢包事件,若队列的大小小于等于缓存,则触发端系统时刻调度事件。
(5)端系统时刻调度事件:从消息发送队列5A8中取出第一个消息,加入协议处理延迟后放入队列5A9中,并触发该消息产生事件,重新产生一条消息属性完全一致的消息。
(6)发送到路由器事件:从队列5A9中取出即将要处理的消息,给消息数据添加UDP/IP帧头和MAC帧头,将消息放入消息发送队列5A10,然后寻找端系统所对应的光网络路由器,触发到达路由器事件。
(7)发送-丢包事件:丢包事件对应的消息直接进行丢包,然后触发消息产生事件,重新产生一条消息属性完全一致的消息。
对于消息的接收:
(1)到达端系统事件:端系统从路由器中接收消息,记录到达时间。读取MAC帧上面的标识位识别消息类型,对于TT消息,首先判断是否处于接收TT窗口,若处于,则直接读取缓存中的TT消息进行处理,若不处于接收TT窗口则放入缓存等待;对于RC消息和BE消息,则可以直接读取进行处理,然后将消息去除MAC头并放入接收队列5A13;若队列大小大于缓存,则产生接收-丢包事件;。
(2)消息接收完成事件:消息接收完成,记录消息接收时间tend,完成传输延迟统计tdelay=tend-tstart,不产生新的事件。
(3)接收-丢包事件:丢包事件对应的消息直接进行丢包,不产生新的事件。
应用本发明设计的基于时间触发的机载光网络仿真系统进行的离散事件的仿真,在路由器中消息的传输与转发的过程如下:
消息在光网络路由器中的事件对应如下:
(1)到达路由器事件:从输入端口5B2中的消息队列中取出消息,若路由器为需要光电光转换的路由器,则加入光电转换延迟,并加入输入队列5B3中,若是全光路由器,则直接加入输入队列5B3中,并记录当前时间tnow和触发路由器处理事件,若输入队列大小大于缓存,则产生丢包事件。
(2)光网络路由器处理事件:从输入队列5B3中取出第一个消息,判断它的消息类型,若为TT消息则触发在TT消息处理机制5B5上的TT处理事件,若为RC消息则触发在RC消息处理机制5B6上的RC处理事件,若为BE消息则触发在BE消息处理机制5B7上的BE处理事件。
(3)TT处理事件:对于输入队列5B3中的TT流量,若当前时间tnow处于该任务的调度窗口并可以在当前窗口处理完毕,加入输出队列5B8,如无法在当前窗口完毕或者当前并非该任务的调度窗口,则检测是否开启了流量类型转换功能。如果流量类型转换功能开启,则进行由TT类型至RC类型的转换,并把转换后的消息放入输出队列5B8中;否则查看时刻调度表中是否还有该消息的窗口,若有则等待下一个窗口,若没有,则产生丢包事件。TT处理事件处理完成后,查看输入队列是否还有消息,若有则同时触发光网络路由器处理事件。
(4)RC处理事件:对于输入队列中的RC消息进行流量管制,对经过管制后的RC消息进行处理,生成处理延迟。将处理后有效的RC消息(有效是指不超过最大允许延迟)加入输出队列5B8中,并触发传输事件。RC处理事件处理完成后,查看输入队列是否还有消息,若有则同时触发光网络路由器处理事件。
(5)BE处理事件:对于BE消息,直接生成处理延迟,并加入输出队列5B8和触发传输事件。BE处理事件处理完成后,查看输入队列是否还有消息,若有则同时触发光网络路由器处理事件。
(6)传输事件:从输出队列5B8读取消息,若路由器为需要光电转换的路由器,则加入电光转换延迟,并加入输入队列5B10,若是全光路由器,则直接加入输入队列5B10。然后判断是否为单跳消息,若为单跳消息则直接产生到达目的节点事件,若不是,则通过虚拓扑寻找下一个转发节点,并产生跳转处理事件,若下个转发节点为目的节点,则也产生到达目的节点事件。
(7)跳转处理事件:从输入队列5B10取出消息,并将消息对应的时间加入传输延迟和光电转换延迟。对RC消息,先进行消息接收,判断其是否是由TT类型转换而来,如果是则放入高优先级缓存,否则,放入低优先级缓存;同时判断对应优先级的缓存是否能接收消息,若不能则产生丢包事件;对于BE和TT流量,则只需判断队列是否超出缓存,若有产生丢包事件,若无则加入消息队列。跳转处理事件处理完毕后将消息加入输入队列5B3并触发到达路由器事件。
(8)到达目的节点事件:该事件与跳转处理事件类似,只是触发的下个事件为到达端系统事件,且下个事件对应的节点变为消息的目的端系统。
(9)丢包事件:丢包事件对应的消息直接进行丢包,不产生新的事件。
参见图3所示,本发明的一种基于时间触发的机载光网络仿真系统的仿真方法,其具体步骤如下:
步骤一:用户开启本发明设计的基于时间触发的机载光网络系统,通过光网络拓扑界面配置模块2配置网络的物理拓扑;
或者,通过配置输入输出模块1,配置完成光网络的物理拓扑,消息属性,光网络虚拓扑和时刻调度表后,直接进入步骤六;
步骤二:利用光网络消息配置模块3进行消息的配置,包括消息的源地址,目的地址,消息的长度以及消息的类型;
步骤三:在配置完成物理拓扑和消息后,开始进行虚拓扑配置,虚拓扑生成模块4A1包含两种方式,虚拓扑自动生成模块4A2和虚拓扑手动配置4A3;若选择自动配置,通过点击自动按钮则可立刻配置完成;若选择手动配置,用户通过图形界面显示拓扑的选择和记录,并利用虚拓扑检验模块4A3进行验证;
步骤四:利用时刻调度模块4B生成TT消息的时刻调度表,生成成功后,将由TT调度显示模块4B2进行二维图形展示;
步骤五:完成上述四个步骤后,对光网络的物理拓扑,消息属性,光网络虚拓扑和时刻调度表进行保存,利用配置输入输出模块1保存成为XML文件;
步骤六:执行光网络仿真模块5,用户在配置仿真时间后进行仿真;
步骤七:仿真完成后,点击仿真结果,仿真结果是由仿真内核仿真完成后所得到的数据进行统计处理得到的,结果通过三维或二维图形,以及统计数表等方式显示;
步骤八:完成该次仿真,退出仿真系统。