Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

IDEA::PslTokenImpl Class Reference
[PlanServer implementation base classes]

See PslToken for API documentation. More...

#include <PslTokenImpl.hh>

Inheritance diagram for IDEA::PslTokenImpl:

IDEA::PlasmaTokenImpl List of all members.

Public Methods

virtual ~PslTokenImpl ()
void endAt (const Time &time)
virtual void commit ()=0
virtual bool isCommitted () const=0
virtual bool canBeCommitted () const=0
const std::string & getComRelayName () const
const PslDatabasegetDatabase () const
virtual Time getEarliestEndTime () const=0
virtual Time getEarliestStartTime () const=0
virtual Time getMaximumDuration () const=0
virtual Time getMinimumDuration () const=0
unsigned int getExternalTokenId (bool externalize)
virtual int getId () const=0
virtual Time getLatestEndTime () const=0
virtual Time getLatestStartTime () const=0
const std::string & getName () const
const PslParametergetParameter (const std::string &compareString) const
const PslParametergetParameter (int index) const
PslParameterList getParameters () const
const PslPredicategetPredicate () const
const PslParametergetReturnStatusParameter () const
const PslParametergetReturnStatusFlagParameter () const
const TokenLocationgetSourceLocation () const
const TokenLocationgetTargetLocation ()
const PslTimelinegetTimeline ()
bool hasDirectSuccessor (const PslTimeline *tl) const
virtual bool endsAtStart (const PslToken *token) const=0
virtual void setSuccessor (const PslToken *token) const=0
bool isControllable ()
bool isExecutable ()
bool isExecuting (const Time &t) const
bool isGoal ()
bool isEnabled () const
 Returns true if the invoking token is enabled (it can be ended).

void setEnabled (bool value)
virtual void print (std::ostream &os) const
bool returnsStatus () const
bool isAuthorized () const
virtual void setEarliestEndTime (const Time &value)=0
 Sets the earliest time of the end-time to the maximum of the current earliest end-time and value.

void constrainEndTime (const PslToken *token, const Time &value, int authority)
 Enforces the end-time of the token to be equal to value with authority authority by introducing a constraint.

void constrainStartTime (const PslToken *token, const Time &value, int authority)
 Enforces the start-time of the token to be equal to value with authority authority by introducing a constraint.

virtual void setLatestEndTime (const Time &value)=0
 Sets the latest time of the end-time to the minimum of the current latest end-time and value.

virtual void setLatestStartTime (const Time &value)=0
 Sets the latest time of the start-time to the maximum of the current latest start-time and value.

virtual void setEarliestStartTime (const Time &value)=0
 Sets the earliest time of the start-time to the maximum of the current earliest start-time and value.

void startAt (const Time &time)
bool usesCPU () const
const PslVariablegetStartVariable ()
const PslVariablegetEndVariable ()
virtual void finalize ()
bool isFinalized () const
int getExternalId (const PslToken *token)
virtual bool endsNoEarlierThanEnd (const PslToken *token) const=0
 Calculates temporal distance between end time variables of 2 tokens. Returns true if current token's end event must match or precede given token's end event.


Protected Methods

 PslTokenImpl (const PslDatabase *database, const PslTimeline *timeline, const PslPredicate *predicate)
 PslTokenImpl (const PslDatabase *database, const PslTimeline *timeline, const PslPredicate *predicate, int tokenId, const TokenLocation &source, const std::string &comRelayName)
 PslTokenImpl (const PslDatabase *database, const PslPredicate *predicate, int tokenId, const TokenLocation &source, const std::string &comRelayName)

Protected Attributes

Int2PslParameterMap m_Parameters

Private Methods

