电子科技opnet培训03的仿真架构_第1页
电子科技opnet培训03的仿真架构_第2页
电子科技opnet培训03的仿真架构_第3页
电子科技opnet培训03的仿真架构_第4页
电子科技opnet培训03的仿真架构_第5页
已阅读5页,还剩141页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、OPNET的仿真架构唐伟电子科技大学通信抗干扰技术国家级重点实验室四川省成都市高新西区西源大道2006号,611731电话: 邮箱: 主页: 17 七月 20212022/7/18欢迎散播,但必须保留原作者信息。唐伟 1内容提要OSI协议模型OPNET进程域建模OPNET节点域建模OPNET网络域建模OPNET通信机制OPNET仿真数据收集2022/7/18欢迎散播,但必须保留原作者信息。唐伟 2一、OSI协议体系模型为了方便用户实现通信网络的仿真,OPNET在仿真内核的基础上,又基于OSI协议体系模型扩展出了一套三层建模工具进程、节点、子网。因而,对OSI协议体系模型的透彻理解,是掌握OPN

2、ET通信网络建模技术的基础之一。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 3一、OSI协议体系模型OSI协议体系模型概述OPNET的建模架构2022/7/18欢迎散播,但必须保留原作者信息。唐伟 41、OSI协议体系模型概述OSI(Open System Interconnection)该参考模型的设计目的是成为一个所有销售商都能实现的开放网路模型。采用的方法是将整个庞大而复杂的问题划分为若干个容易处理的小问题,这就是分层的体系结构办法。只定义了功能。会话层传输层网络层数据链路层物理层表示层应用层2022/7/18欢迎散播,但必须保留原作者信息。唐伟 51、OSI协议体系模型概述

3、网络中各节点都有相同的协议层。每个协议层中可以包含多个协议实体。同一节点中相邻的协议实体间通过服务访问点进行通信。每一协议层的协议实体可以使用下层实体提供的服务,并向上层的实体提供服务。除物理层外,不同节点的相同级别协议层实体间进行虚拟的对等通信。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 6节点2节点11、OSI协议体系模型概述会话层传输层网络层数据链路层物理层表示层应用层会话层传输层网络层数据链路层物理层表示层应用层物理介质2022/7/18欢迎散播,但必须保留原作者信息。唐伟 71、OSI协议体系模型概述同一节点中相邻的协议层间通过服务访问点进行通信。N+1层实体1N层实体2

4、服务访问点具体的协议实现具体的协议实现N层实体1N+1层实体22022/7/18欢迎散播,但必须保留原作者信息。唐伟 81、OSI协议体系模型概述服务访问点提供四种服务原语:请求、应答、指示、确认。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 91、OSI协议体系模型概述数据单元进行逐层封装。N+1层实体N层实体协议数据单元PDUN+1服务数据单元SDUNPDUN+1SDUN协议数据单元PDUNPDUNSDUNHeaderN2022/7/18欢迎散播,但必须保留原作者信息。唐伟 102、OPNET的建模架构OPNET的建模架构建立在OSI协议体系模型的基础上,主要包括三个建模域。进程

5、域模型节点域模型网络域模型仿真内核2022/7/18欢迎散播,但必须保留原作者信息。唐伟 112、OPNET的建模架构协议层次的实体由进程模型(Process model)、收发信机(Transmitter, Receiver)和天线(Antenna)进行建模。节点中协议层次架构(协议实体的选取及其间互连状态)由节点模型(Node model)进行建模。节点内部协议层次之间的信息通道由报文流(Stream line)和统计线(Statistic line)进行建模。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 122、OPNET的建模架构节点中收发信机之间的逻辑关联由逻辑关联(Log

6、ical association)进行建模。网络中节点的布署由子网模型(Subnet model)进行建模。子网内部节点间的信息通道由链路模型(Link model)进行建模。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 13内容提要OSI协议模型OPNET进程域建模OPNET节点域建模OPNET网络域建模OPNET通信机制OPNET仿真数据收集2022/7/18欢迎散播,但必须保留原作者信息。唐伟 14二、OPNET进程域建模进程域建模:将OSI协议体系模型中的协议实体映射为OPNET中的模型。process modelqueue modelpacket formatICI for

