下面是层次化结构模型的模拟主控算法。 模拟主控( ) { 模拟初始化: 对不同调用路径在各模块中建立与路径有关的全局信号表等内部数据; //各个不同路径的子模块需要各自保存不同的状态值和其他信息,因此模块内的信号称为局部信号,按路径生成的不同的信号称为全局信号。 建立信号的驱动源,设置信号初始值; //信号的驱动源即为该信号作为输出信号的各进程。 将所有进程设为激活状态; while (当前时刻 <= 最大模拟时间 且 时间队列已空) //执行各模拟周期 { 处理当前信号事件,更新信号值; 计算决断信号的决断函数,求出其有效值; 处理延时等待事件,将等待时间已到时的进程设为等时就绪状态; 调用元件模块模拟子程序,对主模块进行模拟; //递归执行所有的子模块 取下一模拟时刻; 当前时刻 = 下一模拟时刻; //进入下一模拟周期 } return (FINISH); }
|