用自己的话解释一遍
总结了一下simple source模型。
功能:根据我们设置的属性值发包。
简化的叙述一下流程:
- 在init状态的入口处设置了一个自中断,出口处获取中断码
- 准备转移到generate状态,执行转移函数,发包
- 执行generate入口代码,产生了一个自中断,出口处获取中断码
- 转移到自身,执行转移函数,发包
- 下一个循环
1.状态转移图
2.Module Attribute
3.Local Statistics
4.SV
5.TV
/* Variables used in the "init" state. */
char interarrival_str [128];
char size_str [128];
Prg_List* pk_format_names_lptr;
char* found_format_str;
Boolean format_found;
int i;
/* Variables used in state transitions. */
int intrpt_code;
6.HB
/* Include files. */
#include <oms_dist_support.h> //该进程模型使用了外部的头文件,用以产生概率分布
/* Special attribute values. */
#define SSC_INFINITE_TIME -1.0 //定义无穷大时间为-1。很奇怪的定义。
/* Interrupt code values. */
#define SSC_START 0 //自定义的中断码,开始为0
#define SSC_GENERATE 1 //自定义的中断码,发包为1
#define SSC_STOP 2 //自定义的中断码,停止为2
/* Node configuration constants. */
#define SSC_STRM_TO_LOW 0 //发包的流索引,只有一个流索引,默认为0
/* Macro definitions for state transitions. */
#define START (intrpt_code == SSC_START) //中断码为SSC_START时,满足转移条件
#define DISABLED (intrpt_code == SSC_STOP) //中断码为SSC_STOP时,满足转移条件
#define STOP (intrpt_code == SSC_STOP) //中断码为SSC_STOP时,满足转移条件
#define PACKET_GENERATE (intrpt_code == SSC_GENERATE)//中断码为SSC_GENERATE时,满足转移条件
/* Function prototypes. */
static void ss_packet_generate (void); //FB中的包也需要在这里声明一下?