7、matantenna patternmodulation curvepipeline stage协议实体模型实体间通信信息格式模型物理层模型辅助模型PDF modelExternal files2022/7/18欢迎散播,但必须保留原作者信息。唐伟 15二、OPNET进程域建模OSI协议层实体的建模通信信息格式的建模物理层模型辅助模型2022/7/18欢迎散播,但必须保留原作者信息。唐伟 161、OSI协议层实体的建模每个协议层的实体由进程(Process)模型来实现。传输层实体传输层实体传输层实体TCP进程模型UCP进程模型网络层实体网络层实体网络层实体数据链路层实体数据链路层实体数据链路层

8、实体IPv4进程模型IPv6进程模型802.11进程模型802.3进程模型传输层实体传输层实体应用层实体HTTP进程模型FTP进程模型2022/7/18欢迎散播,但必须保留原作者信息。唐伟 17进程模型编辑器进程模型名称2022/7/18欢迎散播,但必须保留原作者信息。唐伟 18进程模型编辑器创建状态2022/7/18欢迎散播,但必须保留原作者信息。唐伟 19进程模型编辑器创建状态转换线2022/7/18欢迎散播,但必须保留原作者信息。唐伟 20进程模型编辑器指定初始状态2022/7/18欢迎散播,但必须保留原作者信息。唐伟 21进程模型编辑器定义状态变量2022/7/18欢迎散播,但必须保留

9、原作者信息。唐伟 22进程模型编辑器定义临时变量2022/7/18欢迎散播,但必须保留原作者信息。唐伟 23进程模型编辑器头部代码块2022/7/18欢迎散播,但必须保留原作者信息。唐伟 24进程模型编辑器函数定义块2022/7/18欢迎散播,但必须保留原作者信息。唐伟 25进程模型编辑器诊断代码块2022/7/18欢迎散播,但必须保留原作者信息。唐伟 26进程模型编辑器善后代码块2022/7/18欢迎散播,但必须保留原作者信息。唐伟 27进程模型编辑器编译进程2022/7/18欢迎散播,但必须保留原作者信息。唐伟 28进程模型编辑器初始状态标志2022/7/18欢迎散播,但必须保留原作者信息

10、。唐伟 29进程模型编辑器状态2022/7/18欢迎散播,但必须保留原作者信息。唐伟 30进程模型编辑器入/出状态代码行数2022/7/18欢迎散播,但必须保留原作者信息。唐伟 31进程模型编辑器状态转换线2022/7/18欢迎散播,但必须保留原作者信息。唐伟 32进程模型编辑器状态转换条件2022/7/18欢迎散播,但必须保留原作者信息。唐伟 33进程模型的等效状态机2022/7/18欢迎散播,但必须保留原作者信息。唐伟 34进程模型的代码结构HBSVSV辅助FB事件处理函数诊断处理函数善后处理函数初始化函数分配函数属性赋值函数2022/7/18欢迎散播,但必须保留原作者信息。唐伟 35进程

11、模型的代码结构HBSVSV辅助FBHB中的全部内容。事件处理函数诊断处理函数善后处理函数初始化函数分配函数属性赋值函数2022/7/18欢迎散播,但必须保留原作者信息。唐伟 36进程模型的代码结构HBSV定义状态变量数据结构:typedef struct /* Internal state tracking for FSM */ FSM_SYS_STATE /* _op_current_state; */ /* State Variables */ SV中定义的变量。 simple_source_state;SV辅助FB事件处理函数诊断处理函数善后处理函数初始化函数分配函数属性赋值函数2022

12、/7/18欢迎散播,但必须保留原作者信息。唐伟 37进程模型的代码结构HBSVSV辅助将op_sv_ptr变量作为本模型的状态变量指针。FB事件处理函数诊断处理函数善后处理函数初始化函数分配函数属性赋值函数2022/7/18欢迎散播,但必须保留原作者信息。唐伟 38进程模型的代码结构HBSVSV辅助FBFB中的全部内容。事件处理函数诊断处理函数善后处理函数初始化函数分配函数属性赋值函数2022/7/18欢迎散播,但必须保留原作者信息。唐伟 39进程模型的代码结构HBSVSV辅助FB事件处理函数simple_source() /* Temporary Variables */ TV中的全部内容。

13、 switch (op_sv_ptr-_op_current_state) 诊断处理函数善后处理函数初始化函数分配函数属性赋值函数2022/7/18欢迎散播,但必须保留原作者信息。唐伟 40进程模型的代码结构HBSVSV辅助FB事件处理函数诊断处理函数善后处理函数_op_simple_source_diag()包含DB中的全部内容。初始化函数分配函数属性赋值函数2022/7/18欢迎散播,但必须保留原作者信息。唐伟 41进程模型的代码结构HBSVSV辅助FB事件处理函数诊断处理函数善后处理函数_op_simple_source_terminate()包含TB中的全部内容。初始化函数分配函数属性

