![]() |
SUMO - Simulation of Urban MObility
|
Class for a low-level policy. More...
#include <MSSOTLPolicy.h>
Public Member Functions | |
virtual bool | canRelease (SUMOTime elapsed, bool thresholdPassed, bool pushButtonPressed, const MSPhaseDefinition *stage, int vehicleCount)=0 |
void | clearParameter () |
Clears the parameter map. More... | |
double | computeDesirability (double vehInMeasure, double vehOutMeasure, double vehInDispersionMeasure, double vehOutDispersionMeasure) |
Computes the desirability of this policy, necessary when used in combination with an high level policy. More... | |
double | computeDesirability (double vehInMeasure, double vehOutMeasure) |
virtual int | decideNextPhase (SUMOTime elapsed, const MSPhaseDefinition *stage, int currentPhaseIndex, int phaseMaxCTS, bool thresholdPassed, bool pushButtonPressed, int vehicleCount) |
MSSOTLPolicyDesirability * | getDesirabilityAlgorithm () |
double | getDouble (const std::string &key, const double defaultValue) const |
Returns the value for a given key converted to a double. More... | |
const std::map< std::string, std::string > & | getMap () const |
Returns the inner key/value map. More... | |
std::string | getName () |
const std::string | getParameter (const std::string &key, const std::string &defaultValue="") const |
Returns the value for a given key. More... | |
virtual double | getThetaSensitivity () |
bool | knowsParameter (const std::string &key) const |
Returns whether the parameter is known. More... | |
MSSOTLPolicy (std::string name, const std::map< std::string, std::string > ¶meters) | |
Simple constructor. More... | |
MSSOTLPolicy (std::string name, MSSOTLPolicyDesirability *desirabilityAlgorithm) | |
Constructor when the policy is a low-level policy used by an high level policy. More... | |
MSSOTLPolicy (std::string name, MSSOTLPolicyDesirability *desirabilityAlgorithm, const std::map< std::string, std::string > ¶meters) | |
Constructor when the policy is a low-level policy used by an high level policy. More... | |
void | setParameter (const std::string &key, const std::string &value) |
Sets a parameter. More... | |
virtual void | setThetaSensitivity (double val) |
void | unsetParameter (const std::string &key) |
Removes a parameter. More... | |
void | updateParameter (const std::map< std::string, std::string > &mapArg) |
Adds or updates all given parameters from the map. More... | |
void | writeParams (OutputDevice &out) const |
virtual | ~MSSOTLPolicy () |
Protected Member Functions | |
virtual void | init () |
Private Attributes | |
MSSOTLPolicyDesirability * | myDesirabilityAlgorithm |
A pointer to the policy desirability object.'s an optional component related to the computeDesirability() method and it's necessary only when the policy is used in combination with an high level policy. More... | |
std::string | myName |
The name of the policy. More... | |
double | theta_sensitivity |
The sensitivity of this policy. More... | |
Class for a low-level policy.
Definition at line 71 of file MSSOTLPolicy.h.
MSSOTLPolicy::MSSOTLPolicy | ( | std::string | name, |
const std::map< std::string, std::string > & | parameters | ||
) |
Simple constructor.
[in] | name | The name of the policy |
[in] | parameters | Parameters defined for the policy |
Definition at line 81 of file MSSOTLPolicy.cpp.
References theta_sensitivity.
MSSOTLPolicy::MSSOTLPolicy | ( | std::string | name, |
MSSOTLPolicyDesirability * | desirabilityAlgorithm | ||
) |
Constructor when the policy is a low-level policy used by an high level policy.
[in] | name | The name of the policy |
[in] | desirabilityAlgorithm | The desirability algorithm to be used for this policy |
Definition at line 87 of file MSSOTLPolicy.cpp.
References theta_sensitivity.
MSSOTLPolicy::MSSOTLPolicy | ( | std::string | name, |
MSSOTLPolicyDesirability * | desirabilityAlgorithm, | ||
const std::map< std::string, std::string > & | parameters | ||
) |
Constructor when the policy is a low-level policy used by an high level policy.
[in] | name | The name of the policy |
[in] | desirabilityAlgorithm | The desirability algorithm to be used for this policy |
[in] | parameters | Parameters defined for the policy |
Definition at line 94 of file MSSOTLPolicy.cpp.
References TplConvert::_2double(), Parameterised::getParameter(), and theta_sensitivity.
|
virtual |
Definition at line 102 of file MSSOTLPolicy.cpp.
|
pure virtual |
Implemented in MSSOTLCongestionPolicy, MSSOTLPlatoonPolicy, MSSOTLMarchingPolicy, MSSOTLPhasePolicy, and MSSOTLRequestPolicy.
Referenced by MSDeterministicHiLevelTrafficLightLogic::canRelease(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSSwarmTrafficLightLogic::canRelease(), and decideNextPhase().
|
inherited |
Clears the parameter map.
Definition at line 97 of file Parameterised.cpp.
References Parameterised::myMap.
double MSSOTLPolicy::computeDesirability | ( | double | vehInMeasure, |
double | vehOutMeasure, | ||
double | vehInDispersionMeasure, | ||
double | vehOutDispersionMeasure | ||
) |
Computes the desirability of this policy, necessary when used in combination with an high level policy.
Definition at line 105 of file MSSOTLPolicy.cpp.
References MSSOTLPolicyDesirability::computeDesirability(), DBG, getName(), myDesirabilityAlgorithm, and WRITE_MESSAGE.
double MSSOTLPolicy::computeDesirability | ( | double | vehInMeasure, |
double | vehOutMeasure | ||
) |
Definition at line 114 of file MSSOTLPolicy.cpp.
References MSSOTLPolicyDesirability::computeDesirability(), DBG, getName(), myDesirabilityAlgorithm, and WRITE_MESSAGE.
|
virtual |
Reimplemented in MSSOTLCongestionPolicy.
Definition at line 123 of file MSSOTLPolicy.cpp.
References canRelease(), DBG, MSPhaseDefinition::isCommit(), MSPhaseDefinition::isDecisional(), MSPhaseDefinition::isTransient(), time2string(), and WRITE_MESSAGE.
Referenced by MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), and MSSwarmTrafficLightLogic::decideNextPhase().
|
inline |
Definition at line 127 of file MSSOTLPolicy.h.
Referenced by MSSOTLCongestionPolicy::MSSOTLCongestionPolicy(), MSSOTLMarchingPolicy::MSSOTLMarchingPolicy(), MSSOTLPhasePolicy::MSSOTLPhasePolicy(), MSSOTLPlatoonPolicy::MSSOTLPlatoonPolicy(), MSSOTLRequestPolicy::MSSOTLRequestPolicy(), and MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic().
|
inherited |
Returns the value for a given key converted to a double.
[in] | key | The key to ask for |
[in] | defaultValue | The default value to return if no value is stored under the key |
Definition at line 87 of file Parameterised.cpp.
References TplConvert::_2double(), and Parameterised::myMap.
Referenced by MSDevice_Battery::buildVehicleDevices().
|
inlineinherited |
Returns the inner key/value map.
Definition at line 117 of file Parameterised.h.
References Parameterised::myMap, and Parameterised::writeParams().
Referenced by NIImporter_SUMO::_loadNetwork(), NBEdge::addLane(), GUIParameterTableWindow::closeBuilding(), NBTrafficLightDefinition::compute(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIPolygon::getParameterWindow(), GUIJunctionWrapper::getParameterWindow(), GUIPointOfInterest::getParameterWindow(), GUIContainer::getTypeParameterWindow(), GUIPerson::getTypeParameterWindow(), GUIMEVehicle::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), NIImporter_OpenStreetMap::insertEdge(), GUIParameterTableWindow::numParams(), TraCIServerAPI_TrafficLight::processGet(), and ROPerson::saveAsXML().
|
inline |
Definition at line 124 of file MSSOTLPolicy.h.
Referenced by MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), computeDesirability(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), and MSSwarmTrafficLightLogic::updateSensitivities().
|
inherited |
Returns the value for a given key.
[in] | key | The key to ask for |
[in] | defaultValue | The default value to return if no value is stored under the key |
Definition at line 77 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by MSTLLogicControl::WAUTSwitchProcedure_Stretch::adaptLogic(), NBEdge::addRestrictedLane(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice::equippedByDefaultAssignmentOptions(), MSSOTLTrafficLightLogic::getDecayConstant(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSTLLogicControl::WAUTSwitchProcedure::getGSPValue(), MSSOTLTrafficLightLogic::getInputSensorsLength(), MSDevice_SSM::getMeasuresAndThresholds(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), MSSOTLRequestTrafficLightLogic::getMinDecisionalPhaseDuration(), MSSOTLTrafficLightLogic::getMode(), MSDevice_SSM::getOutputFilename(), MSSOTLTrafficLightLogic::getOutputSensorsLength(), libsumo::Edge::getParameter(), libsumo::Polygon::getParameter(), libsumo::Route::getParameter(), libsumo::POI::getParameter(), libsumo::TrafficLight::getParameter(), libsumo::VehicleType::getParameter(), libsumo::Person::getParameter(), libsumo::Lane::getParameter(), libsumo::Vehicle::getParameter(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchAreaNo(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchBereichDef(), MSSOTLTrafficLightLogic::getThreshold(), MSTriggeredRerouter::getWeight(), PushButtonLogic::init(), MSSOTLPhasePolicy::init(), SigmoidLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), NIImporter_OpenStreetMap::insertEdge(), MSSOTLTrafficLightLogic::isDecayThresholdActivated(), MSSOTLTrafficLightLogic::isPushButtonPressed(), libsumo::Helper::moveToXYMap(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSDelayBasedTrafficLightLogic::MSDelayBasedTrafficLightLogic(), MSSOTLPolicy(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), MSSOTLPolicyDesirability::readParameter(), MSDevice_SSM::requestsTrajectories(), NBEdgeCont::splitAt(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::stretchLogic(), MSDevice_SSM::useGeoCoords(), and NWWriter_DlrNavteq::writeLinksUnsplitted().
|
inlinevirtual |
Definition at line 118 of file MSSOTLPolicy.h.
Referenced by MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), and MSSwarmTrafficLightLogic::updateSensitivities().
|
inlineprotectedvirtual |
Reimplemented in MSSOTLPlatoonPolicy, MSSOTLMarchingPolicy, and MSSOTLPhasePolicy.
Definition at line 89 of file MSSOTLPolicy.h.
|
inherited |
Returns whether the parameter is known.
[in] | key | The key to ask for |
Definition at line 71 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NBEdge::append(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice::equippedByDefaultAssignmentOptions(), NWWriter_DlrNavteq::getBrunnelType(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice_SSM::getMeasuresAndThresholds(), MSDevice_SSM::getOutputFilename(), MSTriggeredRerouter::getWeight(), MSDevice_SSM::requestsTrajectories(), and MSDevice_SSM::useGeoCoords().
|
inherited |
Sets a parameter.
[in] | key | The parameter's name |
[in] | value | The parameter's value |
Definition at line 51 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by SUMORouteHandler::addParam(), NLHandler::addParam(), ShapeHandler::addPOI(), NBEdge::Lane::Lane(), NIImporter_OpenDrive::loadNetwork(), NIXMLTrafficLightsHandler::myStartElement(), MSStateHandler::myStartElement(), ShapeHandler::myStartElement(), NIXMLNodesHandler::myStartElement(), NIImporter_MATSim::EdgesHandler::myStartElement(), NIImporter_OpenStreetMap::EdgesHandler::myStartElement(), NBNodeCont::remapIDs(), libsumo::Edge::setParameter(), libsumo::Route::setParameter(), libsumo::Polygon::setParameter(), libsumo::POI::setParameter(), libsumo::TrafficLight::setParameter(), and libsumo::Lane::setParameter().
|
inlinevirtual |
Definition at line 121 of file MSSOTLPolicy.h.
Referenced by MSSwarmTrafficLightLogic::updateSensitivities().
|
inherited |
Removes a parameter.
[in] | key | The parameter's name |
Definition at line 57 of file Parameterised.cpp.
References Parameterised::myMap.
|
inherited |
Adds or updates all given parameters from the map.
[in] | mapArg | The keys/values to insert |
Definition at line 63 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NIImporter_SUMO::_loadNetwork(), PCLoaderOSM::addPOI(), PCLoaderOSM::addPolygon(), NLJunctionControlBuilder::closeJunction(), NBTrafficLightDefinition::compute(), and NIImporter_OpenStreetMap::insertEdge().
|
inherited |
Definition at line 102 of file Parameterised.cpp.
References OutputDevice::closeTag(), StringUtils::escapeXML(), Parameterised::myMap, OutputDevice::openTag(), SUMO_ATTR_KEY, SUMO_ATTR_VALUE, SUMO_TAG_PARAM, and OutputDevice::writeAttr().
Referenced by Parameterised::getMap(), ROVehicle::saveAsXML(), MEVehicle::saveState(), MSVehicle::saveState(), SUMOVTypeParameter::write(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeJunction(), NWWriter_SUMO::writeLane(), NWWriter_XML::writeNodes(), MSDevice_Vehroutes::writeOutput(), SUMOPolygon::writeXML(), and PointOfInterest::writeXML().
|
private |
A pointer to the policy desirability object.'s an optional component related to the computeDesirability() method and it's necessary only when the policy is used in combination with an high level policy.
Definition at line 86 of file MSSOTLPolicy.h.
Referenced by computeDesirability().
|
private |
The name of the policy.
Definition at line 81 of file MSSOTLPolicy.h.
|
private |
The sensitivity of this policy.
Definition at line 77 of file MSSOTLPolicy.h.
Referenced by MSSOTLPolicy().