EDIS: Guide | FAQ | New | Search | Bibliography | Index | Feedback

Decision Call

Specifications

Informal

A (non-arbitrating, blocking) Decision Call has four input terminals (a0, a1, b0, b1) and five output terminals (c, d00, d01, d10, d11). A signal appearing on either of the a_i terminals will cause a signal to be produced at terminal c. The combination of a signal at terminal a_i and terminal b_j will cause a signal to be produced at terminal d_i_j. It does not matter which of the two input signals arrives first.

The environment of a Decision Call must guarantee mutual exclusion of the signals on a0 and a1, and also on b0 and b1. The a_i and c signals alternate, the a_i and d_i_j signals alternate, and the b_j and d_i_j signals alternate.

XDI

Schematic diagram for a Decision Call:

[Zoom|FIG]

XDI state graph for a Decision Call:(to be editted)

[Zoom|FIG]

Specification in XDI model.

Verdect

Specification in Verdect:

```define DCALL( a0?, d00!, d01!, a1?, d10!, d11!, c!, b0?, b1? ) =
pref *[ (a0? | a1?); c! ]
|| pref *[ (a0? || b0?); d00!
| (a0? || b1?); d01!
| (a1? || b0?); d10!
| (a1? || b1?); d11!
]
end
```

DI Algebra

Specification in DI Algebra.

An alternative specification, making use of so-called alternations, is also given:

Specification in DI Algebra:

```NAME = "Decision-Call"
I = { a0?, a1?, b0?, b1? }
O = { c!, d00!, d01!, d10!, d11! }

D = [ a0? -> c!;[b0? -> d00!;D, b1? -> d01!;D]
, a1? -> c!;[b0? -> d10!;D, b1? -> d11!;D]
]
[{a0,a1},{c}]
[{a0,a1},{d00,d01,d10,d11}]
[{b0,b1},{d00,d01,d10,d11}]
```

.
This comparison shows that the two specifications are equivalent.

Properties

XDI Report.

The roles of subscripts 0 and 1 can be interchanged, independently on both a and b, provided that the d outputs are permuted accordingly:
...

Implementations

Using Boolean Gates

No information available

Using Transistors

No information available

Generalizations

The Decision Call can be generalized to an mxn-Decision Call, which merges and combines m (mutually exlusive) inputs with n (mutually exclusive) inputs. A Decision Call is a 2x2-Decision Call.

Miscellaneous

In [Ornstein67, p. 348], a Decision Call is referred to as `Decision Call Unit'.

In [Dickson74, p. 46], a Decision Call is referred to as `CALL Element'. The informal specification there says:

1. A signal appearing at any one of the initiation terminals [a_i in our description] will cause a signal to be produced at the DO terminal [c in our description].

2. The combination of a signal at one of the initiation terminals (Im) [a_i in our description] and a signal at one of the return terminals (Rn) [b_j in our description] will cause a signal to be produced at the completion terminal corresponding to the combination (Cmn) [d_i_j in our description]. It does not matter which of the two incoming signals arrives first.
Note the last sentence, which specifically distinguishes the Decision Call from the nr-data-demux, which requires that the environment refrains from inputting on any b_j until output c has been produced.

It is, however, not clear from the description in [Dickson74, p. 46] when `new' input signals can be offered. In particular, it is not clear whether a new input signal on b_j must await the `preceding' output signal c.

References

[Dickson74, p. 46]
[Ornstein67, p. 348]