![]() |
Eclipse 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... | |
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... | |
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 &device) const |
write Params in the given outputdevice More... | |
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 65 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 79 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 85 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 92 of file MSSOTLPolicy.cpp.
References Parameterised::getParameter(), theta_sensitivity, and StringUtils::toDouble().
|
virtual |
Definition at line 100 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 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().
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 103 of file MSSOTLPolicy.cpp.
References MSSOTLPolicyDesirability::computeDesirability(), DBG, getName(), myDesirabilityAlgorithm, and WRITE_MESSAGE.
double MSSOTLPolicy::computeDesirability | ( | double | vehInMeasure, |
double | vehOutMeasure | ||
) |
Definition at line 112 of file MSSOTLPolicy.cpp.
References MSSOTLPolicyDesirability::computeDesirability(), DBG, getName(), myDesirabilityAlgorithm, and WRITE_MESSAGE.
|
virtual |
Reimplemented in MSSOTLCongestionPolicy.
Definition at line 121 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 121 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 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 118 of file MSSOTLPolicy.h.
Referenced by MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), 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 MSTLLogicControl::WAUTSwitchProcedure_Stretch::adaptLogic(), NBEdge::addRestrictedLane(), FareModul::addStop(), NBEdge::append(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice_Bluelight::buildVehicleDevices(), libsumo::Simulation::findIntermodalRoute(), MSDevice::getBoolParam(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), GNELane::getColorValue(), GUILane::getColorValue(), MSSOTLTrafficLightLogic::getDecayConstant(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice::getFloatParam(), MSTLLogicControl::WAUTSwitchProcedure::getGSPValue(), MSSOTLTrafficLightLogic::getInputSensorsLength(), MSDevice_SSM::getMeasuresAndThresholds(), MSSOTLRequestPolicy::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(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchAreaNo(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchBereichDef(), MSDevice::getStringParam(), 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(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), GNEVehicleType::overwriteVType(), MSDevice_SSM::requestsTrajectories(), NBEdgeCont::splitAt(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::stretchLogic(), 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().
|
inlinevirtual |
Definition at line 112 of file MSSOTLPolicy.h.
Referenced by MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), and MSSwarmTrafficLightLogic::updateSensitivities().
|
inlineprotectedvirtual |
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_ArcView::load(), NIImporter_OpenDrive::loadNetwork(), NIXMLTrafficLightsHandler::myStartElement(), MSStateHandler::myStartElement(), ShapeHandler::myStartElement(), NIXMLNodesHandler::myStartElement(), NIImporter_MATSim::EdgesHandler::myStartElement(), NIImporter_OpenStreetMap::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::TrafficLight::setParameter(), libsumo::POI::setParameter(), libsumo::Edge::setParameter(), and libsumo::Lane::setParameter().
|
inlinevirtual |
Definition at line 115 of file MSSOTLPolicy.h.
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().
|
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 80 of file MSSOTLPolicy.h.
Referenced by computeDesirability().
|
private |
The name of the policy.
Definition at line 75 of file MSSOTLPolicy.h.
|
private |
The sensitivity of this policy.
Definition at line 71 of file MSSOTLPolicy.h.
Referenced by MSSOTLPolicy().