obs_local_observation_consistency.h
Go to the documentation of this file.
1 /** @file obs_local_observation_consistency.h Local Observation Consistency */
2 
3 /* FAU Discrete Event Systems Library (libfaudes)
4 
5  Copyright (C) 2006 Bernd Opitz
6  Copyright (C) 2007 Thomas Moor
7  Exclusive copyright is granted to Klaus Schmidt
8 
9  This library is free software; you can redistribute it and/or
10  modify it under the terms of the GNU Lesser General Public
11  License as published by the Free Software Foundation; either
12  version 2.1 of the License, or (at your option) any later version.
13 
14  This library is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  Lesser General Public License for more details.
18 
19  You should have received a copy of the GNU Lesser General Public
20  License along with this library; if not, write to the Free Software
21  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
22 
23 #ifndef FAUDES_LOC_H
24 #define FAUDES_LOC_H
25 
26 #include "corefaudes.h"
27 #include "op_include.h"
28 #include <vector>
29 
30 namespace faudes {
31 
32 
33 /**
34  * Supervisor Reduction algorithm
35  *
36  * Computes a reduced supervisor from a given potentially non-reduced supervisor and the plant.
37  * This algorithm implements the results obtained in
38  *
39  * R. Su and W. M. Wonham. Supervisor Reduction for Discrete-Event Systems.
40  * Discrete Event Dynamic Systems vol. 14, no. 1, January 2004.
41  *
42  * Both, plant and supervisor MUST be deterministic and share the same alphabet!!!
43  *
44  * @param rPlantGen
45  * Plant generator
46  * @param rSpecGen
47  * Specification generator
48  * @param rHighAlph
49  * high-level alphabet
50  * @param rObsAlph
51  * observable alphabet
52  *
53  * @return
54  * True if a reduction was achieved
55  *
56  * @exception Exception
57  * - alphabets of generators don't match (id 100)
58  * - plant nondeterministic (id 201)
59  * - supervisor nondeterministic (id 203)
60  * - plant and supervisor nondeterministic (id 204)
61  *
62  * @ingroup ObservabilityPlugin
63  */
64 extern FAUDES_API bool LocalObservationConsistency(const System& rPlantGen, const System& rSpecGen, const EventSet& rHighAlph, const EventSet& rObsAlph);
65 
66 
67 
68 } // namespace faudes
69 
70 #endif
#define FAUDES_API
Interface export/import symbols: windows.
Definition: cfl_platform.h:81
Includes all libFAUDES headers, no plugins.
NameSet EventSet
Convenience typedef for plain event sets.
Definition: cfl_nameset.h:531
TcGenerator< AttributeVoid, AttributeVoid, AttributeCFlags, AttributeVoid > System
Convenience typedef for std System.
libFAUDES resides within the namespace faudes.
bool LocalObservationConsistency(const System &rPlantGen, const System &rSpecGen, const EventSet &rHighAlph, const EventSet &rObsAlph)
Supervisor Reduction algorithm.
Includes all observer plugin headers.

libFAUDES 2.32b --- 2024.03.01 --- c++ api documentaion by doxygen