## 4 Formalization of the Integration Approach
### Generating Value-Added Information
Considering the functions that have been defined on the 'VGISensor' ADT, any such sensor can tell about its observation result(s), by using the vsResult operator, _i.e._:  
**instance** AGENTS VGISensor **where**  
tell \(\text{vgiSensor}=\text{vsResult}\) vgiSensor  
It can perceive stimuli, _i.e._, information offerings from volunteers. The perceived stimulus is basically stored in the VGISensor inherent quale:  
**instance** STIMULI VGI Volunteer VGISensor **where**  
perceive (VGI volunteer) vgiSensor = vgiSensor {vsQuale:( vgiOffering volunteer)}  
In line with the VGI related parts of Table 2 and Figure 1, a VGI Sensor is now introduced as the tool to recognize VGI stimuli. The sensor can observe these stimuli by translating them into the set of messages with position and clock time, which corresponds to the sensation as mentioned in Table 2 and Figure 1 respectively. The newly generated observation result is stored as a VGISensor inherent status, which can be accessed via the \"vsResult\" operator. Exactly the same operator is used above--when implementing the \"tell\" operator--to communicate this observation result to the outside. **instance** OBSERVATIONS VGI Volunteer VGISensor where observe (VGI volunt) vgiSensor = vgiSensor {vsResult:(vsQuale (perceive (VGI volunt) vgiSensor))} Using a similar sequence of instantiations:  
* the CONAVI analyzer finally can observe hotspots out of the data coming from a VGI sensor: **instance** OBSERVATIONS Hotspot VGISensor CONAVIanalyser **where**...
* the CONAVI analyzer can observe forest fires out of the previously identified hotspots: **instance** OBSERVATIONS ForestFire CONAVIanalyser CONAVIanalyser... In this way, we re-use the 'Observations' ADT to also encapsulate the perception behavior, as introduced in Table 2, by a sensor. Here, we see for the first time that an agent can play both roles, of the entity of which a quality is observed, and of the observing agent itself. This is a straightforward mechanism for capturing a kind of self-observation that causes an internal state change. The same procedure is applied several times below. * the CONAVI clusterer can observe clusters out of the previously identified forest fires: **instance** OBSERVATIONS Hotspot CONAVIanalyser CONAVIclusterer...
* the CONAVI clusterer can observe forest fire clusters out of the previously identified clusters: **instance** OBSERVATIONS ForestFire CONAVIclusterer CONAVIclusterer...  
Moving to the satellite based identification of forest fires, we can follow a similar approach:  
* the earth observation satellite can observe images: **instance** OBSERVATIONS ElectromagneticRadiation EarthSurface EOSatellite...
* the FFIS can observe hotspots within the data coming from the satellite: **instance** OBSERVATIONS Hotspot EarthObservationSatellite FFIS...
* the FFIS can observe forest fires out of the previously identified hotspots: **instance** OBSERVATIONS ForestFire FFIS FFIS...  
Re-visiting Figure 1 and Table 2, these also encapsulate different levels of perception, this time related to electromagnetic waves as stimuli, _i.e._, remote sensing.