// copyright 2013-2020 BAE Systems, Thales Group, Object Management Group Inc; 2013 Selex ES, DSTO, Atlas Elektronik, EADS Deutschland GmbH
#ifndef ORGOMGC4ISERVICE_INTERFACESSENSOR_SERVICESSENSOR_PERFORMANCEPROVIDE_PERFORMANCE_ASSESSMENTDEFVAR
#define ORGOMGC4ISERVICE_INTERFACESSENSOR_SERVICESSENSOR_PERFORMANCEPROVIDE_PERFORMANCE_ASSESSMENTDEFVAR
#include "Common_Types.idl"
#include "Requests.idl"
#include "Sensor_Performance.idl"
module org
{
module omg
{
module c4i
{
module Service_Interfaces
{
module Sensor_Services
{
module Sensor_Performance
{
module Provide_Performance_Assessment
{
// struct holding keys for class performance_assessment_response_type.
struct performance_assessment_response_key_type
{
// The unique identifier for this assessment. This identifier is supplied by the CMS
// when the assessment is requested.
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;
};
// The subsystem responds to the previous performance assessment request with its
// assessment of the requested aspect of actual performance.
// This is incremental to Register Interest, which deals with the
// subscription to subsystem functions and Provide Nominal Performance which
// provides the subsystem nominal performance. This interface reports the real-time
// performance of the available subsystem functions against the goals of the
// mission. The reported performance is that currently being attained by the
// subsystem subject to the current operating regime and environmental conditions,
// including any clutter and jamming and taking account of any
// mitigation/cancellation of such effects by the subsystem.
// This interface is aimed at a subsystem such as an MFR radar. Information is
// provided to the Command function allowing decisions to be made on the achieved
// performance, which is often considerably different to the anticipated performance
// level as reported through the Provide Nominal Performance Service.
// The most basic example of performance would be reporting of the radar coverage,
// in elevation, azimuth and range, for the current operating regime and
// environmental conditions. This would take account of any clutter and jamming
// present. Other examples might be that the actor requests the probability of
// detection for a specified target type or perhaps the probability of correct
// automatic classification of such a target within a specified range under current
// environmental conditions N.B. if the radar is operating in an appropriate mode
// then real-time clutter and/or jamming data might be available to the radar
// subsystem. Otherwise the actor would have to supply any known data to the
// subsystem for performance assessment (see Receive Encyclopaedic Data and Receive
// Geographic Information). If no environmental data is specified then the design
// performance would be reported.
struct performance_assessment_response_type
{
// The unique identifier for this assessment. This identifier is supplied by the CMS
// when the assessment is requested.
#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
// The details of the assessment
org::omg::c4i::Domain_Model::Sensor_Domain::Sensor_Performance::performance_assessment_report_type performance_assessment;
};
#ifndef DDS_XTYPES
#pragma keylist performance_assessment_response_type request_id subsystem_id
#endif
// struct holding keys for class performance_assessment_request_type.
struct performance_assessment_request_key_type
{
// The unique identifier for this assessment. This identifier is contained in all
// related replies from the sensor.
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;
};
// The CMS requests assessment of actual performance of the subsystem. The aspect of
// performance requested is a parameter of the request.
// Subsystem interface for provision of current performance assessment.
// Note that the coordinates are always polar for this service and that the origin
// is always the sensor reference point as per the coordinates and positions
// package.
struct performance_assessment_request_type
{
// The unique identifier for this assessment. This identifier is contained in all
// related replies from the sensor.
#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
// Details of the assessment
org::omg::c4i::Domain_Model::Sensor_Domain::Sensor_Performance::performance_assessment_parameters_type request;
};
#ifndef DDS_XTYPES
#pragma keylist performance_assessment_request_type request_id subsystem_id
#endif
};
};
};
};
};
};
};
#endif