syn_sscon.h
Go to the documentation of this file.
1 /** @file syn_sscon.h Standard syntheis consistency test */
2 
3 /* FAU Discrete Event Systems Library (libfaudes)
4 
5  Copyright (C) 2014 Matthias Leinfelder, Thomas Moor
6 
7  This library is free software; you can redistribute it and/or
8  modify it under the terms of the GNU Lesser General Public
9  License as published by the Free Software Foundation; either
10  version 2.1 of the License, or (at your option) any later version.
11 
12  This library is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  Lesser General Public License for more details.
16 
17  You should have received a copy of the GNU Lesser General Public
18  License along with this library; if not, write to the Free Software
19  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21 
22 
23 #ifndef FAUDES_SSCON_H
24 #define FAUDES_SSCON_H
25 
26 #include "corefaudes.h"
27 #include "syn_supcon.h"
28 #include "syn_functions.h"
29 
30 namespace faudes {
31 
32 
33 /**
34  * Test consistency of an abstractions w.r.t. standard controller synthesis.
35  *
36  * Test whether abstraction-based supervisory controller design is guaranteed to
37  * lead to a non-blocking and controllable closed loop. This function implements
38  * the test proposed in "Moor, T.: Natural projections for the synthesis of
39  * non-conflicting supervisory controllers, Workshop on Discrete Event Systems (WODES), Paris, 2014".
40  *
41  * Parameter restrictions: the generator has to be deterministic and the alphabets must match (see below for exceptions).
42  *
43  *
44  * @param rPlantGen
45  * plant G
46  * @param rCAlph
47  * controllable events
48  * @param rPlant0Gen
49  * plant abstraction G0
50  *
51  * @exception Exception
52  * - the abstraction rPlant0Gen must have been obtained from the plant rPlantGen by natural projection (not tested)
53  * - the abstraction alphabet given by rPlant0Gen fails to be a subset of the overall alphabet given by rPlantGen (id 506)
54  * - alphabet with controllable Events fails be a subset of the abstraction alphabet given by rAbstrGen (id 506)
55  * - generators fail to be deterministic (id 501)
56  *
57  * @return
58  * true / false
59  *
60  * @ingroup SynthesisPlugIn
61  */
62 
64  const Generator& rPlantGen,
65  const EventSet& rCAlph,
66  const Generator& rPlant0Gen);
67 
68 
69 /**
70  * Test consistency of an abstraction w.r.t standard synthesis.
71  *
72  * This is a convenience wrapprt for IsStdSynthesisConsistent(const Generator&, const EventSet&, const Generator&).
73  *
74  *
75  *
76  * @param rPlantGen
77  * plant G incl. controllable events
78  * @param rPlant0Gen
79  * plant abstraction G0
80  *
81  * @exception Exception
82  * - the abstraction rPlant0Gen must have been obtained from the plant rPlantGen by natural projection (not tested)
83  * - the abstraction alphabet given by rPlant0Gen fails to be a subset of the overall alphabet given by rPlantGen (id 506)
84  * - alphabet with controllable Events fails be a subset of the abstraction alphabet given by rAbstrGen (id 506)
85  * - generators fail to be deterministic (id 501)
86  *
87  * @return
88  * true / false
89  *
90  * @ingroup SynthesisPlugIn
91  */
93  const System& rPlantGen,
94  const Generator& rPlant0Gen);
95 
96 }// namespace faudes
97 
98 #endif
99 
100 
#define FAUDES_API
Definition: cfl_platform.h:80
NameSet EventSet
Definition: cfl_nameset.h:533
vGenerator Generator
TcGenerator< AttributeVoid, AttributeVoid, AttributeCFlags, AttributeVoid > System
bool IsStdSynthesisConsistent(const Generator &rPlantGen, const EventSet &rCAlph, const Generator &rPlant0Gen)
Definition: syn_sscon.cpp:388

libFAUDES 2.33b --- 2025.05.07 --- c++ api documentaion by doxygen