con_decomposability.h
Go to the documentation of this file.
1 /** @file con_decomposability.h Conditional Decomposability */
2 
3 /*
4  *
5  * Copyright (C) 2011, 2015 Tomas Masopust
6  *
7  */
8 
9 #ifndef FAUDES_ISCD_H
10 #define FAUDES_ISCD_H
11 
12 #include "corefaudes.h"
13 
14 namespace faudes {
15 
16 /**
17  * Conditionaldecomposability Checking Algorithm
18  *
19  * Checks whether a given language K over the union of alphabets is conditionally decomposable
20  * with respect to these alphabets and ek.
21  * This algorithm implements the results obtained in
22  *
23  * J. Komenda, T. Masopust, J. H. van Schuppen.
24  * On Nonblockingness and Conditional Decomposability
25  * Manuscript
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 ee
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  * @param proof
37  * A generator which gives the proof that the language K is NOT conditionally decomposable
38  *
39  * @return
40  * True if K is conditionaly decomposible
41  *
42  * @exception Exception
43  * - alphabets of generators don't match (id 100)
44  * - plant nondeterministic (id 201)
45  *
46  * @ingroup CoordinationControlPlugIn
47  */
48 extern FAUDES_API bool IsConditionalDecomposable(const Generator& gen, const EventSetVector& ee, const EventSet& ek, Generator& proof);
49 extern FAUDES_API bool IsCD(const Generator& gen, const EventSetVector& ee, const EventSet& ek, const EventSet& unionset, Generator& proof);
50 
51 } // namespace faudes
52 
53 #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
bool IsConditionalDecomposable(const Generator &gen, const EventSetVector &ee, const EventSet &ek, Generator &proof)
Conditionaldecomposability Checking Algorithm.
vGenerator Generator
Plain generator, api typedef for generator with no attributes.
libFAUDES resides within the namespace faudes.
bool IsCD(const Generator &gen, const EventSetVector &ee, const EventSet &ek, const EventSet &unionset, Generator &proof)

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