Ubiquitous Computing
Page Contents
Our daily lives are increasingly dependent on distributed computer systems for office workstation support, banking transactions, supermarket stock supply, mobile phones, web services etc. Many of the latest technological directions such as peer-to-peer computing and ambient intelligence are dependent on distributed processing technologies. We are using web services for e-commerce, education, and for information access within and between organizations. In the future, mobile communicators will be an important means of interacting with an intelligent ubiquitous environment in the home, office, in shopping malls or while traveling in order to support commerce, entertainment, human interaction or monitoring and even controlling your health.
One of the key issues that needs to be solved is the support of adaptability at many different levels. Applications and immediately accessible data needs to adapt to users' current context in terms of location, activity, device/communicator capabilities; the network environment needs to adapt to provide services for mobile users and particular applications with specific quality of service requirements; web services need to store and provide a variety of different media; information sources from multiple distributed heterogeneous databases need to be integrated to form a cohesive information store; there is a need for self-configuring services and applications that automatically detect and adapt to the resources available to support them; we need distributed programming languages that are extensible, that can be tailored to specific applications and are suitable for producing applications to be embedded in consumer devices.
There are issues of whom and what to trust when there is no face-to face interaction in modern networked environments used for ad-hoc cooperation and e-commerce. How is privacy maintained when location and activity are tracked (and predicted) by the ubiquitous environment? There are interesting and challenging problems in providing consistency in the management of security and in specifying authorization policies for multi-organisational environments. In these situations, security is implemented in heterogeneous components such as firewalls, different computer operating systems and multiple databases.
A challenging problem in this environment is the requirements engineering and subsequent specification and design of adaptive systems. At the requirements elicitation stage, the potential and dimension of change must be acquired from the multiple stakeholders involved. Subsequent requirements analysis and system modeling at the architecture level involves reasoning in the presence of inconsistencies, usually with partial information. The adaptability of the system should be supported by interleaving phases of analysis and refinement of requirements. Changes should be learned from the diagnostic results of the analysis process as well as from samples of correct executions of the system Current architecture modeling, analysis and animation tools deal largely with a static snapshot of the architecture of systems. Adaptive systems have high availability requirements and there is a need to model and analyse these architectures during adaptation as well as during normal operation. In fact the distinction between normal and adaptive behaviour is not a clear boundary in these systems. A compositional approach to modeling and analysis appears to be key in dealing with adaptive systems.
The overall focus of the DSE group in this research area is to provide a sound Software Engineering approach to adaptive mobile and ubiquitous computing systems that covers the full life-cycle from requirements engineering, to specification design and implementation.
Current Projects
For current projects on Ubiquitous Computing and related topics see Projects
People
For publications see Ubiquitous Computing research team members pages:

