obs_local_observation_consistency.h

Go to the documentation of this file.
00001 /** @file obs_local_observation_consistency.h Local Observation Consistency */
00002 
00003 /* FAU Discrete Event Systems Library (libfaudes)
00004 
00005    Copyright (C) 2006  Bernd Opitz
00006    Copyright (C) 2007  Thomas Moor
00007    Exclusive copyright is granted to Klaus Schmidt
00008 
00009    This library is free software; you can redistribute it and/or
00010    modify it under the terms of the GNU Lesser General Public
00011    License as published by the Free Software Foundation; either
00012    version 2.1 of the License, or (at your option) any later version.
00013 
00014    This library is distributed in the hope that it will be useful,
00015    but WITHOUT ANY WARRANTY; without even the implied warranty of
00016    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00017    Lesser General Public License for more details.
00018 
00019    You should have received a copy of the GNU Lesser General Public
00020    License along with this library; if not, write to the Free Software
00021    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
00022 
00023 #ifndef FAUDES_LOC_H
00024 #define FAUDES_LOC_H
00025 
00026 #include "corefaudes.h"
00027 #include "op_include.h"
00028 #include <vector>
00029 
00030 namespace faudes {
00031   
00032 
00033 /**
00034  * Supervisor Reduction algorithm
00035  *
00036  * Computes a reduced supervisor from a given potentially non-reduced supervisor and the plant. 
00037  * This algorithm implements the results obtained in 
00038  *
00039  * R. Su and W. M. Wonham. Supervisor Reduction for Discrete-Event Systems.
00040  * Discrete Event Dynamic Systems vol. 14, no. 1, January 2004.
00041  *
00042  * Both, plant and supervisor MUST be deterministic and share the same alphabet!!!
00043  *
00044  * @param rPlantGen
00045  *   Plant generator
00046  * @param rSpecGen
00047  *   Specification generator
00048  * @param rHighAlph
00049  *   high-level alphabet
00050  * @param rObsAlph
00051  *   observable alphabet
00052  *
00053  * @return
00054  *   True if a reduction was achieved
00055  *
00056  * @exception Exception
00057  *   - alphabets of generators don't match (id 100)
00058  *   - plant nondeterministic (id 201)
00059  *   - supervisor nondeterministic (id 203)
00060  *   - plant and supervisor nondeterministic (id 204)
00061  *
00062  * @ingroup ObservabilityPlugin
00063  */
00064 bool LocalObservationConsistency(const System& rPlantGen, const System& rSpecGen, const EventSet& rHighAlph, const EventSet& rObsAlph);
00065 
00066      
00067 
00068 } // namespace faudes
00069 
00070 #endif 

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