syn_synthequiv.h
Go to the documentation of this file.
1 /** @file syn_synthequiv.h Synthesis-observation equivalence **/
2 
3 /* FAU Discrete Event Systems Library (libfaudes)
4 
5  Copyright (C) 2015 Hao Zhou, Thomas Moor
6  Exclusive copyright is granted to Klaus Schmidt
7 
8  This library is free software; you can redistribute it and/or
9  modify it under the terms of the GNU Lesser General Public
10  License as published by the Free Software Foundation; either
11  version 2.1 of the License, or (at your option) any later version.
12 
13  This library is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  Lesser General Public License for more details.
17 
18  You should have received a copy of the GNU Lesser General Public
19  License along with this library; if not, write to the Free Software
20  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
21 
22 
23 #ifndef FAUDES_SYNTHEQUIV_H
24 #define FAUDES_SYNTHEQUIV_H
25 
26 #include "corefaudes.h"
27 
28 namespace faudes {
29 
30 /**
31  * Synthesis-observation equivalence
32  *
33  * Function to compute the coarsest synthesis-observation equivalence
34  * relation as proposed by Mohajerani, S., Malik, R. & Fabian, M. (2012).
35  * "Synthesis observation equivalence and weak synthesis observation equivalence",
36  * University of Waikato, Department of Computer Science.
37  * Compositional synthesis
38  *
39  * The present implementation was developed by Hao Zhou in course
40  * of his Master Thesis "Abstraktion und Komposition fuer den Entwurf
41  * ereignisdiskreter Regler", Erlangen, 2015. Technically, the implementation
42  * is based on a previous variant of the bisimulation algorithm from
43  * the core library.
44  *
45  *
46  * @param rGenOrig
47  * Generator under consideration
48  * @param rConAlph
49  * Set of controllable events
50  * @param rLocAlph
51  * Set of local events
52  * @param rMapStateToPartition
53  * Map original state to partition index
54  * @param rResGen
55  * Quotient generator
56  *
57  * @ingroup SynthesisPlugIn
58  */
59 // ComputeSOE(rGenOrig, rLocAlph, rLocAlph, rMapStateToPartition, rGenPart)
60 extern FAUDES_API void ComputeSynthObsEquiv(const Generator& rGenOrig,
61  const EventSet& rConAlph,
62  const EventSet& rLocAlph,
63  std::map<Idx,Idx>& rMapStateToPartition,
64  Generator& rResGen);
65 
66 
67 } // namespace faudes
68 
69 #endif
70 
71 
#define FAUDES_API
Interface export/import symbols: windows.
Definition: cfl_platform.h:81
Includes all libFAUDES headers, no plugins.
NameSet EventSet
Convenience typedef for plain event sets.
Definition: cfl_nameset.h:531
vGenerator Generator
Plain generator, api typedef for generator with no attributes.
void ComputeSynthObsEquiv(const Generator &rGenOrig, const EventSet &rConAlph, const EventSet &rLocAlph, std::map< Idx, Idx > &rMapStateToPartition, Generator &rResGen)
Synthesis-observation equivalence.
libFAUDES resides within the namespace faudes.

libFAUDES 2.32b --- 2024.03.01 --- c++ api documentaion by doxygen