14、赋值函数2022/7/18欢迎散播,但必须保留原作者信息。唐伟 42进程模型的代码结构HBSVSV辅助FB事件处理函数诊断处理函数善后处理函数初始化函数_op_simple_source_init()获得状态机初始状态的值,一般为0。分配函数属性赋值函数2022/7/18欢迎散播,但必须保留原作者信息。唐伟 43进程模型的代码结构HBSVSV辅助FB事件处理函数诊断处理函数善后处理函数初始化函数_op_simple_source_alloc()分配状态变量存储空间,并设置初始状态的值,一般为0。分配函数属性赋值函数2022/7/18欢迎散播,但必须保留原作者信息。唐伟 44进程模型的代码结构H

15、BSVSV辅助FB事件处理函数诊断处理函数善后处理函数初始化函数_op_simple_source_svar()通过状态变量的名称获得对应的值。分配函数属性赋值函数2022/7/18欢迎散播,但必须保留原作者信息。唐伟 45事件处理函数状态编号0:init状态的编号1:generate状态的编号2:stop状态的编号2022/7/18欢迎散播,但必须保留原作者信息。唐伟 46事件处理函数出、入状态代码块的编号0:init的入状态编号(0*2)1:init的出状态编号(0*2+1)2:generate的入状态编号(1*2)3:generate的出状态编号(1*2+1)4:stop的入状态编号(2

16、*2)5:stop的入状态编号(2*2+1)2022/7/18欢迎散播,但必须保留原作者信息。唐伟 47事件处理函数voidsimple_source (OP_SIM_CONTEXT_ARG_OPT) FIN_MT (simple_source (); /* 临时变量的定义 */ FSM_ENTER (simple_source) FSM_BLOCK_SWITCH FSM_STATE_ENTER_UNFORCED_NOLABEL (0, init, simple_source init enter execs) /* init的入状态代码 */ FSM_EXIT (1,simple_sourc

17、e)2022/7/18欢迎散播,但必须保留原作者信息。唐伟 48事件处理函数voidsimple_source (OP_SIM_CONTEXT_ARG_OPT) FIN_MT (simple_source (); /* 临时变量的定义 */ FSM_ENTER (simple_source) FSM_BLOCK_SWITCH FSM_STATE_ENTER_UNFORCED_NOLABEL (0, init, simple_source init enter execs) /* init的入状态代码 */ FSM_EXIT (1,simple_source)/* 定义转换条件的编号 */int

18、 _op_true_cond_index;2022/7/18欢迎散播,但必须保留原作者信息。唐伟 49事件处理函数voidsimple_source (OP_SIM_CONTEXT_ARG_OPT) FIN_MT (simple_source (); /* 临时变量的定义 */ FSM_ENTER (simple_source) FSM_BLOCK_SWITCH FSM_STATE_ENTER_UNFORCED_NOLABEL (0, init, simple_source init enter execs) /* init的入状态代码 */ FSM_EXIT (1,simple_source

19、)/* 根据当前状态 */switch(_op_sv_ptr-_op_current_block)2022/7/18欢迎散播,但必须保留原作者信息。唐伟 50事件处理函数/* init的入状态编号 */ case 0*2:voidsimple_source (OP_SIM_CONTEXT_ARG_OPT) FIN_MT (simple_source (); /* 临时变量的定义 */ FSM_ENTER (simple_source) FSM_BLOCK_SWITCH FSM_STATE_ENTER_UNFORCED_NOLABEL (0, init, simple_source init e

20、nter execs) /* init的入状态代码 */ FSM_EXIT (1,simple_source)2022/7/18欢迎散播,但必须保留原作者信息。唐伟 51voidsimple_source (OP_SIM_CONTEXT_ARG_OPT) FIN_MT (simple_source (); /* 临时变量的定义 */ FSM_ENTER (simple_source) FSM_BLOCK_SWITCH FSM_STATE_ENTER_UNFORCED_NOLABEL (0, init, simple_source init enter execs) /* init的入状态代码

21、*/ FSM_EXIT (1,simple_source)事件处理函数/* 下次将进入状态1(init的出状态编号) */op_sv_ptr-_op_current_block = 1;return;2022/7/18欢迎散播,但必须保留原作者信息。唐伟 52事件处理函数 FSM_STATE_EXIT_UNFORCED (0, init, simple_source init exit execs) /* init的出状态代码 */ FSM_INIT_COND (START) FSM_TEST_COND (DISABLED) FSM_TEST_LOGIC (init) FSM_TRANSIT_

22、SWITCH FSM_CASE_TRANSIT (0, 1, state1_enter_exec, ss_packet_generate();, ) FSM_CASE_TRANSIT (1, 2, state2_enter_exec, ;, ) /* init的出状态编号 */ case 0*2+1:2022/7/18欢迎散播,但必须保留原作者信息。唐伟 53事件处理函数 FSM_STATE_EXIT_UNFORCED (0, init, simple_source init exit execs) /* init的出状态代码 */ FSM_INIT_COND (START) FSM_TEST

23、_COND (DISABLED) FSM_TEST_LOGIC (init) FSM_TRANSIT_SWITCH FSM_CASE_TRANSIT (0, 1, state1_enter_exec, ss_packet_generate();, ) FSM_CASE_TRANSIT (1, 2, state2_enter_exec, ;, ) /* 转换条件的编号 */_op_true_cond_index = -1;if (START) _op_true_cond_index = 0; 2022/7/18欢迎散播,但必须保留原作者信息。唐伟 54事件处理函数 FSM_STATE_EXIT_

24、UNFORCED (0, init, simple_source init exit execs) /* init的出状态代码 */ FSM_INIT_COND (START) FSM_TEST_COND (DISABLED) FSM_TEST_LOGIC (init) FSM_TRANSIT_SWITCH FSM_CASE_TRANSIT (0, 1, state1_enter_exec, ss_packet_generate();, ) FSM_CASE_TRANSIT (1, 2, state2_enter_exec, ;, ) if (DISABLED) _op_true_cond_i

25、ndex+; 2022/7/18欢迎散播,但必须保留原作者信息。唐伟 55事件处理函数 FSM_STATE_EXIT_UNFORCED (0, init, simple_source init exit execs) /* init的出状态代码 */ FSM_INIT_COND (START) FSM_TEST_COND (DISABLED) FSM_TEST_LOGIC (init) FSM_TRANSIT_SWITCH FSM_CASE_TRANSIT (0, 1, state1_enter_exec, ss_packet_generate();, ) FSM_CASE_TRANSIT (

26、1, 2, state2_enter_exec, ;, ) if (_op_true_cond_index = -1) /* 报错,因为必须有且仅有一个 状态转换条件被满足。 */ 2022/7/18欢迎散播,但必须保留原作者信息。唐伟 56事件处理函数 FSM_STATE_EXIT_UNFORCED (0, init, simple_source init exit execs) /* init的出状态代码 */ FSM_INIT_COND (START) FSM_TEST_COND (DISABLED) FSM_TEST_LOGIC (init) FSM_TRANSIT_SWITCH FS

27、M_CASE_TRANSIT (0, 1, state1_enter_exec, ss_packet_generate();, ) FSM_CASE_TRANSIT (1, 2, state2_enter_exec, ;, ) switch (_op_true_cond_index)2022/7/18欢迎散播,但必须保留原作者信息。唐伟 57事件处理函数 FSM_STATE_EXIT_UNFORCED (0, init, simple_source init exit execs) /* init的出状态代码 */ FSM_INIT_COND (START) FSM_TEST_COND (DI

28、SABLED) FSM_TEST_LOGIC (init) FSM_TRANSIT_SWITCH FSM_CASE_TRANSIT (0, 1, state1_enter_exec, ss_packet_generate();, ) FSM_CASE_TRANSIT (1, 2, state2_enter_exec, ;, ) 转换条件的编号(即_op_true_cond_index的值)2022/7/18欢迎散播,但必须保留原作者信息。唐伟 58事件处理函数 FSM_STATE_EXIT_UNFORCED (0, init, simple_source init exit execs) /*

29、 init的出状态代码 */ FSM_INIT_COND (START) FSM_TEST_COND (DISABLED) FSM_TEST_LOGIC (init) FSM_TRANSIT_SWITCH FSM_CASE_TRANSIT (0, 1, state1_enter_exec, ss_packet_generate();, ) FSM_CASE_TRANSIT (1, 2, state2_enter_exec, ;, ) 目标入状态编号2022/7/18欢迎散播,但必须保留原作者信息。唐伟 59事件处理函数 FSM_STATE_EXIT_UNFORCED (0, init, sim

30、ple_source init exit execs) /* init的出状态代码 */ FSM_INIT_COND (START) FSM_TEST_COND (DISABLED) FSM_TEST_LOGIC (init) FSM_TRANSIT_SWITCH FSM_CASE_TRANSIT (0, 1, state1_enter_exec, ss_packet_generate();, ) FSM_CASE_TRANSIT (1, 2, state2_enter_exec, ;, ) 目标状态的标签2022/7/18欢迎散播,但必须保留原作者信息。唐伟 60事件处理函数 FSM_STA

31、TE_EXIT_UNFORCED (0, init, simple_source init exit execs) /* init的出状态代码 */ FSM_INIT_COND (START) FSM_TEST_COND (DISABLED) FSM_TEST_LOGIC (init) FSM_TRANSIT_SWITCH FSM_CASE_TRANSIT (0, 1, state1_enter_exec, ss_packet_generate();, ) FSM_CASE_TRANSIT (1, 2, state2_enter_exec, ;, ) case 0: /* 执行状态转换代码 *

32、/ ss_packet_generate(); /* 设置新状态编号:generate的入状态编号 */ op_sv_ptr-_op_current_block = 2*1; /* 状态转换,跳转到新状态的入状态代码 */ goto _op_label_state1_enter_exec; 2022/7/18欢迎散播,但必须保留原作者信息。唐伟 61事件处理函数 FSM_STATE_EXIT_UNFORCED (0, init, simple_source init exit execs) /* init的出状态代码 */ FSM_INIT_COND (START) FSM_TEST_COND

33、 (DISABLED) FSM_TEST_LOGIC (init) FSM_TRANSIT_SWITCH FSM_CASE_TRANSIT (0, 1, state1_enter_exec, ss_packet_generate();, ) FSM_CASE_TRANSIT (1, 2, state2_enter_exec, ;, ) case 1: /* 执行状态转换代码 */ ; /* 设置新状态编号:stop的入状态编号 */ op_sv_ptr-_op_current_block = 2*2; /* 状态转换,跳转到新状态的入状态代码 */ goto _op_label_state2_

34、enter_exec; 2022/7/18欢迎散播,但必须保留原作者信息。唐伟 62事件处理函数 FSM_STATE_ENTER_UNFORCED (1, generate, state1_enter_exec, simple_source generate enter execs) /* generate入状态代码 */ FSM_EXIT (3,simple_source) FSM_STATE_EXIT_UNFORCED (1, generate, simple_source generate exit execs) /* generate出状态代码 */ FSM_INIT_COND (ST

35、OP) FSM_TEST_COND (PACKET_GENERATE) FSM_TEST_LOGIC (generate)generate状态的编号2022/7/18欢迎散播,但必须保留原作者信息。唐伟 63事件处理函数 FSM_STATE_ENTER_UNFORCED (1, generate, state1_enter_exec, simple_source generate enter execs) /* generate入状态代码 */ FSM_EXIT (3,simple_source) FSM_STATE_EXIT_UNFORCED (1, generate, simple_sou

36、rce generate exit execs) /* generate出状态代码 */ FSM_INIT_COND (STOP) FSM_TEST_COND (PACKET_GENERATE) FSM_TEST_LOGIC (generate)generate状态的标签2022/7/18欢迎散播,但必须保留原作者信息。唐伟 64事件处理函数 FSM_STATE_ENTER_UNFORCED (1, generate, state1_enter_exec, simple_source generate enter execs) /* generate入状态代码 */ FSM_EXIT (3,s

37、imple_source) FSM_STATE_EXIT_UNFORCED (1, generate, simple_source generate exit execs) /* generate出状态代码 */ FSM_INIT_COND (STOP) FSM_TEST_COND (PACKET_GENERATE) FSM_TEST_LOGIC (generate)/* generate的入状态编号 */case 2*1:/* 标签(供goto语句使用) */_op_label_state1_enter_exec:2022/7/18欢迎散播,但必须保留原作者信息。唐伟 65事件处理函数 FS

38、M_STATE_ENTER_UNFORCED (1, generate, state1_enter_exec, simple_source generate enter execs) /* generate入状态代码 */ FSM_EXIT (3,simple_source) FSM_STATE_EXIT_UNFORCED (1, generate, simple_source generate exit execs) /* generate出状态代码 */ FSM_INIT_COND (STOP) FSM_TEST_COND (PACKET_GENERATE) FSM_TEST_LOGIC

39、(generate)/* 下次将进入状态3(generate的出状态编号) */op_sv_ptr-_op_current_block = 3;return;2022/7/18欢迎散播,但必须保留原作者信息。唐伟 66事件处理函数 FSM_STATE_ENTER_UNFORCED (1, generate, state1_enter_exec, simple_source generate enter execs) /* generate入状态代码 */ FSM_EXIT (3,simple_source) FSM_STATE_EXIT_UNFORCED (1, generate, simpl

40、e_source generate exit execs) /* generate出状态代码 */ FSM_INIT_COND (STOP) FSM_TEST_COND (PACKET_GENERATE) FSM_TEST_LOGIC (generate)/* generate的出状态编号 */case 2*1+1:2022/7/18欢迎散播,但必须保留原作者信息。唐伟 67事件处理函数 FSM_TRANSIT_SWITCH FSM_CASE_TRANSIT (0, 2, state2_enter_exec, ;, ) FSM_CASE_TRANSIT (1, 1, state1_enter_

41、exec, ss_packet_generate();, ) FSM_STATE_ENTER_UNFORCED (2, stop, state2_enter_exec, simple_source stop enter execs) /* stop的出状态代码 */ FSM_EXIT (5,simple_source)2022/7/18欢迎散播,但必须保留原作者信息。唐伟 68事件处理函数 FSM_STATE_EXIT_UNFORCED (2, stop, simple_source stop exit execs) FSM_TRANSIT_MISSING (stop) /* FSM_BLOC

42、K_SWITCH */ FSM_EXIT (0,simple_source) /* simple_source (OP_SIM_CONTEXT_ARG_OPT) */* stop的出状态编号 */case 2*2+1:2022/7/18欢迎散播,但必须保留原作者信息。唐伟 69事件处理函数 FSM_STATE_EXIT_UNFORCED (2, stop, simple_source stop exit execs) FSM_TRANSIT_MISSING (stop) /* FSM_BLOCK_SWITCH */ FSM_EXIT (0,simple_source) /* simple_so

43、urce (OP_SIM_CONTEXT_ARG_OPT) */* 报错,stop状态没有转换线, 不能够运行到此处 */2022/7/18欢迎散播,但必须保留原作者信息。唐伟 70default状态转换条件当指定的状态转换条件都不满足时,沿default状态转换线进行状态转换。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 71进程对象的创建与执行过程事件处理函数诊断处理函数善后处理函数初始化函数分配函数属性赋值函数1:获得状态机初始状态的值,例如在simple_source中为init的入状态编号0。12022/7/18欢迎散播,但必须保留原作者信息。唐伟 72进程对象的创建与执行

44、过程事件处理函数诊断处理函数善后处理函数初始化函数分配函数属性赋值函数1:获得状态机初始状态的值,例如在simple_source中为init的入状态编号0。22:为状态变量分配内存空间,设置初始状态的值。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 73进程对象的创建与执行过程事件处理函数诊断处理函数善后处理函数初始化函数分配函数属性赋值函数1:获得状态机初始状态的值,例如在simple_source中为init的入状态编号0。2:为状态变量分配内存空间,设置初始状态的值。33:当事件出现时,调用事件处理函数。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 74进程对象的创

45、建与执行过程事件处理函数诊断处理函数善后处理函数初始化函数分配函数属性赋值函数1:获得状态机初始状态的值,例如在simple_source中为init的入状态编号0。2:为状态变量分配内存空间,设置初始状态的值。33:当事件出现时,调用事件处理函数(反复进入)。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 75进程对象的创建与执行过程事件处理函数诊断处理函数善后处理函数初始化函数分配函数属性赋值函数1:获得状态机初始状态的值,例如在simple_source中为init的入状态编号0。2:为状态变量分配内存空间,设置初始状态的值。44:ODB调试过程中,用户可以调用诊断处理函数,也就

46、是DB中的代码。3:当事件出现时,调用事件处理函数(反复进入)。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 76进程对象的创建与执行过程事件处理函数诊断处理函数善后处理函数初始化函数分配函数属性赋值函数1:获得状态机初始状态的值,例如在simple_source中为init的入状态编号0。2:为状态变量分配内存空间,设置初始状态的值。54:ODB调试过程中,用户可以调用诊断处理函数,也就是DB中的代码。3:当事件出现时,调用事件处理函数(反复进入)。5:OPNET利用该函数获得该进程对象的属性值。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 77进程对象的创建与执行过程事

47、件处理函数诊断处理函数善后处理函数初始化函数分配函数属性赋值函数1:获得状态机初始状态的值,例如在simple_source中为init的入状态编号0。2:为状态变量分配内存空间,设置初始状态的值。64:ODB调试过程中,用户可以调用诊断处理函数,也就是DB中的代码。3:当事件出现时,调用事件处理函数(反复进入)。6:动态进程(子进程)对象被销毁前,调用善后处理函数,即TB中的代码。5:OPNET利用该函数获得该进程对象的属性值。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 78进程属性对话框在进程属性对话框中可以设置本进程的用户自定义属性。2022/7/18欢迎散播,但必须保留原作

48、者信息。唐伟 79进程属性对话框1) 简单属性2) 复合(compound)属性2022/7/18欢迎散播,但必须保留原作者信息。唐伟 80进程接口对话框在进程接口对话框中,可以设置一些进程的属性。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 81进程接口对话框1) begsim intrpt:在仿真开始之前,仿真内核将为该进程预约一个类型为OPC_INTRPT_BEGSIM的中断。2) endsim intrpt:在仿真结束之前,仿真内核将为该进程预约一个类型为OPC_INTRPT_ENDSIM的中断。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 82服务访问点的建模协议

49、层间服务访问点由进程模型实现,一般采用用管理(manager)进程实现。传输层SAP传输层管理进程模型网络层SAP网络层管理进程模型数据链路层SAP数据链路层管理进程应用层SAP应用层管理进程模型2022/7/18欢迎散播,但必须保留原作者信息。唐伟 83服务访问点的建模子进程对象是在仿真过程中动态创建和销毁的进程对象。每一个子进程对象对应于一个协议实体(状态变量及其状态机)。管理进程动态创建和销毁子进程对象。管理进程根据数据单元的类别,将数据单元分发给相应的子进程。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 84服务访问点的建模服务访问点的实现举例。网络层管理进程对象传输层管理进

50、程对象TCP进程对象UDP进程对象IPv4进程对象IPv6进程对象1、TCP进程对象将PDU和ICI(包括IP版本、端口号、目的IP地址、端口号等控制信息)传递给网络层管理进程对象(服务访问点)进行处理。PDUICI2、网络层管理进程对象根据ICI中的控制信息,将SDU转交给适合的(可能是动态创建的)子进程(Child process)对象进行处理。SDUICI1:2:2022/7/18欢迎散播,但必须保留原作者信息。唐伟 85服务访问点的建模服务访问点的实现举例。网络层管理进程对象传输层管理进程对象TCP进程对象UDP进程对象IPv4进程对象IPv6进程对象1、IPv4进程对象将SDU和IC

51、I传递给传输层管理进程对象(服务访问点)进行处理。SDUICI2、传输层管理进程对象根据ICI及PDU的头部信息(如传输协议类型、端口号等),将PDU转交给适合的(可能是动态创建的)子进程对象进行处理。PDUICI1:2:2022/7/18欢迎散播,但必须保留原作者信息。唐伟 862、通信信息格式的建模通信信息格式主要包括:1) 报文格式2) ICI格式2022/7/18欢迎散播,但必须保留原作者信息。唐伟 871) 报文格式报文格式对OSI协议体系模型中的数据单元进行建模。报文由域(field)组成。报文的域主要包括如下设置:名称。类型:整型、浮点型、报文型、指针型等。大小:域所占的b数(可

52、以为0)。创建时设置:报文创建时是否用默认值填充。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 88报文格式编辑器创建报文域2022/7/18欢迎散播,但必须保留原作者信息。唐伟 89报文格式编辑器报文域的名称2022/7/18欢迎散播,但必须保留原作者信息。唐伟 90报文格式编辑器报文域的类型(此处为整型)2022/7/18欢迎散播,但必须保留原作者信息。唐伟 91报文格式编辑器报文域的大小2022/7/18欢迎散播,但必须保留原作者信息。唐伟 92报文格式编辑器报文域的默认值2022/7/18欢迎散播,但必须保留原作者信息。唐伟 93报文格式编辑器报文在创建时,该域是否用默认值填

