DiaDes  0.1
DIAgnosis of Discrete-Event System
Private Types | Private Member Functions | Private Attributes | Friends | List of all members
Diades::Altarica::NodeData Class Reference

#include <Node.hh>

Private Types

typedef vector< Transition >::const_iterator TransitionIterator
 

Private Member Functions

 NodeData (unsigned id)
 
Event newEvent (const Identifier &id)
 
Event getEvent (const Identifier &id) const
 
void setPriorities (const set< Event > &lowEvents, const set< Event > &highEvents)
 
void addAttribute (const Identifier &attribute)
 
Variable addVariable (const Identifier &id, NodeVariableType type, Domain domain, const set< Identifier > &attributes)
 
Variable addStructureVariable (const Identifier &id, const set< Variable > &structure)
 
void addAssertion (Expression *assertion)
 
void addParameter (const Identifier &id, Domain domain)
 
void addTransition (const Transition &transition)
 
TransitionIterator transitionBegin () const
 
TransitionIterator transitionEnd () const
 
Parameter getParameter (const Identifier &id) const
 
Variable getVariable (const Identifier &id) const
 
void addSubNode (const Identifier &name, const Node &nodeType)
 
void addSyncVector (const vector< list< Identifier > > &paths)
 
void addInitialisation (const Assignment &assignment)
 

Private Attributes

unsigned _id
 
string _name
 
unordered_map< Identifier, unsigned > _idParam
 
vector< Parameter_param
 
vector< Transition_trans
 
vector< Variable_flowVar
 
vector< Variable_stateVar
 
vector< Variable_nodeVar
 
unordered_map< Identifier, Variable_flowVarOfLabel
 
unordered_map< Identifier, Variable_stateVarOfLabel
 
unordered_map< Identifier, Variable_nodeVarOfLabel
 
set< Identifier_attributes
 
set< Event_eventSet
 
unordered_map< Identifier, Event_eventOfLabel
 
Diades::Graph::Graph _eventDag
 
Diades::Graph::NodeMap< Event_events
 
vector< Expression * > _assertions
 
vector< NodeData * > _subNodes
 
vector< Identifier_subNodesName
 
unordered_map< Identifier, NodeData * > _subNodesMap
 
list< vector< list< Identifier > > > _synchros
 
set< Assignment_initialisations
 

Friends

class AltaricaModel
 
class Node
 
class NodeInstance
 

Detailed Description

This structure is the internal representation of a Node. Only a AltaricaModel has the right to create/modify/delete a NodeData. The external user must use the services provided by AltaricaModel to perform any modification on a Node.

Definition at line 28 of file Node.hh.

Member Typedef Documentation

typedef vector<Transition>::const_iterator Diades::Altarica::NodeData::TransitionIterator
private

Definition at line 144 of file Node.hh.

Constructor & Destructor Documentation

Diades::Altarica::NodeData::NodeData ( unsigned  id)
inlineprivate

Private constructor

Parameters
idthe identifier of the NodeData only AltaricaModel has the right to create such a structure

Definition at line 60 of file Node.hh.

Member Function Documentation

void Diades::Altarica::NodeData::addAssertion ( Expression assertion)
inlineprivate
Parameters
assertiona pointer on an expression that defines an assertion of the node

Definition at line 122 of file Node.hh.

void Diades::Altarica::NodeData::addAttribute ( const Identifier attribute)
private

Add an attribute

Parameters
attributean attribute
void Diades::Altarica::NodeData::addInitialisation ( const Assignment assignment)
private

add initialisations

Parameters
assignmentthe initialisation
void Diades::Altarica::NodeData::addParameter ( const Identifier id,
Domain  domain 
)
private

Add a parameter

Parameters
idan Identifier that represents a parameter
domainthe domain of the parameter
Postcondition
if a Parameter with the same Identifier already exists in the Node, the new one is not added
Variable Diades::Altarica::NodeData::addStructureVariable ( const Identifier id,
const set< Variable > &  structure 
)
private

Add a variable

Parameters
idan Identifier that represents a variable
structureset of variables in the structure variable.
Returns
the added Variable, an invalid variable if the operation fails.
Postcondition
if a Variable with the same Identifier already exists in the Node, the new one is not added
void Diades::Altarica::NodeData::addSubNode ( const Identifier name,
const Node nodeType 
)
private

Add a sub node

Parameters
namethe name of the subNode
nodeTypethe node type of the subnode
void Diades::Altarica::NodeData::addSyncVector ( const vector< list< Identifier > > &  paths)
private

Add a synchronisation vector

Parameters
pathsthe synchronisation vector
void Diades::Altarica::NodeData::addTransition ( const Transition transition)
inlineprivate

Add a transition

Parameters
transitiona Transition

Definition at line 139 of file Node.hh.

Variable Diades::Altarica::NodeData::addVariable ( const Identifier id,
NodeVariableType  type,
Domain  domain,
const set< Identifier > &  attributes 
)
private

