2012-08-24 67 views
3

在这些日子里,我设计了一个相当复杂的软件,只有使用精心思考的状态机才能设计得体面。我的问题是,除了一定程度的复杂性之外,在一张纸上绘制状态机变得一团糟!自动设计状态机

是否有允许自动布局的软件?我正在寻找具有以下功能的东西:

  • 语言不可知;
  • 基于某种状态定义语言;
  • 有点类似于Graphviz Dot(从布局的角度来看),但支持状态机的语义,而不仅仅是泛型图;
  • 可能在演讲时免费,不像啤酒;
  • 可能允许生成图的向量输出。

感谢您的帮助:)

回答

1

虽然通常不认为是一个状态机表示,杰克逊结构化编程图可以这样使用。当应用程序涉及大量数据操作时,我更喜欢他们陈述转换图。它们可以显示整体情况,并为贴在图表的叶子上的数据操作提供足够的空间。

我发现下面的两个工具在我的搜索:

Jackson Work Bench这是从杰克逊方法的原创制作。我熟悉他们的旧工具。这些较老的工具合成地支持状态机的所有结构 - 循环;选择;和状态序列。它们提供了一种内部语言,这是一种状态机语言。他们还支持JSD从选择和迭代中回溯的概念。旧的工具不支持状态机的一些改进 - 循环至少完成一次;前缀,中缀和后缀;和嵌套状态机。我无法了解这些改进是否适用于当前的工具。这个工具可能是昂贵的,但我再也没有花费了。

Make a Jackson Diagram。我没有关于这个工具的信息。它似乎只是一个图表制作者,只有基于Mac的。目前还不清楚它是否支持状态图语义的任何方面,但它是免费的。