// copyright 2013-2020 BAE Systems, Thales Group, Object Management Group Inc; 2013 Selex ES, DSTO, Atlas Elektronik, EADS Deutschland GmbH
#ifndef ORGOMGC4ISERVICE_INTERFACESSENSOR_SERVICESSENSOR_CONTROLDEFINE_TEST_TARGET_SCENARIODEFVAR
#define ORGOMGC4ISERVICE_INTERFACESSENSOR_SERVICESSENSOR_CONTROLDEFINE_TEST_TARGET_SCENARIODEFVAR
#include "Common_Types.idl"
#include "Requests.idl"
#include "Sensor_Control.idl"
module org
{
module omg
{
module c4i
{
module Service_Interfaces
{
module Sensor_Services
{
module Sensor_Control
{
// This package contains interfaces for the Define Test Target Scenario service.
module Define_Test_Target_Scenario
{
// struct holding keys for class test_target_scenario_setting_type.
struct test_target_scenario_setting_key_type
{
org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id;
// Indicates which subsystem published the data or is intended to read it as a
// subscriber
org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id;
};
// Method used by the sensor to return the identification number of the modified or
// created test target scenario.
// This specifies the interactions for defining and modifying a test target
// scenario. A Test Target scenario consists of a number of Test Targets to be
// generated according to their characteristics (positions, motion law, generation
// parameters) with the purpose of producing stimuli devoted to the execution of an
// internal functional test of the sensor.
// A number of Test Target scenarios may be maintained in a sensor internal Test
// Targets scenarios database, where each scenario is identified by a unique
// identification number. Write accesses to this database shall rejected if the
// sensor Mastership is not actually assigned to CMS, but the possession of the
// sensor Mastership is not required for executing read accesses.
// The generation of the so defined Test Target scenarios may be activated as
// specified in Control Test Target Facility. For the generation mechanism
// see the interface Control Test Target Facility
//
// One or more Test Target scenarios may be maintained in a sensor internal Test
// Targets scenarios database, where each scenario is identified by an unique
// identification number. The number of available Test Target scenarios is accessed
// by Manage subsystem parameters.
//
// Depending on the sensor type and its capabilities, a Test Target scenario may
// be constituted by:
// a) a number of independent targets, with each target having own characteristic
// parameters; so the scenario is defined by:
//
// and for each target
//
// - the initial target position with the relevant initial time
// - target parameters
//
// b) a number of targets distributed in a defined area/volume and having the same
// common parameters, so the scenario is defined by:
//
//
// - area/volume boundaries
//
//
// - common initial time
//
//
// - common targets parameters
//
// Target parameters define:
// a. the target motion type, with the relevant motion parameters
// b. the target generation parameters, such as injection type (internal /
// external), attenuation law (constant / variable-with-range), doppler type (0 /
// PRF/2).
struct test_target_scenario_setting_type
{
#ifdef DDS_XTYPES
@key org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id;
#else
org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id;
#endif
// Indicates which subsystem published the data or is intended to read it as a
// subscriber
#ifdef DDS_XTYPES
@key org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id;
#else
org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id;
#endif
org::omg::c4i::Domain_Model::Sensor_Domain::Sensor_Control::test_target_scenario_id_type test_target_scenario_id;
};
#ifndef DDS_XTYPES
#pragma keylist test_target_scenario_setting_type request_id subsystem_id
#endif
// struct holding keys for class test_target_scenario_setting_all_feature_type.
struct test_target_scenario_setting_all_feature_key_type
{
org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id;
// Indicates which subsystem published the data or is intended to read it as a
// subscriber
org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id;
};
// Method used by the sensor to return the required test target scenario with its
// parameters.
// This specifies the interactions for defining and modifying a test target
// scenario. A Test Target scenario consists of a number of Test Targets to be
// generated according to their characteristics (positions, motion law, generation
// parameters) with the purpose of producing stimuli devoted to the execution of an
// internal functional test of the sensor.
// A number of Test Target scenarios may be maintained in a sensor internal Test
// Targets scenarios database, where each scenario is identified by a unique
// identification number. Write accesses to this database shall rejected if the
// sensor Mastership is not actually assigned to CMS, but the possession of the
// sensor Mastership is not required for executing read accesses.
// The generation of the so defined Test Target scenarios may be activated as
// specified in Control Test Target Facility. For the generation mechanism
// see the interface Control Test Target Facility
//
// One or more Test Target scenarios may be maintained in a sensor internal Test
// Targets scenarios database, where each scenario is identified by an unique
// identification number. The number of available Test Target scenarios is accessed
// by Manage subsystem parameters.
//
// Depending on the sensor type and its capabilities, a Test Target scenario may
// be constituted by:
// a) a number of independent targets, with each target having own characteristic
// parameters; so the scenario is defined by:
//
// and for each target
//
// - the initial target position with the relevant initial time
// - target parameters
//
// b) a number of targets distributed in a defined area/volume and having the same
// common parameters, so the scenario is defined by:
//
//
// - area/volume boundaries
//
//
// - common initial time
//
//
// - common targets parameters
//
// Target parameters define:
// a. the target motion type, with the relevant motion parameters
// b. the target generation parameters, such as injection type (internal /
// external), attenuation law (constant / variable-with-range), doppler type (0 /
// PRF/2).
struct test_target_scenario_setting_all_feature_type
{
#ifdef DDS_XTYPES
@key org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id;
#else
org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id;
#endif
// Indicates which subsystem published the data or is intended to read it as a
// subscriber
#ifdef DDS_XTYPES
@key org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id;
#else
org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id;
#endif
org::omg::c4i::Domain_Model::Sensor_Domain::Sensor_Control::test_target_scenario_type test_target_features;
};
#ifndef DDS_XTYPES
#pragma keylist test_target_scenario_setting_all_feature_type request_id subsystem_id
#endif
// struct holding keys for class read_test_target_scenario_type.
struct read_test_target_scenario_key_type
{
org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id;
// Indicates which subsystem published the data or is intended to read it as a
// subscriber
org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id;
};
// Method used by the CMS to send to the sensor a read request of a specified Test
// Target scenario.
// This is the Subsystem interface for defining test target scenarios.
struct read_test_target_scenario_type
{
#ifdef DDS_XTYPES
@key org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id;
#else
org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id;
#endif
// Indicates which subsystem published the data or is intended to read it as a
// subscriber
#ifdef DDS_XTYPES
@key org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id;
#else
org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id;
#endif
org::omg::c4i::Domain_Model::Sensor_Domain::Sensor_Control::test_target_scenario_id_type test_target_scenario_id;
};
#ifndef DDS_XTYPES
#pragma keylist read_test_target_scenario_type request_id subsystem_id
#endif
// struct holding keys for class write_test_target_scenario_type.
struct write_test_target_scenario_key_type
{
org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id;
// Indicates which subsystem published the data or is intended to read it as a
// subscriber
org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id;
};
// Method used by the CMS to send to the sensor a write request of a specified Test
// Target scenario.
// This is the Subsystem interface for defining test target scenarios.
struct write_test_target_scenario_type
{
#ifdef DDS_XTYPES
@key org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id;
#else
org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id;
#endif
// Indicates which subsystem published the data or is intended to read it as a
// subscriber
#ifdef DDS_XTYPES
@key org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id;
#else
org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id;
#endif
org::omg::c4i::Domain_Model::Sensor_Domain::Sensor_Control::test_target_scenario_type test_target_scenario;
};
#ifndef DDS_XTYPES
#pragma keylist write_test_target_scenario_type request_id subsystem_id
#endif
};
};
};
};
};
};
};
#endif