virtual const PslTimelineretrieveTimelineAllocation () const=0
void activateActiveConstraints (const PslToken *token, int authority)
void activateTimelineAssignedConstraints (int authority)
void activateTimeConstraint (const PslToken *token, int authority)
void deActivateActiveConstraints ()
void deActivateTimelineAssignedConstraints ()
void deActivateTimeConstraint ()
void createConstraints (const PslToken *token)
void initialize (const PslToken *token)
virtual void initializeExtended (const PslToken *token)
virtual void createParameters (const PslToken *token)=0
 This method needs to be implemented and create the corresponding PslParameter instances for the parameters of the underlying token implementation.

virtual const PslVariablecreateEndVariable ()=0
virtual const PslVariablecreateStartVariable ()=0

Private Attributes

const PslDatabasem_Database
TokenLocation m_SourceLocation
std::string m_ComRelayName
const PslTimelinem_Timeline
const PslPredicatem_Predicate
PslConstraintm_TimeConstraint
 Constraint maintaining the invoking token to take place in the future if the event still needs to be scheduled.

PslConstraintm_StartTimeConstraint
PslConstraintm_EndTimeConstraint
const PslVariablem_Start
const PslVariablem_End
int m_ExternalId
bool m_Finalized
 Boolean indicating if the token has been initialized for execution by invoking PslToken::initializeParameters Boolean indicating if the token has been finalize by invoking PslToken::finalize.

bool m_Enabled

Friends

class PslToken

Detailed Description

See PslToken for API documentation.


Constructor & Destructor Documentation

IDEA::PslTokenImpl::~PslTokenImpl   [virtual]
 

IDEA::PslTokenImpl::PslTokenImpl const PslDatabase   database,
const PslTimeline   timeline,
const PslPredicate   predicate
[protected]
 

IDEA::PslTokenImpl::PslTokenImpl const PslDatabase   database,
const PslTimeline   timeline,
const PslPredicate   predicate,
int    tokenId,
const TokenLocation   source,
const std::string &    comRelayName
[protected]
 

IDEA::PslTokenImpl::PslTokenImpl const PslDatabase   database,
const PslPredicate   predicate,
int    tokenId,
const TokenLocation   source,
const std::string &    comRelayName
[protected]
 


Member Function Documentation

void IDEA::PslTokenImpl::activateActiveConstraints const PslToken   token,
int    authority
[private]
 

void IDEA::PslTokenImpl::activateTimeConstraint const PslToken   token,
int    authority
[private]
 

void IDEA::PslTokenImpl::activateTimelineAssignedConstraints int    authority [private]
 

virtual bool IDEA::PslTokenImpl::canBeCommitted   [pure virtual]
 

Implemented in IDEA::PlasmaTokenImpl.

virtual void IDEA::PslTokenImpl::commit   [pure virtual]
 

Implemented in IDEA::PlasmaTokenImpl.

void IDEA::PslTokenImpl::constrainEndTime const PslToken   token,
const Time   value,
int    authority
 

Enforces the end-time of the token to be equal to value with authority authority by introducing a constraint.

Assumes there is no such constraint yet, if there is it will be overriden or if assert is enabled it will raise an assertion.

void IDEA::PslTokenImpl::constrainStartTime const PslToken   token,
const Time   value,
int    authority
 

Enforces the start-time of the token to be equal to value with authority authority by introducing a constraint.

Assumes there is no such constraint yet, if there is it will be overriden or if assert is enabled it will raise an assertion.

void IDEA::PslTokenImpl::createConstraints const PslToken   token [private]
 

virtual const PslVariable* IDEA::PslTokenImpl::createEndVariable   [private, pure virtual]
 

Implemented in IDEA::PlasmaTokenImpl.

virtual void IDEA::PslTokenImpl::createParameters const PslToken   token [private, pure virtual]
 

This method needs to be implemented and create the corresponding PslParameter instances for the parameters of the underlying token implementation.

Implemented in IDEA::PlasmaTokenImpl.

virtual const PslVariable* IDEA::PslTokenImpl::createStartVariable   [private, pure virtual]
 

Implemented in IDEA::PlasmaTokenImpl.

void IDEA::PslTokenImpl::deActivateActiveConstraints   [private]
 

void IDEA::PslTokenImpl::deActivateTimeConstraint   [private]
 

