next up previous
Next: Synthesis of Sequential Controller Up: Net Condition Event Systems Previous: Specifications

Synthesis of Safety Controller

For a detailed version of the synthesis algorithm, we refer the reader to [6]. The synthesis of safety controllers based on NCES is performed in a way which is very similar to Ostroff's safety controller (described in Section 5.2). The idea of the algorithm is to transform the specification into the controller function by systematically extending Boolean expressions. The procedure is as follows:

  1. For each fact tex2html_wrap_inline2827 , determine the (partial) marking that enables it. Write the Boolean expression in the set of ``enabling places'' of the fact, say tex2html_wrap_inline2829 , also called ``pre-places.'' This marking is declared to be forbidden by setting tex2html_wrap_inline2831 .
  2. For each place p which is part of this expression and has not been replaced yet, determine the set of transitions which need to fire in order to mark p. A place may become marked if at least one of its input transitions is enabled. For each place p which is contained in the specification expression, we have to replace p by the characteristic function of its predecessor markings/conditions, and the characteristic functions of transitions which would force a transition that would bring a token to p.
  3. Stop further substitution of new places in tex2html_wrap_inline2829 if:
    tex2html_wrap_inline2843 A term contains places which are part of a place invariant that has less tokens than places are part of them. Such a term will evaluate to zero.
    tex2html_wrap_inline2843 A term contains an input signal, since the controller can ensure that this signal evaluates to zero.
    tex2html_wrap_inline2843 We do not find any new transitions which could produce tokens at the places which have not been replaced.
  4. Add to the original expression all new expressions from step 2 by OR operation and start again at step 2. After reaching a fixed point, we have a Boolean expression tex2html_wrap_inline2849 . We separate an expression tex2html_wrap_inline2851 which has only places from tex2html_wrap_inline2849 as arguments. tex2html_wrap_inline2851 describes the extended forbidden markings; i.e., markings from which we cannot avoid through controllable input the enabling of a fact.
  5. Check that the initial marking is not part of the extended forbidden marking set. If this were the case, we clearly fail to guarantee safety.

We illustrate the synthesis of the safety controller with the Two-Pusher example in Section 6.4.


next up previous
Next: Synthesis of Sequential Controller Up: Net Condition Event Systems Previous: Specifications

Luz E. Pinzon
Wed Oct 15 18:10:49 EDT 1997