// copyright 2013-2020 BAE Systems, Thales Group, Object Management Group Inc; 2013 Selex ES, DSTO, Atlas Elektronik, EADS Deutschland GmbH #ifndef ORGOMGC4IDOMAIN_MODELSENSOR_DOMAINSENSOR_ASSESSMENTDEFVAR #define ORGOMGC4IDOMAIN_MODELSENSOR_DOMAINSENSOR_ASSESSMENTDEFVAR #include "Common_Types.idl" module org { module omg { module c4i { module Domain_Model { module Sensor_Domain { // This package provides a data model to describe the identification and // classification assessment that a sensor can make about its sensor tracks. The // approach is to be agnostic to any specific assessment process or classification // regime. The model assumes a general process whereby matches (with confidence // values) are made between data relating to the sensor track and reference data. // Matches can relate to previous matches building up a structured hierarchy of // assumptions leading to progressively higher-level identification and // classification assessments. The lowest level is to match measurement parameters // with reference data; the next level is to match one or more of these with modes; // then modes with equipment and finally equipment with platforms. // Assessment Objectives (Equipment, Function, Platform and Activity) are passed // from Subsystems to CMS by value in the Sensor Assessment use cases. They contain // an Objective Id key value which is used to refer to the assessment values in // Track Reporting use cases. module Sensor_Assessment { // Unique identifier for the objects to which the sensor assessment is attempting to // match the measurement parameters. typedef long assessment_objective_id_type; // A string type // Two character (Alpha 2) country code as defined by ISO 3166-1. // An empty string represents undefined data. typedef string<2> country_code_type; // A string type // Represents the name of a descriptor typedef string<24> descriptor_name_type; // A string type // Represents the value of a descriptor typedef string<32> descriptor_single_value_type; enum descriptor_value_switch_type { descriptor_value_type_value_kind, descriptor_value_type_list_kind }; // list of descriptor values typedef sequence descriptor_list_type; // A string type // The name of or label for an item of equipment typedef string<32> equipment_name_type; // The value of the descriptor - a single value or a list union descriptor_value_type switch (descriptor_value_switch_type) { case descriptor_value_type_value_kind : descriptor_single_value_type value; case descriptor_value_type_list_kind : descriptor_list_type list; }; // A string type // The name of some functional behavior exhibited by an equipment typedef string<20> function_name_type; // The unique identifier for a match instance (within the scope of a sensor). typedef long match_id_type; // Enumeration of specialisations options for union class match_link_type. enum match_link_kind_type { // equipment_mode_match_type option for EQUIPMENT_MODE_MATCH_KIND, // equipment_parameter_match_type option for EQUIPMENT_PARAMETER_MATCH_KIND, // measurement_element_match_type option for MEASUREMENT_ELEMENT_MATCH_KIND, // platform_equipment_match_type option for PLATFORM_EQUIPMENT_MATCH_KIND, // platform_mode_match_type option for PLATFORM_MODE_MATCH_KIND, // reference_parameter_match_type option for REFERENCE_PARAMETER_MATCH_KIND }; // Enumeration of specialisations options for union class match_type. enum match_kind_type { // equipment_match_type option for EQUIPMENT_MATCH_KIND, // parametric_mode_match_type option for PARAMETRIC_MODE_MATCH_KIND, // platform_match_type option for PLATFORM_MATCH_KIND }; // A string type // The name or label for a kind of mode that gives rise to a set of measurements. typedef string<32> mode_name_type; // A string type // The name of or label for an activity that can be undertaken by a platform. typedef string<32> platform_activity_name_type; // Enumeration of specialisations options for union class platform_class_type. enum platform_class_kind_type { // base option for platform_class_type PLATFORM_CLASS_BASE_KIND, // platform_type option for PLATFORM_KIND }; // The representation of a function observable by the sensor that can be exhibited // by equipment detected by the sensor and matched to sensor parametric measurements struct observable_function_type { // The name or label of the function function_name_type name; // Unique identifier for the function (within the scope of the sensor). #ifdef DDS_XTYPES @Key assessment_objective_id_type id; #else assessment_objective_id_type id; #endif }; // A string type // The name or label for a platform or class of platforms. A platform being a // discrete independently acting object in the real-world environment. typedef string<32> platform_name_type; // The unique identifier for a reference parameter, sequence or mode. typedef long reference_id_type; // Enumeration of specialisations options for union class reference_type. enum reference_kind_type { // base option for reference_type REFERENCE_BASE_KIND, // reference_mode_type option for REFERENCE_MODE_KIND, // reference_parameter_type option for REFERENCE_PARAMETER_KIND }; // A sequence type, to represent multiple values. typedef sequence equipment_platform_id_type; // a simple union type, to represent an optional value union match_link_confidence_type switch (boolean) { // the value when present case TRUE : org::omg::c4i::Domain_Model::Common_Types::confidence_type value; }; // a simple union type, to represent an optional value union match_confidence_type switch (boolean) { // the value when present case TRUE : org::omg::c4i::Domain_Model::Common_Types::confidence_type value; }; // A sequence type, to represent multiple values. typedef sequence measurement_element_match_discrete_parameter_element_id_type; // a simple union type, to represent an optional value union multipath_set_master_id_type switch (boolean) { // the value when present case TRUE : long value; }; // A sequence type, to represent multiple values. typedef sequence multipath_set_supporting_track_id_type; // a simple union type, to represent an optional value union platform_class_pre_identification_type switch (boolean) { // the value when present case TRUE : org::omg::c4i::Domain_Model::Common_Types::identity_type value; }; // a simple union type, to represent an optional value union platform_class_pre_recognition_type switch (boolean) { // the value when present case TRUE : short value; }; // A sequence type, to represent multiple values. typedef sequence platform_class_equipment_id_type; // A sequence type, to represent multiple values. typedef sequence platform_match_associated_sensor_track_id_type; // An activity that can be undertaken by a platform struct platform_activity_type { // The name of the platform's activity platform_activity_name_type name; // Unique identifier for the activity (within the scope of the sensor). #ifdef DDS_XTYPES @Key assessment_objective_id_type id; #else assessment_objective_id_type id; #endif }; // The representation of descriptor for a configuration reference data instance. // Reference descriptor instances qualify the reference data instance (e.g. mode, // equipment) and are a mechanism to specify aliases and other supporting // information. struct reference_descriptor_type { // The name of the descriptor for the mode descriptor_name_type name; // The value of the descriptor for the mode descriptor_value_type value; }; // a simple union type, to represent an optional value union sensor_plot_equipement_assessment_best_id_type switch (boolean) { // the value when present case TRUE : long value; }; // a simple union type, to represent an optional value union sensor_plot_mode_assessment_best_id_type switch (boolean) { // the value when present case TRUE : long value; }; // a simple union type, to represent an optional value union sensor_plot_platform_assessment_best_id_type switch (boolean) { // the value when present case TRUE : long value; }; // a simple union type, to represent an optional value union sensor_track_equipment_assessment_selected_id_type switch (boolean) { // the value when present case TRUE : long value; }; // a simple union type, to represent an optional value union sensor_track_equipment_assessment_best_match_id_type switch (boolean) { // the value when present case TRUE : long value; }; // a simple union type, to represent an optional value union sensor_track_mode_assessment_best_id_type switch (boolean) { // the value when present case TRUE : long value; }; // a simple union type, to represent an optional value union sensor_track_mode_assessment_selected_id_type switch (boolean) { // the value when present case TRUE : long value; }; // a simple union type, to represent an optional value union sensor_track_platform_assessment_selected_id_type switch (boolean) { // the value when present case TRUE : long value; }; // a simple union type, to represent an optional value union sensor_track_platform_assessment_best_match_id_type switch (boolean) { // the value when present case TRUE : long value; }; // a simple union type, to represent an optional value union subplatform_match_confidence_type switch (boolean) { // the value when present case TRUE : org::omg::c4i::Domain_Model::Common_Types::confidence_type value; }; // A match between an equipment match and a mode match. For a possible match to an // equipment this represents the linkage to a possible parametric mode that has been // identified in the assessment of the sensor track. struct equipment_mode_match_type { // The confidence in the match between a one match and an existing lower level match // for a sensor track. This is the result of a statistical hypothesis test. match_link_confidence_type confidence; // The mode from the sensor track's parametric measurements being matched. long mode_id; }; // A match between an equipment match and a measurement parameter match. For a // possible match to an equipment this represents the linkage to a possible // reference parameter that has been identified in the assessment of the sensor // track. struct equipment_parameter_match_type { // The confidence in the match between a one match and an existing lower level match // for a sensor track. This is the result of a statistical hypothesis test. match_link_confidence_type confidence; // The parameter from the sensor tracks measurement parameters being matched. long parameter_id; }; // Represents the matching link between a platform and a constituent piece of // equipment struct platform_equipment_match_type { // The confidence in the match between a one match and an existing lower level match // for a sensor track. This is the result of a statistical hypothesis test. match_link_confidence_type confidence; long equipment_id; }; // This class represents a label for a reference value, set or distribution for a // parameter. Such tactically significant labels and their underlying data sets may // be made available as an encyclopedic library. struct reference_parameter_type { // The unique identifier for the reference data. This may facilitate the retrieval // of additional data outside the scope of this specification. #ifdef DDS_XTYPES @Key reference_id_type id; #else reference_id_type id; #endif // The identifier for an alerting or warning process associated with the matching of // this reference data. long alert_id; }; // Struct of base attributes defined for class reference_type. struct reference_base_type { // The unique identifier for the reference data. This may facilitate the retrieval // of additional data outside the scope of this specification. #ifdef DDS_XTYPES @Key reference_id_type id; #else reference_id_type id; #endif // The identifier for an alerting or warning process associated with the matching of // this reference data. long alert_id; }; // a simple union type, to represent an optional value union equipment_match_function_type switch (boolean) { // the value when present case TRUE : observable_function_type value; }; // Represents the matching link between a platform and a mode of a constituent // piece of equipment struct platform_mode_match_type { // The confidence in the match between a one match and an existing lower level match // for a sensor track. This is the result of a statistical hypothesis test. match_link_confidence_type confidence; long mode_id; }; // A sequence type, to represent multiple values. typedef sequence equipment_descriptor_type; struct subplatform_match_type { // The confidence in the match between a (super) platform and a potential // constituent sub-platform. This is result of a statistical hypothesis test. subplatform_match_confidence_type confidence; // A (sub) platform (potentially independently operating real-world object) that is // currently contained by the platform. Examples include a helicopter that is // currently on a ship's landing deck. long subplatform_id; }; // a simple union type, to represent an optional value union platform_match_activity_type switch (boolean) { // the value when present case TRUE : platform_activity_type value; }; // A sequence type, to represent multiple values. typedef sequence reference_mode_descriptor_type; // A sequence type, to represent multiple values. typedef sequence equipment_match_mode_match_type; // A sequence type, to represent multiple values. typedef sequence equipment_match_parameter_match_type; struct measurement_element_match_type { // The confidence in the match between a one match and an existing lower level match // for a sensor track. This is the result of a statistical hypothesis test. match_link_confidence_type confidence; // The discrete parameter measurement value contained in the element of the // sequence. Each measurement_element_type instance referred to by an association // instance belongs to a different discrete_set_measurement_type instance measurement_element_match_discrete_parameter_element_id_type discrete_parameter_element_id; }; // A sequence type, to represent multiple values. typedef sequence platform_match_equipment_match_type; // To report on the assessment of a set of sensor track representing the same real // world object through multiple paths. // The interface for a sensor to provide assessments (identification and // classification) of sensor tracks to the CMS. The sensor matches parametric // measurements to reference data and then reports each of these sets as an // assessment for each track for the categories of equipment modes, equipment marks // (build standards / versions) and platform instances (or platform classes). The // sensor also reports what it has assessed to be the best match and the match // currently selected. The currently selected match influences the attributes // reported for the sensor track (including its recognition and identification). // The CMS uses the select and deselect methods to set or override the match that is // selected for an assessment of a sensor track. // Sensors report a track to the CMS using the Track Reporting use case before // providing an assessment. Assessments are only reported for tracks whilst the // sensor track is in the TRACKED track state. // Represents a set of tracks that correspond to the signal which has been measured // through the detection of discrete signals that have arrived at the sensor by // means of different paths through the environment. struct multipath_set_type { // The unique identifier for the multi-path set #ifdef DDS_XTYPES @Key match_id_type multipath_id; #else match_id_type multipath_id; #endif // The probability that the set represents independently routed detections of the // same real world object. org::omg::c4i::Domain_Model::Common_Types::confidence_type confidence; // The master track for the multipath set multipath_set_master_id_type master_id; // One of the tracks in the multipath set multipath_set_supporting_track_id_type supporting_track_id; }; #ifndef DDS_XTYPES #pragma keylist multipath_set_type multipath_id #endif // A sequence type, to represent multiple values. typedef sequence platform_match_mode_match_type; // A sequence type, to represent multiple values. typedef sequence platform_match_match_type; // The representation of a match to a reference parameter for a sensor track struct reference_parameter_match_type { // The confidence in the match between a one match and an existing lower level match // for a sensor track. This is the result of a statistical hypothesis test. match_link_confidence_type confidence; // The reference parameters matched by this mode identification reference_parameter_type reference_parameter; // The kind of the measured parameters that support the mode identification. long parameter_kind_id; }; // The representation of an item of equipment that is relevant to assessment of // parametric sensor measurements. struct equipment_type { // The name of the equipment equipment_name_type name; // Unique identifier for the equipment (within the scope of the sensor). #ifdef DDS_XTYPES @Key assessment_objective_id_type id; #else assessment_objective_id_type id; #endif // Descriptors for the equipment provising supporting, amplifying or qualifying // information equipment_descriptor_type descriptor; // The platforms known to contain the equipment equipment_platform_id_type platform_id; }; // This class represents a label for a reference mode for a sensor tracks // measurement parameter. Such tactically significant labels and their underlying // data sets may be made available as an encyclopedic library. struct reference_mode_type { // The unique identifier for the reference data. This may facilitate the retrieval // of additional data outside the scope of this specification. #ifdef DDS_XTYPES @Key reference_id_type id; #else reference_id_type id; #endif // The identifier for an alerting or warning process associated with the matching of // this reference data. long alert_id; // The name or label of the mode. mode_name_type name; // The descriptors associated with the mode reference_mode_descriptor_type descriptor; }; // Struct of base attributes defined for class platform_class_type. struct platform_class_base_type { // The name of the platform (or class of platforms) platform_name_type name; // The standard identification of the platform platform_class_pre_identification_type pre_identification; // The discrete code representing the type of platform. platform_class_pre_recognition_type pre_recognition; // The code representing the country of registration of the platform country_code_type country_code; // Unique identifier for the platform (within the scope of the sensor). #ifdef DDS_XTYPES @Key assessment_objective_id_type id; #else assessment_objective_id_type id; #endif // The equipment known to be associated with a platform platform_class_equipment_id_type equipment_id; }; // A sequence type, to represent multiple values. typedef sequence parametric_mode_match_parameter_match_type; // The representation of a platform that an assessment of sensor track data can // match against. struct platform_type { // The name of the platform (or class of platforms) platform_name_type name; // The standard identification of the platform platform_class_pre_identification_type pre_identification; // The discrete code representing the type of platform. platform_class_pre_recognition_type pre_recognition; // The code representing the country of registration of the platform country_code_type country_code; // Unique identifier for the platform (within the scope of the sensor). #ifdef DDS_XTYPES @Key assessment_objective_id_type id; #else assessment_objective_id_type id; #endif // The equipment known to be associated with a platform platform_class_equipment_id_type equipment_id; // The name of the platform (or class of platforms) platform_name_type platform_name; }; // Union of specialisations for class reference_type. // A base class for reference data being compared with measurements in the // assessment process. union reference_type switch (reference_kind_type) { // base option for reference_type case REFERENCE_BASE_KIND : reference_base_type reference_base; // reference_mode_type option for reference_type case REFERENCE_MODE_KIND : reference_mode_type reference_mode; // reference_parameter_type option for reference_type case REFERENCE_PARAMETER_KIND : reference_parameter_type reference_parameter; }; // The identification of a mode within a sensor track's parametric data. A mode is a // behavior of the real-world object being tracked by the sensor (or a component of // that object). struct parametric_mode_match_type { // The confidence in the match between an equipment and a parametric measurement for // a sensor track. This is result of a statistical hypothesis test. match_confidence_type confidence; // The unique identifier (within the scope of a sensor) for the match instance. // Match links for higher-level assessment objectives refer to lower-level matches // using this identifier. #ifdef DDS_XTYPES @Key match_id_type id; #else match_id_type id; #endif // The reference mode being matched reference_mode_type reference_mode; // The reference parameters which have been matched by the measurement parameters in // determining the mode assessment. parametric_mode_match_parameter_match_type parameter_match; }; // Union of specialisations for class platform_class_type. // The class of an individual platform instance - i.e. a common design from which // platform instances are manufactured. This contains attributes that apply to all // the platform instances of a class union platform_class_type switch (platform_class_kind_type) { // base option for platform_class_type case PLATFORM_CLASS_BASE_KIND : platform_class_base_type platform_class_base; // platform_type option for platform_class_type case PLATFORM_KIND : platform_type platform; }; // The representation of a match between a sensor track and an item of equipment. struct equipment_match_type { // The confidence in the match between an equipment and a parametric measurement for // a sensor track. This is result of a statistical hypothesis test. match_confidence_type confidence; // The unique identifier (within the scope of a sensor) for the match instance. // Match links for higher-level assessment objectives refer to lower-level matches // using this identifier. #ifdef DDS_XTYPES @Key match_id_type id; #else match_id_type id; #endif // Whether the equipment - function combination is considered to be threatening boolean is_a_threat; // The function the equipment has been matched as performing equipment_match_function_type function; equipment_type equipment; // A match between an equipment an a measurement parameter of the sensor track. equipment_match_parameter_match_type parameter_match; // A match between an equipment an a mode identified in the sensor track's // parametric measurements. equipment_match_mode_match_type mode_match; }; // A sequence type, to represent multiple values. typedef sequence sensor_plot_mode_assessment_mode_type; // A sequence type, to represent multiple values. typedef sequence sensor_track_mode_assessment_mode_type; // A sequence type, to represent multiple values. typedef sequence sensor_plot_equipement_assessment_equipment_type; // A sequence type, to represent multiple values. typedef sequence sensor_track_equipment_assessment_equipment_type; // Union of specialisations for class match_link_type. // The representation of a link between an assessment match and an existing lower // level match. union match_link_type switch (match_link_kind_type) { // equipment_mode_match_type option for match_link_type case EQUIPMENT_MODE_MATCH_KIND : equipment_mode_match_type equipment_mode_match; // equipment_parameter_match_type option for match_link_type case EQUIPMENT_PARAMETER_MATCH_KIND : equipment_parameter_match_type equipment_parameter_match; // measurement_element_match_type option for match_link_type case MEASUREMENT_ELEMENT_MATCH_KIND : measurement_element_match_type measurement_element_match; // platform_equipment_match_type option for match_link_type case PLATFORM_EQUIPMENT_MATCH_KIND : platform_equipment_match_type platform_equipment_match; // platform_mode_match_type option for match_link_type case PLATFORM_MODE_MATCH_KIND : platform_mode_match_type platform_mode_match; // reference_parameter_match_type option for match_link_type case REFERENCE_PARAMETER_MATCH_KIND : reference_parameter_match_type reference_parameter_match; }; // The overall assessment of mode (of the detected equipment) for a sensor track // To report on the overall mode assessment for a sensor plot. // The interface for a sensor to provide assessments (identification and // classification) of sensor plots to the CMS. It is expected that the assessment // relates to matching the plot's measurement parameters to reference data. The // sensor provides a set of mode, equipment and/or platform matches relating to a // particular plot (referenced by the plot id). Therefore the sensor plot must have // a plot_id attribute defined. // The sensor subsystem's assessment of the modes potentially matched by the sensor // plot's measurement parameters. struct sensor_plot_mode_assessment_type { // The sensor plot to which the assessment refers. The plot instance must contain a // plot_id attribute. long sensor_plot_id; // The mode assessed as most likely by the sensor. sensor_plot_mode_assessment_best_id_type best_id; // The modes assessed as candidates for the sensor plot. sensor_plot_mode_assessment_mode_type mode; }; #ifndef DDS_XTYPES #pragma keylist sensor_plot_mode_assessment_type #endif // The assessment of the equipment to which the sensor track's data may correspond. // To report on the overall equipment assessment for a sensor plot. // The interface for a sensor to provide assessments (identification and // classification) of sensor plots to the CMS. It is expected that the assessment // relates to matching the plot's measurement parameters to reference data. The // sensor provides a set of mode, equipment and/or platform matches relating to a // particular plot (referenced by the plot id). Therefore the sensor plot must have // a plot_id attribute defined. // The sensor subsystem's assessment of the equipment potentially matched by the // sensor plot's measurement parameters. struct sensor_plot_equipement_assessment_type { // The equipment assessed by the sensor as being the best match for the sensor plot sensor_plot_equipement_assessment_best_id_type best_id; // The sensor plot to which the assessment refers. The plot instance must contain a // plot_id attribute. long sensor_plot_id; // The equipment assessed as potentially being represented by the sensor plot sensor_plot_equipement_assessment_equipment_type equipment; }; #ifndef DDS_XTYPES #pragma keylist sensor_plot_equipement_assessment_type #endif // The overall assessment of mode (of the detected equipment) for a sensor track // To report on the overall mode assessment for a sensor track. // The interface for a sensor to provide assessments (identification and // classification) of sensor tracks to the CMS. The sensor matches parametric // measurements to reference data and then reports each of these sets as an // assessment for each track for the categories of equipment modes, equipment marks // (build standards / versions) and platform instances (or platform classes). The // sensor also reports what it has assessed to be the best match and the match // currently selected. The currently selected match influences the attributes // reported for the sensor track (including its recognition and identification). // The CMS uses the select and deselect methods to set or override the match that is // selected for an assessment of a sensor track. // Sensors report a track to the CMS using the Track Reporting use case before // providing an assessment. Assessments are only reported for tracks whilst the // sensor track is in the TRACKED track state. // The representation of the state of the assessment of a sensor track's possible // identified modes. struct sensor_track_mode_assessment_type { // The sensor's best match sensor_track_mode_assessment_best_id_type best_id; // The sensor track to which the mode assessment relates long sensor_track_id; // The match that has been authoritatively selected as the mode relating to the // sensor track. sensor_track_mode_assessment_selected_id_type selected_id; // The parametric modes matched in the assessment of the sensor track's measurement // parameters. sensor_track_mode_assessment_mode_type mode; }; #ifndef DDS_XTYPES #pragma keylist sensor_track_mode_assessment_type #endif // The assessment of the equipment to which the sensor track's data may correspond. // To report on the overall equipment assessment for a sensor track. // The interface for a sensor to provide assessments (identification and // classification) of sensor tracks to the CMS. The sensor matches parametric // measurements to reference data and then reports each of these sets as an // assessment for each track for the categories of equipment modes, equipment marks // (build standards / versions) and platform instances (or platform classes). The // sensor also reports what it has assessed to be the best match and the match // currently selected. The currently selected match influences the attributes // reported for the sensor track (including its recognition and identification). // The CMS uses the select and deselect methods to set or override the match that is // selected for an assessment of a sensor track. // Sensors report a track to the CMS using the Track Reporting use case before // providing an assessment. Assessments are only reported for tracks whilst the // sensor track is in the TRACKED track state. // A representation of an assessment of the equipment that potentially correspond to // a sensor track. struct sensor_track_equipment_assessment_type { #ifdef DDS_XTYPES @Key long sensor_track_id; #else long sensor_track_id; #endif // The match selected as the authoritative assessment by command sensor_track_equipment_assessment_selected_id_type selected_id; // The equipment assessed as most likely to correspond to the sensor track sensor_track_equipment_assessment_best_match_id_type best_match_id; // An item of equipment that has been assessed as a possible match for the sensor // track sensor_track_equipment_assessment_equipment_type equipment; }; #ifndef DDS_XTYPES #pragma keylist sensor_track_equipment_assessment_type sensor_track_id #endif // The representation of a match between a sensor track and a platform. struct platform_match_type { // The confidence in the match between an equipment and a parametric measurement for // a sensor track. This is result of a statistical hypothesis test. match_confidence_type confidence; // The unique identifier (within the scope of a sensor) for the match instance. // Match links for higher-level assessment objectives refer to lower-level matches // using this identifier. #ifdef DDS_XTYPES @Key match_id_type id; #else match_id_type id; #endif // The platform being matched platform_class_type platform; // The activity identified as being undertaken by the platform when matching the // sensor track to it. platform_match_activity_type activity; // The set of sensor tracks that are all associated with the same platform instance // and hence real world object under the hypothesis of this platform match. platform_match_associated_sensor_track_id_type associated_sensor_track_id; // A hierarchical match from a (super) platform to a separable (sub) platform that // it is potentially hosting or carrying as one of its constituent parts. platform_match_match_type match; // The observable equipment modes matched by the sensor in determining the platform // match. platform_match_mode_match_type mode_match; // A match between a platform and a constituent equipment platform_match_equipment_match_type equipment_match; }; // A sequence type, to represent multiple values. typedef sequence sensor_plot_platform_assessment_platform_type; // A sequence type, to represent multiple values. typedef sequence sensor_track_platform_assessment_platform_type; // The assessment of the platform to which the sensor track's data may correspond. // To report on the overall platform assessment for a sensor plot. // The interface for a sensor to provide assessments (identification and // classification) of sensor plots to the CMS. It is expected that the assessment // relates to matching the plot's measurement parameters to reference data. The // sensor provides a set of mode, equipment and/or platform matches relating to a // particular plot (referenced by the plot id). Therefore the sensor plot must have // a plot_id attribute defined. // The sensor subsystem's assessment of the platforms potentially matched by the // sensor plot's measurement parameters. struct sensor_plot_platform_assessment_type { // The platform assessed by the sensor as the best match for the sensor plot. sensor_plot_platform_assessment_best_id_type best_id; // The sensor plot to which the assessment refers. The plot instance must contain a // plot_id attribute. long sensor_plot_id; // The platforms assessed as potentially being represented by the sensor plot sensor_plot_platform_assessment_platform_type platform; }; #ifndef DDS_XTYPES #pragma keylist sensor_plot_platform_assessment_type #endif // The assessment of the platform to which the sensor track's data may correspond. // To report on the overall platform assessment for a sensor track. // The interface for a sensor to provide assessments (identification and // classification) of sensor tracks to the CMS. The sensor matches parametric // measurements to reference data and then reports each of these sets as an // assessment for each track for the categories of equipment modes, equipment marks // (build standards / versions) and platform instances (or platform classes). The // sensor also reports what it has assessed to be the best match and the match // currently selected. The currently selected match influences the attributes // reported for the sensor track (including its recognition and identification). // The CMS uses the select and deselect methods to set or override the match that is // selected for an assessment of a sensor track. // Sensors report a track to the CMS using the Track Reporting use case before // providing an assessment. Assessments are only reported for tracks whilst the // sensor track is in the TRACKED track state. // A representation of an assessment of the platforms that potentially correspond to // a sensor track. struct sensor_track_platform_assessment_type { // The match selected as the authoritative assessment by command sensor_track_platform_assessment_selected_id_type selected_id; // The sensor track corresponding to the platform assessment #ifdef DDS_XTYPES @Key long sensor_track_id; #else long sensor_track_id; #endif // The platform assessed as most likely to correspond to the sensor track sensor_track_platform_assessment_best_match_id_type best_match_id; // A platform that has been assessed as a possible match for the sensor track sensor_track_platform_assessment_platform_type platform; }; #ifndef DDS_XTYPES #pragma keylist sensor_track_platform_assessment_type sensor_track_id #endif // Union of specialisations for class match_type. // An abstract base class for matches between measurements and reference data in the // assessment process union match_type switch (match_kind_type) { // equipment_match_type option for match_type case EQUIPMENT_MATCH_KIND : equipment_match_type equipment_match; // parametric_mode_match_type option for match_type case PARAMETRIC_MODE_MATCH_KIND : parametric_mode_match_type parametric_mode_match; // platform_match_type option for match_type case PLATFORM_MATCH_KIND : platform_match_type platform_match; }; }; }; }; }; }; }; #endif