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

为scipysim做出贡献

首先使用mercurial获取源代码:

hg clone https://scipy-sim.googlecode.com/hg/ scipy-sim

并通过创建新问题http://code.google.com/p/scipy-sim/issues/entry

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用HTTP保存POST参数的java重定向   访问初始化对象的内部对象属性时发生java NullPointerException   java绑定属性<Predicate<MyObject>>到ListView(使用SelectionMode.MULTIPLE)   Java,提醒父对象更改   java JLabel更改标题的位置   如何在java中以ddmmmyyyy格式打印日期?   Selenium(Java)无法通过可见链接文本找到元素   java重组通过交换染色体创建新的基因型   java如何在JMockit中对不可修改的类型使用验证?   java如何在不创建变量的情况下将值传递给数组?   java端口连接上的hbase。网   Java通过使用来自的返回值进行强制转换。getClass()   JavaSpring如何从控制器返回视图而不出错页面   java在TableCellRenderer中使用自定义Swing JComponent