进程是计算机与通信系统中对数据进行逻辑操作的环境
进程建模允许建模者自定义模型与统计量
使用核心函数使编码更快速
工具
进程编辑器
1. 状态:有限状态机的元素,包含入口代码和出口代码
2. 转移线:有限状态机的元素,包含转换条件和转转代码
4. SV:状态变量:在进程阻塞期间保存值
5. TV:临时变量:仅在中断期间有效
6. HB:头块:定义C/C++常量、宏、包含条件、全局变量、数据结构,声明全局变量、函数
7. FB:函数块:定义C/C++函数
8. DB:诊断块:定义C/C++语句,向标准输出设备发送诊断信息
9. TB:终止块:定义C/C++语句,在进程被消耗前执行
10. 编译代码:生成C/C++源代码与目标文件
进程模型
进程模型的变化
状态、事件和响应
![](https://i-blog.csdnimg.cn/blog_migrate/77a0409880ee5c29adc7fec10613c117.png)
进程建模
进程建模的步骤
步骤一:定义上下文
1、确定相互关联的模块;
2、为相关模块选择通信机制;
3、为系统和相关模块创建图示。
步骤二:进程级分解
1、选择进程分解技术:单进程、多进程;
2、如果选择了多进程,确定每个进程的职责,确定进程的创建情况。
步骤三:事件列表
1、为进程定义逻辑事件
2、选择事件实现方法
![](https://i-blog.csdnimg.cn/blog_migrate/65d51802257aa70fc5a786f09c464ebd.png)
步骤四:事件响应表
事件响应表依据当前状态确定模型对事件的反应。
1、从初始状态开始,选择一个状态→选择一个事件→选择一个该事件下的条件→确定需要进行的所有动作→确定最终状态。重复得到所有条件和所有事件,重复1知道遍历所有状态。
2、初始状态,使用BEGINSIM中断,确保初始状态不会对其他事件响应。
3、空闲状态, 定义KP级的响应
4、 两个新的状态
5、等待应答状态
6、链路失效状态
7、等待应答及链路失效状态
步骤五:进程行为规范
1、 在OPNET中实现状态转换图
2、定义/替换宏和伪代码
状态转换图放置行为
行为可以被放置在3个不同的地方:
离开当前状态——出状态代码,出状态代码包含在状态转换前对各新状态通用的行为
状态转换途中——转换代码,入状态代码包含在状态后对各老状态通用的行为
进入新的状态——入状态代码,转换代码包含对应于本转换行为
tips:开始都采用转换代码,之后合并通用代码为出状态代码或入状态代码
红色状态是系统真实状态,绿色状态为填写代码方便。
参考:电子科技大学课件