mtc_obserververification.h
Go to the documentation of this file.
1 /** @file mtc_obserververification.h
2 
3 Methods to verify the obsrver condition for natural projections.
4 The observer condition is, e.g., defined in
5 K. C. Wong and W. M. Wonham, “Hierarchical control of discrete-event
6 systems,” Discrete Event Dynamic Systems: Theory and Applications, 1996.
7 In addition, methods to verify output control consistency (OCC) and
8 local control consistency (LCC) are provided. See for example
9 K. Schmidt and C. Breindl, "On Maximal Permissiveness of Hierarchical and Modular Supervisory
10 Control Approaches for Discrete Event Systems," Workshop on Discrete Event Systems, 2008.
11 */
12 
13 /* FAU Discrete Event Systems Library (libfaudes)
14 
15  Copyright (C) 2006 Bernd Opitz
16  Exclusive copyright is granted to Klaus Schmidt
17 
18  This library is free software; you can redistribute it and/or
19  modify it under the terms of the GNU Lesser General Public
20  License as published by the Free Software Foundation; either
21  version 2.1 of the License, or (at your option) any later version.
22 
23  This library is distributed in the hope that it will be useful,
24  but WITHOUT ANY WARRANTY; without even the implied warranty of
25  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
26  Lesser General Public License for more details.
27 
28  You should have received a copy of the GNU Lesser General Public
29  License along with this library; if not, write to the Free Software
30  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
31 
32 #ifndef FAUDES_MTCOBSERVERVERIFICATION_H
33 #define FAUDES_MTCOBSERVERVERIFICATION_H
34 
35 #include "corefaudes.h"
36 //#include "op_debug.h"
37 #include "op_include.h"
38 #include "mtc_generator.h"
39 
40 
41 namespace faudes {
42 
43 
44 /**
45  * Verification of the observer property.
46  * For verifying if a natural projection has the observer property, one step in the observer
47  * algorithm is evaluated. If the resulting generator equals the input generator, then the
48  * natural projection on the abstraction alphabet is an observer.
49  *
50  * @param rLowGen
51  * Input generator
52  * @param rHighAlph
53  * High level alphabet
54  *
55  * @return
56  * true if the observer property holds
57  *
58  * @ingroup MTCPlugin
59  *
60  */
61  extern FAUDES_API bool IsMtcObs(const MtcSystem& rLowGen, const EventSet& rHighAlph);
62 
63 } // namespace faudes
64 
65 
66 
67 #endif
68 
#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
Methods for handling multitasking generators.
libFAUDES resides within the namespace faudes.
TmtcGenerator< AttributeVoid, AttributeColoredState, AttributeCFlags, AttributeVoid > MtcSystem
bool IsMtcObs(const MtcSystem &rLowGen, const EventSet &rHighAlph)
Verification of the observer property.
Includes all observer plugin headers.

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