|
Go to the documentation of this file.
14 using namespace faudes;
66 cout << endl << "******** reading files: plant A, spec A, constraints LC_A, LP_A and LE_A." << endl;
68 HioPlant plantA( "data/5_conveyor_belts/A_plant.gen");
69 plantA. Write( "tmp_hio_cb_A_plant.gen");
71 cout<<endl<< "plant done.";
76 Generator LP_A( "data/5_conveyor_belts/A_LP.gen");
79 Generator LE_A( "data/5_conveyor_belts/A_LE.gen");
82 HioPlant specA( "data/5_conveyor_belts/A_spec.gen");
84 specA. Write( "tmp_hio_cb_A_spec.gen");
89 LC_A. Write( "tmp_hio_cb_A_LC.gen");
93 cout << endl << "******** local controller synthesis for plant A, B, C,...,H." << endl;
96 FAUDES_TEST_DUMP( "HioSynthMonolithic: Fischertechnik Conveyor Belts",controllerA);
98 controllerA. Write( "tmp_hio_cb_A_controller.gen");
113 controllerA. Version( "A_", "B_",controllerX);
114 controllerX. Write( "tmp_hio_cb_B_controller.gen");
115 controllerA. Version( "A_", "C_",controllerX);
116 controllerX. Write( "tmp_hio_cb_C_controller.gen");
117 controllerA. Version( "A_", "D_",controllerX);
118 controllerX. Write( "tmp_hio_cb_D_controller.gen");
119 controllerA. Version( "A_", "E_",controllerX);
120 controllerX. Write( "tmp_hio_cb_E_controller.gen");
121 controllerA. Version( "A_", "F_",controllerX);
122 controllerX. Write( "tmp_hio_cb_F_controller.gen");
123 controllerA. Version( "A_", "G_",controllerX);
124 controllerX. Write( "tmp_hio_cb_G_controller.gen");
125 controllerA. Version( "A_", "H_",controllerX);
126 controllerX. Write( "tmp_hio_cb_H_controller.gen");
137 specA. Version( "A_", "B_",specB);
138 specB. Write( "tmp_hio_cb_B_spec.gen");
140 cout <<endl<< "******** IOshuffle of spec A and spec B." << endl;
147 cout<<endl<< "**** Statistics of shuffAB: "<<endl;
149 cout<<endl<< "**** Doing statemin...";
151 cout<<endl<< "**** Statistics after statemin: "<<endl;
154 shuffAB. Name( "IO shuffle AB");
155 shuffAB. Write( "tmp_hio_cb_AB_shuff.gen_rename");
157 cout <<endl<< "******** environment: read files AB_Env1 and AB_Env2, composition to environment model." << endl;
161 envAB1. Write( "tmp_hio_cb_AB_env1.gen");
162 envAB2. Write( "tmp_hio_cb_AB_env2.gen");
172 envAB. Write( "tmp_hio_cb_AB_env.gen");
174 cout <<endl<< "******** Composition shuffAB||envAB." << endl;
180 cout <<endl<< "******** Specification and constraints for compound AB." << endl;
183 HioPlant specAB( "data/5_conveyor_belts/AB_spec.gen");
185 specAB. Write( "tmp_hio_cb_AB_spec.gen");
190 LC_AB. Write( "tmp_hio_cb_AB_LC.gen");
192 Generator LL_AB( "data/5_conveyor_belts/AB_LL.gen");
200 Parallel(intConstr_AB,LE_A,intConstr_AB);
201 Parallel(intConstr_AB,LE_B,intConstr_AB);
202 intConstr_AB. Name( "intConstr_AB");
209 cout <<endl<< "******** Controller synthesis for compound AB." << endl;
213 controllerAB. Name( "controllerAB");
215 controllerAB. Write( "tmp_hio_cb_AB_controller.gen_rename");
219 controllerAB. Version( "AB_", "CD_",controllerX);
220 controllerX. Version( "A_", "C_",controllerX2);
221 controllerX2. Version( "B_", "D_",controllerX);
222 controllerX. Write( "tmp_hio_cb_CD_controller.gen_rename");
224 controllerAB. Version( "AB_", "EF_",controllerX);
225 controllerX. Version( "A_", "E_",controllerX2);
226 controllerX2. Version( "B_", "F_",controllerX);
227 controllerX. Write( "tmp_hio_cb_EF_controller.gen_rename");
229 controllerAB. Version( "AB_", "GH_",controllerX);
230 controllerX. Version( "A_", "G_",controllerX2);
231 controllerX2. Version( "B_", "H_",controllerX);
232 controllerX. Write( "tmp_hio_cb_GH_controller.gen_rename");
238 intConstr_AB. Clear();
246 cout <<endl<< "******** IOshuffle of spec AB and spec CD." << endl;
250 specAB. Version( "AB_", "CD_",specCD);
251 specCD. Write( "tmp_hio_cb_CD_spec.gen");
259 shuffABCD. Name( "shuff ABCD");
262 shuffABCD. Write( "tmp_hio_cb_ABCD_shuff.gen_rename");
264 cout <<endl<< "******** environmentAB: read files, composition to environment model." << endl;
267 envABCD1. Write( "tmp_hio_cb_ABCD_env1.gen");
268 HioEnvironment envABCD2( "data/5_conveyor_belts/ABCD_Env_ABCDfreetr.gen");
269 envABCD2. Write( "tmp_hio_cb_ABCD_env_freetr.gen");
272 envABCD2. Read( "data/5_conveyor_belts/ABCD_Env_ABCDoccfl.gen");
273 envABCD2. Write( "tmp_hio_cb_ABCD_env_occfl.gen");
279 envABCD. Name( "envABCD");
282 envABCD. Write( "tmp_hio_cb_ABCD_env.gen");
290 specAB. Version( "AB_", "ABCD_",specABCD);
292 specABCD. Write( "tmp_hio_cb_ABCD_spec.gen");
296 LC_AB. Version( "AB_", "CD_",LC_CD);
297 LL_AB. Version( "AB_", "CD_",LL_CD);
300 Parallel(LC_AB,LC_CD,intConstr_ABCD);
301 Parallel(intConstr_ABCD,LL_AB,intConstr_ABCD);
302 Parallel(intConstr_ABCD,LL_CD,intConstr_ABCD);
303 intConstr_ABCD. Name( "intConstr_ABCD");
308 LC_AB. Version( "AB_", "ABCD_",LC_ABCD);
309 LL_AB. Version( "AB_", "ABCD_",LL_ABCD);
313 cout <<endl<< "******** Controller synthesis for compound ABCD." << endl;
317 cout <<endl<< "**** Synthesis procedure is running - this can take about two hours! ..." << endl;
319 controllerABCD. Name( "controllerABCD");
321 controllerABCD. Write( "tmp_hio_cb_ABCD_controller.gen_rename");
322 controllerABCD. Read( "tmp_hio_cb_ABCD_controller.gen_rename");
326 intConstr_ABCD. Clear();
328 controllerABCD. Version( "ABCD_", "EFGH_",controllerX);
329 controllerX. Version( "AB_", "EF_",controllerX2);
330 controllerX2. Version( "CD_", "GH_",controllerX);
331 controllerX. Write( "tmp_hio_cb_EFGH_controller.gen_rename");
333 controllerABCD. Version( "ABCD_", "ABCDEFGH_",controllerX);
334 controllerX. Version( "CD_", "EFGH_",controllerX2);
335 controllerX2. Version( "AB_", "ABCD_",controllerX);
336 controllerX. Write( "tmp_hio_cb_ABCDEFGH_controller.gen_rename");
338 cout << endl << "done.";
350 std::cout << "function: " << e. Where() << std::endl;
351 std::cout << "exception description: " << e. What() << std::endl;
352 std::cout << "exception id: " << e. Id() << std::endl;
libFAUDES 2.24g
--- 2014.09.15
--- c++ api documentaion by doxygen
|