SISMIC交互式状态图模型解释器和检查器
sismic的Python项目详细描述
Sismic交互式状态图模型解释器和检查器
sismic是一个递归的缩写,代表sismic交互式状态图模型解释器和检查器。
状态图是一种著名的可视化建模语言,用于表示可执行行为 复杂的基于反应事件的系统。Sismic Library for Python(3.5或更高版本)提供了一组 定义、验证、模拟、执行和测试状态图的工具。 更具体地说,Sismic提供:
- 一种基于人类友好的yaml标记语言定义和导入状态图的简单方法
- 一个状态图解释器,提供一个离散的、逐步的、完全可观察的模拟引擎
- 完全可控的模拟时钟,支持实时和模拟时间
- 内置支持使用常规python代码表示操作和保护,可轻松扩展到其他编程语言
- 对状态图的契约式设计(DBC)的支持:可以指定契约来表示状态和转换的不变量、前置和后置条件
- 以状态图表示的行为属性的运行时监视
- 内置支持行为驱动开发(bdd)
- 支持状态图之间的通信
- 同步和异步执行
- 使用PlantUML 进行状态图可视化
安装
Sismic要求python>;=3.5。 Sismic可以像往常一样使用pip安装:pip install sismic。 这将安装最新的稳定版本。
您还可以通过克隆此存储库来安装Sismic。
从1.0.0版开始,Sismic遵循semantic versioning方案。
文档
最新发行版本的文档可在sismic.readthedocs.io上找到。
docs/examples中提供了许多示例。
也可以使用sphinx从docs目录直接构建文档。
科学文章A method for testing and validating executable statechart models介绍了SISMIC支持的验证和测试状态图的方法和技术,发表在2018年的Springer软件和系统建模杂志上。
更改日志
参见文档的changelog。
学分
用于python的sismic库主要由alexandre decan在 ^在many contributors的帮助下,University of Mons的{a13}。
Sismic是作为开源软件在GNU Lesser General Public Licence version 3.0 (LGPLv3)下发布的。
您可以使用以下命令引用Sismic库:
@software{sismic, author = {Decan, Alexandre}, title = {Sismic Interactive Statechart Model Interpreter and Checker}, url = {https://github.com/AlexandreDecan/sismic}, }
您可以引用相关的研究文章:
@article{sismic2018-sosym, author = {Mens, Tom and Decan, Alexandre and Spanoudakis, Nikolaos}, journal = {Software and Systems Modeling}, publisher = {Springer}, year = 2018, title = {A method for testing and validating executable statechart models}, doi = {10.1007/s10270-018-0676-3}, url = {https://link.springer.com/article/10.1007/s10270-018-0676-3}, }