libFAUDES

Sections

Index

hio_functions.cpp File Reference


Detailed Description

Algorithms for hierarchical discrete event systems with inputs and outputs.

Definition in file hio_functions.cpp.

#include "hio_functions.h"
#include "syn_include.h"

Go to the source code of this file.

Namespaces

namespace  faudes

Functions

bool faudes::CompleteSynth (const Generator &rPlant, const EventSet rCAlph, const Generator &rSpec, Generator &rClosedLoop)
 CompleteSynth: compute supremal complete and controllable (and closed) sublanguage.
bool faudes::NormalCompleteSynth (Generator &rPlant, const EventSet &rCAlph, const EventSet &rOAlph, const Generator &rSpec, Generator &rClosedLoop)
 NormalCompleteSynth: compute normal, complete and controllable (and closed) sublanguage.
bool faudes::NormalCompleteSynthNB (Generator &rPlant, const EventSet &rCAlph, const EventSet &rOAlph, const Generator &rSpec, Generator &rClosedLoop)
 NormalCompleteSynthNB: compute normal, complete, controllable and nonblocking sublanguage.
Generator faudes::IoSortCL (const EventSet &rYc, const EventSet &rUc, const EventSet &rYp, const EventSet &rUp, const EventSet &rYe, const EventSet &rUe)
 IoSortCL: returns IO-sorting structure required for closed loops.
void faudes::FreeInput (const Generator &rGen, const EventSet &rInput, const EventSet &rOutput, Generator &rResGen, const std::string &rErrState1, const std::string &rErrState2, Idx &rErrState1Idx, Idx &rErrState2Idx)
 FreeInput: extend generator by obviously missing input transitions.
void faudes::FreeInput (const Generator &rGen, const EventSet &rInput, const EventSet &rOutput, Generator &rResGen, const std::string &rErrState1, const std::string &rErrState2)
 FreeInput: extend generator by obviously missing input transitions.
void faudes::FreeInput (const Generator &rGen, const EventSet &rInput, const EventSet &rOutput, Generator &rResGen)
 FreeInput: extend generator by obviously missing input transitions.
void faudes::FreeInput (const HioPlant &rPlant, HioPlant &rResPlant)
 FreeInput: extend HioPlant by obviously missing input transitions.
void faudes::FreeInput (const HioController &rController, HioController &rResController)
 FreeInput: extend HioController by obviously missing input transitions.
void faudes::FreeInput (const HioEnvironment &rEnvironment, HioEnvironment &rResEnvironment)
 FreeInput: extend HioEnvironment by obviously missing input transitions.
void faudes::FreeInput (const HioConstraint &rConstraint, HioConstraint &rResConstraint)
 FreeInput: extend HioConstraint by obviously missing input transitions.
void faudes::FreeInput (HioPlant &rPlant)
 FreeInput: convenience interface to faudes::FreeInput(const HioPlant&, HioPlant).
void faudes::FreeInput (HioController &rController)
 FreeInput: convenience interface to faudes::FreeInput(const HioController&, HioController).
void faudes::FreeInput (HioEnvironment &rEnvironment)
 FreeInput: convenience interface to faudes::FreeInput(const HioEnvironment&, HioEnvironment).
void faudes::FreeInput (HioConstraint &rConstraint)
 FreeInput: convenience interface to faudes::FreeInput(const HioConstraint&, HioConstraint).
bool faudes::SupConComplete (const Generator &rPlant, const EventSet rCAlph, const Generator &rSpec, Generator &rResGen)
 SupConComplete: Supremal Controllable and Complete Sublanguage - alternative for CompleteSynth() - UNDER CONSTRUCTION.
void faudes::MarkIoShuffle (const vGenerator &rGen1, const vGenerator &rGen2, const std::map< std::pair< Idx, Idx >, Idx > &rReverseCompositionMap, vGenerator &rShuffle)
 MarkIoShuffle: marking rule for IoShuffle() in case of marked parameters rGen1 and rGen2 - UNDER CONSTRUCTION.
void faudes::MarkAlternationAB (const EventSet rAset, const EventSet rBset, Generator &rAltAB)
 MarkAlternationAB: returns Generator marking the alternation of Aset-transitions with Bset-transitions.
void faudes::IoShuffleUnchecked (const Generator &rPlantA, const Generator &rPlantB, const EventSet &rYp, const EventSet &rUp, const EventSet &rYe, const EventSet &rUe, Generator &rIOShuffAB)
 IoShuffleUnchecked: IO-shuffle of rPlantA and rPlantB according to definition, no parameter check.
void faudes::IoShuffle (const Generator &rPlantA, const Generator &rPlantB, const EventSet &rYp, const EventSet &rUp, const EventSet &rYe, const EventSet &rUe, Generator &rIOShuffAB)
 IoShuffle: IO-shuffle of rPlantA and rPlantB according to definition.
void faudes::IoShuffle (const HioPlant &rPlantA, const HioPlant &rPlantB, HioPlant &rIOShuffAB)
 IoShuffle: IO-shuffle of rPlantA and rPlantB according to definition.
void faudes::CheapAltAnB (const EventSet rAset, const EventSet rBset, const int Depth, Generator &rAltAnB)
 CheapAltAnB: returns Generator of the following specification: "After a maximum of n (=depth) pairs of A-transitions, a B-transition has to occur!".
void faudes::CheapAltAB (const EventSet rAset, const EventSet rBset, const int Depth, Generator &rAltAB)
 CheapAltAB: returns Generator of the following specification: "After a maximum of n (=depth) pairs of A-transitions, a B-transition has to occur and vice-versa!".
