## 5 Example of CAS Development
### Ontology Conceptualization
#### 5.2.1 Tensiometer Measurement Model  
The goal of this subsection is to model the tensiometer measurements or, more precisely, the result of the function getValidMoistureProbe(p,t). A tensiometer may be placed at a 30 cm or 60 cm depth. This section describes the valid measurement of a tensiometer placed at a 30 cm depth. This model reuses some elements of the IRRIG ontology. IRRIG defined several classes and instances used for modeling tensiometer measurements:  
* irrig:featureOfInterest_Soil30 cmDepth: this individual represents the soil layer at a 30 cm depth. This individual is an instance of the class **sosa:FeatureOfInterest**. The individual irrig:featureOfInterest_soil30 cmDepth is linked to the individual irrig:observableProperty_soil30 cmDepth_moisture by the sosa:hasProperty object property (see Figure 11). * **irrig:MoistureProperty**: this class is a subclass of **ssn:Property**. It represents the amount of water available inside the entity. The moisture aspect of the entity is intrinsic to and cannot exist without the entity. The moisture quality value should be expressed by a qualitative value such as a state or by a quantitative value (see Figure 11). * **irrig:observationProperty_soil30 cmDepth_moisture**: this individual represents the moisture property of the soil layer at a 30 cm depth. It is an instance of the class **irrig:MoistureProperty** (see Figure 11). * **irrig:Soil30 cmDepthMoistureObservation**: this class is a subclass of **caso:Observation**. It is a defined class that represents the act of carrying out a procedure (observation) to estimate or calculate a value of a moisture property related to the soil layer at a 30 cm depth. This moisture property is represented by the individual **irrig:observableProperty_soil30 cmDepth_moisture**. Two necessary and sufficient conditions are defined: (1) All instances of the class **irrig:Soil30 cmDepthMoistureObservation** are linked to the individual **irrig:observableProperty_soil30 cmDepth_moisture** via the sosa:observedProperty object property; (2) All instances of **irrig:Soil30 cmDepthMoistureObservation** are linked to the individual **irrig:featureOfInterest_soil30 cmDepth** via the sosa:hasFeatureOfInterest object property. Each instance of **irrig:Soil30 cmDepthMoistureObservation** is linked to a sensor to describe which tensiometer made the observation and how. First, the measurement data are stored in the system under the IRRIG model. Figure 11 presents an example of one measurement from one soil tensiometer. Figure 11: Example of an observation of a soil tensiometer. An instance of the class **irrig:Soil30 cmDepthMoistureObservation** represents the computation of the function getValidMoistureProbe(p,t). It is an observation of a moisture property related to the soil layer at a 30 cm depth, as shown in Figure 11. By definition, individuals of **irrig:Soil30 cmDepthMoistureObservation** are linked to the individual **irrig:observedProperty_soil30 cmDepth_moisture**, an instance of the class **irrig:MoistureProperty**, and to the individual **irrig:FeatureOfInterest_Soil30 cmDepth**, an instance of the class **sosa:FeatureOfInterest**. The observation individual is linked to the sensor that made the observation. We assumed that the node, which contains a tensiometer probe, also has the capacity to clean the probe measurements. A node tensiometer is represented by an instance of the class **sosa:Sensor**. It is also an instance of the class **saref4 agri:SoilTensiometer**. Arvalis identifies their tensiometers by a number and depth, as presented in Section 4.1. We reuse this information to create a name for each instance of **saref4 agri:SoilTensiometer**. For example, Figure 11 contains the individual **avalis:soilTensiometer_1_30 cm**. A tensiometer measurement is an instantaneous observation. Please note that the measurements of tensiometers are unavailable in the Arvalis dataset. Thus, we can imagine that tensiometer measurements may happen at any time of the day.