Open as PDF
User Manual November 21
16 Chapter 3: Graphical User Interface
device(s) to meet a particular hardware implementation or configuration. Device groups
provide a method that allows the user to group or collect one or more devices, libraries or
groups into one composite device. To the user, the composite device will look and feel no
different than a normal device library and, for the most part, the two should be
A device group can consist of one or more child devices, with some optional initialization
state associated with each child device, and those devices can optionally be connected to
each other. It may be helpful to think of a device group as a BSD within a BSD.
However, a device group also has its own identity as a device, and it can support external
connection ports that allow it be connected to other devices in the same manner as a
traditional device library.
If any of the language and wording used in these Device Groups sections is unclear, it
may help to refer to this list of terms.
Device: A device library or device group (also, a known device or created device).
Device Library: Contains binary implementation of device functionality; has no child
devices; associated with a “*.bsl” Windows or “*.bsl” Linux file.
Device Group: Grouping of one or more devices (libraries and groups) into a single
device; gets its functionality through aggregation of its children, and from its group-
specific properties/aspects; associated with a “*.bsg” file.
Known Device: A device that the shell knows about (i.e., the shell has all the necessary
information to create an instance of this device). Known devices appear in the left hand
pane of the Device Viewer window; and on the console using shell.KnownDevices.
Created Device: An instantiation of a known device. All devices in a BSD are created
devices. Created devices appear in the right hand pane of the Device Viewer window; and
on the console using “shell.CreatedDevices”.
Device grouping tree node relationships: Because of device grouping, created devices
in a BSD are nodes in a tree, with parents and children, siblings, and end/root tree node
Device connection relationships: Because of device connections, a sibling device can be
connected to another sibling device at a connection port of each device.
Machine Device Group: Just a device group, but it is special since it is the root node of
a machine tree (it has no parent, it can't be deleted, it has no ports, and it has no sibling
devices); each machine in a BSD has a single machine created device group.