【OPNET学习系列文章之1】进程模型解析
来源:互联网 发布:淘宝物流模板怎么设置 编辑:程序博客网 时间:2024/06/06 05:36
作为三层建模机制的最底层,进程模型是实施各种算法的载体,是建模仿真过程中最终要的部分也是最难实现的部分。进程模型主要用来刻画节点模型里的处理机和队列模型的行为。
OPNET把进程模型中的有限状态机的状态转移图、标准的C/C++语言以及OPNET提供的核心函数统一在一起,成为PROTO-C语言。
对于事件驱动的仿真来说,OPNET的进程模型是产生事件并处理事件的主题。仿真的控制权不断地在进程和仿真核心之间进行转换,当事件到达后,仿真核心确定事件交给哪一个进程进行处理,仿真控制权随后就交给该进程,进程进入活动状态,根据事件进行相应的处理后,将控制权交给仿真核心,进程进入阻塞状态。
进程主要由状态和转移线构成。
随着仿真的进行,进程在状态之间不断转移,状态分为两类,强迫状态和非强迫状态。强迫状态是不允许停留的状态,当进程进入强迫状态后,仿真核心将强迫进程立刻转移到下一状态,当进程进入非强迫状态后,将停留在此状态,等待事件、其他进程或仿真核心的触发。在每个进程模型中至少有一个初始状态,是进程被访问的第一个状态,既可以是强迫状态,又可以是非强迫状态。非强迫状态被认为是系统的真正状态因为当系统进入非强迫状态的进入代码后,进程就处于阻塞状态,等待新的触发。而强迫状态是为了实际编程和状态控制的需要而提出的一种状态,进程不会停留在该状态。
每个状态都有都有相应的动作与其对应,在Proco-C中这些动作被称为执行代码。状态的执行代码分为两部分,上面部分称为进入代码,下面部分称为离开代码。
转移则描述了进程模型从一个状态向另一个状态转移的过程和条件,包含四个部分,源状态,目的状态,转移条件,转移执行代码。其含义为在源状态时,进程只要完成源状态的离开代码,就立即对转移条件进行判断,当转移条件成立,则执行转移代码,之后转移到目标状态。转移分为条件转移和非条件转移,分别用实线和虚线表示。
- 【OPNET学习系列文章之1】进程模型解析
- 【OPNET学习系列文章之0】入门
- 【OPNET学习系列文章之3】两发一收
- opnet之sink进程模型
- 【OPNET学习系列文章之2】两个固定节点通信
- 【OPNET学习系列文章之4】属性和统计量
- 【OPNET学习系列文章之5】建立端口表
- 【OPNET学习系列文章之6】建立路由表
- 【OPNET学习系列文章之7】将STK轨道导入到OPNET
- opnet之simple source进程模型
- opnet学习进程模型笔记(我自己的工程0319)
- opnet之进程接口
- opnet 学习之 process
- opnet学习之方法论
- opnet调试之进程调试
- OPNET学习小结(1)
- opnet之ethcoax_net模型(一)
- opnet 学习
- pat 最大子列和问题
- 快速排序算法
- HTML嵌入到iOS页面的开发
- codeforces 776C Molly's Chemicals(前缀和 二分搜索)
- IOS NSCopying
- 【OPNET学习系列文章之1】进程模型解析
- Zstack协议栈OSAL中添加任务事件消息、发送数据详细过程
- 给事件处理函数添加 return false的作用是什么?
- 用户运营:如何引导和培养一种最好的用户习惯?
- 68-会话(创建会话)
- java日志系统
- CountDownTimer使用
- C#静态与非静态比较
- mptcp包结构