扩展状态机模型的子模块构建技术解析
在系统构建中,子模块构建是一个关键环节。当我们要构建一个由多个组件组成的系统时,往往已知系统的整体行为规范以及除一个组件外其他组件的行为规范,子模块构建的目标就是找出这个未知组件的规范,使所有组件共同提供与系统行为规范一致的行为。
1. 子模块构建问题概述
子模块构建,也被称为方程求解或因式分解。在离散事件系统的控制器综合、通信网关设计和协议转换等领域都有广泛应用。传统的子模块构建技术多基于有限状态模型,但在处理更复杂的情况时,如需要通过参数化交互、状态变量和简单防护来处理数据的行为模型,就需要对现有技术进行扩展。
在解决扩展规范模型的子模块构建问题时,会遇到一些主要困难:
- 要跟踪新模块 X 的变量、系统规范的变量和现有组件 C 的变量之间的关系。
- 对于新组件 X 的每个输入或输出转换,需要决定使用哪些局部变量来存储输入接收到的参数值,或者使用哪个局部变量来定义输出参数的值。
- 可能会有许多不同的全局系统状态,这取决于上述选择。我们希望找到组件 X 的最通用规范,避免向系统环境引入不允许的输出,或从组件 X 或环境引入现有组件 C 不期望的输入。
为了解决这些问题,我们采用了两个主要思路:
- 考虑对所有变量集进行分区,以建模给定状态下不同变量之间的等价关系。分区定义了一组不重叠的变量子集,同一子集中的所有变量是等价的,即具有相同的值。
- 在对 IOA 模型应用子模块构建后,分析组件 X 的状态机,确定每个状态可能适用的分区。由于某些分区可能导致无效行为,我们引入状态拆分步骤,根据可到达的可能分区拆分组件 X 的状态,以保留可接受的行为并消除无效行为。
超级会员免费看
订阅专栏 解锁全文
22万+

被折叠的 条评论
为什么被折叠?