void faudes::IoShuffleTU (const Generator &rPlantA, const Generator &rPlantB, const EventSet &rYp, const EventSet &rUp, const EventSet &rYe, const EventSet &rUe, const int Depth, Generator &rIOShuffAB)
 IoShuffleTU: IO-shuffle of rPlantA and rPlantB according to definition with additional forced alternation of depth Depth (see CheapAltAB()) between A- and B-events.
void faudes::SearchYclessScc (const Idx state, int &rcount,const Generator &rGen, const EventSet &rYc, const bool UnMarkedOnly, StateSet &rNewStates, std::stack< Idx > &rSTACK, StateSet &rStackStates, std::map< const Idx, int > &rDFN, std::map< const Idx, int > &rLOWLINK, std::set< StateSet > &rSccSet, StateSet &rRoots)
 SearchYclessSCC: Search for strongly connected ycless components (YC-less SCC's).
bool faudes::YclessScc (const Generator &rGen, const EventSet &rYc, std::set< StateSet > &rSccSet, StateSet &rRoots)
 YclessSCC: Search for strongly connected ycless components (YC-less SCC's) - convenience api.
bool faudes::YclessUnmarkedScc (const Generator &rGen, const EventSet &rYc, std::set< StateSet > &rSccSet, StateSet &rRoots)
 YclessUnmarkedSCC: Search for strongly connected ycless components (YC-less SCC's) consisting of unmarked states only.
bool faudes::YclessScc (const Generator &rGen, const EventSet &rYc, std::set< StateSet > &rSccSet)
bool faudes::IsYcLive (const Generator &rGen, const EventSet &rYc)
 IsYcLive: This function checks if generator is Yc-live.
void faudes::WriteStateSets (const std::set< StateSet > &rStateSets)
 WriteStateSets: Write set of StateSet's to console (indeces).
void faudes::WriteStateSets (const Generator &rGen, const std::set< StateSet > &rStateSets)
 WriteStateSets: Write set of StateSet's to console (symbolic state names taken from rGen).
void faudes::SccEntries (const Generator &rGen, const std::set< StateSet > &rSccSet, StateSet &rEntryStates, TransSetX2EvX1 &rEntryTransSet)
 SCCEntries: figure entry states and entry transitions of strongly connected components rSccSet of rGen.
void faudes::CloneScc (Generator &rGen, const StateSet &rScc, std::set< StateSet > &rSccSet, const Idx EntryState, StateSet &rEntryStates, TransSetX2EvX1 &rEntryTransSet)
 cloneSCC: makes a copy (clone) of strongly connected component (rSCC) of the generator and moves all transitions leading to some entry state EntryState of this SCC to the copy of EntryState.
void faudes::CloneUnMarkedScc (Generator &rGen, const StateSet &rScc, const Idx EntryState, const StateSet &rEntryStates, TransSetX2EvX1 &rEntryTransSet)
 CloneUnMarkedSCC: makes a copy (clone) of strongly connected unmarked component (rSCC) of rGen.
void faudes::YcAcyclic (const Generator &rGen, const EventSet &rYc, Generator &rResGen)
 YcAcyclic: Computes the supremal(?) Yc-acyclic sublanguage of L(Gen).
void faudes::ConstrSynth_Beta (Generator &rPlant, const EventSet &rYp, const EventSet &rUp, const Generator &rLocConstr, Generator &rOpConstraint)
 ConstrSynth_Beta: compute operator constraint Sp for plant under environment constraint Sl such that plant is complete & Yp-live wrt both constraints - Beta Version.
void faudes::HioSynthUnchecked (const Generator &rPlant, const Generator &rSpec, const Generator &rConstr, const Generator &rLocConstr, const EventSet &rYc, const EventSet &rUc, const EventSet &rYp, const EventSet &rUp, const EventSet &rYel, const EventSet &rUel, Generator &rController)
 HioSynthUnchecked: I/O controller synthesis procedure, no parameter check.
void faudes::HioSynth (const Generator &rPlant, const Generator &rSpec, const Generator &rConstr, const Generator &rLocConstr, const EventSet &rYc, const EventSet &rUc, const EventSet &rYp, const EventSet &rUp, const EventSet &rYel, const EventSet &rUel, Generator &rController)
 HioSynthUnchecked: I/O controller synthesis procedure.
void faudes::HioSynthMonolithic (const HioPlant &rPlant, const HioPlant &rSpec, const HioConstraint &rSc, const HioConstraint &rSp, const HioConstraint &rSe, HioController &rController)
 HioSynthMonolithic: I/O controller synthesis procedure for monolithic plant.
void faudes::HioSynthHierarchical (const HioPlant &rIoShuffle, const HioEnvironment &rEnvironment, const HioPlant &rSpec, const Generator &rIntConstr, const HioConstraint &rSc, const HioConstraint &rSl, HioController &rController)
 HioSynthHierarchical: I/O controller synthesis procedure for I/O-shuffle of i plants and their interaction via an I/O environment.
void faudes::IoShuffle_Musunoi (const HioPlant &rPlantA, const HioPlant &rPlantB, int depth, Generator &rIOShuffAB)
void faudes::HioSynth_Musunoi (const Generator &rPlant, const HioPlant &rSpec, const Generator &rConstr, const Generator &rLocConstr, const EventSet &rYp, const EventSet &rUp, Generator &rController)

libFAUDES 2.14g --- 2009-12-3 --- c++ source docu by doxygen 1.5.6