![]() |
Eclipse SUMO - Simulation of Urban MObility
|
Class for low-level request policy. More...
#include <MSSOTLRequestPolicy.h>
Public Member Functions | |
bool | canRelease (SUMOTime elapsed, bool thresholdPassed, bool pushButtonPressed, const MSPhaseDefinition *stage, int vehicleCount) |
void | clearParameter () |
Clears the parameter map. More... | |
double | computeDesirability (double vehInMeasure, double vehOutMeasure) |
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... | |
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... | |
int | getMinDecisionalPhaseDuration () |
std::string | getName () |
const std::string | getParameter (const std::string &key, const std::string &defaultValue="") const |
Returns the value for a given key. More... | |
const std::map< std::string, std::string > & | getParametersMap () const |
Returns the inner key/value map. More... | |
virtual double | getThetaSensitivity () |
bool | knowsParameter (const std::string &key) const |
Returns whether the parameter is known. More... | |
MSSOTLRequestPolicy (const std::map< std::string, std::string > ¶meters) | |
MSSOTLRequestPolicy (MSSOTLPolicyDesirability *desirabilityAlgorithm) | |
MSSOTLRequestPolicy (MSSOTLPolicyDesirability *desirabilityAlgorithm, const std::map< std::string, std::string > ¶meters) | |
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 &device) const |
write Params in the given outputdevice More... | |
Protected Member Functions | |
virtual void | init () |
Private Attributes | |
MSSOTLPolicyDesirability * | myDesirabilityAlgorithm |
A pointer to the policy desirability object.\nIt'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::map< std::string, std::string > | myMap |
The key->value map. More... | |
std::string | myName |
The name of the policy. More... | |
double | theta_sensitivity |
The sensitivity of this policy. More... | |
Class for low-level request policy.
Definition at line 33 of file MSSOTLRequestPolicy.h.
MSSOTLRequestPolicy::MSSOTLRequestPolicy | ( | const std::map< std::string, std::string > & | parameters | ) |
Definition at line 21 of file MSSOTLRequestPolicy.cpp.
MSSOTLRequestPolicy::MSSOTLRequestPolicy | ( | MSSOTLPolicyDesirability * | desirabilityAlgorithm | ) |
Definition at line 26 of file MSSOTLRequestPolicy.cpp.
References MSSOTLPolicy::getDesirabilityAlgorithm(), and MSSOTLPolicyDesirability::setKeyPrefix().
MSSOTLRequestPolicy::MSSOTLRequestPolicy | ( | MSSOTLPolicyDesirability * | desirabilityAlgorithm, |
const std::map< std::string, std::string > & | parameters | ||
) |
Definition at line 32 of file MSSOTLRequestPolicy.cpp.
References MSSOTLPolicy::getDesirabilityAlgorithm(), and MSSOTLPolicyDesirability::setKeyPrefix().
|
virtual |
Implements MSSOTLPolicy.
Definition at line 40 of file MSSOTLRequestPolicy.cpp.
References getMinDecisionalPhaseDuration().
|
inherited |
Clears the parameter map.
Definition at line 99 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NLHandler::beginEdgeParsing(), GNECrossing::setGenericParametersStr(), GNEConnection::setGenericParametersStr(), GNEVehicleType::setGenericParametersStr(), GNELane::setGenericParametersStr(), GNEPoly::setGenericParametersStr(), GNEStop::setGenericParametersStr(), GNEPOI::setGenericParametersStr(), GNEJunction::setGenericParametersStr(), GNERide::setGenericParametersStr(), GNEPersonTrip::setGenericParametersStr(), GNEWalk::setGenericParametersStr(), GNEEdge::setGenericParametersStr(), GNERoute::setGenericParametersStr(), GNEPerson::setGenericParametersStr(), GNEAdditional::setGenericParametersStr(), and GNEVehicle::setGenericParametersStr().
|
inherited |
Definition at line 112 of file MSSOTLPolicy.cpp.
References MSSOTLPolicyDesirability::computeDesirability(), DBG, MSSOTLPolicy::getName(), MSSOTLPolicy::myDesirabilityAlgorithm, and WRITE_MESSAGE.
|
inherited |
Computes the desirability of this policy, necessary when used in combination with an high level policy.
Definition at line 103 of file MSSOTLPolicy.cpp.
References MSSOTLPolicyDesirability::computeDesirability(), DBG, MSSOTLPolicy::getName(), MSSOTLPolicy::myDesirabilityAlgorithm, and WRITE_MESSAGE.
|
virtualinherited |
Reimplemented in MSSOTLCongestionPolicy.
Definition at line 121 of file MSSOTLPolicy.cpp.
References MSSOTLPolicy::canRelease(), DBG, MSPhaseDefinition::isCommit(), MSPhaseDefinition::isDecisional(), MSPhaseDefinition::isTransient(), time2string(), and WRITE_MESSAGE.
Referenced by MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), and MSSwarmTrafficLightLogic::decideNextPhase().
|
inlineinherited |
Definition at line 121 of file MSSOTLPolicy.h.
References MSSOTLPolicy::myDesirabilityAlgorithm.
Referenced by MSSOTLCongestionPolicy::MSSOTLCongestionPolicy(), MSSOTLMarchingPolicy::MSSOTLMarchingPolicy(), MSSOTLPhasePolicy::MSSOTLPhasePolicy(), MSSOTLPlatoonPolicy::MSSOTLPlatoonPolicy(), 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 81 of file Parameterised.cpp.
References Parameterised::myMap, StringUtils::toDouble(), and WRITE_WARNING.
Referenced by MSDevice_Battery::buildVehicleDevices(), MSSOTLPolicy5DStimulus::getStimCox(), MSSOTLPolicy5DStimulus::getStimCoxExpDispersionIn(), MSSOTLPolicy5DStimulus::getStimCoxExpDispersionOut(), MSSOTLPolicy5DStimulus::getStimCoxExpIn(), MSSOTLPolicy5DStimulus::getStimCoxExpOut(), MSSOTLPolicy5DStimulus::getStimDivisorDispersionIn(), MSSOTLPolicy5DStimulus::getStimDivisorDispersionOut(), MSSOTLPolicy5DStimulus::getStimDivisorIn(), MSSOTLPolicy5DStimulus::getStimDivisorOut(), MSSOTLPolicy5DStimulus::getStimOffsetDispersionIn(), MSSOTLPolicy5DStimulus::getStimOffsetDispersionOut(), MSSOTLPolicy5DStimulus::getStimOffsetIn(), MSSOTLPolicy5DStimulus::getStimOffsetOut(), and MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus().
|
inline |
Definition at line 45 of file MSSOTLRequestPolicy.h.
References Parameterised::getParameter(), and StringUtils::toInt().
Referenced by canRelease().
|
inlineinherited |
Definition at line 118 of file MSSOTLPolicy.h.
References MSSOTLPolicy::myName.
Referenced by MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicy::computeDesirability(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSSOTLPolicyBasedTrafficLightLogic::MSSOTLPolicyBasedTrafficLightLogic(), 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 71 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NBEdge::addRestrictedLane(), FareModul::addStop(), NBEdge::append(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), libsumo::Simulation::findIntermodalRoute(), MSSwarmTrafficLightLogic::getBetaNo(), MSSwarmTrafficLightLogic::getBetaSp(), MSDevice::getBoolParam(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSSwarmTrafficLightLogic::getChangePlanProbability(), GNELane::getColorValue(), GUILane::getColorValue(), MSSOTLTrafficLightLogic::getDecayConstant(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice::getFloatParam(), MSSwarmTrafficLightLogic::getForgettingCox(), MSSwarmTrafficLightLogic::getGammaNo(), MSSwarmTrafficLightLogic::getGammaSp(), MSTLLogicControl::WAUTSwitchProcedure::getGSPValue(), MSSOTLTrafficLightLogic::getInputSensorsLength(), MSSwarmTrafficLightLogic::getLearningCox(), MSSwarmTrafficLightLogic::getMaxCongestionDuration(), MSDevice_SSM::getMeasuresAndThresholds(), getMinDecisionalPhaseDuration(), MSSOTLTrafficLightLogic::getMode(), GUIBaseVehicle::getOptionalName(), MSDevice_ToC::getOutputFilename(), MSDevice_SSM::getOutputFilename(), MSSOTLTrafficLightLogic::getOutputSensorsLength(), libsumo::Route::getParameter(), libsumo::Polygon::getParameter(), libsumo::POI::getParameter(), libsumo::Person::getParameter(), libsumo::TrafficLight::getParameter(), libsumo::Edge::getParameter(), libsumo::Lane::getParameter(), libsumo::VehicleType::getParameter(), libsumo::Vehicle::getParameter(), libsumo::Simulation::getParameter(), MSSwarmTrafficLightLogic::getPheroMaxVal(), MSSwarmTrafficLightLogic::getPoliciesParam(), MSSwarmTrafficLightLogic::getReinforcementMode(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchAreaNo(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchBereichDef(), MSDevice::getStringParam(), MSSwarmTrafficLightLogic::getThetaInit(), MSSwarmTrafficLightLogic::getThetaMax(), MSSwarmTrafficLightLogic::getThetaMin(), MSSOTLTrafficLightLogic::getThreshold(), MSTriggeredRerouter::getWeight(), PushButtonLogic::init(), MSSOTLPhasePolicy::init(), SigmoidLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), GNEVehicleType::initRailVisualizationParameters(), MSVehicleType::initRailVisualizationParameters(), MSSOTLTrafficLightLogic::isDecayThresholdActivated(), MSSOTLTrafficLightLogic::isPushButtonPressed(), libsumo::Helper::moveToXYMap(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSDelayBasedTrafficLightLogic::MSDelayBasedTrafficLightLogic(), MSSOTLPolicy::MSSOTLPolicy(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), GNEVehicleType::overwriteVType(), MSDevice_SSM::requestsTrajectories(), NBEdgeCont::splitAt(), MSDevice_SSM::useGeoCoords(), NWWriter_DlrNavteq::writeLinksUnsplitted(), and NWWriter_OpenDrive::writeRoadObjects().
|
inherited |
Returns the inner key/value map.
Definition at line 105 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NIImporter_SUMO::_loadNetwork(), NBEdge::addLane(), GUIParameterTableWindow::closeBuilding(), NLHandler::closeEdge(), NBTrafficLightDefinition::compute(), GNEVehicleType::getGenericParameters(), GNELane::getGenericParameters(), GNEPoly::getGenericParameters(), GNEStop::getGenericParameters(), GNEPOI::getGenericParameters(), GNEJunction::getGenericParameters(), GNERide::getGenericParameters(), GNEPersonTrip::getGenericParameters(), GNEWalk::getGenericParameters(), GNEEdge::getGenericParameters(), GNERoute::getGenericParameters(), GNEPerson::getGenericParameters(), GNEAdditional::getGenericParameters(), GNEVehicle::getGenericParameters(), GNEVehicleType::getGenericParametersStr(), GNELane::getGenericParametersStr(), GNEPoly::getGenericParametersStr(), GNEStop::getGenericParametersStr(), GNEPOI::getGenericParametersStr(), GNEJunction::getGenericParametersStr(), GNERide::getGenericParametersStr(), GNEPersonTrip::getGenericParametersStr(), GNEWalk::getGenericParametersStr(), GNEEdge::getGenericParametersStr(), GNERoute::getGenericParametersStr(), GNEPerson::getGenericParametersStr(), GNEAdditional::getGenericParametersStr(), GNEVehicle::getGenericParametersStr(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIPolygon::getParameterWindow(), GUIJunctionWrapper::getParameterWindow(), GUIPointOfInterest::getParameterWindow(), GUILane::getParameterWindow(), GUIPerson::getTypeParameterWindow(), GUIContainer::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), GUIMEVehicle::getTypeParameterWindow(), NIImporter_OpenStreetMap::insertEdge(), NBLoadedSUMOTLDef::NBLoadedSUMOTLDef(), GUIParameterTableWindow::numParams(), GNEVehicleType::overwriteVType(), and TraCIServerAPI_TrafficLight::processGet().
|
inlinevirtualinherited |
Definition at line 112 of file MSSOTLPolicy.h.
References MSSOTLPolicy::theta_sensitivity.
Referenced by MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), and MSSwarmTrafficLightLogic::updateSensitivities().
|
inlineprotectedvirtualinherited |
Reimplemented in MSSOTLPlatoonPolicy, MSSOTLMarchingPolicy, and MSSOTLPhasePolicy.
Definition at line 83 of file MSSOTLPolicy.h.
|
inherited |
Returns whether the parameter is known.
[in] | key | The key to ask for |
Definition at line 65 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NBEdge::append(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice::getBoolParam(), NWWriter_DlrNavteq::getBrunnelType(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice::getFloatParam(), MSDevice_SSM::getMeasuresAndThresholds(), MSDevice_ToC::getOutputFilename(), MSDevice_SSM::getOutputFilename(), libsumo::Simulation::getParameter(), MSDevice::getStringParam(), MSTriggeredRerouter::getWeight(), GNEVehicleType::initRailVisualizationParameters(), MSVehicleType::initRailVisualizationParameters(), GNEVehicleType::overwriteVType(), MSDevice_SSM::requestsTrajectories(), MSDevice_SSM::useGeoCoords(), and NWWriter_OpenDrive::writeRoadObjects().
|
inherited |
Sets a parameter.
[in] | key | The parameter's name |
[in] | value | The parameter's value |
Definition at line 45 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NLHandler::addDistrict(), SUMORouteHandler::addParam(), ShapeHandler::addPOI(), NBEdge::append(), NIImporter_OpenStreetMap::insertNodeChecking(), NBNodeCont::joinNodeCluster(), NBEdge::Lane::Lane(), NIImporter_OpenDrive::loadNetwork(), NIXMLTrafficLightsHandler::myStartElement(), MSStateHandler::myStartElement(), ShapeHandler::myStartElement(), NIXMLNodesHandler::myStartElement(), NIImporter_MATSim::EdgesHandler::myStartElement(), GNEAdditionalHandler::parseGenericParameter(), GNEVehicleType::setAttribute(), GNEConnection::setGenericParametersStr(), GNEVehicleType::setGenericParametersStr(), GNELane::setGenericParametersStr(), GNEPoly::setGenericParametersStr(), GNEStop::setGenericParametersStr(), GNEPOI::setGenericParametersStr(), GNEJunction::setGenericParametersStr(), GNERide::setGenericParametersStr(), GNEPersonTrip::setGenericParametersStr(), GNEWalk::setGenericParametersStr(), GNEEdge::setGenericParametersStr(), GNERoute::setGenericParametersStr(), GNEPerson::setGenericParametersStr(), GNEAdditional::setGenericParametersStr(), GNEVehicle::setGenericParametersStr(), NIImporter_OpenDrive::setLaneAttributes(), libsumo::Route::setParameter(), libsumo::Polygon::setParameter(), libsumo::POI::setParameter(), libsumo::TrafficLight::setParameter(), libsumo::Edge::setParameter(), and libsumo::Lane::setParameter().
|
inlinevirtualinherited |
Definition at line 115 of file MSSOTLPolicy.h.
References MSSOTLPolicy::theta_sensitivity.
Referenced by MSSwarmTrafficLightLogic::updateSensitivities().
|
inherited |
Removes a parameter.
[in] | key | The parameter's name |
Definition at line 51 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by GNEVehicleType::setAttribute().
|
inherited |
Adds or updates all given parameters from the map.
[in] | mapArg | The keys/values to insert |
Definition at line 57 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NIImporter_SUMO::_loadNetwork(), PCLoaderOSM::addPOI(), PCLoaderOSM::addPolygon(), NLHandler::closeEdge(), NLJunctionControlBuilder::closeJunction(), NBTrafficLightDefinition::compute(), NIImporter_OpenStreetMap::insertEdge(), and NBLoadedSUMOTLDef::NBLoadedSUMOTLDef().
|
inherited |
write Params in the given outputdevice
Definition at line 111 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 ROVehicle::saveAsXML(), ROPerson::saveAsXML(), MEVehicle::saveState(), MSVehicle::saveState(), SUMOVTypeParameter::write(), GNEAdditional::writeAdditional(), NWWriter_SUMO::writeConnection(), GNERoute::writeDemandElement(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeJunction(), NWWriter_SUMO::writeLane(), NWWriter_XML::writeNodes(), MSDevice_Vehroutes::writeOutput(), PointOfInterest::writeXML(), and SUMOPolygon::writeXML().
|
privateinherited |
A pointer to the policy desirability object.\nIt'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 80 of file MSSOTLPolicy.h.
Referenced by MSSOTLPolicy::computeDesirability(), and MSSOTLPolicy::getDesirabilityAlgorithm().
|
privateinherited |
The key->value map.
Definition at line 103 of file Parameterised.h.
Referenced by Parameterised::clearParameter(), Parameterised::getDouble(), Parameterised::getParameter(), Parameterised::getParametersMap(), Parameterised::knowsParameter(), Parameterised::setParameter(), Parameterised::unsetParameter(), Parameterised::updateParameter(), and Parameterised::writeParams().
|
privateinherited |
The name of the policy.
Definition at line 75 of file MSSOTLPolicy.h.
Referenced by MSSOTLPolicy::getName().
|
privateinherited |
The sensitivity of this policy.
Definition at line 71 of file MSSOTLPolicy.h.
Referenced by MSSOTLPolicy::getThetaSensitivity(), MSSOTLPolicy::MSSOTLPolicy(), and MSSOTLPolicy::setThetaSensitivity().