con_decomposability_extension.h
Go to the documentation of this file.
1 /** @file con_decomposability_extension.h Conditionaldecomposability */
2 
3 /*
4  *
5  * Copyright (C) 2012, 2015 Tomas Masopust
6  *
7  */
8 
9 #ifndef FAUDES_CDEx_H
10 #define FAUDES_CDEx_H
11 
12 #include "corefaudes.h"
13 
14 namespace faudes {
15 
16 /**
17  * Conditionaldecomposability Extension Algorithm
18  *
19  * Given a language K over the union of alphabets,
20  * the algorithm extends the alphabet ek so that K is conditionally decomposable.
21  * This algorithm implements the results obtained in
22  *
23  * J. Komenda, T. Masopust, J. H. van Schuppen.
24  * On Conditional Decomposability
25  * Preprint
26  *
27  * The generator gen must be deterministic, and
28  * ek must contain the intersection of all subalphabets and be included in their union.
29  *
30  * @param gen
31  * Generator representing the language K, i.e., Lm(gen)=K
32  * @param rAlphabets
33  * A vector of alphabets (at least two alphabets are required)
34  * @param ek
35  * The alhabet Ek that contains intersection of other alphabets and is included in their union
36  *
37  * @return
38  * True Ek so that K is conditionally decomposible
39  *
40  * @exception Exception
41  * - alphabets of generators don't match (id 100)
42  * - plant nondeterministic (id 201)
43  *
44  * @ingroup CoordinationControlPlugIn
45  */
46 extern FAUDES_API void ConDecExtension(const Generator& gen, const EventSetVector& rAlphabets, EventSet& ek);
47 
48 extern FAUDES_API void CDExt(const Generator& gen, const EventSetVector& ee, const EventSet& unionset, EventSet& ek);
49 
50 extern FAUDES_API Generator ComputeTildeG(const EventSet& unionset, const EventSetVector& ee, const EventSet& ek, const Generator& gen);
51 
52 extern FAUDES_API bool isExtendedEk(const Generator& tildeGen, const Generator& rGen, EventSet& ek);
53 
54 } // namespace faudes
55 
56 #endif
#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
TBaseVector< EventSet > EventSetVector
Definition: cfl_nameset.h:534
void ConDecExtension(const Generator &gen, const EventSetVector &rAlphabets, EventSet &ek)
Conditionaldecomposability Extension Algorithm.
vGenerator Generator
Plain generator, api typedef for generator with no attributes.
libFAUDES resides within the namespace faudes.
Generator ComputeTildeG(const EventSet &unionset, const EventSetVector &ee, const EventSet &ek, const Generator &gen)
void CDExt(const Generator &gen, const EventSetVector &ee, const EventSet &unionset, EventSet &ek)
bool isExtendedEk(const Generator &tildeGen, const Generator &rGen, EventSet &ek)

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