con_closed.h

Go to the documentation of this file.
00001 /** @file con_closed.h Conditional Closedness */
00002 
00003 /*
00004  *
00005  * Copyright (C) 2011 Tomas Masopust
00006  *
00007  */
00008 
00009 #ifndef FAUDES_ISCCl_H
00010 #define FAUDES_ISCCl_H
00011 
00012 #include "corefaudes.h"
00013 #include "syn_include.h"
00014 
00015 namespace faudes {
00016   
00017 /**
00018  * Conditionalclosedness Checking Algorithm
00019  *
00020  * Checks whether a given language K is conditionally closed
00021  * with respect to plants G_i, i=1,2,..,n.
00022  * This algorithm implements the results obtained in 
00023  *
00024  * J. Komenda, T. Masopust, J. H. van Schuppen.
00025  * Synthesis of controllable and normal sublanguages for discrete-event systems using a coordinator
00026  * Systems & Control Letters 60(7), 492-502, 2011
00027  *
00028  * K must be conditionally decomposable
00029  *
00030  * @param specV
00031  *   Vector of generators representing the specification languages P_{i+k}(K), i=1,2,..,n
00032  * @param pk
00033  *   Generator for the coordinator part P_k(K)
00034  * @param genV
00035  *   Vecotr of generators for the plants G1,G2,..,Gn
00036  * @param gk
00037  *   Generator for the coordinator Gk
00038  * @return
00039  *   True if K is conditionaly closed
00040  *
00041  * @exception Exception
00042  *   - alphabets of generators don't match (id 100)
00043  *   - plant nondeterministic (id 201)
00044  *
00045  * @ingroup CoordinationControlPlugIn
00046  */
00047 bool IsConditionalClosed(const GeneratorVector& specVect, const Generator& pk, const GeneratorVector& genVect, const Generator& gk);
00048 
00049 } // namespace faudes
00050 
00051 #endif 

libFAUDES 2.23h --- 2014.04.03 --- c++ api documentaion by doxygen