6

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

参见:维基百科中的 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 示例(上图)并对其进行修改以满足我的需要。

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

4

4 回答 4

3

qfsm

于 2011-02-12T13:47:30.247 回答
1

Have you seen AutomataEditor? It can even do a simulation of an automata work.

It's written in Qt and it's open source.

于 2013-05-02T06:44:50.097 回答
0

我想你说

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

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

我还将它用于Reservation Table Analyzer状态机。

于 2013-08-11T11:29:18.657 回答
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 主要针对嵌入式实时系统。

于 2011-02-18T00:19:56.830 回答