CoordinationControl Plug-In

Functions

bool faudes::ccTrim (const Generator &gen, Generator &trimGen)
 A more efficient Trim() operation.
bool faudes::IsConditionalClosed (const GeneratorVector &specVect, const Generator &pk, const GeneratorVector &genVect, const Generator &gk)
 Conditionalclosedness Checking Algorithm.
bool faudes::IsConditionalControllable (const GeneratorVector &specVect, const Generator &pk, const GeneratorVector &genVect, const Generator &gk, const EventSet &ACntrl)
 Conditionalcontrollability Checking Algorithm.
bool faudes::IsConditionalDecomposable (const Generator &gen, const EventSetVector &rAlphabets, const EventSet &ek, Generator &proof)
 Conditionaldecomposability Checking Algorithm.
void faudes::ConDecExtension (const Generator &gen, const EventSetVector &rAlphabets, EventSet &ek)
 Conditionaldecomposability Extension Algorithm.
bool faudes::SupConditionalControllable (const Generator &gen, const GeneratorVector &genVector, const EventSet &ACntrl, const EventSet &InitEk, GeneratorVector &supVector, Generator &Coord)
 Conditionalcontrollability Checking Algorithm.

Detailed Description

License

This plug-in is distributed with libFAUDES and under the terms of the LGPL.

Copyright (c) 2011, 2012, Tomas Masopust.

Function Documentation

bool faudes::ccTrim ( const Generator &  gen,
Generator &  trimGen 
)

A more efficient Trim() operation.

Parameters
genThe input generator to be trimmed
trimGenThe trimmed generator
Returns
True if the operation is successful
Exceptions
Exception
  • alphabets of generators don't match (id 100)
  • plant nondeterministic (id 201)

Definition at line 221 of file con_cctrim.cpp.

void faudes::ConDecExtension ( const Generator &  gen,
const EventSetVector &  rAlphabets,
EventSet &  ek 
)

Conditionaldecomposability Extension Algorithm.

Given a language K over the union of alphabets, the algorithm extends the alphabet ek so that K is conditionally decomposable. This algorithm implements the results obtained in

J. Komenda, T. Masopust, J. H. van Schuppen. On Conditional Decomposability Preprint

The generator gen must be deterministic, and ek must contain the intersection of all subalphabets and be included in their union.

Parameters
genGenerator representing the language K, i.e., Lm(gen)=K
rAlphabetsA vector of alphabets (at least two alphabets are required)
ekThe alhabet Ek that contains intersection of other alphabets and is included in their union
Returns
True Ek so that K is conditionally decomposible
Exceptions
Exception
  • alphabets of generators don't match (id 100)
  • plant nondeterministic (id 201)

Definition at line 16 of file con_decomposability_extension.cpp.

bool faudes::IsConditionalClosed ( const GeneratorVector &  specVect,
const Generator &  pk,
const GeneratorVector &  genVect,
const Generator &  gk 
)

Conditionalclosedness Checking Algorithm.

Checks whether a given language K is conditionally closed with respect to plants G_i, i=1,2,..,n. This algorithm implements the results obtained in

J. Komenda, T. Masopust, J. H. van Schuppen. Synthesis of controllable and normal sublanguages for discrete-event systems using a coordinator Systems & Control Letters 60(7), 492-502, 2011

K must be conditionally decomposable

Parameters
specVVector of generators representing the specification languages P_{i+k}(K), i=1,2,..,n
pkGenerator for the coordinator part P_k(K)
genVVecotr of generators for the plants G1,G2,..,Gn
gkGenerator for the coordinator Gk
Returns
True if K is conditionaly closed
Exceptions
Exception
  • alphabets of generators don't match (id 100)
  • plant nondeterministic (id 201)

Definition at line 16 of file con_closed.cpp.

bool faudes::IsConditionalControllable ( const GeneratorVector &  specVect,
const Generator &  pk,
const GeneratorVector &  genVect,
const Generator &  gk,
const EventSet &  ACntrl 
)

Conditionalcontrollability Checking Algorithm.

Checks whether a given language K over the union of alphabets is conditionally controllable with respect to the plant G. This algorithm implements the results obtained in

J. Komenda, T. Masopust, J. H. van Schuppen. Synthesis of Safe Sublanguages satisfying Global Specification using Coordination Scheme for Discrete-Event Systems WODES 2010

K must be conditionally decomposable

Parameters
specVVector of generators representing the specification languages P_{i+k}(K), i=1,2,..,n
pkGenerator for the coordinator part P_k(K)
genVVecotr of generators for the plants G1,G2,..,Gn
gkGenerator for the coordinator Gk
ACntrlEvent set of all controllable events
Returns
True if K is conditionaly controllable
Exceptions
Exception
  • alphabets of generators don't match (id 100)
  • plant nondeterministic (id 201)

Definition at line 16 of file con_controllability.cpp.

bool faudes::IsConditionalDecomposable ( const Generator &  gen,
const EventSetVector &  rAlphabets,
const EventSet &  ek,
Generator &  proof 
)

Conditionaldecomposability Checking Algorithm.

Checks whether a given language K over the union of alphabets is conditionally decomposable with respect to these alphabets and ek. This algorithm implements the results obtained in

J. Komenda, T. Masopust, J. H. van Schuppen. On Nonblockingness and Conditional Decomposability Manuscript

The generator gen must be deterministic, and ek must contain the intersection of all subalphabets and be included in their union.

Parameters
genGenerator representing the language K, i.e., Lm(gen)=K
rAlphabetsA vector of alphabets (at least two alphabets are required)
ekThe alhabet Ek that contains intersection of other alphabets and is included in their union
proofA generator which gives the proof that the language K is NOT conditionally decomposable
Returns
True if K is conditionaly decomposible
Exceptions
Exception
  • alphabets of generators don't match (id 100)
  • plant nondeterministic (id 201)

Definition at line 16 of file con_decomposability.cpp.

bool faudes::SupConditionalControllable ( const Generator &  gen,
const GeneratorVector &  genVector,
const EventSet &  ACntrl,
const EventSet &  InitEk,
GeneratorVector &  supVector,
Generator &  Coord 
)

Conditionalcontrollability Checking Algorithm.

Computation of the supremal conditionally controllable sublanguage of a given language K with respect to the plant G. This algorithm implements the results obtained in

J. Komenda, T. Masopust, J. H. van Schuppen. Synthesis of Safe Sublanguages satisfying Global Specification using Coordination Scheme for Discrete-Event Systems WODES 2010 (and its Automatica version)

Parameters
genGenerator for the specification language K
genVectorVector of generators for the plants G1,G2,..,Gn
supVectorVector of generators; supervisors supC_{i+k} such that ||supC_{i+k} is the supremal conditionally controllable sublanguage of K are returned in this vector
Coorda generator; computed coordinator is returned in this parameter
Returns
Returns the supVector of supervisors and the computer coordinator
Exceptions
Exception
  • alphabets of generators don't match (id 100)
  • plant nondeterministic (id 201)

Definition at line 18 of file con_supcc.cpp.

libFAUDES 2.24g --- 2014.09.15 --- c++ api documentaion by doxygen