public class TrafCOD extends EventProducer implements TrafficController, EventListenerInterface
Copyright (c) 2013-2018 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
listeners
BEING_CLONED, NO_STREAM, OFF, RUNNING, SHUTTING_DOWN, STARTING_UP, TRAFFIC_LIGHT_CHANGED, TRAFFICCONTROL_CONFLICT_GROUP_CHANGED, TRAFFICCONTROL_CONTROLLER_CREATED, TRAFFICCONTROL_CONTROLLER_EVALUATING, TRAFFICCONTROL_CONTROLLER_WARNING, TRAFFICCONTROL_SET_TRACING, TRAFFICCONTROL_STATE_CHANGED, TRAFFICCONTROL_TRACED_VARIABLE_UPDATED, TRAFFICCONTROL_VARIABLE_CREATED
FIRST_POSITION, LAST_POSITION
Constructor and Description |
---|
TrafCOD(String controllerName,
URL trafCodURL,
Set<TrafficLight> trafficLights,
Set<TrafficLightSensor> sensors,
DEVSSimulator<Time,Duration,SimTimeDoubleUnit> simulator,
Container display)
Construct a new TrafCOD traffic light controller.
|
Modifier and Type | Method and Description |
---|---|
void |
checkConsistency()
Check the consistency of the traffic control program.
|
InvisibleObjectInterface |
clone(SimulatorInterface.TimeDoubleUnit newSimulator,
Network newNetwork) |
String |
getFullId() |
String |
getId()
Retrieve the Id of the traffic light controller.
|
SimulatorInterface<Time,Duration,SimTimeDoubleUnit> |
getSimulator()
Retrieve the simulator.
|
int |
getStructureNumber()
Retrieve the structure number.
|
void |
notify(EventInterface event) |
void |
traceVariable(String variableName,
int stream,
boolean trace)
Switch tracing of one variable on or off.
|
void |
traceVariablesOfStream(int stream,
boolean trace)
Switch tracing of all variables of a particular traffic stream, or all variables that do not have an associated traffic
stream on or off.
|
void |
updateDetector(String detectorId,
boolean detectingGTU)
Tell the traffic controller that the state of a detector has changed.
|
addListener, addListener, addListener, addListener, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, removeAllListeners, removeAllListeners, removeListener
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addListener, addListener, addListener, addListener, removeListener
public TrafCOD(String controllerName, URL trafCodURL, Set<TrafficLight> trafficLights, Set<TrafficLightSensor> sensors, DEVSSimulator<Time,Duration,SimTimeDoubleUnit> simulator, Container display) throws TrafficControlException, SimRuntimeException
controllerName
- String; name of this TrafCOD traffic light controllertrafCodURL
- URL; the URL of the TrafCOD rulestrafficLights
- Set<TrafficLight>; the traffic lights. The ids of the traffic lights must end with two digits
that match the stream numbers as used in the traffic control programsensors
- Set<TrafficLightSensor>; the traffic sensors. The ids of the traffic sensors must end with three
digits; the first two of those must match the stream and sensor numbers used in the traffic control programsimulator
- DEVSSimulator<Time, Duration, SimTimeDoubleUnit>; the simulation enginedisplay
- Container; if non-null, a controller display is constructed and shown in the supplied containerTrafficControlException
- when a rule cannot be parsedSimRuntimeException
- when scheduling the first evaluation event failspublic void checkConsistency()
public SimulatorInterface<Time,Duration,SimTimeDoubleUnit> getSimulator()
public int getStructureNumber()
public void updateDetector(String detectorId, boolean detectingGTU)
updateDetector
in interface TrafficController
detectorId
- String; id of the detectordetectingGTU
- boolean;public void traceVariablesOfStream(int stream, boolean trace)
stream
- int; the traffic stream number, or TrafCOD.NO_STREAM
to affect all variables that do not have
an associated traffic streamtrace
- boolean; if true; switch on tracing; if false; switch off tracingpublic void traceVariable(String variableName, int stream, boolean trace)
variableName
- String; name of the variablestream
- int; traffic stream of the variable, or TrafCOD.NO_STREAM
to select a variable that does not
have an associated traffic streamtrace
- boolean; if true; switch on tracing; if false; switch off tracingpublic void notify(EventInterface event) throws RemoteException
notify
in interface EventListenerInterface
RemoteException
public String getId()
getId
in interface Identifiable
getId
in interface TrafficController
public String getFullId()
getFullId
in interface InvisibleObjectInterface
public final InvisibleObjectInterface clone(SimulatorInterface.TimeDoubleUnit newSimulator, Network newNetwork) throws NetworkException
clone
in interface InvisibleObjectInterface
NetworkException
Copyright © 2014–2018 Delft University of Technology. All rights reserved.