Eclipse SUMO - Simulation of Urban MObility
MSSOTLPhasePolicy Class Reference

Class for low-level phase policy. More...

#include <MSSOTLPhasePolicy.h>

Inheritance diagram for MSSOTLPhasePolicy:
Collaboration diagram for MSSOTLPhasePolicy:

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)
 
MSSOTLPolicyDesirabilitygetDesirabilityAlgorithm ()
 
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...
 
 MSSOTLPhasePolicy (const std::map< std::string, std::string > &parameters)
 
 MSSOTLPhasePolicy (MSSOTLPolicyDesirability *desirabilityAlgorithm)
 
 MSSOTLPhasePolicy (MSSOTLPolicyDesirability *desirabilityAlgorithm, const std::map< std::string, std::string > &parameters)
 
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

void init ()
 
void init (std::string prefix, const Parameterised *parameterised)
 
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
 

Private Attributes

MSSOTLPolicyDesirabilitymyDesirabilityAlgorithm
 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...
 

Detailed Description

Class for low-level phase policy.

Definition at line 34 of file MSSOTLPhasePolicy.h.

Constructor & Destructor Documentation

◆ MSSOTLPhasePolicy() [1/3]

MSSOTLPhasePolicy::MSSOTLPhasePolicy ( const std::map< std::string, std::string > &  parameters)

Definition at line 24 of file MSSOTLPhasePolicy.cpp.

References init().

◆ MSSOTLPhasePolicy() [2/3]

MSSOTLPhasePolicy::MSSOTLPhasePolicy ( MSSOTLPolicyDesirability desirabilityAlgorithm)

◆ MSSOTLPhasePolicy() [3/3]

MSSOTLPhasePolicy::MSSOTLPhasePolicy ( MSSOTLPolicyDesirability desirabilityAlgorithm,
const std::map< std::string, std::string > &  parameters 
)

Member Function Documentation

◆ canRelease()

bool MSSOTLPhasePolicy::canRelease ( SUMOTime  elapsed,
bool  thresholdPassed,
bool  pushButtonPressed,
const MSPhaseDefinition stage,
int  vehicleCount 
)
virtual

◆ clearParameter()

◆ computeDesirability() [1/2]

double MSSOTLPolicy::computeDesirability ( double  vehInMeasure,
double  vehOutMeasure 
)
inherited

◆ computeDesirability() [2/2]

double MSSOTLPolicy::computeDesirability ( double  vehInMeasure,
double  vehOutMeasure,
double  vehInDispersionMeasure,
double  vehOutDispersionMeasure 
)
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.

◆ decideNextPhase()

int MSSOTLPolicy::decideNextPhase ( SUMOTime  elapsed,
const MSPhaseDefinition stage,
int  currentPhaseIndex,
int  phaseMaxCTS,
bool  thresholdPassed,
bool  pushButtonPressed,
int  vehicleCount 
)
virtualinherited

◆ getDesirabilityAlgorithm()

◆ getDouble()

◆ getName()

◆ getParameter()

const std::string Parameterised::getParameter ( const std::string &  key,
const std::string &  defaultValue = "" 
) const
inherited

Returns the value for a given key.

Parameters
[in]keyThe key to ask for
[in]defaultValueThe default value to return if no value is stored under the key
Returns
The value 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(), 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(), 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(), 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().

◆ getParametersMap()

const std::map< std::string, std::string > & Parameterised::getParametersMap ( ) const
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().

◆ getThetaSensitivity()

virtual double MSSOTLPolicy::getThetaSensitivity ( )
inlinevirtualinherited

◆ init() [1/3]

void MSSOTLPhasePolicy::init ( )
protectedvirtual

◆ init() [2/3]

void PushButtonLogic::init ( std::string  prefix,
const Parameterised parameterised 
)
protectedinherited

◆ init() [3/3]

void SigmoidLogic::init ( std::string  prefix,
const Parameterised parameterised 
)
protectedinherited

◆ knowsParameter()

◆ pushButtonLogic()

bool PushButtonLogic::pushButtonLogic ( SUMOTime  elapsed,
bool  pushButtonPressed,
const MSPhaseDefinition stage 
)
protectedinherited

◆ setParameter()

void Parameterised::setParameter ( const std::string &  key,
const std::string &  value 
)
inherited

Sets a parameter.

Parameters
[in]keyThe parameter's name
[in]valueThe 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::TrafficLight::setParameter(), libsumo::POI::setParameter(), libsumo::Edge::setParameter(), and libsumo::Lane::setParameter().

◆ setThetaSensitivity()

virtual void MSSOTLPolicy::setThetaSensitivity ( double  val)
inlinevirtualinherited

◆ sigmoidLogic()

bool SigmoidLogic::sigmoidLogic ( SUMOTime  elapsed,
const MSPhaseDefinition stage,
int  vehicleCount 
)
protectedinherited

◆ unsetParameter()

void Parameterised::unsetParameter ( const std::string &  key)
inherited

Removes a parameter.

Parameters
[in]keyThe parameter's name

Definition at line 51 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by GNEVehicleType::setAttribute().

◆ updateParameter()

void Parameterised::updateParameter ( const std::map< std::string, std::string > &  mapArg)
inherited

◆ writeParams()

Field Documentation

◆ m_k

double SigmoidLogic::m_k
protectedinherited

Definition at line 56 of file MSSOTLPolicy.h.

Referenced by SigmoidLogic::init(), and SigmoidLogic::sigmoidLogic().

◆ m_prefix [1/2]

std::string PushButtonLogic::m_prefix
protectedinherited

Definition at line 46 of file MSSOTLPolicy.h.

Referenced by PushButtonLogic::init(), and PushButtonLogic::pushButtonLogic().

◆ m_prefix [2/2]

std::string SigmoidLogic::m_prefix
protectedinherited

Definition at line 57 of file MSSOTLPolicy.h.

Referenced by SigmoidLogic::init(), and SigmoidLogic::sigmoidLogic().

◆ m_pushButtonScaleFactor

double PushButtonLogic::m_pushButtonScaleFactor
protectedinherited

Definition at line 45 of file MSSOTLPolicy.h.

Referenced by PushButtonLogic::init(), and PushButtonLogic::pushButtonLogic().

◆ m_useSigmoid

bool SigmoidLogic::m_useSigmoid
protectedinherited

Definition at line 55 of file MSSOTLPolicy.h.

Referenced by SigmoidLogic::init(), and SigmoidLogic::sigmoidLogic().

◆ m_useVehicleTypesWeights

bool MSSOTLPhasePolicy::m_useVehicleTypesWeights
protected

Definition at line 47 of file MSSOTLPhasePolicy.h.

Referenced by canRelease(), and init().

◆ myDesirabilityAlgorithm

MSSOTLPolicyDesirability* MSSOTLPolicy::myDesirabilityAlgorithm
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().

◆ myMap

◆ myName

std::string MSSOTLPolicy::myName
privateinherited

The name of the policy.

Definition at line 75 of file MSSOTLPolicy.h.

Referenced by MSSOTLPolicy::getName().

◆ theta_sensitivity

double MSSOTLPolicy::theta_sensitivity
privateinherited

The sensitivity of this policy.

Definition at line 71 of file MSSOTLPolicy.h.

Referenced by MSSOTLPolicy::getThetaSensitivity(), MSSOTLPolicy::MSSOTLPolicy(), and MSSOTLPolicy::setThetaSensitivity().


The documentation for this class was generated from the following files: