swarm中文手册

上传人:xzh****18 文档编号:34615457 上传时间:2018-02-26 格式:DOC 页数:95 大小:1,005.50KB
返回 下载 相关 举报
swarm中文手册_第1页
第1页 / 共95页
swarm中文手册_第2页
第2页 / 共95页
swarm中文手册_第3页
第3页 / 共95页
swarm中文手册_第4页
第4页 / 共95页
swarm中文手册_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《swarm中文手册》由会员分享,可在线阅读,更多相关《swarm中文手册(95页珍藏版)》请在金锄头文库上搜索。

1、Swarm 用户指南Swarm 开发组Paul Johnson堪萨斯州大学政治科学系pauljohnukans.eduAlex Lanchaster圣塔菲研究所alexsantafe.edu译者 柳泉波北京师范大学信息学院Swarm 用户指南Swarm 开发组Paul Hohnson 和 Alex Lancaster2000 年 4 月 10 日出版Copyright 1999-2000 Swarm 开发组Swarm 仿真系统的用户指南本文档是由 CASA 有限公司的 Benedikt Stefansson(以前在 UCLA 的经济系工作)在 1998 和 1999 年的 SwarmFest

2、上发表的 Swarm教程材料发展而来的。分三个阶段逐步深入的讨论了 Swarm 工具:第一部分是 Swarm 的简介;第二部分深入地剖析了 Swarm 程序;第三部分则详细讨论了用户在使用 Swarm 开发程序时可那遇到的种种问题。鼓励用户探索 Swarm 提供的样例程序,并访问 Swarm 站点(http:/www.swarm.org)来了解最新消息和加入 Swarm 邮件列表。Paul Johnson 的工作,由国家科学基金会的基金(SBR-9709404)部分支持。Paul 是主要的作者,提供了指南的主要材料。Alex Lancaster 负责有关 SGML 的大部分工作即在 DocBo

3、ok(见书末)中的锤炼和标记问题,并提供了补充材料和正文。有关 Swarm 用户指南的许可说明复制本文档需要预先获得版权持有者(Swarm 开发组)的书面版权许可,合理的个人使用或者用于教育目的不在此禁。不允许大量分发本文的复制品或者将之用于牟利。生成本文档的 SGML 源文件以及相关程序在文件包 userbook-0.9.tar.gz(ftp:/ftp.swarm.org/pub/swarm/userbook-0.9.tar.gz)。只要遵循 GNU 一般公共许可(GPL,http:/www.gnu.org/copyleft/gnu.html),那么使用、复制、修改和分发 swarmdocs

4、 包及其生成的文档(包括HTML、TeX 、dvi、PostScript 和 RTF 格式)是允许的。目 录PART I 基本概念 .4第一章 介绍 .4第二章 程序设计和仿真 .7第三章 面向对象程序设计详论 .11第四章 Swarm 的开发思想 .19第五章 图形用户接口 .23PARTII Swarm 应用:样例演示 .27第六章 Swarm 教程 .27附录 A. Swarm 工具 .90附录 B Objective C-Swarm 风格 .93PART I 基本概念第一章 介绍Swarm 项目由 Chris Langton 于 1994 年在新墨西哥州的圣塔菲研究所(Santa Fe

5、 Institute,http:/www.santafe.edu,SFI)启动。现在由圣塔菲研究所的非盈利性组织 Swarm 开发组(http:/www.swarm.org )负责。目的是为基于多主体仿真模型(即所谓的 ABMs,Agent-Based Models 的缩写)的开发提供一系列标准的计算机工具并成为研究者交流的中介。有了 Swarm,研究者可以专心于建模任务的本质,避免编程的某些复杂细节。有很多程序员对 Swarm 项目作出了贡献: Roger Burkhart,Nelson Minar,Manor Askenazi,Glen Ropella,Sven Thommesen,Mar

6、cus Daniels,Alex Lancaster,Vladimir Jojic,和 Irene Lee。1.1 有关 Swarm 的基本事实Swarm 提供了一系列支持仿真程序设计的软件库。最显著的特点包括: Swarm 的代码是面向对象的 。Swarm 库由名为“Objective-C”的计算机语言编写而成,这种语言是 C 语言的超集。Objective-C提供了创建软件“类”的能力,进而可以创建实例个体,实例是自包含的实体。面向对象程序设计的术语非常适合基于主体模型的讨论。 Swarm 程序是层次结构的。 大部分 swarm 应用程序大体具有如下的结构。首先,创建最顶层的一级,通常叫做

