#include <StaticDefinedComposedNode.hxx>
Public Member Functions | |
bool | isPlacementPredictableB4Run () const |
bool | isMultiplicitySpecified (unsigned &value) const |
void | forceMultiplicity (unsigned value) |
void | selectRunnableTasks (std::vector< Task * > &tasks) |
Public Member Functions inherited from YACS::ENGINE::ComposedNode | |
virtual | ~ComposedNode () |
bool | isFinished () |
void | init (bool start=true) |
virtual void | shutdown (int level) |
Stop all pending activities of the composed node. More... | |
virtual void | resetState (int level) |
Reset the state of the node and its children depending on the parameter level. More... | |
std::string | getName () const |
std::string | getTaskName (Task *task) const |
DeploymentTree | getDeploymentTree () const |
Essentially for test. Use checkDeploymentTree instead to be sure that returned DeploymentTree is consistent. More... | |
DeploymentTree | checkDeploymentTree (bool deep) const throw (Exception) |
Perform check of deployment consistency of the current graph. More... | |
std::vector< Task * > | getNextTasks (bool &isMore) |
void | notifyFrom (const Task *sender, YACS::Event event, const Executor *execInst) |
Notify the node a task has emitted an event. More... | |
bool | edAddLink (OutPort *start, InPort *end) throw (Exception) |
Add a dataflow link between two data ports. More... | |
virtual bool | edAddDFLink (OutPort *start, InPort *end) throw (Exception) |
Connect an OutPort to an InPort and add the necessary control link. More... | |
virtual bool | edAddChild (Node *DISOWNnode) throw (Exception) |
virtual void | edRemoveChild (Node *node) throw (Exception) |
Remove a child node. More... | |
bool | edAddLink (OutGate *start, InGate *end) throw (Exception) |
Add a controlflow link between two control ports. More... | |
bool | edAddCFLink (Node *nodeS, Node *nodeE) throw (Exception) |
Add a controlflow link between two nodes. More... | |
void | edRemoveCFLink (Node *nodeS, Node *nodeE) throw (Exception) |
Remove a controlflow link. More... | |
void | edRemoveLink (OutPort *start, InPort *end) throw (Exception) |
Remove a dataflow link. More... | |
void | edRemoveLink (OutGate *start, InGate *end) throw (Exception) |
Remove a controlflow link. More... | |
virtual bool | isRepeatedUnpredictablySeveralTimes () const |
virtual std::list< Node * > | edGetDirectDescendants () const =0 |
virtual void | removeRecursivelyRedundantCL () |
std::list< ElementaryNode * > | getRecursiveConstituents () const |
std::list< Node * > | getAllRecursiveNodes () |
Get all children nodes elementary and composed including this node. More... | |
virtual std::list< Node * > | getAllRecursiveConstituents () |
Idem getAllRecursiveNodes, but this node is NOT included. More... | |
std::list< ProgressWeight > | getProgressWeight () const |
Get the progress weight for all elementary nodes. More... | |
std::string | getInPortName (const InPort *) const throw (Exception) |
Get the input port name. More... | |
std::string | getOutPortName (const OutPort *) const throw (Exception) |
int | getNumberOfInputPorts () const |
int | getNumberOfOutputPorts () const |
std::list< InputPort * > | getSetOfInputPort () const |
std::list< OutputPort * > | getSetOfOutputPort () const |
std::list< InputPort * > | getLocalInputPorts () const |
redefined on derived class of ComposedNode. by default a ComposedNode has no port by itself More... | |
std::list< OutputPort * > | getLocalOutputPorts () const |
redefined on derived class of ComposedNode. by default a ComposedNode has no port by itself More... | |
std::set< OutPort * > | getAllOutPortsLeavingCurrentScope () const |
List all output ports of children nodes that are linked to out of scope input ports. More... | |
std::set< InPort * > | getAllInPortsComingFromOutsideOfCurrentScope () const |
List all input ports that are linked to out of scope ports. More... | |
std::list< InputDataStreamPort * > | getSetOfInputDataStreamPort () const |
std::list< OutputDataStreamPort * > | getSetOfOutputDataStreamPort () const |
OutPort * | getOutPort (const std::string &name) const throw (Exception) |
InputPort * | getInputPort (const std::string &name) const throw (Exception) |
Get an input port given its name. More... | |
OutputPort * | getOutputPort (const std::string &name) const throw (Exception) |
Get an output port given its name. More... | |
InputDataStreamPort * | getInputDataStreamPort (const std::string &name) const throw (Exception) |
OutputDataStreamPort * | getOutputDataStreamPort (const std::string &name) const throw (Exception) |
std::vector< std::pair < OutPort *, InPort * > > | getSetOfInternalLinks () const |
virtual std::vector< std::pair < OutPort *, InPort * > > | getSetOfLinksLeavingCurrentScope () const |
void | checkConsistency (LinkInfo &info) const throw (Exception) |
virtual std::vector< std::pair < InPort *, OutPort * > > | getSetOfLinksComingInCurrentScope () const |
virtual std::string | typeName () |
virtual void | edUpdateState () |
update the status of the node More... | |
virtual void | checkBasicConsistency () const throw (Exception) |
virtual std::string | getErrorReport () |
returns a string that contains an error report if the node is in error More... | |
ComposedNode * | getRootNode () const throw (Exception) |
bool | isNodeAlreadyAggregated (const Node *node) const |
Check that Node 'node' is already a direct son of this. More... | |
virtual bool | isNameAlreadyUsed (const std::string &name) const |
Node * | isInMyDescendance (Node *nodeToTest) const |
Returns the parent of a node that is the direct child of this node. More... | |
std::string | getChildName (const Node *node) const throw (Exception) |
virtual std::string | getMyQualifiedName (const Node *directSon) const |
Node * | getChildByName (const std::string &name) const throw (Exception) |
void | loaded () |
void | connected () |
void | accept (Visitor *visitor) |
virtual void | cleanNodes () |
Clean the composed node in case of not clean exit. More... | |
virtual std::string | getProgress () const |
Public Member Functions inherited from YACS::ENGINE::Node | |
virtual | ~Node () |
Node * | clone (ComposedNode *father, bool editionOnly=true) const |
This method MUST NEVER BE VIRTUAL More... | |
Node * | cloneWithoutCompAndContDeepCpy (ComposedNode *father, bool editionOnly=true) const |
This method MUST NEVER BE VIRTUAL More... | |
void | setState (YACS::StatesForNode theState) |
Sets the given state for node. More... | |
virtual YACS::StatesForNode | getState () const |
virtual YACS::StatesForNode | getEffectiveState () const |
Return the node state in the context of its father. More... | |
virtual YACS::StatesForNode | getEffectiveState (const Node *) const |
Return the effective state of a node in the context of this one (its father) More... | |
std::string | getColorState (YACS::StatesForNode state) const |
Return the color associated to a state. More... | |
InGate * | getInGate () |
OutGate * | getOutGate () |
const std::string & | getName () const |
void | setName (const std::string &name) |
Change the name of the node. More... | |
ComposedNode * | getFather () const |
const std::string | getId () const |
bool | exIsControlReady () const |
std::list< Node * > | getOutNodes () const |
virtual void | writeDot (std::ostream &os) const |
Dump to the input stream a dot representation of the node. More... | |
virtual void | exUpdateState () |
Update the node state. More... | |
virtual void | exFailedState () |
Notify this node that its execution has failed. More... | |
virtual void | exDisabledState () |
Notify this node that it has been disabled. More... | |
virtual void | getReadyTasks (std::vector< Task * > &tasks)=0 |
std::list< InPort * > | getSetOfInPort () const |
std::list< OutPort * > | getSetOfOutPort () const |
virtual std::set< InputPort * > | edGetSetOfUnitializedInputPort () const |
Becomes deprecated soon. Replaced by ComposedNode::CheckConsistency. More... | |
virtual bool | edAreAllInputPortInitialized () const |
Becomes deprecated soon. Replaced by ComposedNode::CheckConsistency. More... | |
InPort * | getInPort (const std::string &name) const throw (Exception) |
InPropertyPort * | getInPropertyPort () const throw (Exception) |
std::list< ComposedNode * > | getAllAscendanceOf (ComposedNode *levelToStop=0) const |
bool | operator> (const Node &other) const |
bool | operator< (const Node &other) const |
std::string | getImplementation () const |
virtual void | setProperty (const std::string &name, const std::string &value) |
virtual std::string | getProperty (const std::string &name) |
std::map< std::string, std::string > | getProperties () |
std::map< std::string, std::string > | getPropertyMap () |
virtual void | setProperties (std::map< std::string, std::string > properties) |
virtual Proc * | getProc () |
virtual const Proc * | getProc () const |
virtual int | getMaxLevelOfParallelism () const =0 |
std::string | getQualifiedName () const |
same as Node::getName() in most cases, but differs for children of switch More... | |
int | getNumId () |
return node instance identifiant, unique for each node instance More... | |
std::vector< std::pair < std::string, int > > | getDPLScopeInfo (ComposedNode *gfn) |
virtual void | applyDPLScope (ComposedNode *gfn) |
virtual void | sendEvent (const std::string &event) |
emit notification to all observers registered with the dispatcher More... | |
virtual void | sendEvent2 (const std::string &event, void *something) |
emit notification to all observers registered with the dispatcher More... | |
virtual std::string | getErrorDetails () const |
virtual void | setErrorDetails (const std::string &error) |
virtual void | modified () |
Sets Node in modified state and its father if it exists. More... | |
virtual int | isModified () |
virtual int | isValid () |
indicates if the node is valid (returns 1) or not (returns 0) More... | |
virtual std::string | getContainerLog () |
returns a string that contains the name of the container log file if it exists More... | |
virtual void | ensureLoading () |
Put this node into TOLOAD state when possible. More... | |
virtual void | getCoupledNodes (std::set< Task * > &coupledNodes) |
Public Member Functions inherited from YACS::ENGINE::Scheduler | |
virtual void | exUpdateState ()=0 |
virtual | ~Scheduler () |
Protected Member Functions | |
StaticDefinedComposedNode (const std::string &name) | |
StaticDefinedComposedNode (const StaticDefinedComposedNode &other, ComposedNode *father) | |
void | checkControlDependancy (OutPort *start, InPort *end, bool cross, std::map< ComposedNode *, std::list< OutPort * >, SortHierarc > &fw, std::vector< OutPort * > &fwCross, std::map< ComposedNode *, std::list< OutPort * >, SortHierarc > &bw, LinkInfo &info) const |
Protected Member Functions inherited from YACS::ENGINE::ComposedNode | |
ComposedNode (const std::string &name) | |
ComposedNode (const ComposedNode &other, ComposedNode *father) | |
void | performDuplicationOfPlacement (const Node &other) |
performs a duplication of placement using clone method of containers and components. clone behaviour is driven by attachOnCloning attribute. More... | |
void | performShallowDuplicationOfPlacement (const Node &other) |
performs a also duplication of placement but here containers and components are not copied at all whatever the value of attachedOnCloning. More... | |
void | edDisconnectAllLinksWithMe () |
virtual Node * | getChildByShortName (const std::string &name) const =0 throw (Exception) |
YACS::Event | updateStateFrom (Node *node, YACS::Event event, const Executor *execInst) |
Update node state on receiving event from a node. More... | |
virtual YACS::Event | updateStateOnStartEventFrom (Node *node) |
Method used to notify the node that a child node has started. More... | |
virtual YACS::Event | updateStateOnFinishedEventFrom (Node *node)=0 |
virtual YACS::Event | updateStateOnFailedEventFrom (Node *node, const Executor *execInst) |
Method used to notify the node that a child node has failed. More... | |
virtual void | checkLinkPossibility (OutPort *start, const std::list< ComposedNode * > &pointsOfViewStart, InPort *end, const std::list< ComposedNode * > &pointsOfViewEnd) throw (Exception) |
virtual void | buildDelegateOf (InPort *&port, OutPort *initialStart, const std::list< ComposedNode * > &pointsOfView) |
virtual void | buildDelegateOf (std::pair< OutPort *, OutPort * > &port, InPort *finalTarget, const std::list< ComposedNode * > &pointsOfView) |
virtual void | getDelegateOf (InPort *&port, OutPort *initialStart, const std::list< ComposedNode * > &pointsOfView) throw (Exception) |
virtual void | getDelegateOf (std::pair< OutPort *, OutPort * > &port, InPort *finalTarget, const std::list< ComposedNode * > &pointsOfView) throw (Exception) |
virtual void | releaseDelegateOf (InPort *&port, OutPort *initialStart, const std::list< ComposedNode * > &pointsOfView) throw (Exception) |
virtual void | releaseDelegateOf (OutPort *portDwn, OutPort *portUp, InPort *finalTarget, const std::list< ComposedNode * > &pointsOfView) throw (Exception) |
virtual void | checkNoCyclePassingThrough (Node *node)=0 throw (Exception) |
void | checkInMyDescendance (Node *nodeToTest) const throw (Exception) |
Check if a node is in the descendance of this node. More... | |
template<class PORT > | |
std::string | getPortName (const PORT *port) const throw (Exception) |
void | checkNoCrossHierachyWith (Node *node) const throw (Exception) |
virtual void | performCFComputations (LinkInfo &info) const |
perform recursively all CF computations. More... | |
virtual void | destructCFComputations (LinkInfo &info) const |
destroy recursively all results of initial computations. More... | |
Node * | getLowestNodeDealingAll (const std::list< OutPort * > &ports) const |
void | checkLinksCoherenceRegardingControl (const std::vector< OutPort * > &starts, InputPort *end, LinkInfo &info) const throw (Exception) |
void | solveObviousOrDelegateCFLinks (const std::list< OutPort * > &starts, InputPort *end, unsigned char &alreadyFed, bool direction, LinkInfo &info) const |
virtual void | checkCFLinks (const std::list< OutPort * > &starts, InputPort *end, unsigned char &alreadyFed, bool direction, LinkInfo &info) const |
check control flow links More... | |
Protected Member Functions inherited from YACS::ENGINE::Node | |
Node (const std::string &name) | |
Node (const Node &other, ComposedNode *father) | |
virtual Node * | simpleClone (ComposedNode *father, bool editionOnly=true) const =0 |
virtual void | exForwardFailed () |
virtual void | exForwardFinished () |
Additional Inherited Members | |
Static Public Member Functions inherited from YACS::ENGINE::ComposedNode | |
static ComposedNode * | getLowestCommonAncestor (Node *node1, Node *node2) throw (Exception) |
Retrieves the lowest common ancestor of 2 nodes. More... | |
static std::string | getLowestCommonAncestorStr (const std::string &node1, const std::string &node2) |
Public Attributes inherited from YACS::ENGINE::Node | |
YACS::Colour | _colour |
Static Public Attributes inherited from YACS::ENGINE::Node | |
static std::map< int, Node * > | idMap |
Static Protected Member Functions inherited from YACS::ENGINE::ComposedNode | |
static bool | splitNamesBySep (const std::string &globalName, const char separator[], std::string &firstPart, std::string &lastPart, bool priority) throw (Exception) |
Splits name globalName in 2 parts using separator. More... | |
Protected Attributes inherited from YACS::ENGINE::Node | |
InGate | _inGate |
OutGate | _outGate |
InPropertyPort * | _inPropertyPort |
std::string | _name |
ComposedNode * | _father |
YACS::StatesForNode | _state |
int | _modified |
std::string | _errorDetails |
int | _numId |
std::string | _implementation |
std::map< std::string, std::string > | _propertyMap |
Static Protected Attributes inherited from YACS::ENGINE::ComposedNode | |
static const char | SEP_CHAR_BTW_LEVEL [] ="." |
static const unsigned char | FED_ST = 2 |
static const unsigned char | FREE_ST = 0 |
static const unsigned char | FED_DS_ST = 1 |
Abstract class, that factorizes all the treatments relative to resource management for ComposedNode that have their connectivity fully defined before launching ; which is not always the case for classes inheriting from DynParaLoop.
Definition at line 34 of file StaticDefinedComposedNode.hxx.
|
protected |
Definition at line 27 of file StaticDefinedComposedNode.cxx.
|
protected |
Definition at line 31 of file StaticDefinedComposedNode.cxx.
|
protectedvirtual |
Implements YACS::ENGINE::ComposedNode.
Definition at line 55 of file StaticDefinedComposedNode.cxx.
References YACS::ENGINE::Port::getNode().
Referenced by YACS::ENGINE::ForLoop::checkControlDependancy(), and YACS::ENGINE::Loop::checkControlDependancy().
|
virtual |
Implements YACS::ENGINE::Scheduler.
Definition at line 46 of file StaticDefinedComposedNode.cxx.
|
virtual |
Implements YACS::ENGINE::Scheduler.
Definition at line 40 of file StaticDefinedComposedNode.cxx.
|
virtual |
Implements YACS::ENGINE::ComposedNode.
Definition at line 35 of file StaticDefinedComposedNode.cxx.
|
virtual |
Implements YACS::ENGINE::Scheduler.
Definition at line 51 of file StaticDefinedComposedNode.cxx.