![]() |
SUMO - Simulation of Urban MObility
|
Class for low-level phase policy. More...
#include <MSSOTLPhasePolicy.h>
Public Member Functions | |
void | addParameter (const std::string &key, const std::string &value) |
Adds a parameter. More... | |
void | addParameter (const std::map< std::string, std::string > &mapArg) |
Adds all given parameter. More... | |
void | addParameter (const Parameterised &p) |
Adds all given parameter. More... | |
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 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... | |
MSSOTLPhasePolicy (const std::map< std::string, std::string > ¶meters) | |
MSSOTLPhasePolicy (MSSOTLPolicyDesirability *desirabilityAlgorithm) | |
MSSOTLPhasePolicy (MSSOTLPolicyDesirability *desirabilityAlgorithm, const std::map< std::string, std::string > ¶meters) | |
virtual void | setThetaSensitivity (double val) |
void | writeParams (OutputDevice &out) const |
Protected Member Functions | |
void | init (std::string prefix, const Parameterised *parameterised) |
void | init () |
void | init (std::string prefix, const Parameterised *parameterised) |
bool | pushButtonLogic (SUMOTime elapsed, bool pushButtonPressed, const MSPhaseDefinition *stage) |
bool | sigmoidLogic (SUMOTime elapsed, const MSPhaseDefinition *stage, int vehicleCount) |
Protected Attributes | |
double | m_k |
std::string | m_prefix |
std::string | m_prefix |
double | m_pushButtonScaleFactor |
bool | m_useSigmoid |
bool | m_useVehicleTypesWeights |
Class for low-level phase policy.
Definition at line 41 of file MSSOTLPhasePolicy.h.
MSSOTLPhasePolicy::MSSOTLPhasePolicy | ( | const std::map< std::string, std::string > & | parameters | ) |
Definition at line 27 of file MSSOTLPhasePolicy.cpp.
References init().
MSSOTLPhasePolicy::MSSOTLPhasePolicy | ( | MSSOTLPolicyDesirability * | desirabilityAlgorithm | ) |
Definition at line 32 of file MSSOTLPhasePolicy.cpp.
References MSSOTLPolicy::getDesirabilityAlgorithm(), init(), and MSSOTLPolicyDesirability::setKeyPrefix().
MSSOTLPhasePolicy::MSSOTLPhasePolicy | ( | MSSOTLPolicyDesirability * | desirabilityAlgorithm, |
const std::map< std::string, std::string > & | parameters | ||
) |
Definition at line 38 of file MSSOTLPhasePolicy.cpp.
References MSSOTLPolicy::getDesirabilityAlgorithm(), init(), and MSSOTLPolicyDesirability::setKeyPrefix().
|
inherited |
Adds 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(), TraCI_POI::addParameter(), PCLoaderOSM::addPOI(), PCLoaderOSM::addPolygon(), NBTrafficLightDefinition::compute(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_OpenDrive::loadNetwork(), MSStateHandler::myStartElement(), NIImporter_MATSim::EdgesHandler::myStartElement(), NIImporter_OpenStreetMap::EdgesHandler::myStartElement(), TraCIServerAPI_Edge::processSet(), TraCIServerAPI_TLS::processSet(), TraCI_Polygon::setParameter(), TraCI_Route::setParameter(), and TraCI_Lane::setParameter().
|
inherited |
Adds all given parameter.
[in] | mapArg | The keys/values to insert |
Definition at line 57 of file Parameterised.cpp.
References Parameterised::myMap.
|
inherited |
Adds all given parameter.
[in] | p | The keys/values to insert |
Definition at line 65 of file Parameterised.cpp.
References Parameterised::myMap.
|
virtual |
Implements MSSOTLPolicy.
Definition at line 45 of file MSSOTLPhasePolicy.cpp.
References m_useVehicleTypesWeights, MSPhaseDefinition::minDuration, PushButtonLogic::pushButtonLogic(), SigmoidLogic::sigmoidLogic(), and WRITE_MESSAGE.
|
inherited |
Clears the parameter map.
Definition at line 99 of file Parameterised.cpp.
References Parameterised::myMap.
|
inherited |
Computes the desirability of this policy, necessary when used in combination with an high level policy.
Definition at line 106 of file MSSOTLPolicy.cpp.
References MSSOTLPolicyDesirability::computeDesirability(), DBG, MSSOTLPolicy::getName(), MSSOTLPolicy::myDesirabilityAlgorithm, and WRITE_MESSAGE.
|
inherited |
Definition at line 115 of file MSSOTLPolicy.cpp.
References MSSOTLPolicyDesirability::computeDesirability(), DBG, MSSOTLPolicy::getName(), MSSOTLPolicy::myDesirabilityAlgorithm, and WRITE_MESSAGE.
|
virtualinherited |
Reimplemented in MSSOTLCongestionPolicy.
Definition at line 124 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 128 of file MSSOTLPolicy.h.
Referenced by MSSOTLCongestionPolicy::MSSOTLCongestionPolicy(), MSSOTLMarchingPolicy::MSSOTLMarchingPolicy(), 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 89 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 119 of file Parameterised.h.
References Parameterised::myMap, and Parameterised::writeParams().
Referenced by NBTrafficLightDefinition::compute(), GUIPerson::getTypeParameterWindow(), GUIMEVehicle::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), TraCIServerAPI_TLS::processGet(), ROPerson::saveAsXML(), and PointOfInterest::writeXML().
|
inlineinherited |
Definition at line 125 of file MSSOTLPolicy.h.
Referenced by MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicy::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 79 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by MSTLLogicControl::WAUTSwitchProcedure_Stretch::adaptLogic(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice::equippedByDefaultAssignmentOptions(), MSSOTLTrafficLightLogic::getDecayConstant(), MSDevice_SSM::getDetectionRange(), MSTLLogicControl::WAUTSwitchProcedure::getGSPValue(), MSSOTLTrafficLightLogic::getInputSensorsLength(), MSDevice_SSM::getLoggingFrequency(), MSDevice_SSM::getMeasuresAndThresholds(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), MSSOTLRequestTrafficLightLogic::getMinDecisionalPhaseDuration(), MSSOTLTrafficLightLogic::getMode(), MSDevice_SSM::getOutputFilename(), MSSOTLTrafficLightLogic::getOutputSensorsLength(), TraCI_Polygon::getParameter(), TraCI_VehicleType::getParameter(), TraCI_Route::getParameter(), TraCI_POI::getParameter(), TraCI_Lane::getParameter(), TraCI_Vehicle::getParameter(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchAreaNo(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchBereichDef(), MSSOTLTrafficLightLogic::getThreshold(), MSTriggeredRerouter::getWeight(), PushButtonLogic::init(), init(), SigmoidLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), NIImporter_OpenStreetMap::insertEdge(), MSSOTLTrafficLightLogic::isDecayThresholdActivated(), MSSOTLTrafficLightLogic::isPushButtonPressed(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSDelayBasedTrafficLightLogic::MSDelayBasedTrafficLightLogic(), MSSOTLPolicy::MSSOTLPolicy(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), TraCIServerAPI_Edge::processGet(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_Person::processGet(), MSSOTLPolicyDesirability::readParameter(), MSDevice_SSM::requestsTrajectories(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::stretchLogic(), TraCIServerAPI_Vehicle::vtdMap(), and NWWriter_DlrNavteq::writeLinksUnsplitted().
|
inlinevirtualinherited |
Definition at line 119 of file MSSOTLPolicy.h.
Referenced by MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), and MSSwarmTrafficLightLogic::updateSensitivities().
|
protectedinherited |
Definition at line 28 of file MSSOTLPolicy.cpp.
References TplConvert::_2double(), Parameterised::getParameter(), PushButtonLogic::m_prefix, PushButtonLogic::m_pushButtonScaleFactor, and WRITE_MESSAGE.
Referenced by init(), MSSOTLMarchingPolicy::init(), and MSSOTLPlatoonPolicy::init().
|
protectedvirtual |
Reimplemented from MSSOTLPolicy.
Definition at line 67 of file MSSOTLPhasePolicy.cpp.
References Parameterised::getParameter(), PushButtonLogic::init(), SigmoidLogic::init(), and m_useVehicleTypesWeights.
Referenced by MSSOTLPhasePolicy().
|
protectedinherited |
Definition at line 48 of file MSSOTLPolicy.cpp.
References TplConvert::_2double(), Parameterised::getParameter(), PushButtonLogic::m_prefix, and WRITE_MESSAGE.
Referenced by init(), and MSSOTLPlatoonPolicy::init().
|
inherited |
Returns whether the parameter is known.
[in] | key | The key to ask for |
Definition at line 73 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by MSDevice_Example::buildVehicleDevices(), MSDevice::equippedByDefaultAssignmentOptions(), NWWriter_DlrNavteq::getBrunnelType(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getLoggingFrequency(), MSDevice_SSM::getMeasuresAndThresholds(), MSDevice_SSM::getOutputFilename(), MSTriggeredRerouter::getWeight(), and MSDevice_SSM::requestsTrajectories().
|
protectedinherited |
Definition at line 34 of file MSSOTLPolicy.cpp.
References MSPhaseDefinition::duration, PushButtonLogic::m_prefix, PushButtonLogic::m_pushButtonScaleFactor, and WRITE_MESSAGE.
Referenced by canRelease(), MSSOTLMarchingPolicy::canRelease(), and MSSOTLPlatoonPolicy::canRelease().
|
inlinevirtualinherited |
Definition at line 122 of file MSSOTLPolicy.h.
Referenced by MSSwarmTrafficLightLogic::updateSensitivities().
|
protectedinherited |
Definition at line 64 of file MSSOTLPolicy.cpp.
References MSPhaseDefinition::duration, PushButtonLogic::m_prefix, RandHelper::rand(), and WRITE_MESSAGE.
Referenced by canRelease(), and MSSOTLPlatoonPolicy::canRelease().
|
inherited |
Definition at line 104 of file Parameterised.cpp.
References OutputDevice::closeTag(), Parameterised::myMap, OutputDevice::openTag(), SUMO_ATTR_KEY, SUMO_ATTR_VALUE, SUMO_TAG_PARAM, and OutputDevice::writeAttr().
Referenced by Parameterised::getMap(), ROVehicle::saveAsXML(), MSVehicle::saveState(), SUMOVTypeParameter::write(), MSDevice_Vehroutes::writeOutput(), and SUMO::Polygon::writeXML().
|
protectedinherited |
Definition at line 63 of file MSSOTLPolicy.h.
|
protectedinherited |
Definition at line 53 of file MSSOTLPolicy.h.
Referenced by PushButtonLogic::init(), SigmoidLogic::init(), PushButtonLogic::pushButtonLogic(), and SigmoidLogic::sigmoidLogic().
|
protectedinherited |
Definition at line 64 of file MSSOTLPolicy.h.
|
protectedinherited |
Definition at line 52 of file MSSOTLPolicy.h.
Referenced by PushButtonLogic::init(), and PushButtonLogic::pushButtonLogic().
|
protectedinherited |
Definition at line 62 of file MSSOTLPolicy.h.
|
protected |
Definition at line 54 of file MSSOTLPhasePolicy.h.
Referenced by canRelease(), and init().