Uno de los problemas asociados a las aplicaciones context-aware es que no hay una definición universalmente aceptada que indique qué es el contexto de una aplicación. Hasta el momento se han planteado dos visiones de contexto:
• La positivista, que lo ve como un problema de representación. Su principal objetivo es encontrar una representación formal del contexto y codificarlo en una máquina.
• La fenomenológica, que lo ve como un problema de interacción. Bajo esta visión el contexto es un emergente de la actividad que no puede ser formalizado.
En este momento la tendencia es tomar al contexto como un conjunto de información pasiva (como un problema de representación), sobre la cual el sistema tiene que razonar y tomar decisiones. A pesar que no es el objetivo de este trabajo entrar en la discusión de qué es el contexto ni cómo debe definirse, sí se planteará un modelo de contexto desde un punto de vista distinto al utilizado actualmente. En lugar de pensar al contexto como una entidad completamente definida, la idea es descomponerlo en un conjunto de aspectos de contexto (modelados con objetos) y sus interacciones. Esto significa que el contexto deja de ser modelado como una entidad única y formal y pasa a ser un emergente de la interacción entre los objetos, similar la visión fenomenológica. Este modelo surge del trabajo centrado en ambientes puros de objetos y de una visión de contexto basada en la interacción hombre-máquina. Concretamente, el primer objetivo de esta tesis es comprobar que esta forma de ver al contexto resulta adecuada para lograr diversos tipos de adaptaciones, al tiempo que se mantiene un modelo de objetos correcto.
El segundo objetivo del trabajo es proponer una arquitectura que responda a la visión de contexto anteriormente mencionada. Esta arquitectura debe ser independiente de la plataforma, así como de los dispositivos sobre los que se esté ejecutando (PDA, PC de escritorio, tablet PC, etc) y debe poder adaptarse al trabajo sobre redes heterogéneas. Dado que no es posible adelantarse a todos los posibles contextos ni a la forma en que la aplicación debe reaccionar, este trabajo hará especial hincapié en la escalabilidad y la adaptabilidad a los cambios.