CHAPTER 4. CODING PROCESS
21
The Road gets a new property primary, and the accessors isPrimary and setPri-
mary. The methods load and saveSelf are changed to load/save this property.
To be able to give this property to a road in the editor, this was added in Ed-
itRoadPanel. To see this property in the simulator, this support is also added in
SimRoadPanel.
This property of roads is tested by creating a map in the editor with primary
roads and secondary roads. Those values were checked in the simulator and cor-
responded to the created map in the editor.
4.3.4 Traffic light with clearance time
Between 2 configurations of trafficlights of a certain junction, all trafficlights of
that junction have to be red. During this period, all roadusers have the time to
leave the junction.
This is implemented by adding allRed in Node. This Boolean has to be used
by traffic light controllers. When a configuration of a traffic light controller has
finished, it has to set this variable to true and the next cycle to f alse.
In Junction, the method getSignConfigs is modified. If allRed is true it has to
return an empty sign vector, else it can return the possible sign configurations.
switchTrafficLights of SignController calls getSignConfigs which will return no
possible configurations if allRed is true. In this case all trafficlights are set to red.
4.3.5 Traffic light controllers of Carlos Gershenson
In the paper Self-organizing Traffic Lights, Carlos Gershenson presents the fol-
lowing control methods:
• Marching Control
• Optim Control