3个版本 (破坏性)
0.3.0 | 2023年3月8日 |
---|---|
0.2.1 | 2023年2月15日 |
0.2.0 |
|
0.1.1 | 2022年11月25日 |
0.1.0 |
|
#134 in 仿真
65KB
1.5K SLoC
xDEVS.rs
xDEVS仿真器的Rust项目版本。它允许您根据DEVS形式化方法构建和模拟计算模型。其API易于使用,适合DEVS从业者。目前,其主要特性是速度和并行性。
闪电般快速 🚀
Rust版本的xEDEV是目前最快的API之一。我们将很快发布一些初步结果来展示这一点。
不安全但可靠 🔐
我们都喜欢纯安全的Rust包。然而,提供安全且快速的DEVS事件传播实现非常困难。因此,我们决定使用unsafe
Rust来模拟DEVS端口和消息传播。这样,我们可以提供我们所能想到的最快的DEVS实现。但不用担心!我们已经仔细研究了DEVS仿真算法,提出了所有使我们的实现即使在unsafe
代码中也是安全的公理。所有端口的unsafe
方法都带有适当的文档,以便您知道何时可以使用这些unsafe
方法!
剧透警告:如果您不尝试黑客 DEVS仿真工作流程,那么您将始终满足使您的模型安全构建的公理。
完全可配置的并行性 🧶
我们依靠rayon
包为您提供仿真过程的并行性。默认情况下,所有仿真过程都是顺序执行的。但是,您可以激活不同的功能来选择您想要利用并行性的地方
par_start
:它在开始模拟之前并行运行您模型的启动方法。par_collection
:它并行执行您模型的lambdas。par_eoc
:它并行传播EOCs(我们不推荐此功能,它可能被删除)。par_xic
:它并行传播EICs和ICs(我们不推荐此功能,它可能被删除)。par_transition
:它并行执行您模型的deltas(我们推荐此功能)。par_stop
:它在仿真后并行运行您模型的停止方法。
有用的组合特性
我们提供额外的功能,以选择方便的功能组合。
par_xxc
:是par_eoc
和par_xic
的别名(我们不推荐此功能,它可能被删除)。par_sim_no_xcc
:是par_collection
和par_transition
的别名。par_sim
:是par_xxc
和par_sim_no_xcc
的别名(我们不推荐此功能,它可能被删除)。par_all_no_xcc
:是par_start
、par_sim_no_xcc
和par_stop
的别名(这是我们最喜欢的)。par_all
:是par_xxc
和par_all_no_xcc
的别名(我们不推荐此功能,它可能被删除)。
工作进行中 👷♀️👷👷♂️
我们仍在开发这个crate,并希望在不远的将来添加许多酷炫的功能。请保持关注!如果您想贡献,请随时在GitHub上打开一个问题,我们将尽快回复。
依赖关系
~0–445KB