python中的模拟。
ScipySim的Python项目详细描述
scipy模拟器提供了一种并发的建模和模拟方法 使用scipy的python中的异构系统。你可能会发现它很有用 对于涉及嵌入式系统或信号处理的任务。
scipysim模型是用纯python代码创建的,通过实例化 代表系统不同组件的参与者,并连接 演员们通过各种渠道互相交流。这里有一个简单的例子 模型看起来像:
#!/usr/bin/env python from scipysim.actors.signal import Ramp from scipysim.actors.display import Plotter from scipysim.actors import Channel, Model class RampPlot( Model ): def __init__( self ): super( RampPlot, self ).__init__() connection = Channel() src = Ramp( connection ) dst = Plotter( connection ) self.components = [src, dst] RampPlot().run()
您可以在'models'目录中找到许多其他模型示例。
scipysim项目的灵感来自加州大学伯克利分校托勒密项目,但是 我们采取了稍微不同的方法来实现 模拟引擎。我们的方法是基于实现模拟器 作为一个卡恩的演员网络,通过标记的信号进行交流。每个 这些参与者在自己的线程中运行,并通过专用的 基于线程安全fifo队列实现的通道 在python标准库中。这些底层参与者可以组成 一起创造模型,这些模型本身也是演员- 在自己的线程中运行,所有通信都通过 输入和输出通道。
scipysim仍在积极开发中,它包含一个 实验或原型组件的数量。的结构 模拟器处于不稳定状态,因此不能保证模型 为与特定版本一起使用而开发的版本仍将与下一个版本一起使用。
测试SCIPY模拟器
scipy模拟器附带了大量单元测试。 所有测试都可以使用nosetests作为一个套件运行:
nosetests
名为test_scipysim.py的助手脚本已放置在scipysim中 启动鼻测试的模块:
./scipysim/test_scipysim.py
如果您是从存储库下载的,则可以使用setuptools运行测试:
python setup.py test
测试也可以在模块层次结构中找到,并单独运行:
python ./scipysim/actors/io/test_io.py
安装scipy模拟器
您可以使用以下命令将scipysim安装到主站点包文件夹:
sudo python setup.py install
在Linux或Mac OS X上;并且:
python setup.py install
在窗户上。安装在一个更加沙盒化的“开发”环境中 用develop代替install,例如:
sudo python setup.py develop
这将在当前目录中安装一个egg并链接到包 在您的网站包文件夹中。
创建二进制安装程序
首先要清除过时的.pyc或.pyo文件,请使用:
python setup.py clean --all
生成一个这样的构建分发版:
python setup.py bdist
在windows上,制作一个漂亮的gui安装程序:
python setup.py bdist --format wininst
同样,可以使用以下命令创建源分发版:
python setup.py sdist
贡献者
这个项目是在电子计算机系发起的 坎特伯雷大学工程(http://www.elec.canterbury.ac.nz/)作者:
- Brian Thorne(坎特伯雷市的Brian Dot Thorne AC Dot NZ)
- Allan McInnes(坎特伯雷的Allan Dot McInnes,AC Dot NZ)
项目站点
主要的开发工作发生在http://scipy-sim.googlecode.com