Dual behavior - an interesting design concept

We assume here that we specifying assumptions and guarantees for a system component in the form of a partially defined IOA. Given such a component specification, if we consider the re-use of such a component in a new system design, we may encounter the following situations:

  1. The envirement provides some input sequence that does not satisfy the assumption of the component specification - we will have the problem of an unspecified reception.
  2. The input from the envirement will not use of of the specified transitions of the given component specification - the component is in fact overspecified for the given environment.
  3. There is no unspecified reception and all transitions of the model specificication will be execised by the given enrironment.

In the case 3, the behavior of the environment is called the dual of the behavior of the given component. It is in a sense a mirror of the component behavior. Case 3 is in a sense an ideal situation, in fact, one would be happy in practice if case 2 would he satisfied.

How can one obtain the dual behavior of an input-output state machine ? - This is very simple in the case of directly coupled input-output state machines (but not for other modeling paradigms): By exchanging inputs to outputs and outputs to inputs. - Note: We assumes here that the component behavior is a state-deterministic.

When the dual environment communicates with the given component, the environment will always be an the "same" (that is, the corresponding) state as the component.

Created: September 22, 2014