Components The components property and the ComponentList elements are XML Schema

SensorML OGC 12-000 Copyright © 2014 Open Geospatial Consortium 125 sml:SimpleProcess gml:id = thresholdClipperConfigured definition = http:sensors.wsprocessthresholdClipper -- ============================= -- -- Threshold Clipper Descriptions -- -- ============================= -- gml:description A process that passes values of 15.0 and above to the passValue output; gml:description gml:identifier codeSpace = uid urn:myCompany:swe:process:0678b365a gml:identifier gml:name Threshold Clipper 01 Configured gml:name sml:typeOf xlink:title = urn:net:swe:process:thresholdClip01 xlink:href = http:sensors.wsprocessesThresholdClipper01 sml:configuration sml:Settings sml:setValue ref = parametersthreshold 15.0 sml:setValue sml:Settings sml:configuration sml:SimpleProcess sml:component sml:ComponentList sml:components -- ======================================= -- -- Aggregate process links declared -- -- ======================================== -- sml:connections sml:ConnectionList -- Connect AggregateProcess input to LinearInterpolator scale input -- sml:connection sml:Link sml:source ref = inputsvalueIn sml:destination ref = componentsscaleinputsx sml:Link sml:connection -- Connect LinearInterpolator scale output to ThresholdClipper clip input -- sml:connection sml:Link sml:source ref = componentsscaleoutputsy sml:destination ref = componentsclipinputsvalueIn sml:Link sml:connection -- Connect ThresholdClipper clip passValue output to AggregateProcess passValue output -- sml:connection sml:Link sml:source ref = componentsclipoutputspassValue sml:destination ref = outputsvalueOut sml:Link sml:connection -- Note: ThresholdClipper clip failValue output is ignored in this example -- sml:ConnectionList sml:connections sml:AggregateProcess

8.3.2 Components The components property and the ComponentList elements are XML Schema

implementations of the UML classes defined in clause 7.4. The components property Copyright © 2014 Open Geospatial Consortium 126 takes a ComponentList as its value. The ComponentList component property takes an AbstractProcess as its value. Thus any SensorML process can be a component of an aggregate process, whether that process is itself simple or aggregate, non-physical or physical. The XML snippet for the ComponentList element and its corresponding complex types is shown below: element name = ComponentList type = sml:ComponentListType substitutionGroup = swe:AbstractSWE complexType name = ComponentListType complexContent extension base = swe:AbstractSWEType sequence element name = component minOccurs = 1 maxOccurs = unbounded annotation documentation A description of a component of the aggregate process. If by reference, the uniqueID of the referenced process must be provided using the xlink:title attribute while the URL to the process description must be provided by the xlink:href attribute. documentation annotation complexType complexContent extension base = sml:AbstractProcessPropertyType attribute name = name type = NCName use = required extension complexContent complexType element sequence extension complexContent complexType complexType name = ComponentListPropertyType sequence minOccurs = element ref = sml:ComponentList sequence attributeGroup ref = swe:AssociationAttributeGroup complexType The component process can be described inline or be referenced through the xlink:href property. For a reference to an external process description, two pieces of information are required in order to reference a component process instance, the uniqueID of the process and a resolvable URL referencing the process description. These should be provided by the xlink:title and xlink:href attributes, respectively. Requirement http:www.opengis.netspecsensorml2.0reqxmlaggregate-processcomponent-reference Req 65. When the value of the component property is “byReference”, there shall be meaningful values for the xlink:title and xlink:href attributes. The uniqueID of the referenced process, given by its gml:identifier property, shall be the value of the xlink:title attribute, while a resolvable URL to the referenced process description shall be the value of the xlink:href attribute. SensorML OGC 12-000 Copyright © 2014 Open Geospatial Consortium 127 The examples in Section 8.3.1 show that the components of an aggregate process can be fully described inline, or be externally referenced processes that are configurable.

8.3.3 Connections