53、充(此处为是)。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 94报文格式编辑器报文域的背景色2022/7/18欢迎散播,但必须保留原作者信息。唐伟 95报文格式编辑器报文的备注2022/7/18欢迎散播,但必须保留原作者信息。唐伟 96报文格式编辑器报文型2022/7/18欢迎散播,但必须保留原作者信息。唐伟 97报文格式编辑器该域的大小由所填充的报文大小决定。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 98报文格式编辑器报文在创建时,该域保持未填充状态。(不能够获向未填充状态的域取值)2022/7/18欢迎散播,但必须保留原作者信息。唐伟 99报文格式编辑器指针型20

54、22/7/18欢迎散播,但必须保留原作者信息。唐伟 100报文格式编辑器默认大小为0b2022/7/18欢迎散播,但必须保留原作者信息。唐伟 101报文格式编辑器报文在创建时,该域保持未填充状态。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 1021) 报文格式报文的总大小 格式中所有域的大小 程序中设置的bulk大小(程序中也可以直接指定报文的总大小)2022/7/18欢迎散播,但必须保留原作者信息。唐伟 1031) 报文格式报文的总大小 格式中所有域的大小 程序中设置的bulk大小报文的传输时延由报文的总大小决定:(程序中也可以直接指定报文的总大小)2022/7/18欢迎散播,但

