当前位置: 首页 > 知识库问答 >
问题:

Repast——在没有GUI和源代码的情况下,将模型打包并作为jar分发

柴英博
2023-03-14

以前我正在使用ABM模型,现在正在转向投入正式生产环境(将其嵌入在线平台系统)。

为了做到这一点,我有两个重要目标要实现:

>

  • 如何以强化的方式将模型和相关文件打包并分发给其他人,最好是作为一个jar文件,其他程序可以轻松自动地调用该文件,以便在需要时运行模拟。最好在无头模式下运行模型。调用和运行模型时,应避免出现repast GUI控制窗口。顺便说一句:当前版本的模型不需要同时批量运行不同的场景,每次只需要一次运行。

    如何完全或至少部分隐藏/混淆模型的源代码,以保护我与模型本身相关的知识产权。

  • 共有1个答案

    汤才捷
    2023-03-14

    对于1,这并不理想,但基本上可以模拟单个批处理运行的功能。这不是一个单一的jar解决方案,但它肯定是实现单一无头运行的最简单方法。所以

    1. 创建完整的_模型。使用批处理运行GUI创建jar(单击右侧第二个按钮中的“为批处理运行创建模型存档”按钮)。这将创建一个jar文件,其中包含运行模型所需的所有内容
    2. 创建一个目录,其中包含完整的\u模型。罐子会被拉开
    3. 复制完整的模型。jar到那个目录
    4. 用jar-xf解压这个罐子,或者直接解压
    5. 在提取模型的目录中创建一个“实例”目录

    所有这些就绪后,您应该能够使用repast运行您的模型。辛菲尼。一批InstanceRunner作为主类,使用shell脚本。在MacOS上,该脚本看起来像:

    cd instance
    java -cp "../lib/*" repast.simphony.batch.InstanceRunner -pxml ../scenario.rs/batch_params.xml -scenario ../scenario.rs -id 1 -pinput param_line.txt
    

    param_line.txt文件应该是单行,其中包含您的模型参数,格式如下:R\tP1\tV1, P2\tV2,...其中R是运行号(即1),'\t'是制表符,P1是第一个参数的名称,V1是第一个参数的值等等。

    有关InstanceRunner参数的更多信息,请点击此处:

    https://github.com/Repast/repast.simphony/blob/master/repast.simphony.distributed.batch/src/repast/simphony/batch/InstanceRunner.java

    你会给人们的是顶层目录的压缩副本,模型可以通过执行你的外壳脚本来运行。就像我说的,它并不理想,但它是我能想到的唯一无头解决方案。

     类似资料:
    • 我想创建一个模型jar文件,但不包括源代码。可能吗?默认情况下,Repast模型安装程序包含源代码,但我想对模型的接收者隐藏它。

    • 问题内容: 我们正在尝试在没有互联网的情况下安装几个python软件包。 为此,我们从https://pypi.python.org/pypi/python- keystoneclient/1.7.1 下载了软件包,并将其保存在服务器中。 但是,在安装tar.gz和.whl软件包时,安装过程将寻找要首先安装的相关软件包。由于服务器中没有Internet连接,因此连接失败。 例如:对于python-

    • 我在想怎样才能 1) 如何在没有GUI的情况下直接在Eclipse中运行模型——只需像在Eclipse中运行其他java代码一样运行模型,然后打印出我感兴趣的内容。 2)如何在没有Eclipse的情况下在无头模式下运行它-我计划将我的模型部署在远程服务器中,服务器或我自己的PC可以在一天中的特定时间自动运行模型。 3) 每次更改代码时,我都必须启动一个新的GUI以反映代码的更改。打开GUI至少需要

    • 是否可以从Ecore元模型生成Java代码,而不依赖EMF?生成“干净的代码”,就像它是从UML模型生成的一样。

    • 我是UI自动测试的新手,当只有.apk文件时,我无法弄清楚如何设置UI测试。 在线教程和其他示例没有显示如何使用我的3P. apk文件。我知道在Appium中,只需将文件/目录和名称添加到所需的功能,服务器就会安装它。

    • 我正在使用Transform创建一个windows安装包,使其成为多实例。我的mst文件更新了某些注册表项组件的产品代码和GUID。这是每台机器安装。现在我无法卸载我的产品,如果: 我的mst文件从其原始位置删除 TransformsSecure策略设置为1 安装程序尝试在原始位置查找mst文件,但无法执行此操作,卸载失败。在这两种情况下,我可以做什么让我的产品卸载? 一些额外信息。我看到我的ms