9 个版本
使用旧的 Rust 2015
0.0.8 | 2017 年 9 月 18 日 |
---|---|
0.0.7 | 2017 年 9 月 14 日 |
0.0.6 | 2017 年 8 月 28 日 |
#4 in #状态图
42KB
1K SLoC
statechart
statechart 是状态图的 Rust 实现。状态图是一种表示分层状态机的视觉方法,适用于描述反应式、事件驱动系统。状态图最初由 Harel87 提出。 Harel07 介绍了状态图的创新和发展背景。对于技术背景、MDSD 的应用和实际系统设计,请参阅 D. Harel and M. Politi, Modeling Reactive Systems with Statecharts: The STATEMATE Approach, (with M. Politi)。
当前项目重点
这个 crate 最初旨在提供状态图文档模型和解释器,受 W3C State Chart XML 规范 中的概念、实体和行为的影响,可能主要是同构的。然而,重点不是完全符合 scxml,而是以下用例
- Rust 宏,用于从 Rust 代码直接表达和执行状态图。
- 解释器与 futures & streams 兼容,以支持异步执行。
- 使用软件代理自动化一些有用的操作任务,这些代理以状态图的形式表达。
- 个人助理
- 自动化软件操作,自动-{恢复,扩展,警报,重新配置}
- 隐私和安全,“态势感知”用于网络应用和设备
- 性能,在有用性和正确性之后
可能的进一步研究兴趣领域
我尚未积极开发的应用程序,但可能是有趣且有用的贡献
no_std
对嵌入式应用的支持。这是状态图最初被发明的原因!- 编译器后端。目标为 LLVM 或 FPGA!
- SCXML 兼容性,在不与上述目标冲突的情况下,并且有很好的使用尖括号的地方。
版权所有 2017 Casey Marshall
在此特此授予任何获得本软件及其相关文档文件(以下简称“软件”)副本的任何人无限制地处理软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、许可和/或销售软件副本,并允许获得软件的人这样做,但受以下条件约束
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和版权侵犯保证。在任何情况下,作者或版权持有人不对任何索赔、损害或其他责任(无论基于合同、侵权或其他原因)承担责任,该责任源于、产生于或与软件或软件的使用或其他方式相关。
依赖项
约6.5MB
约139K SLoC