Here are the sub-projects of the Simulation project and how they relate to each other:
Be sure to respect the "dependency tree" when implementing new features, since maven projects cannot have cyclic dependencies.
- Environment: Has a representation for Worlds in which the cars can drive. Those worlds can be loaded from OSM maps. The World contains roads, buildings and other static objects.
- EESimulator: Contains the Discrete Event Simulator that handles the communication between EE-Components (through event based messages). "EE" comes from "Electrical & Electronic Systems". The sub-project defines the interfaces for such components and also contains implementations for Buses, Actuators, Sensors and Bridges (all EE-Components).
- Vehicle: Contains the description of a Vehicle, its properties, its powertrain and the physics models used to simulate them.
- EEComponents: Contains the implementations of additional EE-Components such as the Navigation component and Java Autopilots.
- Simulator: Contains the main simulation container that holds a World and multiple Vehicles (and other simulation objects).