:orphan: .. **************************************************************************** .. CUI//REL TO USA ONLY .. .. The Advanced Framework for Simulation, Integration, and Modeling (AFSIM) .. .. The use, dissemination or disclosure of data in this file is subject to .. limitation or restriction. See accompanying README and LICENSE for details. .. **************************************************************************** Universal Command and Control Interface (UCI) --------------------------------------------- .. command:: uci_component :block: .. parsed-literal:: uci_component ... :ref:`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 :doc:`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 :doc:`COMPUTER` component. The type of UCI component being defined. The name of an existing UCI component type or pre-defined UCI type. The pre-defined UCI base types include: - :doc:`AMTI` - :doc:`COMPUTER` - :doc:`ESM` - :doc:`IRST` - :doc:`WEAPON` Instantiation on a platform type: .. parsed-literal:: platform_type uci_component ... end_uci_component end_platform_type Adding uci_component to a platform: .. parsed-literal:: platform add uci_component ... end_uci_component end_platform Editing a uci_component on a platform: .. parsed-literal:: platform edit uci_component ... end_uci_component end_platform Deleting a uci_component on a platform: .. parsed-literal:: platform delete uci_component ... end_uci_component end_platform Commands ======== .. command:: subsystem_uuid 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. .. command:: subsystem_descriptor Sets the human readable description for the subsystem.