55、必须保留原作者信息。唐伟 104802.11-2007帧格式定义Type和SubType没有包含Address4的大小。仿真附加的信息,不占报文空间(对传输时延无影响)。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 1052) ICI格式ICI格式对OSI协议体系模型中除数据单元以外的交互信息进行建模。ICI由属性(attribute)组成。ICI的属性包括如下设置:名称。类型:整型、浮点型以及指针型。默认值。描述。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 106ICI格式编辑器ICI属性名称2022/7/18欢迎散播,但必须保留原作者信息。唐伟 107ICI格式编辑器

56、ICI属性类型2022/7/18欢迎散播,但必须保留原作者信息。唐伟 108ICI格式编辑器ICI属性默认值2022/7/18欢迎散播,但必须保留原作者信息。唐伟 109ICI格式编辑器ICI属性的描述2022/7/18欢迎散播,但必须保留原作者信息。唐伟 110802.11-2007服务原语LLCMAC mgrMAC1MAC2MAC3源MAC地址(请求MAC mgr使用具有该地址的MAC实体进行帧传输)。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 111802.11-2007服务原语LLCMAC mgrMAC1MAC2MAC3目的MAC地址2022/7/18欢迎散播,但必须保留原

57、作者信息。唐伟 112802.11-2007服务原语LLCMAC mgrMAC1MAC2MAC3必须为空2022/7/18欢迎散播,但必须保留原作者信息。唐伟 113802.11-2007服务原语LLCMAC mgrMAC1MAC2MAC3服务数据单元2022/7/18欢迎散播,但必须保留原作者信息。唐伟 114802.11-2007服务原语LLCMAC mgrMAC1MAC2MAC3优先级2022/7/18欢迎散播,但必须保留原作者信息。唐伟 115802.11-2007服务原语LLCMAC mgrMAC1MAC2MAC3服务等级2022/7/18欢迎散播,但必须保留原作者信息。唐伟 116

