Universal Command and Control Interface (UCI)

uci_component
uci_component <type> <base_type>

   ... Platform Part Commands ...

   subsystem_uuid ...
   subsystem_descriptor ...

end_uci_component

Overview

The Universal Command and Control Interface (UCI) sends messages and commands to and from components on platforms based on the Critical Abstraction Layer (CAL) spec. The current version of the CAL used is version 75.

This extension requires ActiveMQ, the middleware in charge of handling messages. To connect a simulation to ActiveMQ, a Reference CAL (RefCAL) configuration file is required. The RefCAL configuration file is set using the environment variable CAL_ACTIVEMQ_CONFIG. This file configures all platform and component Universally Unique Identifiers (UUIDs), so the simulation can send messages/commands to the correct platforms, sensors, etc.

Components

To send UCI messages, each platform component must have a corresponding UCI_Component attached to its owning platform. To receieve UCI messages, a platform must have a COMPUTER component.

<type>

The type of UCI component being defined.

<base_type>

The name of an existing UCI component type or pre-defined UCI type.

The pre-defined UCI base types include:

Instantiation on a platform type:

platform_type <type> <base_type>
   uci_component <name> <type>
      ...
   end_uci_component
end_platform_type

Adding uci_component to a platform:

platform <name> <type>
   add uci_component <name> <type>
      ...
   end_uci_component
end_platform

Editing a uci_component on a platform:

platform <name> <type>
   edit uci_component <name>
      ...
   end_uci_component
end_platform

Deleting a uci_component on a platform:

platform <name> <type>
   delete uci_component <name>
      ...
   end_uci_component
end_platform

Commands

subsystem_uuid <string-value>

Sets the subsystem UUID of the corresponding subsystem to the given string.

Note

The UUID should be in the format ‘########-####-####-####-############’, where # is a uppercase alphanumeric value [A-Z0-9].

Default: Auto-generated by the interface.

subsystem_descriptor <string-value>

Sets the human readable description for the subsystem.