A Device is Direct if it provides access to its controlled sequences as in-memory arrays rather than via a socket-like interface. The difference between a Device which is Direct and one which is not is reflected in the specifications of the various Device refinements, e.g., Source and Sink.

A model of Device which does not model Direct is called indirect.

Refinement of


Associated Types

Same as Device, with the following additional requirements:

CategoryA type convertible to device_tag and to direct_tag

Valid Expressions / Semantics

Same as Device.