00001
00021 #include "libfaudes.h"
00022
00023
00024
00025 using namespace faudes;
00026
00027
00028
00029
00031
00033
00034 int main() {
00035
00036
00038
00040
00041
00042
00043 cGenerator cgen1;
00044
00045
00046
00047
00048 cGenerator cgen2("data/simplemachine.gen");
00049
00050
00051
00052 cGenerator cgen3("data/csimplemachine.gen");
00053
00054
00055
00056
00057 cGenerator cgen4(cgen3);
00058 cgen4 = cgen3;
00059
00060 cgen4.Write("tmp_csimplemachine.gen");
00061
00063
00065
00066
00067
00068 cgen1.InsControllableEvent(1);
00069 cgen1.InsControllableEvent("newcevent1");
00070
00071
00072
00073 cgen1.InsUncontrollableEvent(2);
00074 cgen1.InsUncontrollableEvent("newcevent2");
00075
00076
00077
00078 cgen1.SetControllable(2);
00079 cgen1.SetControllable((const std::string&) "newcevent2");
00080
00081
00082
00083 cgen1.ClrControllable(1);
00084 cgen1.ClrControllable((const std::string&) "newcevent1");
00085
00086
00087
00088 bool bool_eventcontrollable = cgen1.Controllable(1);
00089 bool_eventcontrollable = cgen1.Controllable("newcevent1");
00090
00091
00092
00093
00094 EventSet eset_cevents = cgen2.ControllableEvents();
00095
00096
00097
00098
00099 EventSet eset_ucevents = cgen2.UncontrollableEvents();
00100
00102
00104
00105
00106 Generator tempgen, machinea, machineb;
00107 cGenerator cplant;
00108
00109 tempgen.Read("data/verysimplemachine.gen");
00110 tempgen.Version("1",machinea);
00111 tempgen.Version("2",machineb);
00112 Parallel(machinea,machineb,cplant);
00113
00114
00115 EventSet contevents;
00116 contevents.Insert("alpha_1");
00117 contevents.Insert("alpha_2");
00118 cplant.SetControllable(contevents);
00119
00120
00121 cplant.Write("tmp_cplant12.gen");
00122
00123
00124
00125 std::cout << "################################\n";
00126 std::cout << "# tutorial, plant model \n";
00127 cplant.DWrite();
00128 std::cout << "################################\n";
00129
00130
00131
00132 Generator specification;
00133 specification.Read("data/buffer.gen");
00134 InvProject(specification,cplant.Alphabet());
00135 specification.Name("simple machines specification");
00136
00137
00138 specification.Write("tmp_specification12.gen");
00139
00140
00141
00142 std::cout << "################################\n";
00143 std::cout << "# tutorial, specification \n";
00144 specification.DWrite();
00145 std::cout << "################################\n";
00146
00147
00148
00149 cGenerator supervisor;
00150 cSupConNB(cplant,specification,supervisor);
00151 supervisor.Name("simple machines supervisor");
00152 supervisor.Write("tmp_supervisor12.gen");
00153
00154
00155
00156 std::cout << "################################\n";
00157 std::cout << "# tutorial, supervisor\n";
00158 supervisor.DWrite();
00159 std::cout << "################################\n";
00160
00161
00162 return 0;
00163 }
00164
00165
00166