摘要
状态机设计的灵活性在给开发人员带来高效与便利的同时,也带来三类较典型的问题:由于状态逻辑和时序依存导致的输出错误,由于历史数据缓存导致的状态机计算量庞大的问题,以及由于状态跃迁耦合导致的输出不可控问题。目前这三类问题在软件详细设计和编码中仍然存在。本文在状态机功能不改变、在有限状态机设计约束条件下从时间复杂度和圈复杂度两个维度对状态机进行等价转换,即将原状态和判定条件进行合并或拆分,根据元模型定义对拆分或合并后的状态进行重组,添加跃迁条件,提出优化的一般性过程。进而针对三类典型问题给出优化算法,用同一算法分别对优化前后的状态机进行测试,并从时间复杂度和圈复杂度两方面验证了优化算法的可行性。本研究的实用价值在于为实时控制和安全苛求系统软件设计或重构提供了一种优化的方法。
- 单位