|
|
Go to the documentation of this file.
29 gen. Read( "data/syn_lfeed.gen");
31 gen. Read( "data/syn_lplace2.gen");
33 gen. Read( "data/syn_lplace3.gen");
35 gen. Read( "data/syn_lplace4.gen");
37 gen. Read( "data/syn_lplace5.gen");
39 gen. Read( "data/syn_lplace6.gen");
41 gen. Read( "data/syn_lplace7.gen");
43 gen. Read( "data/syn_lexit7.gen");
53 gen. Read( "data/syn_efeeda.gen");
55 gen. Read( "data/syn_eexit7.gen");
59 std::map<faudes::Idx,faudes::Idx> MapEventsToPlant;
70 MapEventsToPlant, DisGenVec, SupGenVec);
77 std::cout << "################################\n";
78 std::cout << "Hello, this is a test case for compositional synthesis \n";
79 std::cout << "################################\n";
83 std::map<faudes::Idx,faudes::Idx>::iterator mit = MapEventsToPlant.begin();
84 std::cout << "################\n";
85 std::cout << "this is map\n";
86 std::cout << "################\n";
87 for(; mit != MapEventsToPlant.end(); ++mit) {
88 std::cout << "map "<<pEvSymTab-> Symbol(mit->first) << " to ";
89 std::cout << pEvSymTab-> Symbol(mit->second) << std::endl;
94 for(; i < DisGenVec. Size(); ++i) {
101 for(i=0; i < SupGenVec. Size(); ++i) {
110 for(i=0; i < SupGenVec. Size(); ++i) {
111 Size += SupGenVec. At(i). Size();
115 std::cout<< " the number of supervisors is "<<SupGenVec. Size()<<std::endl;
116 std::cout<< " the total size is "<<Size<<std::endl;
117 std::cout<< " the total number of TransRel is "<<TransRelSize<<std::endl;
118 std::cout << "################################\n";
171 std::cout << "the size of closed behavior is :\n";
172 std::cout << "the states : " << My_Closed. Size() << std::endl;
173 std::cout << "the TransRel : " << My_Closed. TransRelSize() << std::endl;
174 std::cout << "################################\n";
183 bool my_iscon = false;
186 bool my_isNB = false;
194 std::cout << "the supervisor is " << (my_iscon? "": " not ") << "controllable\n";
195 std::cout << "the supervisor is " << (my_isNB? "": " not ") << "nonblocking\n";
#define FAUDES_TEST_DIFF()
#define FAUDES_TEST_DUMP(mes, dat)
bool Insert(const Idx &rIndex)
std::string Symbol(Idx index) const
std::vector< int >::size_type Position
virtual const T & At(const Position &pos) const
void Read(const std::string &rFileName, const std::string &rLabel="", const Type *pContext=0)
void Write(const Type *pContext=0) const
virtual void PushBack(const Type &rElem)
SymbolTable * EventSymbolTablep(void) const
Idx TransRelSize(void) const
void aParallel(const Generator &rGen1, const Generator &rGen2, Generator &rResGen)
bool IsControllable(const Generator &rPlantGen, const EventSet &rCAlph, const Generator &rSupCandGen)
void CompositionalSynthesis(const GeneratorVector &rPlantGenVec, const EventSet &rConAlph, const GeneratorVector &rSpecGenVec, std::map< Idx, Idx > &rMapEventsToPlant, GeneratorVector &rDisGenVec, GeneratorVector &rSupGenVec)
bool IsNonblocking(const GeneratorVector &rGvec)
libFAUDES 2.33k
--- 2025.09.16
--- c++ api documentaion by doxygen
|