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 
00040 
00041 namespace faudes {
00042 
00043 
00044 /**
00045  * Verification of the observer property.
00046  * For verifying if a natural projection has the observer property, one step in the observer
00047  * algorithm is evaluated. If the resulting generator equals the input generator, then the 
00048  * natural projection on the abstraction alphabet is an observer. 
00049  *
00050  * @param rLowGen
00051  *   Input generator
00052  * @param rHighAlph
00053  *   High level alphabet
00054  *
00055  * @return
00056  *  true if the observer property holds
00057  *
00058  * @ingroup MTCPlugin
00059  *
00060  */
00061  bool IsMtcObs(const MtcSystem& rLowGen, const EventSet& rHighAlph);
00062 
00063 } // namespace faudes
00064 
00065 
00066 
00067 #endif
00068 

libFAUDES 2.23h --- 2014.04.03 --- c++ api documentaion by doxygen