CoordinationControl Plug-In
[PlugIns]

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:
gen The input generator to be trimmed
trimGen The trimmed generator
Returns:
True if the operation is successful
Exceptions:
Exception 
  • alphabets of generators don't match (id 100)
  • plant nondeterministic (id 201)
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:
gen Generator representing the language K, i.e., Lm(gen)=K
rAlphabets A vector of alphabets (at least two alphabets are required)
ek The 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)
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:
specV Vector of generators representing the specification languages P_{i+k}(K), i=1,2,..,n
pk Generator for the coordinator part P_k(K)
genV Vecotr of generators for the plants G1,G2,..,Gn
gk Generator 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)
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:
specV Vector of generators representing the specification languages P_{i+k}(K), i=1,2,..,n
pk Generator for the coordinator part P_k(K)
genV Vecotr of generators for the plants G1,G2,..,Gn
gk Generator for the coordinator Gk
ACntrl Event 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)
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:
gen Generator representing the language K, i.e., Lm(gen)=K
rAlphabets A vector of alphabets (at least two alphabets are required)
ek The alhabet Ek that contains intersection of other alphabets and is included in their union
proof A 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)
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:
gen Generator for the specification language K
genVector Vector of generators for the plants G1,G2,..,Gn
supVector Vector of generators; supervisors supC_{i+k} such that ||supC_{i+k} is the supremal conditionally controllable sublanguage of K are returned in this vector
Coord a 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)

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