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
15namespace 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 */
49extern 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
NameSet EventSet
bool IsConditionalControllable(const GeneratorVector &specVect, const Generator &pk, const GeneratorVector &genVect, const Generator &gk, const EventSet &ACntrl)
vGenerator Generator
TBaseVector< Generator > GeneratorVector

libFAUDES 2.33k --- 2025.09.16 --- c++ api documentaion by doxygen