Nu-iterations on state sets.
Given an opertor on state stes, this class facilitates nested fixpoint iterations as in the mu-calculus. In tis specific class, we implement the nu-iteration, i.e., we seek for the greatest fixpoint.
The implementation is meant for a simple API, we do not care about performance at this stage.
Definition at line 293 of file syn_ctrlpfx.h.
|
| NuIteration (const StateSetOperator &rOp) |
|
| ~NuIteration (void) |
|
virtual const StateSet & | Domain (void) const |
|
virtual void | Indent (const std::string &indent) const |
|
virtual const std::string & | Indent (void) const |
|
virtual void | Indent (const std::string &indent) const |
|
| StateSetOperator (void) |
|
| StateSetOperator (const StateSetOperator &)=delete |
|
| ~StateSetOperator (void) |
|
void | Evaluate (StateSetVector &rArgs, StateSet &rRes) const |
|
void | Evaluate (StateSet &rArg, StateSet &rRes) const |
|
void | Evaluate (StateSet &rRes) const |
|
StateSetVector::Position | ArgCount (void) const |
|
const std::string & | ArgName (StateSetVector::Position pos) const |
|
std::string | ArgStatistics (const StateSetVector &rArgs) const |
|
| ExtType (void) |
|
| ExtType (const ExtType &rType) |
|
virtual | ~ExtType (void) |
|
const std::string & | Name (void) const |
|
void | Name (const std::string &rName) |
|
virtual const std::string & | TypeName (void) const |
|
virtual void | TypeName (const std::string &rType) |
|
virtual const std::string & | ElementTag (void) const |
|
virtual void | ElementTag (const std::string &rTag) |
|
virtual const std::string & | ElementType (void) const |
|
virtual const TypeDefinition * | TypeDefinitionp (void) const |
|
Type & | operator= (const Type &rSrc) |
|
bool | operator== (const Type &rOther) const |
|
bool | operator!= (const Type &rOther) const |
|
| AttrType (void) |
|
| AttrType (const AttrType &rSrc) |
|
virtual | ~AttrType (void) |
|
virtual bool | IsDefault (void) const |
|
Type & | operator= (const Type &rSrc) |
|
bool | operator== (const Type &rOther) const |
|
bool | operator!= (const Type &rOther) const |
|
| Type (void) |
|
| Type (const Type &rType) |
|
virtual | ~Type (void) |
|
virtual Type * | New (void) const |
|
virtual Type * | Copy (void) const |
|
virtual const Type * | Cast (const Type *pOther) const |
|
virtual void | Clear (void) |
|
virtual Type & | Assign (const Type &rSrc) |
|
Type & | operator= (const Type &rSrc) |
|
virtual bool | Equal (const Type &rOther) const |
|
bool | operator== (const Type &rOther) const |
|
bool | operator!= (const Type &rOther) const |
|
void | Write (const Type *pContext=0) const |
|
void | Write (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0, std::ios::openmode openmode=std::ios::out|std::ios::trunc) const |
|
void | Write (const std::string &pFileName, std::ios::openmode openmode) const |
|
void | Write (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const |
|
virtual void | XWrite (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0) const |
|
void | XWrite (const Type *pContext=0) const |
|
void | XWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const |
|
std::string | ToString (const std::string &rLabel="", const Type *pContext=0) const |
|
std::string | ToText (const std::string &rLabel="", const Type *pContext=0) const |
|
void | DWrite (const Type *pContext=0) const |
|
void | DWrite (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0, std::ios::openmode openmode=std::ios::out|std::ios::trunc) const |
|
void | DWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const |
|
void | SWrite (TokenWriter &rTw) const |
|
void | SWrite (void) const |
|
std::string | ToSText (void) const |
|
void | Read (const std::string &rFileName, const std::string &rLabel="", const Type *pContext=0) |
|
void | FromString (const std::string &rString, const std::string &rLabel="", const Type *pContext=0) |
|
void | Read (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0) |
|
|
virtual void | DoEvaluate (StateSetVector &rArgs, StateSet &rRes) const |
|
void | DoAssign (const AttrType &rSrc) |
|
bool | DoEqual (const AttrType &rOther) const |
|
void | DoAssign (const Type &rSrc) |
|
bool | DoEqual (const Type &rOther) const |
|
virtual void | DoRead (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0) |
|
virtual void | DoWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const |
|
virtual void | DoXWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const |
|
virtual void | DoDWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const |
|
virtual void | DoSWrite (TokenWriter &rTw) const |
|
virtual Token | XBeginTag (const std::string &rLabel="", const std::string &rFallbackLabel="") const |
|
Implement the nu-iteration to find the smallest fixpoint.
Given the parameter vector rArgs, we append one additional state set X for which we seek a fixpoint of Op(rArgs,X). Effectively we iterate
X(0) = Domain X(i+1) = X(i) intersected with Op(rArgs,X(i))
until the fixpoint is achieved.
- Parameters
-
rArgs | Arguments the operator performs on |
rRes | Resulting state set |
Implements faudes::StateSetOperator.
Definition at line 306 of file syn_ctrlpfx.cpp.