libFAUDES

Sections

Functions

Controllable Sublanguage

Functions related to the notion of controllability as originally introduced by P.J. Ramadge and W.M. Wonham [S1].

Given two languages L and K over a common alphabet Sigma,
and a set of uncontrollable events Sigma_uc  Sigma,
K is controllable w.r.t (L,Sigma_uc) iff

Closure(K)Sigma_uc  Closure(L)    Closure(K)

The definition addresses the situations were K is the closed-loop behaviour for a plant which is modelled by L. For any past sequence of events in the closed-loop, any uncontrollable event from Sigma_uc that is accepted by the plant Closure(L) must be also acepted in closed loop Closure(K).

An example is given at the main page of the Synthesis plug-in.

SupConNB

Computes the supremal controllable sublanguage with nonblocking condition.

Signature:

SupConNB(+In+ System GPlant, +In+ Generator GSpec, +Out+ Generator GSupervisor)

Detailed description:

Given a plant and a specification language, this function computes the supremal nonblocking sublanguage of the specification that is controllable w.r.t. the plant. Controllability of events is taken from the plant generator's event attributes. The result is given as a trim deterministic generator that can be employed as a supervisory controller. The closed loop is guaranteed to be nonblocking. See e.g. [C2] for the base algorithm.

Parameter Conditions:

This implementation requires the alphabets of plant and specification to match. Furthermore, both generators must be deterministic. Effectively, the specification is intersected with the plant language.

SupCon

Computes the supremal controllable sublanguage.

Signature:

SupCon(+In+ System GPlant, +In+ Generator GSpec, +Out+ Generator GSupervisor)

Detailed description:

Given a plant and a specification language, this function computes the supremal controllable sublanguage. Controllability of events is taken from the plant generator's event attributes. The resulting generator can be employed as a supervisory controller. However, in constrast to SupConNB, the closed loop may be blocking.

Parameter Conditions:

This implementation requires the alphabets of plant and specification to match. Furthermore, both generators must be deterministic. Effectively, the specification is intersected with the plant language.

IsControllable

Tests controllablity condition.

Signature:

IsControllable(+In+ Generator GPlant, +In+ EventSet ACntrl, +In+ Generator GCand, +Out+ Boolean BRes)

Detailed description:

If the candidate fails to be controllable, this version will return a set of "critical" states of the candidate supervisor. These states are characterised by (a) being reachable in the parallel composition of plant and supervisor (b) disabeling an uncontrollable transition of the plant.

Parameter Conditions:

Prerequisits: This implementation requires the alphabets of plant and specification to match. Furthermore, both generators must be deterministic. Effectively, the specification is intersected with the plant language.

libFAUDES 2.14g --- 2009-12-3 --- plugins "example synthesis observer diagnosis hiosys multitasking timed simulator iodevice luabindings"