The signal from a sensor is invariably processed one or more times before the data can be stored. In the sensor descriptor file an integer-indexed array of processes may be specified, allowing the sequential description of processes applied to the sensor signal.
This specification makes it possible to compare the data collected using the same sensor on different system architectures as well as different sensors used on different system architectures. In the case of analogue sensors the node may have to perform a calculation to convert the received value into standard units. Depending on the algorithm this may also be a lossy process, and there may be several possible algorithms to use (e.g. For a humidity sensor temperature correction algorithms may need to be applied). The algorithms used are in this model considered to be a process applied to the signal and are included in the array. The Sensor Reading section defines an array for returning the interim results of the processes. If a controller node acting as a data collector fully implements this model and stores this array it is possible to reprocess the data collected using alternative algorithms if this becomes necessary to standardise diverse datasets (either at a later data processing stage or as data is collected on a heterogeneous network). Using this model different data collector nodes could collect and reprocess simultaneously on the same network, creating a dynamically re-purposable platform for environmental and species research.
|name||Human-readable name of the process|
|input||Definition from Ontology for Quantity Kinds and Units|
|inputUnit||Definition from Ontology of Units of Measurment|
|inputDiscrete||Is input a discrete value? (0 = No, 1 = Yes)|
|output||Definition from Ontology for Quantity Kinds and Units|
|outputUnit||Definition from Ontology of Units of Measurmenet|
|outputDiscrete||Is output a discrete value? (0 = No, 1 = Yes)|
|outputDiscreteMin||Minimum discrete output in OutputUnit|
|outputDiscreteMax||Maximum discrete output in OutputSteps|
|outputDiscreteSteps||Number of discrete units|
|descriptionURL||A URL that helps define the process (e.g. GitHub URL to an algorithm)|