基于策略的弹性模拟器(OMNeT++/ReaSE 和 XML-RPC)
现在您已经拥有了 INET 框架并运行起来,您可以准备构建 ReaSE 并安装 XML-RPC。
下载 ReaSE(ID #29)和 ReaSE 的示例拓扑(ID #21)。
将 解压缩 .tar.gz 文件 到 Home 中的 omnetpp 文件夹。
在 OMNeT++ IDE 中,转到 文件 > 导入 > 常规 > 将现有项目导入工作空间
。选择 ReaSE 父目录(位于 /home/<您的用户名>/omnetpp-4.1/ )作为根目录,然后单击完成。
现在,右键单击项目资源管理器中显示的 ReaSE 文件夹,单击 属性 > 项目引用
。取消选中“INET”并选中“inet”。按下 Ctrl+B
或 项目 > 全部构建
来构建 ReaSE。
ReaSE 现在应该可以编译而不会出现任何错误。如果出现有关 Makefile
的错误,只需转到 ReaSE 目录,删除父目录和 ReaSE/src
目录中的 Makefiles
。现在回到 IDE,右键单击项目资源管理器中的 ReaSE,单击刷新。按下 Ctrl+B
或 项目 > 全部构建
来构建 ReaSE。
将 示例拓扑解压缩 并将“拓扑”文件夹复制到 ReaSE 文件夹。现在,转到 运行 > 运行配置
。在 OMNeT++ 模拟下创建一个新的配置,将工作目录设置为要运行的模拟 - topo_tiny
或 topo_small
或 topo_router
位于 ReaSE 下的“拓扑”目录中。现在,将可执行文件设置为 ReaSE/src/rease
。INI 文件应该自动选择为位于模拟目录中的 omnetpp.ini
。现在将配置名称更改为 General:inet
,然后单击运行。如果 ReaSE 编译没有错误,模拟现在应该可以运行。
安装 XML-RPC 库(包名为 libxmlrpc-c++-dev
或类似,在不同的发行版中有所不同,您可以尝试在缓存中搜索)。
- 安装 XML-RPC 后,在 OMNeT++ 的 IDE 中,选择项目资源管理器中的 ReaSE/src 文件夹,然后转到
项目 > 属性 > OMNeT++ > Makemake > src > 选项 > 预览
在
–deep -o rease -O out -pREASE
之前
–meta:auto-include-path –meta:use-exported-libs
包含以下库
-lxmlrpc_server_abyss++ -lxmlrpc_server++ -lxmlrpc_server_abyss -lxmlrpc_server -lxmlrpc_abyss -lpthread -lxmlrpc++ -lxmlrpc -lxmlrpc_util -lxmlrpc_xmlparse -lxmlrpc_xmltok
它看起来像这样
--deep -o rease -O out -pREASE -lxmlrpc_server_abyss++ -lxmlrpc_server++ -lxmlrpc_server_abyss -lxmlrpc_server -lxmlrpc_abyss -lpthread -lxmlrpc++ -lxmlrpc -lxmlrpc_util -lxmlrpc_xmlparse -lxmlrpc_xmltok --meta:auto-include-path –meta:use-exported-lib
尝试再次运行 ReaSE 模拟之一 - 如果它成功启动,则意味着您的 XML-RPC 安装正确 - ReaSE 在启动时会自动调用 XML-RPC,如果 XML-RPC 安装存在一些错误,模拟将无法运行。否则,检查控制台输出以查看错误是否由 XML-RPC 引起 - 如果是,则大部分错误是由于您安装了错误的 xml-rpc 包 - 尝试使用您的发行版名称(例如“linux mint xml-rpc”)在 Google 中搜索 xml-rpc 来获取确切的包名称。