Add a variable

Parameters
idan Identifier that represents a variable
typeflow/state/node type
domainthe domain of the parameter
attributesset of attributes
Returns
the added Variable, an invalid variable if the operation fails.
Postcondition
if a Variable with the same Identifier already exists in the Node, the new one is not added
Event Diades::Altarica::NodeData::getEvent ( const Identifier id) const
inlineprivate

Get an event

Parameters
labelthe label of the event

Definition at line 78 of file Node.hh.

Referenced by Diades::Altarica::Node::getEvent().

Parameter Diades::Altarica::NodeData::getParameter ( const Identifier id) const
inlineprivate

Get a Parameter

Parameters
idthe corresponding identifier
Returns
the parameter of the corrsponding identifier, an inavlid parameter otherwise

Definition at line 169 of file Node.hh.

Referenced by Diades::Altarica::Node::getParameter().

Variable Diades::Altarica::NodeData::getVariable ( const Identifier id) const
inlineprivate

Get a Variable

Parameters
idthe corresponding identifier
Returns
the variable of the corrsponding identifier, an inavlid variable otherwise

Definition at line 183 of file Node.hh.

Referenced by Diades::Altarica::Node::getVariable().

Event Diades::Altarica::NodeData::newEvent ( const Identifier id)
private

Add an event

Parameters
labelthe label of the event
void Diades::Altarica::NodeData::setPriorities ( const set< Event > &  lowEvents,
const set< Event > &  highEvents 
)
private

Set priorities

Parameters
lowEventsthe set of events with the lower priority
highEventsthe set of events with the higher priority
TransitionIterator Diades::Altarica::NodeData::transitionBegin ( ) const
inlineprivate
Returns
an iterator on the transitions

Definition at line 149 of file Node.hh.

TransitionIterator Diades::Altarica::NodeData::transitionEnd ( ) const
inlineprivate
Returns
an iterator on the transitions

Definition at line 158 of file Node.hh.

Friends And Related Function Documentation

friend class AltaricaModel
friend

Definition at line 234 of file Node.hh.

friend class Node
friend

Definition at line 235 of file Node.hh.

friend class NodeInstance
friend

Definition at line 236 of file Node.hh.

Member Data Documentation

vector<Expression *> Diades::Altarica::NodeData::_assertions
private
set<Identifier> Diades::Altarica::NodeData::_attributes
private
Diades::Graph::Graph Diades::Altarica::NodeData::_eventDag
private

Definition at line 47 of file Node.hh.

unordered_map<Identifier,Event> Diades::Altarica::NodeData::_eventOfLabel
private

Definition at line 46 of file Node.hh.

Diades::Graph::NodeMap<Event> Diades::Altarica::NodeData::_events
private

Definition at line 48 of file Node.hh.

set<Event> Diades::Altarica::NodeData::_eventSet
private

Definition at line 45 of file Node.hh.

Referenced by Diades::Altarica::Node::eventBegin(), and Diades::Altarica::Node::eventEnd().

vector<Variable> Diades::Altarica::NodeData::_flowVar
private
unordered_map<Identifier, Variable> Diades::Altarica::NodeData::_flowVarOfLabel
private

Definition at line 41 of file Node.hh.

unsigned Diades::Altarica::NodeData::_id
private

Definition at line 33 of file Node.hh.

Referenced by Diades::Altarica::Node::id().

unordered_map<Identifier,unsigned> Diades::Altarica::NodeData::_idParam
private

Definition at line 35 of file Node.hh.

set<Assignment> Diades::Altarica::NodeData::_initialisations
private
string Diades::Altarica::NodeData::_name
private

Definition at line 34 of file Node.hh.

Referenced by Diades::Altarica::Node::name().

vector<Variable> Diades::Altarica::NodeData::_nodeVar
private
unordered_map<Identifier, Variable> Diades::Altarica::NodeData::_nodeVarOfLabel
private

Definition at line 43 of file Node.hh.

vector<Parameter> Diades::Altarica::NodeData::_param
private
vector<Variable> Diades::Altarica::NodeData::_stateVar
private
unordered_map<Identifier, Variable> Diades::Altarica::NodeData::_stateVarOfLabel
private

Definition at line 42 of file Node.hh.

vector< NodeData *> Diades::Altarica::NodeData::_subNodes
private
unordered_map<Identifier, NodeData *> Diades::Altarica::NodeData::_subNodesMap
private

Definition at line 52 of file Node.hh.

vector< Identifier > Diades::Altarica::NodeData::_subNodesName
private

Definition at line 51 of file Node.hh.

Referenced by Diades::Altarica::Node::getSubNodeName().

list< vector< list<Identifier> > > Diades::Altarica::NodeData::_synchros
private

Definition at line 53 of file Node.hh.

vector<Transition> Diades::Altarica::NodeData::_trans
private

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