Section 2.2 has analysed the main concepts around context and context-awareness. This section goes beyond the theme of context-aware computing, to review literat-
ure on the most relevant conclusions regarding the conceptualisation of context and context-awareness in other disciplines such as philosophy or human-computer inter- action. The conclusions presented at the end of this section are used for creating the conceptualisation presented in Section 2.4.
2.3.1 On the limitations of context-aware systems
Making computers intelligent, able to think and appear to be conscious, has been a topic of discussion since the very inception of computer science[68] [69] [70] [71]
[72] [73] [74]. The latest achievements in the simulation of human intelligence are
remarkable. Computers can recognise objects, emotions or even transcribe and un- derstand speech at a professional translation service level[75] [76]. In artificial intelli- gence for games, one of the major advances of the century has been the creation of an artificial intelligence which is able to defeat top-tier human Go players[77]by using general purpose neural networks that resemble the way in which the human brain uses memory. Expert systems are now able to substitute human workforce in industry, or manage to drive autonomous cars and drones. Even human-scale cortical simulations of the brain[78]have been achieved. Nevertheless, although seems to be no problem in the simulation of intelligence (weak AI)[71], it still remains a topic of debate as to whether or not it is feasible for a computer program to create intentionality in an arti- ficial way (Strong AI), since a computer program is essentially syntactical and human- like consciousness requires semantics[71]. The lack of biological embodiment could also be a limitation for computers in the acquisition of expertise to the same degree, and as extensively as humans[73]. Currently, it is difficult to understand how con- sciousness and intelligence fit in the physical world, and there is not such a thing as a comprehensive science of consciousness. Neither scientists nor philosophers agree on a universal conceptualisation for the human mind, or its causal interactions with the body. Also, there are still many open questions about how human-like artificial intelligence would behave. Since intelligence is strongly related to unpredictability, it is difficult to ensure that a human-like intelligent system would remain within the constraints of a software system, and would not go beyond its function. It is also hard to know if the copy of a consciousness will have the same mental-life as the original. Further discussion of these topics is out of the scope of this thesis, as this dissertation
is not focused on hard artificial intelligence, but rather on the more specialised theme of context-awareness. Nevertheless, it is important to note that although the simu- lation of intelligence has achieved outstanding advances, the creation of human-like consciousness is still in its infancy. The Reader should bear in mind not only that the contextual awareness exhibited by state-of-the-art intelligent machines is not the same as that of humans [17], but that it is going to take considerable time to reach such an achievement, if it is ever reached. Therefore, the main conclusion that should be drawn is that there is a need to understand the current limitations and strong points of context-aware systems (and computers in general), in order to focus the engineer- ing of these systems into those aspects that strengthen the advantages and mitigate the limitations as much as possible.
2.3.2 A philosophical conceptualisation analysis
As can be concluded from Section 2.2, the concept of context is still not fully under- stood. This section aims to shed some light on the reasons why there is not a consensus on the definition of context. The interest in the notion of context to computer science started around the end of the 20thcentury, and it was stimulated by previously intro- duced arguments of social science with regard to traditional interactive system design, which often fails to respond to the settings in which the action occurs[79]. Developers have hoped that by incorporating notions of context into information technologies, computers can be made more sensitive to the details of the specific settings of use, but turning social observation into technical design seems to be problematic. In order to better understand how to engineer more usable C-AS, there is a need for a broader understanding of influencers and ideas that can serve as a source for inspiration, ex- ploration and innovation that refocuses upon the first-person human experience of ubiquitous computing and C-AS[80].
Dourish[81]acknowledged that the drive to represent context is inspired by, and in some cases the direct response to, sociological investigations. Nevertheless, the philo- sophical tradition behind those investigations (phenomenology2) stems from a dif-
2A philosophical tradition related to the study of phenomena, or things, as they appear in a first-
ferent tradition than that of computer science (positivism3). In the phenomenolo- gical perspective, context is understood as a continually evolving and highly situation- dependent construct[35]. Therefore, context is an issue that has a strong bond with the concept of interaction, where:
1. Contextuality is a relational property that holds between objects or activities. It is not a matter of something being or not being context; rather it may or may not be contextually relevant to some particular activity.
2. The scope of contextual features is defined dynamically. Rather than being something that can be delineated and defined in advance.
3. Context is particular to each occasion of activity or action. Context is an occa- sioned property, relevant to particular: settings, instances of action and parties to that action.
4. Context arises from activity, being actively produced, maintained and enacted. However, the representational nature of computing systems demands a different ap- proach to the concept of context. After analysing the conceptual work of several defin- itions, Dourish extracted four assumptions that seem to underlie the notion of context as it operates in the view of computer science, where it is treated as a representational problem rather than an interactional one. The assumptions are:
1. Context is a form of information. Something that can be known, encoded and represented in the same way as other information is in software systems. 2. Context is delineable. For some set of applications, one can define what counts
as the context of activities that the application supports, and do so in advance. 3. Context is stable. Although the precise elements of a context representation
may vary from application to application, they do not vary from instance to instance of an activity or an event. The determination of any contextual element can be made once and for all.
As Dourish[81]remarks, in context-aware computing, there is an attempt of deriv- ing positivist responses from phenomenological arguments. One one hand, context in social sciences is understood as something dynamic, with a set of nuances that make each situation unique, and particular to the occasion. On the other hand, context in computer science necessarily trends towards the creation of models that are abstracted
3A philosophical system that recognises only that which can be scientifically verified.
from the detail of particular occasions, so that they can be programmed in a computer. Even in computer systems that resemble the human brain, such as neural networks, the models need to be programmed and trained in order to obtain the desired output. Re- gardless of the way in which it is done, a developer will necessarily have to program a model of the situations and the actions to be taken in each of them. Based on Green- berg’sI1 [35]There is a need to conceptually support developers in: A) Enumerating the setreflections, the dual nature of context has the following implications4: of contextual states that may exist; B) Knowing what information could accur- ately determine a contextual state within that set; C) Stating what appropriate action should be taken in that particular state. Developers require a better un- derstanding of the situations which are relevant to provide services according to the needs, limitations and preferences of the users. Even if frameworks and toolkits provide elegant ways to design and implement context-aware applica- tions, they fall into a design trap if they do not provide any support for inform- ing the developers of what contextual situations are appropriate to the system. I2 Even with adequate support, it is very difficult or even impossible to foresee all
the situations in order to program them. Even some situations that might seem similar a priori, can greatly differ from the actual instantiation of the situation. I2.1 C-AS have a high chance of taking actions that might not be the most appropriate in certain situations. While the engineering of these systems matures, there is a need to mitigate the impact of context misinterpreta- tion.
I2.2 There is a need to direct the research efforts towards the discovery and ana- lysis techniques of the different situations in which the system can offer services, as they are key to the development of a C-AS.