About
User Reference
C++ API
luafaudes
Developer
Links
libFAUDES online
libFAUDES
C++ API
Sections
Sets
Generators
Functions
PlugIns
Tutorials
Index
Classes
Files
syn_supreduce.h
Go to the documentation of this file.
1
/** @file syn_supreduce.h Supervisor Reduction */
2
3
/* FAU Discrete Event Systems Library (libfaudes)
4
5
Copyright (C) 2006 Bernd Opitz
6
Copyright (C) 2007 Thomas Moor
7
Exclusive copyright is granted to Klaus Schmidt
8
9
This library is free software; you can redistribute it and/or
10
modify it under the terms of the GNU Lesser General Public
11
License as published by the Free Software Foundation; either
12
version 2.1 of the License, or (at your option) any later version.
13
14
This library is distributed in the hope that it will be useful,
15
but WITHOUT ANY WARRANTY; without even the implied warranty of
16
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
Lesser General Public License for more details.
18
19
You should have received a copy of the GNU Lesser General Public
20
License along with this library; if not, write to the Free Software
21
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
22
23
#ifndef FAUDES_SUPREDUCE_H
24
#define FAUDES_SUPREDUCE_H
25
26
#include "
corefaudes.h
"
27
28
namespace
faudes {
29
30
/**
31
* Supervisor Reduction algorithm
32
*
33
* Computes a reduced supervisor from a given potentially non-reduced supervisor and the plant.
34
* This algorithm implements the results obtained in
35
*
36
* R. Su and W. M. Wonham. Supervisor Reduction for Discrete-Event Systems.
37
* Discrete Event Dynamic Systems vol. 14, no. 1, January 2004.
38
*
39
* Both, plant and supervisor MUST be deterministic and share the same alphabet!!!
40
*
41
* @param rPlantGen
42
* Plant generator
43
* @param rSupGen
44
* Supervisor generator
45
* @param rReducedSup
46
* Reduced supervisor generator
47
*
48
* @return
49
* True if a reduction was achieved
50
*
51
* @exception Exception
52
* - alphabets of generators don't match (id 100)
53
* - plant nondeterministic (id 201)
54
* - supervisor nondeterministic (id 203)
55
* - plant and supervisor nondeterministic (id 204)
56
*
57
* @ingroup SynthesisPlugIn
58
*/
59
extern
FAUDES_API
bool
SupReduce
(
const
System
& rPlantGen,
const
System
& rSupGen,
System
& rReducedSup);
60
61
62
63
64
}
// namespace faudes
65
66
#endif
libFAUDES 2.28c
--- 2016.09.30 --- c++ api documentaion by
doxygen
>>
C++ API
Introduction
Sets
Generators
Functions
PlugIns
Tutorials
Classes
Files
Top of Page