|
|
Go to the documentation of this file.
28 gen. Read( "data/syn_manufacturing_w1.gen");
30 gen. Read( "data/syn_manufacturing_m1.gen");
32 gen. Read( "data/syn_manufacturing_w2.gen");
34 gen. Read( "data/syn_manufacturing_m2.gen");
49 gen. Read( "data/syn_manufacturing_b1.gen");
51 gen. Read( "data/syn_manufacturing_b2.gen");
55 std::map<Idx,Idx> MapEventsToPlant;
66 MapEventsToPlant, DisGenVec, SupGenVec);
72 std::cout << "################################\n";
73 std::cout << "Hello, this is a test case for compositional synthesis \n";
74 std::cout << "################################\n";
78 std::map<Idx,Idx>::iterator mit = MapEventsToPlant.begin();
79 std::cout << "################\n";
80 std::cout << "this is map\n";
81 std::cout << "################\n";
82 for(; mit != MapEventsToPlant.end(); ++mit) {
83 std::cout << "map "<<pEvSymTab-> Symbol(mit->first) << " to ";
84 std::cout << pEvSymTab-> Symbol(mit->second) << std::endl;
89 for(; i < DisGenVec. Size(); ++i) {
96 for(i=0; i < SupGenVec. Size(); ++i) {
104 Idx TransRelSize = 0;
105 for(i=0; i < SupGenVec. Size(); ++i) {
106 Size += SupGenVec. At(i). Size();
110 std::cout<< " the number of supervisors is "<<SupGenVec. Size()<<std::endl;
111 std::cout<< " the total size is "<<Size<<std::endl;
112 std::cout<< " the total number of TransRel is "<<TransRelSize<<std::endl;
113 std::cout << "################################\n";
131 Parallel(SigSupGen, SigDisGen, My_Closed);
139 mit = MapEventsToPlant.begin();
140 for(; mit != MapEventsToPlant.end(); ++mit) {
141 if(mit->first == mit->second) continue;
143 Idx kid = mit->first;
144 Idx parent = mit->second;
150 for(; tit != invtr. EndByEv(kid); ++tit)
160 std::cout << "the size of closed behavior is :\n";
161 std::cout << "the states : " << My_Closed. Size() << std::endl;
162 std::cout << "the TransRel : " << My_Closed. TransRelSize() << std::endl;
163 std::cout << "################################\n";
172 bool my_iscon = true;
183 std::cout << "the supervisor is " << (my_iscon? "": " not ") << "controllable\n";
184 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
Iterator EndByEv(Idx ev) const
Iterator BeginByEv(Idx ev) 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)
const TransSet & TransRel(void) const
bool SetTransition(Idx x1, Idx ev, Idx x2)
SymbolTable * EventSymbolTablep(void) const
Idx TransRelSize(void) const
void aParallel(const Generator &rGen1, const Generator &rGen2, Generator &rResGen)
void Parallel(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
|