1 分布类核心函数
2 事件类核心函数
功能:为进程模型提供有关事件的信息。
以下三个函数可以访问事件列表中的事件。
自中断:模拟进程的各种延时(将来某个时刻)的处理。自中断、遥远中断和多播中断源于调度他们的进程模块。
ICI:接口控制信息,是进程块间传递信息的载体。
分布类核心函数功能:按照指定的概率分布函数产生随机值。
op_dist_uniform():输入参数为非0实数,代表取值上限,产生均匀分布的随机数,
注意:不包含此上限。
op_dist_exponential():产生服从指数分布的随机数,输入参数为指数分布函数的平均值
此外,还可以采用以下两个步骤:
(
1
)调用
op_dist_load()
自定义一个带参数的随机分布函数。
返回值不是一个随机数,而是指向一个分布函数的指针(
Distribution *
),这个指针供以后使用,所以这个步骤一般是在进程的初始化状态完成的;不管是对
OPNET
自带的一些分布函数,还是对
PDF Editor
(分布函数编辑器)创建的函数,都可以调用op_dist_load()进行加载。当函数不再使用时还可以调用op_dist_unload()将所占内存释放。
(2)函数一旦被加载,就可以在整个仿真过程中通过调用。 |
op_dist_outcome()用来产生一个服从自定义分布函数的随机值。这两个核心函数以分布函数指针为输入参数, 返回一个随机值。 |
2 事件类核心函数
功能:为进程模型提供有关事件的信息。
以下三个函数可以访问事件列表中的事件。
(1)op_ev_current():返回当前事件。
(2)op_ev_next(): 获得当前有效事件的下一事件。
(3)op_ev_seek_time():获得与输入的仿真事件最接近的那个事件的句柄。
以下两个常搭配使用:
op_ev_pending():判断一个事件是否还在列表中等待调度
op_ev_cancel():将事件列表中的将来事件删除
自中断:模拟进程的各种延时(将来某个时刻)的处理。自中断、遥远中断和多播中断源于调度他们的进程模块。
流中断:由于包到达输入流端口时触发的,流中断源于发送包的模块。
op_ev_strm():决定包到达的流索引号
op_ev_stat():决定事件作用的状态线索引号
op_ev_code():得到事件号
op_ev_time():返回事件调用的仿真时间
op_ev_equal():比较两个事件句柄,在进程等待一个特定事件时有用。
op_ev_src_id():获取事件源模块id
op_ev_dst_id():获取事件目的模块id
3 接口控制类核心函数
op_ici_create():基于指定的ICI格式文件返回一个指向ICI文件的指针。
op_ici_destroy():销毁,ICI的信息一般只用一次
4 标识类核心函数