The main components of a Traffix model are the following: road network, traffic objects (traffic lights, etc.), drivers and vehicles.
Users can build arbitrary road networks - each road can have any number of lanes - ranging from the size of a single junction to the size of a city district. Roads can be described either in a text file using a simple syntax, or in an ESRI shape file used to describe real maps.
The traffic lights can also be described in a file using a simple syntax, which determines the position and the working order of the lamps.
The road network can be populated with vehicles belonging to different types. Each type has its own physical attributes (length, width, acceleration, maximal speed, etc.).
Drivers can be less or more aggressive while driving through a junction, can be inclined or not inclined to change lanes, can ignore the yellow traffic lights, and advanced users can define countless new driver behaviors. One can describe with a simple syntax when a car should start its journey; from which point to which destination. The default behavior of the drivers is to follow the shortest route from their starting point to their destination with the minimal number of lane changes.
To create a new traffic simulation it's enough to inherit a new model class from the TrafficModel class and define the source files of the road network, the traffic lights and the cars in this new class. This way creating a simple simulation takes only a few minutes.
Advanced users can define new driver- and vehicle classes by extending the predefined classes, or they can overwrite any part of the program, for example customize the display or introduce new traffic objects (traffic signs, etc.). Thus they can study diverse traffic situations and driver behaviors.
The results of the experiments carried out using the framework correspond to the classic theories concerning the relationships between the speed of the traffic, the density and the flow.
This means that Traffix enables modelers with rudimentary Java skills to create intricate traffic scenarios, define diverse driver behaviors and implement vehicles with different characteristics. And the framework can be used to make experiments with diverse lane changing, following distance keeping, path finding etc. behaviors.
Videos
- Abstract road network
video