void IDEA::PslTokenImpl::deActivateTimelineAssignedConstraints   [private]
 

void IDEA::PslTokenImpl::endAt const Time   time
 

virtual bool IDEA::PslTokenImpl::endsAtStart const PslToken   token const [pure virtual]
 

Implemented in IDEA::PlasmaTokenImpl.

virtual bool IDEA::PslTokenImpl::endsNoEarlierThanEnd const PslToken   token const [pure virtual]
 

Calculates temporal distance between end time variables of 2 tokens. Returns true if current token's end event must match or precede given token's end event.

Implemented in IDEA::PlasmaTokenImpl.

void IDEA::PslTokenImpl::finalize   [virtual]
 

Reimplemented in IDEA::PlasmaTokenImpl.

const std::string & IDEA::PslTokenImpl::getComRelayName  
 

const PslDatabase * IDEA::PslTokenImpl::getDatabase  
 

virtual Time IDEA::PslTokenImpl::getEarliestEndTime   [pure virtual]
 

Implemented in IDEA::PlasmaTokenImpl.

virtual Time IDEA::PslTokenImpl::getEarliestStartTime   [pure virtual]
 

Implemented in IDEA::PlasmaTokenImpl.

const PslVariable * IDEA::PslTokenImpl::getEndVariable  
 

int IDEA::PslTokenImpl::getExternalId const PslToken   token
 

unsigned int IDEA::PslTokenImpl::getExternalTokenId bool    externalize
 

virtual int IDEA::PslTokenImpl::getId   [pure virtual]
 

Implemented in IDEA::PlasmaTokenImpl.

virtual Time IDEA::PslTokenImpl::getLatestEndTime   [pure virtual]
 

Implemented in IDEA::PlasmaTokenImpl.

virtual Time IDEA::PslTokenImpl::getLatestStartTime   [pure virtual]
 

Implemented in IDEA::PlasmaTokenImpl.

virtual Time IDEA::PslTokenImpl::getMaximumDuration   [pure virtual]
 

Implemented in IDEA::PlasmaTokenImpl.

virtual Time IDEA::PslTokenImpl::getMinimumDuration   [pure virtual]
 

Implemented in IDEA::PlasmaTokenImpl.

const std::string & IDEA::PslTokenImpl::getName  
 

const PslParameter * IDEA::PslTokenImpl::getParameter int    index const
 

const PslParameter * IDEA::PslTokenImpl::getParameter const std::string &    compareString const
 

PslParameterList IDEA::PslTokenImpl::getParameters  
 

const PslPredicate * IDEA::PslTokenImpl::getPredicate  
 

const PslParameter * IDEA::PslTokenImpl::getReturnStatusFlagParameter  
 

const PslParameter * IDEA::PslTokenImpl::getReturnStatusParameter  
 

const TokenLocation & IDEA::PslTokenImpl::getSourceLocation  
 

const PslVariable * IDEA::PslTokenImpl::getStartVariable  
 

const TokenLocation & IDEA::PslTokenImpl::getTargetLocation  
 

const PslTimeline * IDEA::PslTokenImpl::getTimeline  
 

bool IDEA::PslTokenImpl::hasDirectSuccessor const PslTimeline   tl const
 

void IDEA::PslTokenImpl::initialize const PslToken   token [private]
 

void IDEA::PslTokenImpl::initializeExtended const PslToken   token [private, virtual]
 

bool IDEA::PslTokenImpl::isAuthorized  
 

virtual bool IDEA::PslTokenImpl::isCommitted   [pure virtual]
 

Implemented in IDEA::PlasmaTokenImpl.

bool IDEA::PslTokenImpl::isControllable  
 

bool IDEA::PslTokenImpl::isEnabled  
 

Returns true if the invoking token is enabled (it can be ended).

bool IDEA::PslTokenImpl::isExecutable  
 

bool IDEA::PslTokenImpl::isExecuting const Time   t const
 

