私は現在、学士論文に取り組んでおり、私の目的は、トラフィック シミュレーターである SUMO とネットワーク シミュレーターである OMNeT++ が連携して動作する VANET シミュレーターを作成することです。
これを行っている Veins というプロジェクトがすでに 1 つあることは知っています。
しかし問題は、PHP や Java 以外の言語を知らないことです。Veins を理解しようとすると、Java で理解するよりも時間がかかると思います。
Javaの場合、Java言語のTraCIの代替を目指したtraci4jというライブラリがあるのを見てきました。
達成するための最初の大きなステップは、SUMO と OMNeT++ を Java から実行できるようになることだと思います。これを達成したら、両方のプログラム間のデータ交換に取り掛かります。
ただし、簡単なプログラムから SUMO-gui を実行するためにいくつかの試行を行っていましたが、すべて失敗しました。
public static void main(String[] args) throws IOException, InterruptedException {
String configFile = "test/resources/sumo_maps/Test2/Test2.sumo.cfg";
SumoTraciConnection trial = new SumoTraciConnection(configFile,-1);
trial.runServer(true);
}
しかし、私は以下を受け取り続けます。これをデバッグ モードで実行しようとしましたが、非常に面倒な作業で、結局何も得られませんでした。
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 9, Size: 7
at java.util.ArrayList.rangeCheckForAdd(Unknown Source)
at java.util.ArrayList.add(Unknown Source)
at it.polito.appeal.traci.SumoTraciConnection.runSUMO(SumoTraciConnection.java:477)
at it.polito.appeal.traci.SumoTraciConnection.runServer(SumoTraciConnection.java:267)
at trial.TrialConnection.main(TrialConnection.java:32)
私の考えから何が逃げているのか教えていただければ幸いです。私のアイデアと私の論文を計画する方法に関する他のコメントもいただければ幸いです。
ところで、SUMO 0.25、OMNeT++ 4.6、および Eclipse Mars.2 リリース (4.5.2) を使用しています。
ご清聴ありがとうございました
編集:
例外の発生源を見つけることができました。回答として見つけることができます。ただし、次のエラーが表示され続けます。
エラー StatusLogger log4j2 構成ファイルが見つかりません。デフォルト設定の使用: エラーのみをコンソールに記録します。
とにかく、これはプログラムの実行に影響を与えないようです。しかし、実行ボタンを押さないと動かない!