## 5 Example of CAS Development
### Ontology Conceptualization
#### 5.2.3 Function getRootZoneDailyAverageMoisture Model  
The goal of this subsection is to model the result of the function getRootZoneDailyAverageMoisture(d). The value represents the evaluation of average daily moisture related to the root zone. First, the computation is relative to the daily average moisture property, as presented in the previous section. Second, the feature of interest is no more a soil layer at a specific depth, but a volume of soil named root zone, as explained in the introduction paragraph. IRRIG defines several classes and instances used for modeling the measurements of the daily average moisture of root zone:  
* irrig:featureOfInterest_rootZone: this individual represents the root zone. This individual is an instance of the class **sosa:FeatureOfInterest**. The individual irrig:featureOfInterest_rootZone is linked to the individual irrig:observableProperty_rootZone_dailyAverageMoisture by the sosa:hasProperty object property (see Figure 13). * irrig:observationProperty_rootZone_dailyAverageMoisture: this individual represents the daily average of the moisture property related to the root zone. It is an instance of the class **irrig:MoistureProperty** (see Figure 13). * **irrig:RootZoneDailyAverageMoistureObservation**: this class is a subclass of **caco:Observation**. It is a defined class that represents the act of carrying out a procedure (observation) to calculate the daily average of the moisture property related to the root zone. The specific moisture property is represented by the individual irrig:observableProperty_rootZone_dailyAverageMoisture. Two necessary and sufficient conditions are defined: (1) All instances of the class **irrig:RootZoneDailyAverageMoistureObservation** are linked to the individual irrig:observableProperty_rootZone_dailyAverageMoisture via the sosa:observedProperty object property; (2) All instances of **irrig:RootZoneDailyAverageMoistureObservation** are linked to the individual irrig:featureOfInterest_rootZone via the sosa:hasFeatureOfInterest object property. Each instance of **irrig:RootZoneDailyAverageMoistureObservation** is linked to a sensor to describe which agent made the observation and how. Figure 13 presents an example of the getRootZoneDailyAggregatedMoisture(d) result. An instance of the class **irrig:RootZoneDailyAverageMoistureObservation** represents the computation of the daily average moisture for the root zone. By definition, individuals of **irrig:RootZoneDailyAverageMoistureObservation** are linked to the individual _irrig:_observedProperty_rootZone_dailyAverageMoisture, an instance of the class **irrig:MoistureProperty**, and to the individual _irrig:_featureOfInterest_rootZone_, an instance of the class **sosa:FeatureOfInterest**, as shown in Figure 13.  
The observation individual is linked to the sensor that produces the result, i.e., a software that computes the equation presented in Table 4. The software program is named _arvalis:_aggregator_getRootZoneDailyAverageMoisture_. This individual is an instance of the class **sosa:Sensor**. The observation individual is linked to the sensor via the _sosa:_madeBySensor_ object property, as shown in Figure 13.  
The software computes at a precise time when all its inputs are available. There is no information about the hour, minute and second of the computation. For synchronization purposes, we fix it to the time at [d+1 06:00:00]. To store the time of the computation, we use the _sosa:resultTime_ datatype  
Figure 13: Example of the computation of getRootZoneDailyAverageMoisture(d). property to links the observation individual to the _xsd:dateTime_ value corresponding to the precise time [d+1 06:00:00]. This is presented in Figure 13.  
The computation calculates the daily average. Figure 13 presents the computation for the 14/08/2013. We represent the day as a period of 24 h: [d 00:00:00, d+1 00:00:00[. We reuse the instance of the class **time:Interval** defined for the description of the daily average of tensiometer measurements (see Section 5.2.2).