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
14namespace 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 */
48extern FAUDES_API bool IsConditionalDecomposable(const Generator& gen, const EventSetVector& ee, const EventSet& ek, Generator& proof);
49extern 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
NameSet EventSet
TBaseVector< EventSet > EventSetVector
bool IsConditionalDecomposable(const Generator &gen, const EventSetVector &ee, const EventSet &ek, Generator &proof)
vGenerator Generator
bool IsCD(const Generator &gen, const EventSetVector &ee, const EventSet &ek, const EventSet &unionset, Generator &proof)

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