58、802.11-2007服务原语LLCMAC2022/7/18欢迎散播,但必须保留原作者信息。唐伟 1173、物理层模型物理层由收信机(Receiver)和发信机(Transmitter)模型实现。点对点(PPP)链路收发信机模型总线(bus)链路收发信机模型无线(wireless)链路收发信机模型天线(antenna)模型OPNET的物理层进程模型不能被用户更改,用户只能修改物理管道阶段、调制曲线和天线模式。2022/7/18欢迎散播,但必须保留原作者信息。唐伟 1181) 管道阶段点到点管道阶段立刻立刻立刻立刻 Modeler Reference Modeling Concepts Comm

59、unication Mechanisms Communication Link Models Point-to-Point Transceiver Pipeline发信机收信机经过传输与传播时延2022/7/18欢迎散播,但必须保留原作者信息。唐伟 1191) 管道阶段总线管道阶段立刻立刻立刻在传输时延内,各收信机信道在收到第1个报文之后,每收到1个报文,就调用1次。立刻立刻立刻 Modeler Reference Modeling Concepts Communication Mechanisms Communication Link Models Bus Transceiver Pipel

60、ine发信机收信机经过传播时延后,报文被复制给各信道通过才继续流程2022/7/18欢迎散播,但必须保留原作者信息。唐伟 1201) 管道阶段无线管道阶段仿真最开始时,只执行一次立刻立刻立刻立刻立刻立刻 Modules Wireless Radio Transceiver Pipeline发信机收信机经过传播时延后,报文被复制给各信道Valid:继续流程Noise:继续流程Ignore:中止流程2022/7/18欢迎散播,但必须保留原作者信息。唐伟 1211) 管道阶段无线管道阶段立刻立刻(对每个Valid报文)立刻(对每个Valid报文)立刻在传输时延内,当收信机信道在收到第1个报文后,每收

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论