是否有任何可视化编程工具来建模表示多模式用户界面的状态图?我想构建一个 android 和 windows metro 应用程序,它接收来自触摸和语音的输入。该应用程序通过问卷引导用户在医疗保健场景中进行筛查。用户可以在文本框中输入文本或通过触摸按钮或说话来生成事件。
我发现状态图用于模拟反应系统行为,例如最初由其创建者 David Harel 使用的航空电子系统,其任务是为以色列飞机工业公司制造的 LAVI 战斗机设计软件;IAI 清晰准确地指定飞机控制行为。他想以一种直观清晰且数学严谨的方式来指定行为。从那时起,状态图就从单纯的规范语言发展成为可执行、可编译和可分析的语言。
由于我要构建的应用程序具有复杂的医疗保健逻辑,并且由屏幕流的层次结构组成,该层次结构会根据交互用户的输入发生变化,将操作发送到外部 Web 服务并从外部 Web 服务接收异步事件——所有这些都在用户界面中保持响应性,我想到了用状态图对应用程序逻辑进行建模。但是,我找不到可以让我分别编写应用程序业务逻辑和 UI(不仅仅是屏幕界面组件)的编程工具。例如,如果我想在 html5/ mxml中表示 UI和在scxml中的业务逻辑。
我找到了几个工具,但没有一个与我的应用程序要求相对应。主要是没有这样一个应用程序的设计示例,将状态图中的行为和某种形式的标记语言的 UI 表示明确分离。我的发现:
- IBM Rational Statemate是一个图形化设计、模拟和原型设计工具,用于快速开发复杂的嵌入式系统
- IBM Rational Rhapsody - 基于 UML 的建模环境,是系统工程师的可视化开发环境,具有 UML 状态图
- Apache scxml 编辑器:仅用于建模scxml的 Gsoc 项目
- Qt 状态机框架,但没有分离行为和用户界面的状态图
- W3C Multimodal Architecture也有一些设计理念,以及scxml+xhtml