《OPNET网络仿真课件.pptx》由会员分享,可在线阅读,更多相关《OPNET网络仿真课件.pptx(338页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、,#,电子科技大学抗干扰通信国防重点实验室,培训内容,1,日程,内容,第一天,网络仿真与,opnet,简介,Opnet,架构和核心函数,Opnet,通用建模方法,Opnet,的事件和中断,第二天,Opnet,的节点建模,Opnet,的进程建模,统计量的收集,调试技术,第三天,Opnet,实例,1,、,CSMA,Opnet,实例,2,、全向和定向天线,移动,Ad,Hoc,网络的概念、特点和应用及移动,Ad,Hoc,网络单播路,由协议,交流与讨论,电子科技大学抗干扰通信国防重点实验室,2,电子科技大学抗干扰通信国防重点实验室,网络仿真与,OPNET,简介,3,1.,仿真技术,1.1,什么叫仿真?,
2、1.2,仿真的分类,1.3,网络仿真的意义?,1.4,当前主要的仿真工具,2.OPNET,简介,2.1 OPNET,简介,2.2,OPNET Modeler,简介,电子科技大学抗干扰通信国防重点实验室,1.1,什么叫仿真,(Simulation),?,4,创建协议和设备模型的环境。,展示及预测网络性能的环境。,包含上百个预建模块,用于研究网络在不同规模、技术以及,应用条件下性能变化的环境。,仿真就是采用模型来再现真实情况。模型是系统、过程或现象的物理的、数学的或其他逻辑的表达。,电子科技大学抗干扰通信国防重点实验室,1.2,仿真的分类,5,跟据被仿真对象性质划分:,连续系统仿真(Continu
3、ous,System,Simulation),离散事件系统仿真(Discrete,Events,System,Simulation),根据功能用途划分:,工程仿真(Engineering,Simulation),训练仿真(Training,Simulation),教育仿真(Education,Simulation),根据虚实结合程度来划分:,结构仿真(Constructive,Simulation),虚拟仿真(Virtual,Simulation),实况仿真(Live,Simulation),电子科技大学抗干扰通信国防重点实验室,1.3,网络仿真的意义,6,网络仿真的产生背景:,随着网络结构和
4、规模越来越复杂化以及网络的应用越来越多样化,单纯地依靠经验进行网络的规划和设计、网络设备的研发以及网络协议的开发,已经不能适应网络的发展,因而急需一种科学的手段来反映和预测网络的性能,,网络仿真技术应运而生。,网络仿真的意义:,有效提高网络规划和设计的可靠性和准确性,明显地降低网络投资风险,较,少不必要的投资浪费。,电子科技大学抗干扰通信国防重点实验室,1.4,当前的主要网络仿真工具,MATLAB,7,MATLAB,的主要功能:,数值计算功能,符号计算功能,数据分析和可视化功能,文字处理功能,SIMULINK,动态仿真功能,SIMULINK,是,MATLAB,为模拟动态系统而提供的一个交互式程
5、序,,SIMULINK,允许,用户在屏幕上绘制框图来模拟一个系统,并能够动态的控制该系统。,SIMULINK,能够处理线性,非线性,连续,离散等多种系统。,电子科技大学抗干扰通信国防重点实验室,1.4,当前的主要网络仿真工具,NS,8,NS,(Network,Simulator),NS是一个由,Berkeley,、,MIT,开发的开源网络仿真软件。可以对无线、有线网,、卫星网,局域网和广域网等不同的网络形式进行仿真。它目前可以支持,TCP,UDP,协议,支持,FTP,Telnet,Web,,CBR,and,VBR,等高层业务;对无线,网络,支持DSR、,AODV,、,DSDV,等协议。,OPN
6、ET,本次培训的主角。,电子科技大学抗干扰通信国防重点实验室,2,OPNET,简介,9,2.1 OPNET,历史和现状,OPNET,公司起源于,MIT(,麻省理工学院,),成立于1986,年。,1987,年,OPNET,公司,发布了其第一个商业化的网络性能仿真软件,提供了具有重要意义的网络性,能优化工具,使得具有预测性得网络性能管理和仿真成为可能。,OPNET,公司,目前为Nasdaq,上市公司,代号为,OPNT,2002,年被福布斯评为全美最佳,200,中,小型企业。,OPNET,公司最初只有一种产品,OPNET,Modeler,,到目前已经拥有,Modeler、,ITGuru,、,SPGu
7、ru,、,WDMGuru,、,ODK,等一系列产品。,对于网络的设计和管理,一般分为3,个阶段:第,1,阶段为设计阶段,包括网络,拓扑结构的设计,协议的设计和配置以及网络中设备的设计和选择;第,2,阶,段为发布阶段,设计出的网络能够具有一定性能,如吞吐率、响应时间等等,;第3,阶段为实际运营中的故障诊断、排错和升级优化。而,OPNET,公司的整个,产品线正好能面向网络研发的不同阶段,即可以作网络的设计,也可以作为发布网络性能的依据,还可以作为已投入运营的网络的优化和故障诊断工具,。OPNET,公司也是当前业界智能化网络管理分析解决方案的主要提供商。,电子科技大学抗干扰通信国防重点实验室,2.2
8、,OPNET,产品介绍,(,1,),10,OPNET,公司的第一个商用化产品为,Modeler,,在此基础上又开,发出了其他产品,使得其产品得种类更加丰富。目前,OPNET,公,司得产品线除了,Modeler,外,还包括,ITGuru,、,SPGuru,、,OPNET,Development Kit以及,WDMGuru,。不同的产品面向的客户群也,不一样。,电子科技大学抗干扰通信国防重点实验室,Products,Address,Distinct,Markets,Intelligent,Network Management,for,Service,Providers,Manufacturers,
9、Accelerating,Network,R&D,Enterprises,Service,Providers,Intelligent,Network,Management,for,Enterprises,11,电子科技大学抗干扰通信国防重点实验室,2.2,OPNET,全线产品介绍,(,2,),12,Modeler,主要面向研发,其宗旨是为了“,Accelerating,Network,R&D(,加速网络研发,),ITGuru,可以用于大中型企业,做智能化的网络设计、规划和管理;,SPGuru,相对,ITGuru,在功能上更加强大,内嵌了更多的附加功能模块,包,括流分析模块、网络医生模块、多提供
10、商导入模块、,MPLS,模块,使,SPGuru,成为电信运营商量身定做的智能化网络管理、规划以及优化的平,台;,WDMGuru,是面向光纤网络的运营商和设备制造商,为其提供了管理,WDM,光,纤网络,并为测试产品提供了一个虚拟的光网络环境。,OPNET,开发包,(ODK,OPNET,Development,Kit),和,NetBizODK,是一个更底,层的开发平台,其中,ODK,为开发时环境,,NetBiz,为运行时环境,可以用,于设计用户自定制的解决方案,定制用户的界面,并且,ODK,提供了大量的函数,用于网络优化和规划。,OPNET,的客户群:大型通信设备制造商、大中型企业、电信运营商、军
11、方和政府方的研发机构、大专院校等。,电子科技大学抗干扰通信国防重点实验室,2.3,OPNET,Modeler,的主要特性,(,1,),13,层次化的网络模型。使用无限嵌套的子网来建立复杂的网络拓扑结构。,简单明了的建模方法。,Modeler,建模过程分为,3,个层次:进程,(process),层次、节,点,(Node),层次以及网络,(Network),层次。在进程层次模拟单个对象的行为,在节点层次中将其互连成设备,在网络层次中将这些设备互连组成网络。几个不同的,网络场景组成“项目”,用以比较不同的设计方案。这也是,Modeler,建模的重要机制,这种机制有利于项目的管理和分工。,有限状态机。
12、在进程层次使用有限状态机来对协议和其他进程进行建模。在有限状,态机的状态和转移条件中使用,C/C+,+语言对任何进程进行模拟。用户可以随心所欲,地控制仿真的详细程度。有限状态机加上标准的,C/C+,以及,OPNET,本身提供的,400,多,个库函数构成了,Modeler,编程的核心。,OPNET,称这个集合为,Proto,C,语言。,对协议编程的全面支持。支持,400,多个库函数以及书写风格简洁的协议模型。,OPNET,已经提供了众多协议,因此对于很多协议,无需进行额外的编程。,电子科技大学抗干扰通信国防重点实验室,2.3,OPNET,Modeler,的主要特性,(,2,),14,系统的完全开
13、放性。,Modeler,中源码全部开放,用户可以根据,自己的需要对源码进行添加和修改。,高效的仿真引擎。使用,Modeler,进行开发的仿真平台,使仿真,的效率相当高。,集成的分析工具。,Modeler,仿真结果的显示界面十分友好,可以轻松刻画和分析各种类型的曲线,也可将曲线数据导出到,电子表格中。,动画。,Modeler,可以在仿真中或仿真后显示模型行为的动画,,使得仿真平台具有很好的演示效果。,集成调试器。快速地验证仿真或发现仿真中存在的问题,,OPNET,本身有自己的调试工具,OPNET,Debugger(ODB),。,源代码调试。方便地调试由,OPNET生成的C/C,+源代码。,电子科
14、技大学抗干扰通信国防重点实验室,问题和目标,15,本次培训将要回答的问题,OPNET,Modeler,是什么?,OPNET,Modeler,为我们做什么?,OPNET,Modeler,的使用方法?,如何开始学习OPNET,Modeler?,目标,了解OPNET,Modeler,可以解决的问题,学习OPNET,Modeler,的使用方法,使用OPNET,Modeler,解决问题,电子科技大学抗干扰通信国防重点实验室,学习,OPnet,的基础,16,基础技能,C/C+,程序设计和分析能力,网络的基础知识,电子科技大学抗干扰通信国防重点实验室,17,电子科技大学抗干扰通信国防重点实验室,项目和场景,
15、(Project,&,Scenario),18,OPNET Modeler,采用“项目-场景”的方法对网络建模。,项目,是一套场景的集合,用来探索网络设计的不同方面。一,个项目至少包含一个场景。,场景,是网络的一个实例。通常一个场景代表网络的一套配置,,例如拓扑、协议、应用、流量以及仿真设置。,电子科技大学抗干扰通信国防重点实验室,工程,/,场景的工作流程,常见工程,创建初始场景,导入或创建拓扑,导入或创建流量,选择需要搜集的结果,运行仿真,分析结果,复制场景,修改配置,重新运行仿真,比较结果,反复,19,电子科技大学抗干扰通信国防重点实验室,可供建模的对象,仿真中对象间的数据传输,网络、节点
16、和进程,对象属性,对象命名,仿真中报文的作用,20,日程,电子科技大学抗干扰通信国防重点实验室,网络对象,-,节点,节点,对象由图标表示。不同图标可以表示相同,对象。所示的是一些默认图标。,固定节点,:在仿真中固定不动。,移动节点,:根据所设定的轨迹或矢量(地面速率,,方向以及垂直速率)在仿真中改变位置。其中,,轨迹可以通过,Modeler,提供的图形界面工具或,者文本编辑器生成。,卫星节点,:根据所设定的轨道在仿真中改变位,置。其中,轨道可以在,Modeler,中查看。,Satellite,Mobile,Fixed,21,电子科技大学抗干扰通信国防重点实验室,子网,子网将组成网络的部件抽象成
17、一个对象。,子网所表示的结构与实际网络相同。,Subnetwork,22,电子科技大学抗干扰通信国防重点实验室,链路,链路,对象对物理层特性模型,包括时延、噪声等。,无线链路在仿真中为任意两个无线收发机间建立。卫星和移动节点必须使用无线链路。固定节点可以使用无线链路。无线链路并不会被显示出来,而是在任何两个无线收发机之间建立,。,23,总线链路通过共享介质在多个节点间传输数据,。,点对点链路在固定节点间传输数据。,Wireless,link,Bus,link,PPP,link,电子科技大学抗干扰通信国防重点实验室,节点对象,-,模块,24,模块,是节点模型的结构单元。模块包括处理器,、队列、收
18、发机和数据源。,处理器,是通用结构单元,具有完善的可编程支,持。,队列,在处理器的基础上,提供了一个管理数据,报文的缓存。,Processor,Queue,电子科技大学抗干扰通信国防重点实验室,发射机和接收机,发射机是节点内对象与节点外通信链路之间的输出接口。,接收机则是输入接口。,25,电子科技大学抗干扰通信国防重点实验室,发射机和接收机,三种不同的通信链路分别对应于三种不同的发射机和接收机,。,天线可以用在无线收发机上。,Bus,transceivers,Point-to-,point,transceivers,Packet,radio,transceivers,Transmitter,R
19、eceiver,Transmitter,Receiver,Transmitter,Receiver,Antenna,26,电子科技大学抗干扰通信国防重点实验室,模块间互联,报文流,(实线),从源模块,向目的模块传递数据。,统计线,(虚线),从源模块,向目的模块传递单一的数,据值。,如图,,hub_rx0,可能向,mac,报,告接收报文的事件。,27,电子科技大学抗干扰通信国防重点实验室,节点模型举例,28,节点模型支持,协议功能的层次化搭建,模块间动态监控,自由的节点构架,属性提升,ethernet_wkstn_adv,Node,Model,电子科技大学抗干扰通信国防重点实验室,进程模型,状态
20、,初始状态,(黑色箭头所指,),是进程模型执行的起始点。,强制状态,不允许在执行进程中暂停。,非强制状态,允许在执行进程中暂停。,下面的章节将会详细介绍不同状态间的区别。,Initial,state,29,Forced,state,Unforced,state,red,green,red,电子科技大学抗干扰通信国防重点实验室,状态间连接,-,转换线,转换线,描述可能的状态转移方向,,转换条件,允许对应的状态转移。,从一个状态发生转换时,有且只有一个转换条件被满足。,如果条件,(x,=,y,),为真,转换时执行,(Reset_Timers;),。,Transition,executive,Con
21、dition,statement,30,电子科技大学抗干扰通信国防重点实验室,执行模块,31,每个状态具有两个执行模块,入口模块,在转入状态后被执行。,出口模块,在转出状态前被执行。,电子科技大学抗干扰通信国防重点实验室,核心函数,-,介绍,32,核心函数,(Kernel Procedure,简称,KP),是,Modeler,提,供的一些列函数,为建模者提供了常用的数据操作能力,。例如,内存管理、数据结构、时间处理等等。,所有KP,以“,op_,”为前缀。,KP,以通信模型为中心。,电子科技大学抗干扰通信国防重点实验室,核心函数,33,报文包,:,op_pk_create,(),op_pk_c
22、reate_fmt,(),op_pk_copy,(),op_pk_get,(),op_pk_total_size_get,(),op_pk_nfd_set,(),op_pk_nfd_get,(),op_pk_send,(),op_pk_send_delayed,(),op_pk_destroy,(),子队列包,:,op_subq_pk_insert,(),op_subq_pk_remove,(),统计包,:,op_stat_reg,(),op_stat_write,(),op_stat_local_read,(),op_stat_scalar_write,(),中断包,:,op_intrpt_
23、schedule_self,(),op_intrpt_type,(),op_intrpt_strm,(),op_intrpt_code,(),仿真及事件包,:,op_ev_cancel,(),op_sim_time,(),ID,、拓扑及模块间访问,包,:,op_id_self,(),op_topo_parent,(),op_topo_child,(),op_ima_obj_attr_get,(),分布包,:,op_dist_load,(),op_dist_outcome,(),常用核心函数举例,核心函数的命名规则,op_,在进程模型编辑器中,按,ctrl-H,可以得到常用,KP,的帮助。,电子
24、科技大学抗干扰通信国防重点实验室,Proto-,C,囊括,状态转移图,C,语言,OPNET,核心函数库,状态变量(SV,,各进程私有,),临时变量,(TV),什么是,Proto-,C,?,34,电子科技大学抗干扰通信国防重点实验室,对象属性,属性,是对象的参数,用于设定对象的行为。,属性可以在仿真中动态更改。,在进程中,可以访问所有对象属性。,不同属性允许属于相同类型的对象表现不同的行为。,35,电子科技大学抗干扰通信国防重点实验室,对象属性,尽管使用同样的进程模型,通过改,变“,data,rate,(,bps),”属性,可以改变节点的行为。,36,电子科技大学抗干扰通信国防重点实验室,属性值
25、,37,不同类型的属性,具有不同的取值范围。,Type,Definition,Integer,整数:存贮空间;发送窗口大小;,Double,浮点数:处理速率;时间;,String,字符串:统计量名称;对象名称;,Toggle,布尔:状态标示;,Typed file,模型文件:,OPNET,可管理的文件的名称,Compound,复合数据:多种数据的嵌套,电子科技大学抗干扰通信国防重点实验室,属性提升,38,属性提升,允许用户在更高的模型层次设置属性的值。,将低层对象的控制权交给高层对象管理具有更好的灵活性。,可以将属性提升至网络层次,并在运行时设置属性值。,电子科技大学抗干扰通信国防重点实验室,
26、属性提升举例,当属性值被设置时,提升即被终止。当一个属,性在,mktg_lan,对象上,被设置,该属性将不会,出现在,corporate,对象上。,属性的命名是在对象层次结构之后加上后缀。,priority,由,buf,提升,并在,mktg_lan,处设置。,buf.priority:,提升,priority:,提升,router.buf.priority:,high,corporate,mktg_lan,router,buf,39,电子科技大学抗干扰通信国防重点实验室,模型层次,每个节点对象的内部结构和行为由其模,型(对象的,model属性,),决定。,节点模型在节点编辑器中创建。,40,电
27、子科技大学抗干扰通信国防重点实验室,对象层次,41,每个处理器和队列对象的内部结构和行为由其模型,(,对象的,model,属性),决定。,处理器和队列模型在进程编辑器中创建。,Process,model,rip_udp_v3,电子科技大学抗干扰通信国防重点实验室,对象命名,42,每个对象在其所在的层次中具有唯一的名称。,对象全名的格式,top.,电子科技大学抗干扰通信国防重点实验室,对象命名,opnet,gen,的全名是,top.,usa.dc.opnet.wk9.,gen,43,电子科技大学抗干扰通信国防重点实验室,对象间的数据流,44,在Modeler,的仿真中,报文是信息交换的基本单位。
28、,不同对象间信息的交互通过不同的通信机制实现,节点 节点:链路,模块 模块:报文流、统计线,状态 状态:转换线,电子科技大学抗干扰通信国防重点实验室,报文,报文,系统间携带信息的实体,以域为组织单元的通用数据结构,在仿真中动态生灭的数据实体,一个系统可能依赖于多种类型,、结构的数据报文,45,电子科技大学抗干扰通信国防重点实验室,通信机制,-,链路,在网络域,节点通过链路传递报文。,点对点和总线链路是可见的,无线链路是不可见,的,46,电子科技大学抗干扰通信国防重点实验室,通信机制,报文流,&,统计线,报文通过报文流在模块间传递,。报文流的两端具有内建的报,文缓存。,统计线在目的模块引发中断,
29、,同时报告一个统计值。,47,电子科技大学抗干扰通信国防重点实验室,总结,48,网络对象:,节点(,固定、移动、卫星),子网,节点,(,点对,点,总线,无线),。,节点对象:,模块(,处理器、队列、发射机、接收机、天线,),,连接(,报文流、统计线,),。,进程对象:,状态(,初始、强制、非强制),,转换线。,核心函数:,预先写好的用于通信和常用操作的函数。,对象属性:,用于配置对象行为的动态参数。,报文:,信息交换的基本单元。,电子科技大学抗干扰通信国防重点实验室,49,电子科技大学抗干扰通信国防重点实验室,题目,明确建模的对象,粒度,定义数据,结果,目标,使用基本建模方法对网络进行仿真研究
30、,通过一贯方法对仿真研究进行设计,50,日程,电子科技大学抗干扰通信国防重点实验室,OPNET,Modeler,进行仿真的流程:,51,理解系统,理解仿真的目的,确定仿真内容,定义输入和输出,确定系统模型,确定输出,运行仿真,系统结果是否准确,结果是否足够详细,结果是否统计有效,电子科技大学抗干扰通信国防重点实验室,仿真研究的流程图,是,结束,开始,结果统计有效?,否,否,结果是否足够详细?,选择输入运行仿真,结果是否准确?,定义输入和输出,设定系统模型,否,确定建模内容,理解仿真的目标,理解系统,52,电子科技大学抗干扰通信国防重点实验室,理解系统,53,建模者必须理解所提出的系统,以便准确
31、建模。,模型不会比建模者所理解的更准确。,建议:获取所建模系统的说明书,(,标准、细则等,),。,电子科技大学抗干扰通信国防重点实验室,理解目标,54,需要通过仿真来回答的问题是那些?,例如,通过将以太网集线器更换为,FDDI,集线器,将会得到多大的吞吐率提升?,在我的蜂窝网中采用自定义的协议将会提升多少效能?,加入,1000,个用户后会增加多少响应时间?,电子科技大学抗干扰通信国防重点实验室,确定内容,55,从问题中提炼出具体的研究目标,例如,定量分析特定接收机的吞吐率。,测量改变一条链路的传输速率后对系统的影响。,找出导致系统不稳定的临界负载量。,目标决定了模型的粒度。,电子科技大学抗干扰
32、通信国防重点实验室,什么是粒度?,56,粒度是细致程度。,选择足够回答所提问题的粒度,粗粒度(牺牲细节),允许更快速的执行和更简单的设计。,细粒度(牺牲性能),允许更高的准确度,但是仿真运行更慢,设计更复杂。,电子科技大学抗干扰通信国防重点实验室,选择所需的粒度,57,选择能够准确回答问题的最粗粒度。,有时模型某些部分需要细粒度,而其他部分则不需要。,OPNET,Modeler,具有很大的灵活性。,电子科技大学抗干扰通信国防重点实验室,粒度,-,例,1,10,个工作站由以太网集线器互联,对应用层端到端时延,(ETE,delay),进行建模。,比较采用FDDI,集线器时的时延性能。,58,电子科
33、技大学抗干扰通信国防重点实验室,为例,1,决定粒度,59,需要为每个工作站的,TCP,、,IP,、,MAC,层建立完整的数据流模型,。,特别地,以太网和,FDDI,协议需要准确地反映时延性能。,需要在多种负载下获取准确的结果。,结论:该模型需要细粒度。,电子科技大学抗干扰通信国防重点实验室,粒度,例,2,为下面的场景建模:在,Chicago,有,2,000个工作站,在,New,York有,4,000,个,通过,OC12,链路互联。采用,OC48,链路能够降低,多少反应时间?,60,电子科技大学抗干扰通信国防重点实验室,为例,2,决定粒度,61,将场景抽象成一个简单的高层模型,将,2,000,个
34、在,Chicago,的工作站抽象成一个节点,,4,000,个在,New,York,的工作站抽象成第二个节点。,集中观察两节点间的链路性能。,结论:粗粒度足以。,观察:建立完整的细节模型可能会导致仿真和开发的缓慢。,电子科技大学抗干扰通信国防重点实验室,定义数据输入和输出,62,选择输入相当重要。,如果已经,理解了系统,理解了目标,确定了内容,明确了问题,你将能够定义合适的数据输入。,电子科技大学抗干扰通信国防重点实验室,定义数据输入和输出,63,输入可以代表模型的先天特性,(,例如连接性等,),,或者是一,组参数(例如负载量等,),。,在研究系统的时候,固定大部分输入,仅在一定范围内更改,一两
35、个输入。,确定哪些输出是需要的,(,吞吐率、时延等),,并采用最佳形,式表达(,图、表、动画等,),。,电子科技大学抗干扰通信国防重点实验室,图,动画,表,定义数据输入和输出,v,输出可能是各种表现形式,64,电子科技大学抗干扰通信国防重点实验室,确定系统模型,65,仿真软件可以通过多种方式表现系统。,理解仿真软件的特性。,理解如何采用这些特性最好地表达系统。,电子科技大学抗干扰通信国防重点实验室,选择输入的范围,66,固定大部分变量而仅仅在一定范围内更改个别变量的值。,一般来说,可以通过分析的方法估计变量的上下限。,在上下限中更改变量的值。,经过初次仿真,扩大取值范围。,集中分析一个较窄的取
36、值范围。,67,电子科技大学抗干扰通信国防重点实验室,选择输入范围,举例,初始取值范围:2.02.9,Mb/s,间隔0.1,Mb/s,。,第二次取值范围:2.42.6,Mb/s,间隔,0.02,Mb/s,。,初始范围,第二次范围,电子科技大学抗干扰通信国防重点实验室,结果的准确性,68,应该对输出的准确性做出判断,所有的输出是否都有意义?,能够给出证明吗?,模型行为是否符合设想?,技巧:先预测输出,然后与实际所得结果做比较。,电子科技大学抗干扰通信国防重点实验室,结果的细致性,69,根据需要,调整输入范围放大、缩小。,考虑,收集更丰富的统计量?,改变粒度?,对系统的其他方面进行建模?,电子科技
37、大学抗干扰通信国防重点实验室,结果的统计有效性,模型运行是否达到稳态?,从早先的瞬态收敛到之后的稳态。,观察平均值的上升情况、队列的增加情况或者其他还在变化的输出。这往往意味着系统尚未达到稳态。,70,电子科技大学抗干扰通信国防重点实验室,结果的统计有效性,增加仿真时间,直到得到,稳定的输出。,无法达到稳态的模型往往,意味着系统不稳定。,观察各统计值,确保模型,达到稳态。,71,电子科技大学抗干扰通信国防重点实验室,结果的统计有效性,仿真是否足量?,运行多次仿真,改变随机数种子并采用不同的间隔。,做足量仿真,确保可信区间足够紧凑。,72,电子科技大学抗干扰通信国防重点实验室,总结,是,结束,开
38、始,结果统计有效?,否,否,结果是否足够详细?,选择输入运行仿真,结果是否准确?,定义输入和输出,设定系统模型,否,确定建模内容,理解仿真的目标,理解系统,73,电子科技大学抗干扰通信国防重点实验室,74,电子科技大学抗干扰通信国防重点实验室,日程,75,事件,中断,事件驱动仿真,事件表与仿真时钟,仿真核心,进程与中断,电子科技大学抗干扰通信国防重点实验室,事件驱动仿真,76,事件,是在一个特定时刻的一个特定动作的请求。,OPNET,仿真由事件驱动。在仿真中,时间在事件发生,时前进。,另外的方法包括定时中断。其缺点在于:,定时精度影响结果精度,长时间内没有事件时,导致仿真效率低下,电子科技大学
39、抗干扰通信国防重点实验室,Time,Event,Type,Module,0.0,Initialize,src.gen,0.0,Initialize,src.rte,4.3,Timer,expires,src.gen,4.3,Packet,arrives,src.rte,表头,77,事件表,OPNET,仿真维护一个全局事件,表。,所有对象共享同一个仿真时,钟。,事件依照时间先后顺序排列,。第一个事件位于表头。,事件包含一套数据。,事件完成后,从表中删除,。,电子科技大学抗干扰通信国防重点实验室,中断,78,中断,是位于表头的事件,而该事件由仿真核心递交给对应模,块。,事件所含数据可以由被中断的模
40、块访问。,某些模块可以设置初始中断。,电子科技大学抗干扰通信国防重点实验室,仿真核心,79,仿真核心(Simulation,Kernel,简称,SK),是管理事件表的实,体。,SK,向对应模块依次递交事件。,SK,接收来自模块的请求,并将新事件插入事件表。,电子科技大学抗干扰通信国防重点实验室,事件表如何工作?,每当一个事件到达表头,,仿真核心将该事件(,中断,),递交给对应的模块,仿真核心获得控制权,在模块中的进程获得控制权处理中断,仿真核心删除中断,,处理下一个到达表头的事件,80,电子科技大学抗干扰通信国防重点实验室,事件表的实现,仿真核心使用具有专利授权的高效算法管理事件表。,仿真时间
41、,采用双精度浮点数,并由此对事件排序。,0.01234,56789,11111,11,0.01234,56789,11111,22,0.01234,56789,11111,33,0.01234,56789,11111,44,0.01234,56789,11111,55,0.01234,56789,11111,66,0.01234,56789,11111,77,该中断触发一个事件发生在,0.01234,56789,11111,11,仿真核心在最短时间内把一个事件安插在事件表中正,确的位置上,81,电子科技大学抗干扰通信国防重点实验室,并发事件,82,当两个事件同时发生时,如何处理?,事件仍然顺序
42、处理,尽管看起来是在同一个时刻发生的。,仿真核心用两种方法确定事件先后次序,先预约先服务,优先级,模块和事件被设置优先级,高优先级的先服务,电子科技大学抗干扰通信国防重点实验室,事件表,83,有些事件必须在仿真初始进入事件表,数据发生器的初始事件,处理器或队列的,begsim,事件,事件表通常只含少量事件一个事件同时引发另外一两个,事件后,被删除。,事件表大小总是在不断缩胀。,事件在执行前,挂起,,挂起的事件可以被取消。,电子科技大学抗干扰通信国防重点实验室,中断的递交,84,当一个中断被递交到一个模块,控制权由仿真核心转移到对,应模块。,如果模块是处理器或队列,中断被递交到对应模块中的进程,
43、。,电子科技大学抗干扰通信国防重点实验室,强制状态,强制状态(绿),与非强制状,态(红),在执行时序上囧异,。,强制状态,执行入口程序,执行出口程序,测试状态转换条件,转移到新的状态,状态转移,85,状态转移,强制状态,执行入口程序,无等待,执行出口程序,执行入口程序,无等待,执行出口程序,电子科技大学抗干扰通信国防重点实验室,非强制状态,非强制状态,执行入口代码,标记中断点,释放控制权并阻塞,中断时从中断点处继续执行,中断,86,中断结束,阻塞,等待中断,非强制状态,状态转换,阻塞,等待中断,执行出口代码,执行入口代码,下一次中断的,起始点,电子科技大学抗干扰通信国防重点实验室,状态转换,8
44、7,在出口代码执行完毕后,测试所有状态转换线的转换条,件。,有且只有一个条件被满足。,转换到对应状态。,具有条件“,default,”的状态转换当且仅当其他所有转换,条件不满足。,没有设置转换条件的转换线是无条件转换。,电子科技大学抗干扰通信国防重点实验室,进程如何处理中断?,流程图(,除了初始中断外,),执行出口,代码,标记中断点,接收中断,测试转换,条件,非强制状态,?,是,否,状态转换,执行入口代码,找到中断点,88,电子科技大学抗干扰通信国防重点实验室,进程模型举例,3,.,状态转换,6,.,状态转换,2,.,立即执行出口代码,并跳转到,forece2,状,态。,5,.,立即执行出口代
45、码。,8,.,设置中断点,7,.,执行入口代码,89,4,.,执行入口代码,1,.,初始状态,电子科技大学抗干扰通信国防重点实验室,事件表举例,考虑如下模型,网络模型,节点模型:,dest,节点模型:,src,90,电子科技大学抗干扰通信国防重点实验室,BEGSIM,中断,91,BEGSIM,中断在仿真时间,0.0,触发,先于其他所有中断类型。,BEGSIM,通常初始化模块并预约中断。,可以为处理器或队列设置,begsin_intrpt,属性。,电子科技大学抗干扰通信国防重点实验室,事件表举例,gen,和,queue,的,begsim,中断被设置,为事件表增加两,项。,Time,Event,T
46、ype,Module,0.0,BEGSIM,src.gen,0.0,BEGSIM,src.queue,Node,model,92,电子科技大学抗干扰通信国防重点实验室,处理初始中断,考虑如下gen,进程模型,Node,model:,src,93,Process,model:,gen,电子科技大学抗干扰通信国防重点实验室,仿真开始,BEGSIM,中断被递交到,src.gen,对象。,进程从初始状态Init,执行,(,黑色箭头所指,),。,Time,Event,Type,Module,0.0,BEGSIM,src.gen,0.0,BEGSIM,src.queue,94,电子科技大学抗干扰通信国防重
47、点实验室,src.gen,处理初始中断,95,Process,model,Process,model:,gen,电子科技大学抗干扰通信国防重点实验室,src.gen,处理初始中断,96,执行Init,的入口代码。,Init,是强制状态,因此立即执行出口代码。,执行状态转换到Wait,。,电子科技大学抗干扰通信国防重点实验室,Process,model,src.gen,处理初始中断,6.执行Wait,的入口代码。,97,电子科技大学抗干扰通信国防重点实验室,src.gen,处理初始中断,使用KP,预约自中断,(第,8,行),,此举在事件表中增加一项。,在Wait,设置中断点。,阻塞,并释放控制权
48、。,Time,0.0,Event,Type,BEGSIM,Module,src.gen,0.0,BEGSIM,src.queue,4.3,SELF,src.gen,Marker,98,电子科技大学抗干扰通信国防重点实验室,src.queue,处理第二个中断,仿真核心删除第一个事件,使下一个事件处于事件表头。仿真时钟依,然在,0.0,秒。,仿真核心向,src.queue,递交一个,BEGSIM,中断。,src.queue,中的进程获得控制权。执行到非强制状态后,阻塞并归还控,制权。,Time,Event,Type,BEGSIM,Module,src.queue,0.0,4.3,SELF,src.
49、gen,First,event,is,removed,99,电子科技大学抗干扰通信国防重点实验室,src.gen,处理下一个中断,仿真核心删除前一个事件。仿真时钟变为,4.3,秒。,该中断是,src.gen,之前产生的自中断,中断点在,Wait,状态处。,执行,Wait,状态的出口代码。,Time,Event,Type,Module,4.3,SELF,src.gen,100,电子科技大学抗干扰通信国防重点实验室,src.gen,处理下一个中断,16.,测试状态转换条件。,101,电子科技大学抗干扰通信国防重点实验室,src.gen,处理下一个中断,转换到,Send,状态。,执行,Send,状态
50、的入口代码,调用,op_pk_send,(),发送报,文。此举在事件表中增加一项类型为STRM,的事件。,Time,Event,Type,Module,4.3,SELF,src.gen,4.3,STRM,src.queue,102,电子科技大学抗干扰通信国防重点实验室,src.gen,处理下一个中断,103,注意,Send,是强制状态,立即执行其出口代码。,状态转换到,Wait,。,Wait,状态的入口代码设置自中断,阻塞。,仿真核心处理下一个事件。,电子科技大学抗干扰通信国防重点实验室,仿真结束,104,仿真结束的条件,事件表置空,仿真时间,某进程调用核心函数,op_sim_end(),出现