con_controllability.h
Go to the documentation of this file.
1 /** @file con_controllability.h Conditional Controllability */
2 
3 /*
4  *
5  * Copyright (C) 2011 Tomas Masopust
6  *
7  */
8 
9 #ifndef FAUDES_ISCC_H
10 #define FAUDES_ISCC_H
11 
12 #include "corefaudes.h"
13 #include "syn_include.h"
14 
15 namespace faudes {
16 
17 /**
18  * Conditionalcontrollability Checking Algorithm
19  *
20  * Checks whether a given language K over the union of alphabets is conditionally controllable
21  * with respect to the plant G.
22  * This algorithm implements the results obtained in
23  *
24  * J. Komenda, T. Masopust, J. H. van Schuppen.
25  * Synthesis of Safe Sublanguages satisfying Global Specification using Coordination Scheme for Discrete-Event Systems
26  * WODES 2010
27  *
28  * K must be conditionally decomposable
29  *
30  * @param specVect
31  * Vector of generators representing the specification languages P_{i+k}(K), i=1,2,..,n
32  * @param pk
33  * Generator for the coordinator part P_k(K)
34  * @param genVect
35  * Vecotr of generators for the plants G1,G2,..,Gn
36  * @param gk
37  * Generator for the coordinator Gk
38  * @param ACntrl
39  * Event set of all controllable events
40  * @return
41  * True if K is conditionaly controllable
42  *
43  * @exception Exception
44  * - alphabets of generators don't match (id 100)
45  * - plant nondeterministic (id 201)
46  *
47  * @ingroup CoordinationControlPlugIn
48  */
49 extern FAUDES_API bool IsConditionalControllable(const GeneratorVector& specVect, const Generator& pk, const GeneratorVector& genVect, const Generator& gk, const EventSet& ACntrl);
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
bool IsConditionalControllable(const GeneratorVector &specVect, const Generator &pk, const GeneratorVector &genVect, const Generator &gk, const EventSet &ACntrl)
Conditionalcontrollability Checking Algorithm.
vGenerator Generator
Plain generator, api typedef for generator with no attributes.
TBaseVector< Generator > GeneratorVector
Convenience typedef for vectors og generators.
libFAUDES resides within the namespace faudes.
Includes all header files of the synthesis plug-in.

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