# Copyright 2013-2020 BAE Systems, Thales Group, Object Management Group Inc; 2013 Selex ES, DSTO, Atlas Elektronik, EADS Deutschland GmbH
# GraphQL Schema for Service ProvideSensorTrackParametersCms
# Interface for a sensor to provide its supplementary parametric data with respect
# to tracks to the CMS. A sensor can pass measurements to the CMS individually or
# as a set (relating to the same track).
# Sensors report a track to the CMS using the Track Reporting use case before
# reporting any of its supplementary measurements. Supplementary measurements are
# only reported for tracks whilst the sensor track is in the TRACKED track state.
# The measurement status of the parameter
enum MeasurementParameterStatusType {
# The parameter is currently subject to measurement for this sensor track
CURRENT
# The parameter temporarily cannot be measured for this sensor track
MISSING
# The parameter can no longer be measured for this sensor track
NOT_PRESENT
# No statement is available regarding the parameter's measurement status for this
# sensor track
NO_PARAMETER_STATUS
}
# The inclusive range of samples sensed that contribute to the measurement value
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type SampleRangeType {
# The minimum value of a sample for the measurement
minValue: Float!
# The maximum value of a sample for the measurement
maxValue: Float!
}
# The inclusive range of samples sensed that contribute to the measurement value
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input SampleRangeInputType {
# The minimum value of a sample for the measurement
minValue: Float!
# The maximum value of a sample for the measurement
maxValue: Float!
}
# A single discrete representation of a parameter measurement value.
interface SingleMeasurementIfType {
# The confidence in the parameter measurement value; this is the probability that
# the value and accuracy represent the true distribution of the physical effect
# they are labelled as measuring in the real world.
confidence: Float
}
# This class represents individual scalar measurements of parameter values.
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type ScalarMeasurementType implements SingleMeasurementIfType {
# The confidence in the parameter measurement value; this is the probability that
# the value and accuracy represent the true distribution of the physical effect
# they are labelled as measuring in the real world.
confidence: Float
# The accuracy of the measurement value (one standard deviation)
accuracy: Float
# The value of the parameter measurement
value: Float!
}
# This class represents individual scalar measurements of parameter values.
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input ScalarMeasurementInputType {
# The confidence in the parameter measurement value; this is the probability that
# the value and accuracy represent the true distribution of the physical effect
# they are labelled as measuring in the real world.
confidence: Float
# The accuracy of the measurement value (one standard deviation)
accuracy: Float
# The value of the parameter measurement
value: Float!
}
# A qualitative description of change in a parameter measurement value over time
# within a distribution. The characteristic quantitative values of the variation
# pattern can be represented by other related measurement parameters.
enum MeasurementVariationKindType {
# The value is decreasing monotonically; a minimum value is not yet determined
DECREASING
# The value is decreasing monotonically towards an asymptotic minimum value
DECREASING_ASYMPTOTICALLY
# The value decreases monotonically until it reaches a minimum value at which point
# it wraps or resets to a maximum value.
DECREASING_WITH_WRAP
# The drift behavior is not specified
DRIFT_NOT_SPECIFIED
# The is increasing monotonically; a maximum value is not yet determined
INCREASING
# The is increasing monotonically towards a maximum asymptotic value.
INCREASING_ASYMPTOTICALLY
# The value increases monotonically until it reaches a maximum value at which point
# it wraps or resets to a minimum value.
INCREASING_WITH_WRAP
# The value alternately increases monotonically until it reaches a maximum value
# and decreases monotonically until it reaches a minimum value.
LINEAR_ALTERNATING
# The change in value over time is considered to be random
RANDOM_VARIATION
# The value of the measurement parameter value is sinusoidal over time.
SINE_WAVE_VARIATION
# The value of the measurement parameter alternates discontinuously between minimum
# and maximum values over time.
SQUARE_WAVE_VARIATION
# The drift pattern is unknown to (not recognized by) the sensor.
UNKNOWN_VARIATION
}
# Describes how a measurement varies with time (on a time-scale longer than that
# described by modulation measurements).
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type MeasurementDriftType {
# The qualitative measure of the kind of drift detected.
kind: MeasurementVariationKindType!
# The sensor's confidence in identifying the kind of drift.
confidence: Float
# Sample size independent measure of the closeness by which the measurement sample
# fit the model of the identified kind of drift.
fit: Float
# The time for the drift behavior to repeat itself.
repetitionPeriod: ScalarMeasurementType
# The maximum rate of change of the measurement detected (in the units of the
# measurement's kind per second).
maxRate: ScalarMeasurementType
# The mean rate of change of the measurement detected (in the units of the
# measurement's kind per second).
meanRate: ScalarMeasurementType!
# The minimum rate of change of the measurement detected (in the units of the
# measurement's kind per second).
minRate: ScalarMeasurementType
}
# Describes how a measurement varies with time (on a time-scale longer than that
# described by modulation measurements).
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input MeasurementDriftInputType {
# The qualitative measure of the kind of drift detected.
kind: MeasurementVariationKindType!
# The sensor's confidence in identifying the kind of drift.
confidence: Float
# Sample size independent measure of the closeness by which the measurement sample
# fit the model of the identified kind of drift.
fit: Float
# The time for the drift behavior to repeat itself.
repetitionPeriod: ScalarMeasurementInputType
# The maximum rate of change of the measurement detected (in the units of the
# measurement's kind per second).
maxRate: ScalarMeasurementInputType
# The mean rate of change of the measurement detected (in the units of the
# measurement's kind per second).
meanRate: ScalarMeasurementInputType!
# The minimum rate of change of the measurement detected (in the units of the
# measurement's kind per second).
minRate: ScalarMeasurementInputType
}
# The representation of parameter measurement values that are distributed within a
# bounded interval
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type MeasurementIntervalType {
# The measurement values are uniformly distributed within the bounded interval
uniform: Boolean!
# The lower bound of the parameter measurements, which may be extrapolated from
# actual sample measurements received or processed.
minValue: ScalarMeasurementType!
# The upper bound of the parameter measurements, which may be extrapolated from
# actual sample measurements received or processed.
maxValue: ScalarMeasurementType!
# A qualitative description of how the parameter measurement changes over time
drift: MeasurementDriftType
# The standard deviation of the measurement within the interval.
standardDeviation: ScalarMeasurementType
# The mean value of the measurement within the interval.
meanValue: ScalarMeasurementType!
}
# The representation of parameter measurement values that are distributed within a
# bounded interval
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input MeasurementIntervalInputType {
# The measurement values are uniformly distributed within the bounded interval
uniform: Boolean!
# The lower bound of the parameter measurements, which may be extrapolated from
# actual sample measurements received or processed.
minValue: ScalarMeasurementInputType!
# The upper bound of the parameter measurements, which may be extrapolated from
# actual sample measurements received or processed.
maxValue: ScalarMeasurementInputType!
# A qualitative description of how the parameter measurement changes over time
drift: MeasurementDriftInputType
# The standard deviation of the measurement within the interval.
standardDeviation: ScalarMeasurementInputType
# The mean value of the measurement within the interval.
meanValue: ScalarMeasurementInputType!
}
# The representation of parameter measurement values that are distributed within a
# bounded interval
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type ModulationType {
# The qualitative measure of the kind of modulation detected.
kind: MeasurementVariationKindType!
# The mean value of the measurement that is subject to modulation.
meanValue: ScalarMeasurementType!
# The amplitude of the modulation of the parameter being measured.
modulationAmplitude: ScalarMeasurementType
# The frequency of the modulation of the parameter being measured.
modulationFrequency: ScalarMeasurementType
}
# The representation of parameter measurement values that are distributed within a
# bounded interval
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input ModulationInputType {
# The qualitative measure of the kind of modulation detected.
kind: MeasurementVariationKindType!
# The mean value of the measurement that is subject to modulation.
meanValue: ScalarMeasurementInputType!
# The amplitude of the modulation of the parameter being measured.
modulationAmplitude: ScalarMeasurementInputType
# The frequency of the modulation of the parameter being measured.
modulationFrequency: ScalarMeasurementInputType
}
# This represents a parameter which takes discrete values.
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type DiscreteMeasurementType implements SingleMeasurementIfType {
# The confidence in the parameter measurement value; this is the probability that
# the value and accuracy represent the true distribution of the physical effect
# they are labelled as measuring in the real world.
confidence: Float
# The discrete value of the measurement
value: Int!
}
# This represents a parameter which takes discrete values.
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input DiscreteMeasurementInputType {
# The confidence in the parameter measurement value; this is the probability that
# the value and accuracy represent the true distribution of the physical effect
# they are labelled as measuring in the real world.
confidence: Float
# The discrete value of the measurement
value: Int!
}
# This describes a qualitative measure
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type QualitativeMeasurementType implements SingleMeasurementIfType {
# The confidence in the parameter measurement value; this is the probability that
# the value and accuracy represent the true distribution of the physical effect
# they are labelled as measuring in the real world.
confidence: Float
# The descriptor for the qualitative measurement
descriptor: Int!
}
# This describes a qualitative measure
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input QualitativeMeasurementInputType {
# The confidence in the parameter measurement value; this is the probability that
# the value and accuracy represent the true distribution of the physical effect
# they are labelled as measuring in the real world.
confidence: Float
# The descriptor for the qualitative measurement
descriptor: Int!
}
# This class represents individual vector measurements of parameter values.
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type VectorMeasurementType implements SingleMeasurementIfType {
# The confidence in the parameter measurement value; this is the probability that
# the value and accuracy represent the true distribution of the physical effect
# they are labelled as measuring in the real world.
confidence: Float
# The covariance between the elements of the vector value in a 1-dimensional
# representation of the triangular matrix. The i,j element (i >= j) of a
# covariance matrix for a vector of size N is at position sum(k=0..j-1, N - k) + (i
# - j). The covariance is zero length if not specified.
covariance: [Float!]
# The vector values
value: [Float!]
}
# This class represents individual vector measurements of parameter values.
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input VectorMeasurementInputType {
# The confidence in the parameter measurement value; this is the probability that
# the value and accuracy represent the true distribution of the physical effect
# they are labelled as measuring in the real world.
confidence: Float
# The covariance between the elements of the vector value in a 1-dimensional
# representation of the triangular matrix. The i,j element (i >= j) of a
# covariance matrix for a vector of size N is at position sum(k=0..j-1, N - k) + (i
# - j). The covariance is zero length if not specified.
covariance: [Float!]
# The vector values
value: [Float!]
}
# A single discrete representation of a parameter measurement value.
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
union SingleMeasurementType = DiscreteMeasurementType | QualitativeMeasurementType | ScalarMeasurementType | VectorMeasurementType
# A single discrete representation of a parameter measurement value.
# Exactly one of the optional attributes is to be supplied in each input object.
# This type has the same semantics as the corresponding query object type.
# Input objects with zero or more than one attributes present are erroneous and should be rejected.
input SingleMeasurementInputType {
discreteMeasurement: DiscreteMeasurementInputType
qualitativeMeasurement: QualitativeMeasurementInputType
scalarMeasurement: ScalarMeasurementInputType
vectorMeasurement: VectorMeasurementInputType
}
# The values of the parameter measurement are distributed according to a
# probability density function.
interface PdfMeasurementIfType {
# The mean (expected) value of the probability density function.
mean: SingleMeasurementType!
# The standard deviation of values from the probability density function.
standardDeviation: SingleMeasurementType
}
# The representation of a measurement parameter that is normally distributed
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type NormalMeasurementType implements PdfMeasurementIfType {
# The mean (expected) value of the probability density function.
mean: SingleMeasurementType!
# The standard deviation of values from the probability density function.
standardDeviation: SingleMeasurementType
}
# The representation of a measurement parameter that is normally distributed
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input NormalMeasurementInputType {
# The mean (expected) value of the probability density function.
mean: SingleMeasurementInputType!
# The standard deviation of values from the probability density function.
standardDeviation: SingleMeasurementInputType
}
# The parameter measurement follows a Poisson distribution
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type PoissonMeasurementType implements PdfMeasurementIfType {
# The mean (expected) value of the probability density function.
mean: SingleMeasurementType!
# The standard deviation of values from the probability density function.
standardDeviation: SingleMeasurementType
}
# The parameter measurement follows a Poisson distribution
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input PoissonMeasurementInputType {
# The mean (expected) value of the probability density function.
mean: SingleMeasurementInputType!
# The standard deviation of values from the probability density function.
standardDeviation: SingleMeasurementInputType
}
# The measurement estimation of a (sensor defined) parameter describing a
# measurement parameter's distribution
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type DistributionParameterMeasurementType {
# The name of a parameter describing a distribution
name: String!
# The measured value for a parameter describing a distribution.
value: SingleMeasurementType!
}
# The measurement estimation of a (sensor defined) parameter describing a
# measurement parameter's distribution
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input DistributionParameterMeasurementInputType {
# The name of a parameter describing a distribution
name: String!
# The measured value for a parameter describing a distribution.
value: SingleMeasurementInputType!
}
# The representation of a measurement of generalised probability density function
# whose definition can be instantiated by a sensor for extensibility.
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type SensorDefinedPdfMeasurementType implements PdfMeasurementIfType {
# The mean (expected) value of the probability density function.
mean: SingleMeasurementType!
# The standard deviation of values from the probability density function.
standardDeviation: SingleMeasurementType
# The name of the probability density function
name: String!
# The list of additional parameters required to describe the sensor defined
# probability density function
parameter: DistributionParameterMeasurementType!
}
# The representation of a measurement of generalised probability density function
# whose definition can be instantiated by a sensor for extensibility.
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input SensorDefinedPdfMeasurementInputType {
# The mean (expected) value of the probability density function.
mean: SingleMeasurementInputType!
# The standard deviation of values from the probability density function.
standardDeviation: SingleMeasurementInputType
# The name of the probability density function
name: String!
# The list of additional parameters required to describe the sensor defined
# probability density function
parameter: DistributionParameterMeasurementInputType!
}
# The values of the parameter measurement are distributed according to a
# probability density function.
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
union PdfMeasurementType = NormalMeasurementType | PoissonMeasurementType | SensorDefinedPdfMeasurementType
# The values of the parameter measurement are distributed according to a
# probability density function.
# Exactly one of the optional attributes is to be supplied in each input object.
# This type has the same semantics as the corresponding query object type.
# Input objects with zero or more than one attributes present are erroneous and should be rejected.
input PdfMeasurementInputType {
normalMeasurement: NormalMeasurementInputType
poissonMeasurement: PoissonMeasurementInputType
sensorDefinedPdfMeasurement: SensorDefinedPdfMeasurementInputType
}
# The distribution of one mode independently contributing to a multi-modal
# distribution.
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type DistributionModeType {
# The proportion that this mode contributes to the overall distribution. The sum of
# all the modes equals 1.
proportion: Float!
# The distribution for this mode.
distribution: PdfMeasurementType!
}
# The distribution of one mode independently contributing to a multi-modal
# distribution.
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input DistributionModeInputType {
# The proportion that this mode contributes to the overall distribution. The sum of
# all the modes equals 1.
proportion: Float!
# The distribution for this mode.
distribution: PdfMeasurementInputType!
}
# The representation of parameter measurement values that have a multi-modal
# distribution
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type MultiModalMeasurementType {
# A mode within a multi-mode distribution for the parameter measurement
mode: [DistributionModeType!]
}
# The representation of parameter measurement values that have a multi-modal
# distribution
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input MultiModalMeasurementInputType {
# A mode within a multi-mode distribution for the parameter measurement
mode: [DistributionModeInputType!]
}
# A continuous representation of a parameter measurement value.
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
union ContinuousMeasurementType = MeasurementIntervalType | ModulationType | MultiModalMeasurementType | PdfMeasurementType
# A continuous representation of a parameter measurement value.
# Exactly one of the optional attributes is to be supplied in each input object.
# This type has the same semantics as the corresponding query object type.
# Input objects with zero or more than one attributes present are erroneous and should be rejected.
input ContinuousMeasurementInputType {
measurementInterval: MeasurementIntervalInputType
modulation: ModulationInputType
multiModalMeasurement: MultiModalMeasurementInputType
pdfMeasurement: PdfMeasurementInputType
}
# The ordering semantics of a set of measurements of a parameter.
enum DiscreteOrderType {
# The measurements are ordered by increasing value such that the smallest value is
# first and the largest value is last.
ORDER_INCREASING_BY_VALUE
# The measurements are ordered by decreasing value such that the smallest value is
# last and the largest value is first.
ORDER_DECREASING_BY_VALUE
# The measurements are ordered by age such that the value received first is first
# and the latest value is last.
ORDER_OLDEST_FIRST
# The measurements are ordered by age such that the value received first is last
# and the latest value is first.
ORDER_MOST_RECENT_FIRST
# The ordering is not specified as it is not semantically meaningful.
ORDER_NOT_SPECIFIED
}
# The representation of an element within a discrete distribution
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type MeasurementElementType {
# The number of times the parameter measured has corresponded to this element in a
# row. That is since another element was measured.
count: Int
# The total number of times this element has been measured with the discrete
# distribution for this parameter value for the sensor track.
totalCount: Int
# The measurement of the element within the discrete distribution.
measurement: SingleMeasurementType!
}
# The representation of an element within a discrete distribution
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input MeasurementElementInputType {
# The number of times the parameter measured has corresponded to this element in a
# row. That is since another element was measured.
count: Int
# The total number of times this element has been measured with the discrete
# distribution for this parameter value for the sensor track.
totalCount: Int
# The measurement of the element within the discrete distribution.
measurement: SingleMeasurementInputType!
}
# The values of the measurement parameter follow a discrete distribution
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type DiscreteSetMeasurementType {
# Whether the elements within the discrete distribution repeat (in the same order)
repeating: Boolean
# The semantics of the ordering of the elements of the discrete distribution
order: DiscreteOrderType!
# Whether the elements within the discrete distribution correspond to a known set
# of measurement values
knownSet: Boolean
# A discrete element within the discrete distribution
element: [MeasurementElementType!]
}
# The values of the measurement parameter follow a discrete distribution
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input DiscreteSetMeasurementInputType {
# Whether the elements within the discrete distribution repeat (in the same order)
repeating: Boolean
# The semantics of the ordering of the elements of the discrete distribution
order: DiscreteOrderType!
# Whether the elements within the discrete distribution correspond to a known set
# of measurement values
knownSet: Boolean
# A discrete element within the discrete distribution
element: [MeasurementElementInputType!]
}
# A representation of the statistical distribution of a parameter.
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
union ParameterDistributionType = ContinuousMeasurementType | DiscreteSetMeasurementType | SingleMeasurementType
# A representation of the statistical distribution of a parameter.
# Exactly one of the optional attributes is to be supplied in each input object.
# This type has the same semantics as the corresponding query object type.
# Input objects with zero or more than one attributes present are erroneous and should be rejected.
input ParameterDistributionInputType {
continuousMeasurement: ContinuousMeasurementInputType
discreteSetMeasurement: DiscreteSetMeasurementInputType
singleMeasurement: SingleMeasurementInputType
}
# A measurement of a parameter by a sensor for a sensor track.
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type MeasurementParameterType {
# The probability that the measurement corresponds to measure labelled for the
# sensor track.
confidence: Float
# Indicates that the phenomenon being measured is in an enduring steady state and
# hence that complementary/orthogonal measurements of more detailed time-varying
# characteristics/phenomena are not present for this track.
continuous: Boolean
# The number of coherent discrete measurements of this quantity.If the sensor
# detects a qualitative change then the count is reset.
count: Int
# The measurement status of the parameter
status: MeasurementParameterStatusType!
# The time at which the parameter was measured
timeOfInformation: Int!
# Whether or not the phenomenon being measured by this parameter is considered to
# be design feature of the equipment causing the phenomenon.
intentional: Boolean
# The description of the parameter and the unique identifier (within the scope of a
# sensor track) of a measurement parameter instance.
kindId: Int!
# The range in which samples contributing to the measurement have occurred.
sampleRange: SampleRangeType
# The representation of the statistical distribution of the measurement parameter.
distribution: ParameterDistributionType
}
# A measurement of a parameter by a sensor for a sensor track.
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input MeasurementParameterInputType {
# The probability that the measurement corresponds to measure labelled for the
# sensor track.
confidence: Float
# Indicates that the phenomenon being measured is in an enduring steady state and
# hence that complementary/orthogonal measurements of more detailed time-varying
# characteristics/phenomena are not present for this track.
continuous: Boolean
# The number of coherent discrete measurements of this quantity.If the sensor
# detects a qualitative change then the count is reset.
count: Int
# The measurement status of the parameter
status: MeasurementParameterStatusType!
# The time at which the parameter was measured
timeOfInformation: Int!
# Whether or not the phenomenon being measured by this parameter is considered to
# be design feature of the equipment causing the phenomenon.
intentional: Boolean
# The description of the parameter and the unique identifier (within the scope of a
# sensor track) of a measurement parameter instance.
kindId: Int!
# The range in which samples contributing to the measurement have occurred.
sampleRange: SampleRangeInputType
# The representation of the statistical distribution of the measurement parameter.
distribution: ParameterDistributionInputType
}
# A set of the measurement parameters relating to a sensor track. Subsystems form
# measurement parameters into sets for efficient information transfer to the CMS. A
# subsystem may chose the number and composition of these sets. A subsystem may
# place all measurements into a single set per track, create multiple sets or
# create no sets and report measurement parameters individually instead.
# For a particular sensor track, measurement parameter names shall be unique across
# all measurement parameter set instances - i.e. sets shall be non-overlapping.
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type TrackMeasurementParameterSetType {
# The name of the set of parameters
name: String!
sensorTrackId: Int!
# The parameter measurement for the element
parameter: [MeasurementParameterType!]
}
# A set of the measurement parameters relating to a sensor track. Subsystems form
# measurement parameters into sets for efficient information transfer to the CMS. A
# subsystem may chose the number and composition of these sets. A subsystem may
# place all measurements into a single set per track, create multiple sets or
# create no sets and report measurement parameters individually instead.
# For a particular sensor track, measurement parameter names shall be unique across
# all measurement parameter set instances - i.e. sets shall be non-overlapping.
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input TrackMeasurementParameterSetInputType {
# The name of the set of parameters
name: String!
sensorTrackId: Int!
# The parameter measurement for the element
parameter: [MeasurementParameterInputType!]
}
# The sensor tracking environment
enum EnvironmentType {
AIR
LAND
SURFACE
SUBSURFACE
SPACE
}
enum CoordinateKindType {
CARTESIAN
POLAR
WGS84
}
# Coordinates in a Cartesian reference frame as described by a coordinate
# specification object
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type CartesianPositionType {
xCoordinate: Float!
# Optional as some sensors are 2D (horizontal plane or no elevation information)
zCoordinate: Float
yCoordinate: Float!
}
# Coordinates in a Cartesian reference frame as described by a coordinate
# specification object
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input CartesianPositionInputType {
xCoordinate: Float!
# Optional as some sensors are 2D (horizontal plane or no elevation information)
zCoordinate: Float
yCoordinate: Float!
}
# Coordinate in the WGS84 reference system.
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type Wgs84PositionType {
# Optional as some sensors as 2D (work in horizontal plane) and some other
# functions do not supply or require this information either.
heightCoordinate: Float
latitudeCoordinate: Float!
longitudeCoordinate: Float!
}
# Coordinate in the WGS84 reference system.
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input Wgs84PositionInputType {
# Optional as some sensors as 2D (work in horizontal plane) and some other
# functions do not supply or require this information either.
heightCoordinate: Float
latitudeCoordinate: Float!
longitudeCoordinate: Float!
}
# Coordinates in a polar reference frame as a described by a coordinate
# specification object
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type PolarPositionType {
azimuthCoordinate: Float!
# Optional as some sensors provide no elevation information
elevationCoordinate: Float
# Optional as some sensor provide no range information (e.g. most passive sensors)
rangeCoordinate: Float
# Specifies the origin from which to interpret the polar position. This attribute
# is optional as the origin can be implicitly specified according to the value of
# the applicable coordinate specification enumeration.
origin: Wgs84PositionType
}
# Coordinates in a polar reference frame as a described by a coordinate
# specification object
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input PolarPositionInputType {
azimuthCoordinate: Float!
# Optional as some sensors provide no elevation information
elevationCoordinate: Float
# Optional as some sensor provide no range information (e.g. most passive sensors)
rangeCoordinate: Float
# Specifies the origin from which to interpret the polar position. This attribute
# is optional as the origin can be implicitly specified according to the value of
# the applicable coordinate specification enumeration.
origin: Wgs84PositionInputType
}
# To offer flexibility, three variants of coordinate system representation are
# supported - corresponding to the coordinate_kind_type enumerate. An
# implementation should support one kind for each relevant interface as defined by
# the coordinate_specification_type value, and it should only send data of that
# variant and it should check that all data received is of that variant. It should
# not implement conversion of data in an unexpected variant. Receipt of such data
# constitutes an error in the operation of the interface.
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
union PositionCoordinateType = CartesianPositionType | PolarPositionType | Wgs84PositionType
# To offer flexibility, three variants of coordinate system representation are
# supported - corresponding to the coordinate_kind_type enumerate. An
# implementation should support one kind for each relevant interface as defined by
# the coordinate_specification_type value, and it should only send data of that
# variant and it should check that all data received is of that variant. It should
# not implement conversion of data in an unexpected variant. Receipt of such data
# constitutes an error in the operation of the interface.
# Exactly one of the optional attributes is to be supplied in each input object.
# This type has the same semantics as the corresponding query object type.
# Input objects with zero or more than one attributes present are erroneous and should be rejected.
input PositionCoordinateInputType {
: CoordinateKindType!
cartesianPosition: CartesianPositionInputType
polarPosition: PolarPositionInputType
wgs84Position: Wgs84PositionInputType
}
# A figure_ref_point specifies a reference point for a figure.
# This reference point is a mathematically meaningful point of the figure. For a
# circle it is the centre of the circle, for a polygon it is the centre of gravity
# of the polygon, etc.
# When rotating the figure, the figure_ref_point acts as the rotation point.
# When a figure is not slaved to a track its figure_ref_point shall be mapped on a
# (moving) geo point.
# When the figure is slaved to an object (track, point) its figure_ref_point shall
# be mapped on an offset position which is relative to the master object.
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type FigureRefPointType {
position: PositionCoordinateType!
Id: Int!
}
# A figure_ref_point specifies a reference point for a figure.
# This reference point is a mathematically meaningful point of the figure. For a
# circle it is the centre of the circle, for a polygon it is the centre of gravity
# of the polygon, etc.
# When rotating the figure, the figure_ref_point acts as the rotation point.
# When a figure is not slaved to a track its figure_ref_point shall be mapped on a
# (moving) geo point.
# When the figure is slaved to an object (track, point) its figure_ref_point shall
# be mapped on an offset position which is relative to the master object.
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input FigureRefPointInputType {
position: PositionCoordinateInputType!
Id: Int!
}
# A sector specifies a 2D area in a horizontal plane by means of its origin, its
# centre bearing with its bearing delta, that together define the sector.
# The origin is the figure reference point of the sector.
# In case the sector is north oriented, the centre bearing is specified with
# respect to true north; otherwise it is specified with respect to the object's
# (own ship/other track, point) heading/course.
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type SectorType {
# This attribute specifies the horizontal angle measured clockwise between the
# Y-axis of the relevant coordinate system (true north, heading/course) and the
# centre bearing line of the sector.
centreBearing: Float!
# This attribute specifies the bearing delta on each side of a specified centre
# bearing line.
deltaBearing: Float!
origin: FigureRefPointType
}
# A sector specifies a 2D area in a horizontal plane by means of its origin, its
# centre bearing with its bearing delta, that together define the sector.
# The origin is the figure reference point of the sector.
# In case the sector is north oriented, the centre bearing is specified with
# respect to true north; otherwise it is specified with respect to the object's
# (own ship/other track, point) heading/course.
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input SectorInputType {
# This attribute specifies the horizontal angle measured clockwise between the
# Y-axis of the relevant coordinate system (true north, heading/course) and the
# centre bearing line of the sector.
centreBearing: Float!
# This attribute specifies the bearing delta on each side of a specified centre
# bearing line.
deltaBearing: Float!
origin: FigureRefPointInputType
}
# A geographically defined rectangle in the environment
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type RectangleType {
# distance along angle of orientation from the ref point to the next corner
length: Float!
# distance perpendicular to angle of orientation (clockwise) from ref point to the
# next corner
width: Float!
# angle of azimuth of the length sides of the rectangle
orientation: Float!
}
# A geographically defined rectangle in the environment
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input RectangleInputType {
# distance along angle of orientation from the ref point to the next corner
length: Float!
# distance perpendicular to angle of orientation (clockwise) from ref point to the
# next corner
width: Float!
# angle of azimuth of the length sides of the rectangle
orientation: Float!
}
# A geographically defined general area
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type PolygonType {
point: [PositionCoordinateType!]
}
# A geographically defined general area
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input PolygonInputType {
point: [PositionCoordinateInputType!]
}
# A truncated_sector specifies a 2D area in a horizontal plane by means of its
# origin, its centre bearing with its bearing delta, and its inner range and outer
# range, that together define the truncated sector.
# The origin is the figure reference point of the truncated sector.
# In case the truncated sector is north oriented, the centre bearing is specified
# with respect to true north; otherwise (object oriented) it is specified with
# respect to the object's (own ship/other track, point) heading/course.
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type TruncatedSectorType {
# This attribute specifies the horizontal angle measured clockwise between the
# Y-axis of the relevant coordinate system (true north, heading/course) and the
# centre bearing line of the truncated sector.
centreBearing: Float!
# This attribute specifies the bearing delta on each side of a centre bearing line.
deltaBearing: Float!
# This attribute specifies the range that limits a truncated sector; i.e. the
# minimum distance from the truncated sector's origin.
innerRange: Float!
# This attribute specifies the range that limits a truncated sector; i.e. the
# maximum distance from the truncated sector's origin.
outerRange: Float!
origin: FigureRefPointType
}
# A truncated_sector specifies a 2D area in a horizontal plane by means of its
# origin, its centre bearing with its bearing delta, and its inner range and outer
# range, that together define the truncated sector.
# The origin is the figure reference point of the truncated sector.
# In case the truncated sector is north oriented, the centre bearing is specified
# with respect to true north; otherwise (object oriented) it is specified with
# respect to the object's (own ship/other track, point) heading/course.
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input TruncatedSectorInputType {
# This attribute specifies the horizontal angle measured clockwise between the
# Y-axis of the relevant coordinate system (true north, heading/course) and the
# centre bearing line of the truncated sector.
centreBearing: Float!
# This attribute specifies the bearing delta on each side of a centre bearing line.
deltaBearing: Float!
# This attribute specifies the range that limits a truncated sector; i.e. the
# minimum distance from the truncated sector's origin.
innerRange: Float!
# This attribute specifies the range that limits a truncated sector; i.e. the
# maximum distance from the truncated sector's origin.
outerRange: Float!
origin: FigureRefPointInputType
}
# An area for the sensor to keep under surveillance
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
union Area2dType = SectorType | RectangleType | PolygonType | TruncatedSectorType
# An area for the sensor to keep under surveillance
# Exactly one of the optional attributes is to be supplied in each input object.
# This type has the same semantics as the corresponding query object type.
# Input objects with zero or more than one attributes present are erroneous and should be rejected.
input Area2dInputType {
sector: SectorInputType
rectangle: RectangleInputType
polygon: PolygonInputType
truncatedSector: TruncatedSectorInputType
}
# For the sensor to report on the measurement of a set of parameters for a track
# defined by configuration data.
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type WriteParameterMeasurementSetType {
# The sensor's measurement of a set of parameters
parameterSet(name: ID,
sensorTrackId: ID,
environment: EnvironmentType,
insideArea: Area2dInputType): [TrackMeasurementParameterSetType!]
# The elements of subsystem name list should correspond to those in the set of operations.
subsystemName: [ID!]
}
# For the sensor to report on the measurement of a set of parameters for a track
# defined by configuration data.
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input WriteParameterMeasurementSetInputType {
# The sensor's measurement of a set of parameters
parameterSet: [TrackMeasurementParameterSetInputType!]
# The elements of subsystem name list should correspond to those in the set of operations.
subsystemName: [ID!]
}
# To represent parameter measurements for a sensor track reported individually
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type TrackMeasurementParameterType {
# The sensor track to which the measurement parameter relates.
sensorTrackId: Int!
# The individual parameter
parameter: MeasurementParameterType!
}
# To represent parameter measurements for a sensor track reported individually
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input TrackMeasurementParameterInputType {
# The sensor track to which the measurement parameter relates.
sensorTrackId: Int!
# The individual parameter
parameter: MeasurementParameterInputType!
}
# For the sensor to report on the measurement of an individual parameter defined by
# configuration data.
# The query type for retrieving operations on interface Provide_Sensor_Track_Parameters_CMS
type WriteParameterMeasurementType {
# The sensor's measurement of a parameter
parameter(sensorTrackId: ID,
environment: EnvironmentType,
insideArea: Area2dInputType): [TrackMeasurementParameterType!]
# The elements of subsystem name list should correspond to those in the set of operations.
subsystemName: [ID!]
}
# For the sensor to report on the measurement of an individual parameter defined by
# configuration data.
# The corresponding input type for invoking operations on interface Provide_Sensor_Track_Parameters_CMS
input WriteParameterMeasurementInputType {
# The sensor's measurement of a parameter
parameter: [TrackMeasurementParameterInputType!]
# The elements of subsystem name list should correspond to those in the set of operations.
subsystemName: [ID!]
}
# Union of all operations for retrieval on the Provide_Sensor_Track_Parameters_CMS interface.
union ProvideSensorTrackParametersCmsUnionType = WriteParameterMeasurementSetType | WriteParameterMeasurementType
# Set of all operations for invocation on the Provide_Sensor_Track_Parameters_CMS interface.
# Exactly one attribute option to be supplied per object; a mutation can contain multiple objects.
# To supply zero or more than one option is erroneous and should be rejected.
input ProvideSensorTrackParametersCmsMutationOptionsType {
writeParameterMeasurementSet: WriteParameterMeasurementSetInputType
writeParameterMeasurement: WriteParameterMeasurementInputType
}
# Data for all operations that can be retrieved on the Provide_Sensor_Track_Parameters_CMS interface.
type ProvideSensorTrackParametersCmsObjectType {
data(subsystemName: ID,
simulated: Boolean): [ProvideSensorTrackParametersCmsUnionType!]
}
# Data to invoke operations on the Provide_Sensor_Track_Parameters_CMS interface.
type ProvideSensorTrackParametersCmsMutationType{
ProvideSensorTrackParametersCms(
data: [ProvideSensorTrackParametersCmsMutationOptionsType!]
): Boolean
}
# Schema to define the entry points for the Provide_Sensor_Track_Parameters_CMS interface.
schema ProvideSensorTrackParametersCms {
# Query to retrieve all operations on the Provide_Sensor_Track_Parameters_CMS interface.
query: ProvideSensorTrackParametersCmsObjectType
# Mutation to invoke all operations on the Provide_Sensor_Track_Parameters_CMS interface.
mutation: ProvideSensorTrackParametersCmsMutationType
# Subscription to be informed of all operations on the Provide_Sensor_Track_Parameters_CMS interface.
subscription: ProvideSensorTrackParametersCmsObjectType
}