本文介绍DTN仿真器相关软件安装,即The ONE+Eclipse+ModelGoon。The ONE是DTN仿真器,Eclipse便于调试,ModelGoon用于生成一些UML图,便于理解。
1. 安装The ONE仿真器
1.1 安装jdk
The ONE是用Java写的,Ubuntu默认没装jdk,装很简单,如下:
$ sudo apt-get install openjdk-7-jdk
设置环境变量(尽管不配置也能编译通过,但后续安装会提示找不到JAVA_HOME),将以下一行加到~/.profile文件中,需要注销才能生效(详情参考附录:环境变量设置)。
export JAVA_HOME=”/usr/lib/jvm/java-7-openjdk-amd64/”
1.2 安装The ONE
在官网下载The ONE安装包,解压,进入The ONE目录编译,命令如下:
qiankun@laptop:~/NetworkSimulator/one_1.5.1-RC2$. /compile.bat
运行The ONE有两种方式:图形界面(直观观察效果)和命令(可以批量运行)。相关命令如下:
$ ./one.sh default_settings.txt
$ ./one.sh -b 10 default_settings.txt
2. 安装Eclipse
从官网下载Eclipse IDE for Java Developers,解压安装。为Eclipse创建一个桌面图标,/usr/share/applications/下创建文件eclipse.desktop,再将其拖到Ubuntu启动器(侧边栏)。值得注意的是,这里的/home/qiankun不能用“~”代替。为了让The ONE能运行,还需要安装Junit,点里这里下载,将junit.jar加到Eclipse的Java Build Path中的Libraries。 详细安装参考这里。
[Desktop Entry]
Name=Eclipse
Type=Application
Exec=/home/qiankun/NetworkSimulator/eclipse/eclipse
Terminal=false
Icon=/home/qiankun/NetworkSimulator/eclipse/icon.xpm
Comment=Integrated Development Environment
NoDisplay=false
Categories=Development;IDE;Java
Name[en]=eclipse.desktop
装完Eclipse,新建Java项目,选择The ONE文件夹,并将one_1.5.1-RC2/lib/两个jar也加进去。详情可参考文章《Report of A DTN Simulator – THE ONE》。
3. 安装ModelGoon
ModelGoon(UML for Java)可以生成Java的一些UML图,目前只支持3种,即类关系图(class diagram)、包依赖图(package dependencies diagram)、交互图(interaction diagram)。在Eclipse菜单栏打开help –> Install new software –> Eclipse Marketplace…,在搜索框搜索modelgoon,点击install即可。详细安装见这里。
创建UML图,在左边包浏览器,选中项目右击 ——> New ——> Others…,从类关系图(class diagram)、包依赖图(package dependencies diagram)、交互图(interaction diagram)选择一种,创建新文件。从包浏览器(package explorer)将类或者包拖到新建的文件中,关系会自动建立。详细操作可以参考这里。The ONE部分包依赖关系如下:
附:环境变量设置
博文《Ubuntu环境变量》写得非常详细,以下根据自己的理解,做一些摘抄。
(1) 所有用户
/etc/profile
为系统的每个用户设置环境信息,用户第一次登录,该文件被执行。可见,修改了该文件,得重启才能生效。
/etc/environment
系统在读取用户的profile前,设置环境文件的环境变量。
/etc/bashrc
为每一个运行bash shell的用户执行此文件,打开bash shell,该文件被读取。
(2) 用户独有
~/.bash_profile
用户专属的shell信息,执行用户的.bashrc文件,设置一些环境变量。值得注意的是,该文件只执行一次(用户登录时)。所以,修改该文件,至少要注销才有效。
~/.bashrc
用户专属的bash shell的bash信息,该文件在登录和每次打开新的shell时被读取。让修改的文件生效,有两种方法:其一,重启shell;其二,命令source ~/.bashrc。
临时变量
赞赏在shell窗口,用export导入变量,举例如下。值得注意的是,变量生存期只在当前的shell窗口。
export JAVA_HOME=/usr/lib/jvm/java-1.7-openjdk-amd64
微信赞赏
支付宝赞赏
您好,请问modelgoon 包依赖图中的红色线表示什么意思?谢谢!
双向,互为依赖。
source ~/.profile 只对当前的shell有效。
Pingback: 阅读JDK源码:Eclipse+ObjectAid UML Explorer(生成UML图) | Spark & Shine
Pingback: The ONE使用笔记:目录 | Spark & Shine