PeerSim鼓励基于接口的模块化编程,每一个组件都能被其它实现了相同接口的组件代替,一般的仿真过程如下:
1. 选择网络大小(即节点数量);
2. 选择要实验的一个或多个协议并进行初始化;
3. 选择一个或多个Control对象来监视感兴趣的属性,并在仿真时修改一些参数(比如,网络大小,协议的内部状态,等等);
4. 根据配置文件,调用Simulator类运行仿真。
一 PeerSim安装
2004年发布0.0版,最新版本1.0.5发布于2009年9月29日。1、安装JDK
和Eclipse网上很多资料,此处不多说。
关于JDK版本,没有找到相关说明,下载较新版本即可,如JDK1.6就可以。
Eclipse最新有一个Helios(太阳神)版。2、示例(PeerSim的"helloworld")
(1)创建一个javaproject,命名为PeerSim。
(2)将下载的peersim-1.0.5.zip中的src目录下的文件都拷贝到工程主目录下
的src目录下。
(3)将下载的peersim-1.0.5.zip中主目录下的jar文件拷贝到工程主目录下。
(4)添加libraries。Project--Properties--JavaBuild Path。Add ExternalJARs,将
主目录下的jar文件都添加进去。
(5)编写仿真配置文件。这里使用peersim-1.0.5的example目录下的
config-example1.txt。将这个txt文件拷贝到工程主目录下。
(6)运行,在Eclipse的PackageExplore栏找到这个txt文件,右键,Run
as--RunConfigurations。
Main:在Name中输入Application名称,比如PeerSimApp;在mainclass中输
入peersim.Simulator,或者搜索之。
Arguments:在Program arguments中输入config-example1.txt,也就是配置文
件。
(7)第6步完成之后,点击运行,会出现错误:
peersim.config.IllegalParameterException:Parameter "protocol.lnk":The class peersim.core.IdleProtocol appearsmore than once in theclasspath; please check your classpath to avoidduplications. Atpeersim.config.ConfigContainer.getClazz:582在第6步,右键,Runas--Run Configurations,配置Classpath,使得UserEntries中只保留djep-1.0.0.jar,peersim-1.0.5.jar,jep-2.3.0.jar,也就是删除peersim-doclet.jar。这个时候再运行,仿真就能正常结束了。