我想创建一个允许用户创建可视状态机的应用程序 GUI。该界面的工作方式类似于 Microsoft 的 Visio 产品,用户在其中添加块或圆圈(状态),然后将状态与表示状态变化或事件的箭头线连接起来。在后端,我希望 GUI 创建一个 SCXML 文件来描述重要的连接。
参见:维基百科中的 SCXML
以下是一些其他要求:
- 跨平台(Linux/Windows/MAC OSX)
- 开源
- 方便使用的
- Qt 实现 - (首选,非必需)
以下是一些相关项目:
- http://ostatic.org/fsme - 不适用于新版本的 Qt,维护不善
- http://doc.qt.nokia.com/4.6/graphicsview-diagramscene.html - 非常接近,但缺少一些功能,例如两个状态之间的多个连接。
如果没有其他选择,我将采用 Qt 的 Diagram Scene 示例(上图)并对其进行修改以满足我的需要。
我很想知道是否有其他人知道用于动态创建视觉状态机的支持良好且开发良好的工具。