2011-02-11 37 views
5

我想创建一个允许用户创建视觉状态机的应用程序GUI。该界面与Microsoft的Visio产品类似,其中用户添加块或圆圈(状态),然后用箭头线连接状态,用箭头表示状态或事件的变化。在后端,我希望GUI创建一个SCXML文件来描述重要的连接。用于创建视觉状态机的GUI

参见:SCXML在维基百科

这里有一些其他要求:

  1. 跨平台(Linux/Windows的/ MAC OSX)
  2. 开源
  3. 用户友好
  4. 的Qt实施 - (首选,不要求)

这里有一些相关的项目:

  1. http://ostatic.org/fsme - 不使用Qt的新版本的工作,而不是维护良好的
  2. http://doc.qt.nokia.com/4.6/graphicsview-diagramscene.html - 非常接近,但缺少一些功能,如两种状态之间的多个连接。

如果没有其他选择,我将采用Qt的Diagram Scene示例(上图)并对其进行修改以满足我的需要。

我很想知道是否有其他人知道一个支持良好且开发良好的动态创建视觉状态机的工具。

回答

0

您可能想要查看免费的QM建模工具:http://www.state-machine.com/qm。 QM是在最新的Qt 4.7中开发的,可在Windows和Linux平台上运行。该工具专为分层状态机(UML状态图)而设计。如果您了解这种类型的其他图形工具(IBM Rhapsody,BoUML,MagicDraw,Enterprise Architect甚至Visio),您将会很欣赏在QM中创建嵌套状态和路由转换的便捷性。该工具基于成熟的QP状态机框架生成C或C++代码。 (自动代码生成几乎总是基于框架。)QM主要针对嵌入式实时系统。

1

你见过AutomataEditor?它甚至可以模拟自动工作。

它是用Qt编写的,它是开源的。

0

我觉得你说的

“我想创建一个应用程序GUI”

这意味着你需要一些框架来构建应用程序..!如果我没有错, 您可以看看这个Javascript框架,名为JointJS 它的一个JavaScript图表库。这个名为FigurePool 的站点是一个用jointjs构建的图形编辑器GUI的好例子!我希望这些信息能帮助你。

我也使用它的Reservation Table Analyzer状态机。