SUMO - Simulation of Urban MObility
MSSOTLPolicy Class Referenceabstract

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

#include <MSSOTLPolicy.h>

Inheritance diagram for MSSOTLPolicy:
Inheritance graph
Collaboration diagram for MSSOTLPolicy:
Collaboration graph

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)
 
MSSOTLPolicyDesirabilitygetDesirabilityAlgorithm ()
 
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 > &parameters)
 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 > &parameters)
 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

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

Detailed Description

Class for a low-level policy.

Definition at line 71 of file MSSOTLPolicy.h.

Constructor & Destructor Documentation

◆ MSSOTLPolicy() [1/3]

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

Simple constructor.

Parameters
[in]nameThe name of the policy
[in]parametersParameters defined for the policy

Definition at line 81 of file MSSOTLPolicy.cpp.

References theta_sensitivity.

◆ MSSOTLPolicy() [2/3]

MSSOTLPolicy::MSSOTLPolicy ( std::string  name,
MSSOTLPolicyDesirability desirabilityAlgorithm 
)

Constructor when the policy is a low-level policy used by an high level policy.

Parameters
[in]nameThe name of the policy
[in]desirabilityAlgorithmThe desirability algorithm to be used for this policy

Definition at line 87 of file MSSOTLPolicy.cpp.

References theta_sensitivity.

◆ MSSOTLPolicy() [3/3]

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.

Parameters
[in]nameThe name of the policy
[in]desirabilityAlgorithmThe desirability algorithm to be used for this policy
[in]parametersParameters defined for the policy

Definition at line 94 of file MSSOTLPolicy.cpp.

References TplConvert::_2double(), Parameterised::getParameter(), and theta_sensitivity.

◆ ~MSSOTLPolicy()

MSSOTLPolicy::~MSSOTLPolicy ( void  )
virtual

Definition at line 102 of file MSSOTLPolicy.cpp.

Member Function Documentation

◆ canRelease()

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

◆ clearParameter()

void Parameterised::clearParameter ( )
inherited

Clears the parameter map.

Definition at line 97 of file Parameterised.cpp.

References Parameterised::myMap.

◆ computeDesirability() [1/2]

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.

◆ computeDesirability() [2/2]

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

◆ decideNextPhase()

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

◆ getDesirabilityAlgorithm()

◆ getDouble()

double Parameterised::getDouble ( const std::string &  key,
const double  defaultValue 
) const
inherited

Returns the value for a given key converted to a double.

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 87 of file Parameterised.cpp.

References TplConvert::_2double(), and Parameterised::myMap.

Referenced by MSDevice_Battery::buildVehicleDevices().

◆ getMap()

◆ 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 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().

◆ getThetaSensitivity()

virtual double MSSOTLPolicy::getThetaSensitivity ( )
inlinevirtual

◆ init()

virtual void MSSOTLPolicy::init ( )
inlineprotectedvirtual

Reimplemented in MSSOTLPlatoonPolicy, MSSOTLMarchingPolicy, and MSSOTLPhasePolicy.

Definition at line 89 of file MSSOTLPolicy.h.

◆ knowsParameter()

◆ setParameter()

◆ setThetaSensitivity()

virtual void MSSOTLPolicy::setThetaSensitivity ( double  val)
inlinevirtual

Definition at line 121 of file MSSOTLPolicy.h.

Referenced by MSSwarmTrafficLightLogic::updateSensitivities().

◆ unsetParameter()

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

Removes a parameter.

Parameters
[in]keyThe parameter's name

Definition at line 57 of file Parameterised.cpp.

References Parameterised::myMap.

◆ updateParameter()

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

Adds or updates all given parameters from the map.

Parameters
[in]mapArgThe 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().

◆ writeParams()

Field Documentation

◆ myDesirabilityAlgorithm

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

◆ myName

std::string MSSOTLPolicy::myName
private

The name of the policy.

Definition at line 81 of file MSSOTLPolicy.h.

◆ theta_sensitivity

double MSSOTLPolicy::theta_sensitivity
private

The sensitivity of this policy.

Definition at line 77 of file MSSOTLPolicy.h.

Referenced by MSSOTLPolicy().


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