bool IDEA::PslTokenImpl::isFinalized  
 

bool IDEA::PslTokenImpl::isGoal  
 

void IDEA::PslTokenImpl::print std::ostream &    os const [virtual]
 

Reimplemented in IDEA::PlasmaTokenImpl.

virtual const PslTimeline* IDEA::PslTokenImpl::retrieveTimelineAllocation   [private, pure virtual]
 

Implemented in IDEA::PlasmaTokenImpl.

bool IDEA::PslTokenImpl::returnsStatus  
 

virtual void IDEA::PslTokenImpl::setEarliestEndTime const Time   value [pure virtual]
 

Sets the earliest time of the end-time to the maximum of the current earliest end-time and value.

LowerBound( end ) = maximum{ LowerBound( end ), value }. This should create an inconsistency if value is greater than UpperBound( end )

Implemented in IDEA::PlasmaTokenImpl.

virtual void IDEA::PslTokenImpl::setEarliestStartTime const Time   value [pure virtual]
 

Sets the earliest time of the start-time to the maximum of the current earliest start-time and value.

LowerBound( start ) = maximum{ LowerBound( start ), value }. This should create an inconsistency if value is greater than UpperBound( start )

Implemented in IDEA::PlasmaTokenImpl.

void IDEA::PslTokenImpl::setEnabled bool    value
 

virtual void IDEA::PslTokenImpl::setLatestEndTime const Time   value [pure virtual]
 

Sets the latest time of the end-time to the minimum of the current latest end-time and value.

UpperBound( end ) = minimum{ UpperBound( end ), value }. This should create an inconsistency if value is lower than LowerBound( end )

Implemented in IDEA::PlasmaTokenImpl.

virtual void IDEA::PslTokenImpl::setLatestStartTime const Time   value [pure virtual]
 

Sets the latest time of the start-time to the maximum of the current latest start-time and value.

UpperBound( start ) = minimum{ UpperBound( start ), value }. This should create an inconsistency if value is lower than LowerBound( end )

Implemented in IDEA::PlasmaTokenImpl.

virtual void IDEA::PslTokenImpl::setSuccessor const PslToken   token const [pure virtual]
 

Implemented in IDEA::PlasmaTokenImpl.

void IDEA::PslTokenImpl::startAt const Time   time
 

bool IDEA::PslTokenImpl::usesCPU  
 


Friends And Related Function Documentation

friend class PslToken [friend]
 


Member Data Documentation

std::string IDEA::PslTokenImpl::m_ComRelayName [private]
 

const PslDatabase* IDEA::PslTokenImpl::m_Database [private]
 

bool IDEA::PslTokenImpl::m_Enabled [private]
 

const PslVariable* IDEA::PslTokenImpl::m_End [private]
 

PslConstraint* IDEA::PslTokenImpl::m_EndTimeConstraint [private]
 

int IDEA::PslTokenImpl::m_ExternalId [private]
 

bool IDEA::PslTokenImpl::m_Finalized [private]
 

Boolean indicating if the token has been initialized for execution by invoking PslToken::initializeParameters Boolean indicating if the token has been finalize by invoking PslToken::finalize.

Int2PslParameterMap IDEA::PslTokenImpl::m_Parameters [protected]
 

const PslPredicate* IDEA::PslTokenImpl::m_Predicate [private]
 

TokenLocation IDEA::PslTokenImpl::m_SourceLocation [private]
 

const PslVariable* IDEA::PslTokenImpl::m_Start [private]
 

PslConstraint* IDEA::PslTokenImpl::m_StartTimeConstraint [private]
 

PslConstraint* IDEA::PslTokenImpl::m_TimeConstraint [private]
 

Constraint maintaining the invoking token to take place in the future if the event still needs to be scheduled.

See PslTimeConstraintImpl

const PslTimeline* IDEA::PslTokenImpl::m_Timeline [private]
 


Contact information
© IDEA
Generated on Fri Feb 3 17:09:48 2006 for IDEA.