Abstract:
With the widespread use of mobile devices, a new generation of ubiquitous applications
has emerged in daily life activities, making information available everywhere and at any moment. Context-awareness is the feature that allows these applications to be smart, by enabling
them to continuously detect the user’s current situation and to assist him or her by adapting the
application’s behavior accordingly.
In the same vein, designing context-aware applications involves new challenges not present
in traditional ones, including the perpetual variations in contextual information and the different
interactions with sensors. This has propelled the software engineers to introduce additional
requirements analysis and enhanced modeling techniques capable of dealing with the different
contextual parameters that may affect the application’s behavior.
The Unified Modeling Language (UML) is the most commonly used language to specify,
visualize, and document the artifacts of software systems. Nevertheless, existing UML diagrams are too general to describe context-aware systems adequately, they do not offer suitable
notations to distinguish context-awareness from other system requirements.
This thesis proposes a new modeling approach called the Context Unified Modeling Language (CUML), which is an extension of UML diagrams to cater for the specification, visualization, and documentation of context-aware computing systems.
In this thesis, we present a number of contributions through which we have succeeded in (i)
A novel notion called ContextClass diagram, which extends the UML Class diagram to model
the structure of context-aware systems by monitoring the contextual aspects that characterize
them. (ii) A novel notion called ContextSequence diagram, which extends the UML Sequence
diagram to model the interactions as well as the adaptation behavior of context-aware systems.
(iii) A set of concrete modeling editors. (iv) A case study in the healthcare field to demonstrate
the pragmatics of the proposed approach