7、“observer swarm”。“observer swarm”负责屏幕的显示,以及创建下一层,叫做“model swarm”。然后,“model swarm”创建主体个体,调度主体的活动,搜集有关主体的信息,并在“observer swarm ”需要的时候提供。 Swarm 提供了很多方便的工具 。在手册的后续部分不难发现,Swarm 库提供了很多有利于基于主体模型设计的代码。这些工具方便了内存的管理,表的维护,活动的调度以及其他很多琐碎工作。用户通过将 Swarm 对象集成在自己的程序中创建仿真应用。 建议用户仔细研究提供很多的样例程序,以便充分的利用 Swarm 库的功能,充分体会个中

8、蕴含的建模策略。1.2 Swarm 是一个动态平台Swarm 是自由软件(http:/www.gnu.org/philosophy/free-sw.html) 1。当前版本的 Swarm,遵循 2GNU General Public License(GPL,http:/www.gnu.org/copyleft/gpl.html)许可。无论是从理论或实际方面考虑,软件开发的自由软件模式都对像 Swarm这样的工具特别有效。 完全可观察。由于提供了完全的源代码,因此在必要时,建模者可以在操作系统级别上跟踪方针的执行。这对于可重复性是很重要的,最终使得建模者可以(在抽象的数学意义上)证明仿真的正确性

9、。 共享开发者的智慧。更实际的原因是,由于 Swarm 是开源的,我们可以利用开发者的智慧:技术水平比较高的开发者能找出Swarm 的缺陷,编写补丁程序,实现新的特性等。 GNU/Linux 操作系统能够快速而健壮的成长也是由于类似的原因 DiBona 等,1999。随着 Swarm 的发展,越来越多的程序员和建模者将参与进来。Swarm 的开发工作目前由位于新墨西哥州圣塔菲的 Swarm 开发组( http:/www.swarm.org)负责。开发结果定期发布在 Internet 上,用户可以访问相应的源代码。Swarm 的开发者们特别希望用户下载代码,进行试验,改进和增强 Swarm 的功

10、能。采取开源策略的目的是能够综合整个研究社区的贡献。当 Swarm 的用户对库做了改进,我们鼓励他宣布出来并供他人使用。社区和 Swarm 团队的这种交1 有时也指“开源”(open source )软件,有关开源的定义参看 http:/www.opensource.org/osd.html。2 Swarm 库的核心遵循 LGPL(http:/www.gnu.org/copyleft/lgpl.html)许可,但是标准的二进制发布包括了遵守 GPL 许可的部件,这意味着 Swarm 是遵守 GPL 的。互,使得 Swarm 库可以经常被修订。为了对此有所了解,简要介绍一下本项目的历史。原先 S

11、warm 的目的是用于支持 X Windows 系统的 Unix 操作系统的。Swarm 的第一个测试版发布于 1995 年。1997 年 1 月,Swarm 1.0 正式发布,必须运行在 Solaris 和 Linux 操作系统上。不久,改进版的 Swarm 支持 DEC Alpha 平台以及其他 Unix 的变体。1998 年 4 月,Swarm 1.1 发布,其应用范围进一步扩展。在 Cygnus Win32 软件包的支持下,Swarm 可以在微软 Windows 95/NT(现在是 98)上运行。1999 年下半年,Swarm 2.0 和 2.0.1 发布,增加了 Java 层使得 J

12、ava 程序员可以调用 Swarm 库,支持数据输出为 NSCA HDF51格式。由于 Swarm 仍在发展当中,因此很难精确的预测它的开发路径。目前 Swarm 开发组的工作重点是使得 Swarm 可以工作在更多的平台上,有更多的计算机语言支持。例如,Swarm 的 XML 和 Schema 层原型已经通过测试。1.3 成功使用 Swarm 的前提Swarm 的出发点是为设计多主体模型提供一系列的标准化方法。Swarm 库的用户并不需要是一个技术高超的程序员 2。实际上,由于Swarm 的安装过程非常的流水线化,因此只要有合适的硬件平台,任何人都可以轻松的测试 Swarm 的样例应用程序。对于使用Windows 98/NT 或 Linux 操作系统的用户来说,已经有编译好的 Swarm 库可用,安装就更加轻松了。然而,要创建新的 Swarm 应用并非易事。因为此时需要

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 理论文章

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号