TraaS

TraaS#

Caution

TraaS 不再维护。请改用 java bindings for libtracilibsumo

TraaS 是一个用于使用 TraCI 的 java 库。名称 TraaS 代表 TraCI as a Service。它由 Mario Krumnow 开发,并使用了现已停止开发的 Enrico Gueli 的 TraCI4J 项目的代码。从 1.0 版本开始,TraaS 在 SUMO 代码库的 <SUMO_HOME>/tools/contributed/traas 中进行维护。

TraaS 提供了以下三个部分,将在下文中解释。

  • 一个 java traci 客户端,可用于直接编写 TraCI 脚本
  • 一个 Web 服务,可用于以语言无关的方式将多个 Web 服务客户端连接到正在运行的 TraCI 实例。
  • 一个 Web 服务客户端

与原生 TraCI 多客户端支持 相比,TraaS 不需要预先知道客户端的数量。它也不能对客户端命令执行施加任何顺序,这使得客户端同步需要在用户端进行管理。

Java 客户端#

该客户端提供的函数名称和签名与 python 客户端 相同。一个主要区别是,方法返回值必须在调用代码中进行强制类型转换:

double timeSeconds = (double)conn.do_job_get(Simulation.getTime());

示例#

示例必须使用以下命令编译:

 javac -cp sumo/bin/TraaS.jar ExampleName.java

编译后,可以使用以下命令运行:

 java -cp .:sumo/bin/TraaS.jar ExampleName

插入车辆并访问感应线圈数据#

<SUMO_HOME>/tests/complex/traas/simple/data/Main.java

连接多个客户端#

<SUMO_HOME>/tests/complex/traas/multiclient/data/MultiClient1.java

<SUMO_HOME>/tests/complex/traas/multiclient/data/MultiClient2.java

订阅变量#

<SUMO_HOME>/tests/complex/traas/subscription/data/Subscription.java

在模拟运行期间生成截图#

更改 TLS 程序#

获取 CO2 排放量#

Webservice#

Webservice 客户端#

文档#

TraaS 的 JavaDoc 可以在 https://sumo.dlr.de/javadoc/traas/ 找到。

构建 TraaS#

文件 <SUMO_HOME>/bin/TraaS.jar 包含在每个 SUMO 版本中。要在本地构建 TraaS,需要 Apache Maven。要构建,只需在 traas 文件夹中调用 mvn package,或者在配置了 cmake 构建的情况下调用 make traas。