Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members

CCM::Model Class Reference

List of all members.

Detailed Description

Represents a CCMB model (set of processes).


Public Member Functions

 Model ()
 Initialize an empty model.

 Model (FileStream reader)
 Deserialize model from the given reader.

void setStartState ()
 Create a state node from the current state of the component and marks it as start state.

StateNode getStartState ()
 Return the start state.

int fieldIndex (string fieldname)
 Return the index of the field with given name or -1 if no such field exists.

void terminateThread ()
 Terminate the current process thread by appending a state node and add it to the todo list (if necessary).

void writeCCMB (TextWriter writer)
 Write the generated processes in CCMB notation to the given writer.

void writeProlog (TextWriter writer)
 Write the generated processes in Prolog syntax to the given writer.

void writeBin (Stream writer)
 Write the generated processes in binary form to the given stream.

StateNode nextTodo ()
 Return the next state whose process is not yet calculated and add it to the set of known states.

Hashtable getStates ()
 Return the state dictionary.


Public Attributes

Class comp
 The modelled CCM.Comp class.

StateAbstraction stateAbstraction
 State abstraction in deserialized models.

TransitionAbstraction transitionAbstraction
 Transition abstraction in deserialized models.

IList stateFormat
 List of state names in deserialized models.


Static Public Attributes

Model currentInstance
 Used for writeProlog(): StateNodeRef must be able to resolve to a proper StateNode to produce a proper string; this contains a global pointer to the Model instance of which writeProlog() was called.


Private Attributes

StateNode startState
 Initial state as set by setStartState().

Hashtable states
 Already calculated processes (StateNode.stateName() -> Node).

Queue todo
 States whose processes must still be calculated (contains StateNodes).


Constructor & Destructor Documentation

CCM::Model::Model  ) 
 

Initialize an empty model.

CCM::Model::Model FileStream  reader  ) 
 

Deserialize model from the given reader.


Member Function Documentation

int CCM::Model::fieldIndex string  fieldname  ) 
 

Return the index of the field with given name or -1 if no such field exists.

StateNode CCM::Model::getStartState  ) 
 

Return the start state.

Hashtable CCM::Model::getStates  ) 
 

Return the state dictionary.

StateNode CCM::Model::nextTodo  ) 
 

Return the next state whose process is not yet calculated and add it to the set of known states.

void CCM::Model::setStartState  ) 
 

Create a state node from the current state of the component and marks it as start state.

void CCM::Model::terminateThread  ) 
 

Terminate the current process thread by appending a state node and add it to the todo list (if necessary).

void CCM::Model::writeBin Stream  writer  ) 
 

Write the generated processes in binary form to the given stream.

void CCM::Model::writeCCMB TextWriter  writer  ) 
 

Write the generated processes in CCMB notation to the given writer.

void CCM::Model::writeProlog TextWriter  writer  ) 
 

Write the generated processes in Prolog syntax to the given writer.


Member Data Documentation

Class CCM::Model::comp
 

The modelled CCM.Comp class.

This field is not serialized! When loading a binary dump, the abstractions will be stored in stateAbstraction and transitionAbstraction.

Model CCM::Model::currentInstance [static]
 

Used for writeProlog(): StateNodeRef must be able to resolve to a proper StateNode to produce a proper string; this contains a global pointer to the Model instance of which writeProlog() was called.

StateNode CCM::Model::startState [private]
 

Initial state as set by setStartState().

StateAbstraction CCM::Model::stateAbstraction
 

State abstraction in deserialized models.

IList CCM::Model::stateFormat
 

List of state names in deserialized models.

Hashtable CCM::Model::states [private]
 

Already calculated processes (StateNode.stateName() -> Node).

Queue CCM::Model::todo [private]
 

States whose processes must still be calculated (contains StateNodes).

TransitionAbstraction CCM::Model::transitionAbstraction
 

Transition abstraction in deserialized models.


The documentation for this class was generated from the following file:
Generated on Mon Jun 21 01:20:50 2004 for cs2ccmb by doxygen 1.3.7