这些天来,我正在设计一个非常复杂的软件,只有经过深思熟虑的状态机才能设计得体。我的问题是,除了达到一定程度的复杂性之外,在一张纸上绘制状态机变得一团糟!
是否有可以自动进行版面设计的软件?我正在寻找具有以下功能的物品:
谢谢你的帮助 :)
最佳答案
尽管通常不认为它是状态机的表示形式,但可以使用Jackson结构化编程图。当应用程序涉及大量数据操作时,我更喜欢它们使用状态转换图。它们可以显示整体情况,并为贴在图的叶子上的数据操作提供大量空间。
我在搜索中发现以下两个工具:
Jackson Work Bench这是由Jackson方法的创建者产生的。我熟悉他们的旧工具。这些较旧的工具在语法上支持状态机的所有构造-循环;选项;和状态序列。它们提供了一种内部语言,即状态机语言。它们还支持从选择和迭代中回溯的JSD概念。较旧的工具不支持状态机的某些改进-循环至少完成一次;前缀,中缀和后缀;和嵌套状态机。我不知道这些改进是否可在当前工具中获得。这个工具可能很昂贵,尽管我再也不用花钱了。
Make a Jackson Diagram。我没有有关此工具的信息。它似乎只是一个图表绘制工具,并且仅基于Mac。尚不清楚它是否支持状态图语义的任何方面,但它是免费的。
关于language-agnostic - 自动设计状态机,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12115855/