OTS v1.6.0
OpenTrafficSim version 1.6.0
- Code moved from SVN to github, retaining full version history
- Adapted project to git, updated to Java 11, new folder structure
- GroupId of the project changed to org.opentrafficsim because of deployment
- Rebased the project to be fully modular "under" the ots umbrella project
- Added README.md
- Added official BSD-3 License file
- Updated settings and checkstyle configurations to be self supportive under Eclipse
- Maven pom updated with resource copy and newest plugin versions
- MkDocs manual for OTS for ReadTheDocs included in /docs folder
- Removed the aimsun modules from ots: these connect to a commercial project, and will be made available in a separate project
- Removed multislider project from the standard ots library, and moved relevant code to ots-swing
- Removed ots-build-tools as a module (relevant files are in /config)
- Removed ots-rail, ots-water and ots-multimodal modules (these were empty)
- Removed dependency on java3d (taken over by djutils-draw)
- djunits dependency upgraded to v5.0.1 (available on Maven Central)
- djutils dependency upgraded to v2.0.1 (available on Maven Central)
- sim0mq upgraded to v2.1.0 (available on Maven Central)
- dsol updated to version 4.0.1 (available on Maven Central -- see also below *)
- Dependency on protobuf removed (was only needed for aimsum modules)
- Removed dependency on geotools; also removed shape demo
- Removed dependency on osmosis
- CompressedFiles simplified by taking out dependency on commons-compress
- Compiled resources reside in classes/resources/, so URLResource.getResource("/ replaced with URLResource.getResource("/resources/"
Major open issues in this version:
- Destroy GTU when not registered on a lane. The registration problem still happens in a number of cases, with a fractional position of larger than 1.0. When this happens, An error message is printed, and the GTU is removed from the simulation. Unfortunately, this triggers a new error for the animation that still has to be resolved.
- Sin0MQ PublisherDemo cannot run due to a hard coded file path (ots-sim0mq-swing project)
- Sm0MQPublsihertest does not work because of null pointer to this.publisher (ots-sim0mq-swing project)
- It is expected that these issues will be fixed in version 1.6.1
*) Upgrade to DSOL v4.0.1:
Most important changes as a result of this update concern the simplification of the Time notion for the Simulator and related objects. Instead of generics [AbsoluteTime, RelativeTime, TimeObject], only the generic [RelativeTime] remains. This makes writing the code a lot easier. Since OTS works with absolute Time for the simulation events and internal time notation, the OTSSimulatorInterface has been adapted with a number of easy access methods for using Time objects and requesting the absolute simulation time. The OTSReplication contains the absolute startTime, which is the "zero" value for the absolute time. This means that absolute simulation time is Replication.getStartTimeAbs().plus(relative_simulation_time), and the relative simulation time can always be retrieved from an absolute time
by subtracting replication.getStartTimeAbs(). To make this even easier, the OTSSimulatorInterface has a method getStartTimeAbs() that retrieves
the absolute start time from the corresponding replication.