libFAUDES

Sections

Index

mtc_obserververification.h

Go to the documentation of this file.
00001 /** @file mtc_obserververification.h 
00002 
00003 Methods to verify the obsrver condition for natural projections.
00004 The observer condition is, e.g., defined in 
00005 K. C. Wong and W. M. Wonham, “Hierarchical control of discrete-event
00006 systems,” Discrete Event Dynamic Systems: Theory and Applications, 1996.
00007 In addition, methods to verify output control consistency (OCC) and 
00008 local control consistency (LCC) are provided. See for example
00009 K. Schmidt and C. Breindl, "On Maximal Permissiveness of Hierarchical and Modular Supervisory
00010 Control Approaches for Discrete Event Systems," Workshop on Discrete Event Systems, 2008. 
00011 */
00012 
00013 /* FAU Discrete Event Systems Library (libfaudes)
00014 
00015    Copyright (C) 2006  Bernd Opitz
00016    Exclusive copyright is granted to Klaus Schmidt
00017 
00018    This library is free software; you can redistribute it and/or
00019    modify it under the terms of the GNU Lesser General Public
00020    License as published by the Free Software Foundation; either
00021    version 2.1 of the License, or (at your option) any later version.
00022 
00023    This library is distributed in the hope that it will be useful,
00024    but WITHOUT ANY WARRANTY; without even the implied warranty of
00025    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00026    Lesser General Public License for more details.
00027 
00028    You should have received a copy of the GNU Lesser General Public
00029    License along with this library; if not, write to the Free Software
00030    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
00031 
00032 #ifndef FAUDES_MTCOBSERVERVERIFICATION_H
00033 #define FAUDES_MTCOBSERVERVERIFICATION_H
00034 
00035 #include "corefaudes.h"
00036 //#include "op_debug.h"
00037 #include "op_include.h"
00038 #include "mtc_generator.h"
00039 #include "mtc_observercomputation.h"
00040 #include <map>
00041 #include <vector>
00042 #include <stack>
00043 
00044 
00045 namespace faudes {
00046 
00047 
00048 /**
00049  * Verification of the observer property.
00050  * For verifying if a natural projection has the observer property, one step in the observer
00051  * algorithm is evaluated. If the resulting generator equals the input generator, then the 
00052  * natural projection on the abstraction alphabet is an observer. 
00053  *
00054  * @param rLowGen
00055  *   Input generator
00056  * @param rHighAlph
00057  *   High level alphabet
00058  *
00059  * @return
00060  *  true if the observer property holds
00061  *
00062  * @ingroup MTCPlugin
00063  *
00064  */
00065  bool IsMtcObs(const MtcSystem& rLowGen, const EventSet& rHighAlph);
00066 
00067 } // namespace faudes
00068 
00069 
00070 
00071 #endif
00072 

libFAUDES 2.22s --- 2013.10.07 --- c++ source docu by doxygen