00001
00017 #include <stdio.h>
00018 #include <iostream>
00019 #include <libfaudes.h>
00020 #include <op_observer.h>
00021
00022
00023 int main(int argc, char* argv[])
00024 {
00026
00028
00029
00030 cGenerator genOrig = Generator("data/ex_synthesis/ex_observer_all.gen");
00031
00032 EventSet highAlph = EventSet("data/ex_synthesis/ex_observer_all.alph", "Alphabet");
00033
00034 EventSet newHighAlph;
00035 cGenerator genObs(genOrig);
00036 map< Idx, set< Idx > > mapRelabeledEvents;
00037 calcAbstAlphObs(genObs, highAlph, newHighAlph, mapRelabeledEvents);
00038
00039 genObs.Write("results/ex_synthesis/ex_synthesis_observer_result.gen");
00040 newHighAlph.Write("results/ex_synthesis/ex_synthesis_observer_result.alph");
00041
00042 cGenerator genHigh;
00043 cProject(genObs, newHighAlph, genHigh);
00044
00045 genHigh.Write("results/ex_synthesis/ex_synthesis_observer_high.gen");
00046 std::cout << "##########################################################################\n";
00047 std::cout << "# Lm-observer computed; the result can be found in the folder./results/ex_synthesis\n";
00048 std::cout << "##########################################################################\n";
00049
00051
00053
00054
00055 genOrig.Read("data/ex_synthesis/ex_observer_all.gen");
00056 highAlph.Read("data/ex_synthesis/ex_observer_all.alph", "Alphabet");
00057
00058 newHighAlph.Clear();
00059 mapRelabeledEvents.clear();
00060 genObs = genOrig;
00061 calcAbstAlphObsLCC(genObs, highAlph, newHighAlph, mapRelabeledEvents);
00062 genObs.Write("results/ex_synthesis/ex_synthesis_lcc_result.gen");
00063 newHighAlph.Write("results/ex_synthesis/ex_synthesis_lcc_result.alph");
00064
00065 cProject(genObs, newHighAlph, genHigh);
00066
00067 genHigh.Write("results/ex_synthesis/ex_synthesis_lcc_high.gen");
00068 std::cout << "################################################################################\n";
00069 std::cout << "# Lm-observer with LCC computed; the result can be found in the folder./results/ex_synthesis\n";
00070 std::cout << "################################################################################\n";
00071
00073
00075
00076
00077 genOrig.Read("data/ex_synthesis/ex_observer_all.gen");
00078 highAlph.Read("data/ex_synthesis/ex_observer_all.alph", "Alphabet");
00079
00080 newHighAlph.Clear();
00081 mapRelabeledEvents.clear();
00082 genObs = genOrig;
00083 calcAbstAlphObsOCC(genObs, highAlph, newHighAlph, mapRelabeledEvents);
00084 genObs.Write("results/ex_synthesis/ex_synthesis_occ_result.gen");
00085 newHighAlph.Write("results/ex_synthesis/ex_synthesis_occ_result.alph");
00086
00087 cProject(genObs, newHighAlph, genHigh);
00088
00089 genHigh.Write("results/ex_synthesis/ex_synthesis_occ_high.gen");
00090 std::cout << "################################################################################\n";
00091 std::cout << "# Lm-observer with OCC computed; the result can be found in the folder./results/ex_synthesis\n";
00092 std::cout << "################################################################################\n";
00093
00094
00095
00096
00097 return 0;
00098 }