mtc_obserververification.h
Go to the documentation of this file.
1/** @file mtc_obserververification.h
2
3Methods to verify the obsrver condition for natural projections.
4The observer condition is, e.g., defined in
5K. C. Wong and W. M. Wonham, “Hierarchical control of discrete-event
6systems,” Discrete Event Dynamic Systems: Theory and Applications, 1996.
7In addition, methods to verify output control consistency (OCC) and
8local control consistency (LCC) are provided. See for example
9K. Schmidt and C. Breindl, "On Maximal Permissiveness of Hierarchical and Modular Supervisory
10Control 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
41namespace 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 MultitaskingPlugin
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
NameSet EventSet
bool IsMtcObs(const MtcSystem &rLowGen, const EventSet &rHighAlph)
TmtcGenerator< AttributeVoid, AttributeColoredState, AttributeCFlags, AttributeVoid > MtcSystem

libFAUDES 2.33k --- 2025.09.16 --- c++ api documentaion by doxygen