CAPÍTULO II........................................................................................................... 15
4.3 Segmentación
The efficacy results indicated the capability of CoPro when performing context recognition. Identifying the extent to which CoPro dealt with the limitations of the mobile computing platform validated how capable CoPro was in supporting context awareness.
5.6.3.1 Capability
The results that indicated the capability of CoPro in supporting context awareness were identified by analysing the low/high-level and inferred data produced from all four experiments that were conducted. CoPro was tested in four evaluation scenarios consisting of three test runs per scenario as described in Section 5.5.4. This analysis focused on the process of dealing with limitations of mobile computing in terms of provisioning for limited battery power, limited processing power and dealing with the absence of information. The situations in which CoPro provisioned for the limitations of mobile computing platform were identified.
The first limitation that CoPro needed to consider was limited battery power of a mobile device (Lee, Min, Ju, Pushp & Song 2011). As a mobile device is entirely reliant on battery power, the less battery used the longer the device can be used without needing to recharge it. A situation in which CoPro provisioned to use less battery power was when it dealt with updating the location context. Location context is concerned with the current location of the user. Updating of the user's current location frequently would have a highly negative effect on the battery life of the mobile device. CoPro was thus designed to only update the user's location when they are moving (i.e. not still). An illustration of this can be seen by analysing the samples of data from the first run of the second experiment (OIP) in Table 5.22 below.
Table 5.22: Values for activity and location for first run of second experiment (OIP)
Log Activity Location
1 null At Home 40.0m
3 Tilting. 100%: At Home 40.0m
4 Tilting. 100%: At Home 28.28m
12 Tilting. 100%: At Home 23.09m
29 Standing still. 85%: At Home 23.09m
126
The initial location with a confidence of 40m was obtained before a value for activity was reported as seen in Table 5.22. At the 3rd second an initial value for activity was reported (i.e. Tilting 100%) with the location reporting the same initial value. A second after the first initial value for activity was obtained, it was clear that the location confidence had changed from 40m to 28.28m. This change indicates that the location context was updated due to the activity reporting a value of "Tilting". At the 12th second an additional location update was received as indicated by the improved confidence of 28.28m to 23.09m, with activity still reporting a value of "Tilting". This additional location update confirms that when the device was "Tilting" periodic location updates were requested and received. At the 29th second activity reported a new value of "Still 85%" with the location reporting the same value. At the 30th second, the same value for both the activity and location was reported. The same value being reported at the 30th second indicates that no location update was requested when activity was indicated as "Still 85%". This result shows that when activity was not indicated as "Still", location updates were requested and when activity was reported "Still", no location updates were requested. This result therefore demonstrates that CoPro dynamically requested location updates only when needed (i.e. when not "Still"), which would preserve the mobile device's battery life by not making unnecessary location updates.
The second limitation that CoPro needed to consider was limited processing power of a mobile device (Lee et al. 2011). This was an important provision to plan for as CoPro would need to perform many tasks simultaneously to support context awareness. These tasks as identified in Section 2.1.1, included acquiring, monitoring, filtering, storing, representing and interpreting context. In order to support all these task of context awareness simultaneously, CoPro made use of a thread pool to manage the execution of each task. A thread pool was used as it allowed individual tasks to execute in multiple threads that were available on the mobile device (i.e. Samsung S4). These individual tasks were added to a queue until such time that a thread was available to process a new task, which would then take the next task to be processed from the queue and execute it. This process of fetching new tasks from the queue to execute, continues until all tasks have been completed. The thread pool used in CoPro had to be managed correctly to avoid increased resource usage. One of the main challenges was to effectively create and destroy new tasks (Garg & Sharapov 2002).
127
Problems that could have affected the performance of CoPro are highlighted below:
Creating too many task threads would have wasted resources as well as the time for creating unused task threads.
Destroying too many task threads would have caused time to be wasted in creating new task threads again.
Creating task threads too slowly would have resulted in poor performance (lengthy wait times)
Destroying threads too slowly would have exhausted resource usage that could have been used for other tasks.
The results highlighted in Section 5.6.1 and 5.6.2 demonstrated that the thread pool implementation in CoPro successfully managed all the tasks involved in supporting context awareness simultaneously.
The third and final limitation that CoPro needed to make provision for was the absence of information, which was an existing issue highlighted in Section 2.5. A situation in which CoPro dealt with a lack of information is presented in Table 5.23.
Table 5.23: Values for temperature, humidity and weather for the third run of fourth experiment (OIH)
Log Temperature Humidity Weather
1 20.0°C 52% broken clouds
2 Very hot 31.73°C Low 28.73% broken clouds
As highlighted in Table 5.23, the values for temperature and humidity at Log 1 (i.e. after 1 second elapsed) and Log 2 (i.e. after 2 seconds elapsed) are different. This result is significant as it indicates that at Log 1 no values were reported for both the temperature and humidity context. However, because a value was obtained for the weather at Log 1, both temperature and humidity were assigned values. The values assigned for both the temperature and humidity context at Log 1 came from the weather context obtained, which not only reported the weather condition but also the related temperature and humidity values. The provision demonstrates that CoPro successfully dealt with the lack of information from sensors (i.e. temperature and humidity) with other sources of information such as a web service (i.e. weather).
128
Another noticeable capability of CoPro, which can be seen as dealing with the absence of information, was provisioning for ambiguous context. This provisioning was highlighted when CoPro was able to enhance the precision of the location context by combining it with preferences. This enhancement of the location context is evident in Table 5.22, whereby the location values are reported as "At Home", which signifies that the location address produced by the GPS was matched with the location preferences.
5.6.4 Discussion
The main goal of the evaluation was to determine the feasibility of the proposed model by evaluating the extent to which CoPro supports context awareness. The three sub-goals formed part of the main goal and together were used to address the fifth research question identified in Chapter 1. The sub-goals specifically focused on the effectiveness, reliability and capability of the prototype, CoPro.
From the utility results, it can be concluded that CoPro can effectively produce current context information, detect changes in context information and enhance context information by using preferences. This conclusion is supported by the extensive analysis of the context information described in Section 5.6.1. This analysis showed that frequent and consistent context values were produced in three of the four experiments that were conducted. The results presented in Table 5.6 to Table 5.9 provided further evidence that CoPro can effectively detect changes in context information. The results in Table 5.5 also showed that context information such as location can be enhanced with preferences such as being at home instead of only providing an address of the location.
CoPro's ability to produce quality context information was validated by the quality results presented in Section 5.6.2. These quality results showed that the freshness of the context values produced was improved by 25.26% with the additional improvements made to the design and implementation of CoPro. The completeness results demonstrated that 71% of all the values reported for the third and fourth experiment had a completeness value of 1 meeting the completeness requirements.
The reliability results highlighted an improvement in context information reliability of 19.67% for values above 50% reliability from the third to fourth experiment. This
129
improvement further validates the previous changes made to CoPro, which resulted in the fourth experiment producing 88.13% of its values with a reliability above 50%. The granularity results were also enhanced by the experiments from 47.68% to 86.86% for values with a granularity between 90 to 100%.
The confidence interval values for activity were reasonably accurate with 98.63% of them indicated with a confidence of above 90%. Although 41.2% of the location values reported had a confidence of less than 20m, most of the location values were correctly reported and represented the true value of location (i.e. At Home). Overall the accuracy results indicated that 95.05% of the values produced by CoPro from both the third and fourth experiments were considered as accurate based on the statistical method described in Section 5.5.2.
The results for the trustworthiness evaluation metric indicated that 77.28% of the overall context produced by CoPro in the last two experiments were between 90 to 100%. This result highlights that the context providers that produced 77.28% of the context values for CoPro in those two experiments can be considered to be trustworthy. Lastly the certainty results showed that 98.92% of the inferred contexts determined in the fourth experiment had a certainty of between 90 to 100%.
CoPro can successfully deal with the mobile computing platform limitations identified in Section 5.6.3.1. The efficacy results provided evidence to support this statement, which highlighted CoPro's ability to only request location updates when the device is moving to preserve the life of the mobile device's battery. These results also emphasized CoPro's parallel processing pattern with the use of a thread pool to efficiently perform the tasks needed as identified in Section 2.1.1 to support context awareness. Finally the efficacy results also showed the capability of CoPro in using other sources of data (i.e. web services) to compensate when there was lack of information provided from the preferred context providers (i.e. sensors).
Overall these results addressed the main goal as well as the sub-goals identified in Section 5.3, which were aligned with the DSR evaluation activity of the design cycle. As a result, these results also rigorously demonstrated the utility, quality and efficacy of the prototype, CoPro, in supporting context awareness.
130