con_decomposability_extension.hGo to the documentation of this file.00001 /** @file con_decomposability_extension.h Conditionaldecomposability */ 00002 00003 /* 00004 * 00005 * Copyright (C) 2012 Tomas Masopust 00006 * 00007 */ 00008 00009 #ifndef FAUDES_CDEx_H 00010 #define FAUDES_CDEx_H 00011 00012 #include "corefaudes.h" 00013 00014 namespace faudes { 00015 00016 /** 00017 * Conditionaldecomposability Extension Algorithm 00018 * 00019 * Given a language K over the union of alphabets, 00020 * the algorithm extends the alphabet ek so that K is conditionally decomposable. 00021 * This algorithm implements the results obtained in 00022 * 00023 * J. Komenda, T. Masopust, J. H. van Schuppen. 00024 * On Conditional Decomposability 00025 * Preprint 00026 * 00027 * The generator gen must be deterministic, and 00028 * ek must contain the intersection of all subalphabets and be included in their union. 00029 * 00030 * @param gen 00031 * Generator representing the language K, i.e., Lm(gen)=K 00032 * @param rAlphabets 00033 * A vector of alphabets (at least two alphabets are required) 00034 * @param ek 00035 * The alhabet Ek that contains intersection of other alphabets and is included in their union 00036 * 00037 * @return 00038 * True Ek so that K is conditionally decomposible 00039 * 00040 * @exception Exception 00041 * - alphabets of generators don't match (id 100) 00042 * - plant nondeterministic (id 201) 00043 * 00044 * @ingroup CoordinationControlPlugIn 00045 */ 00046 void ConDecExtension(const Generator& gen, const EventSetVector& rAlphabets, EventSet& ek); 00047 00048 Generator ComputeTildeG(const EventSet& unionset, const EventSetVector& ee, const EventSet& ek, const Generator& gen); 00049 00050 bool isExtendedEk(const Generator& tildeGen, const Generator& rGen, EventSet& ek); 00051 00052 } // namespace faudes 00053 00054 #endif libFAUDES 2.23h --- 2014.04.03 --- c++ api documentaion by doxygen |