You are here

Warning message

Attention! This event has already passed.

Modularising Context Dependency and Group Behaviour in Ambient-oriented Programming

Thursday, 7 July, 2011 - 17:00
Campus: Brussels Humanities, Sciences & Engineering campus
Faculty: Science and Bio-engineering Sciences
Jorge Vallejos
phd defence

The pervasive computing field envisions users surrounded by computers
embedded in everyday devices. Such devices form dynamic networks which
change topology as users move about. Software services are expected to
maximise available computational capacities by seamlessly coordinating with
each other. The services should also react to dynamic changes in the
environment and adapt their behaviour accordingly. An increasingly popular
solution to cope with such requirements is to represent environmental changes
as events. Thus, pervasive computing software is often modelled as event]driven
systems. However, such support typically comes at a price in the evolvability of
programs. The more events a service has to be aware of, the more cumbersome
its control flow becomes. The lack of adequate language abstractions to handle
such events results in programs that are difficult to maintain and extend.

In this work, we study the effects of event]driven distribution on the modularity
of programs. We focus on the modularity of two concerns: the capacity of
services to adapt to environmental changes .a property known as contextdependent
behaviour. and their capacity to coordinate with each other .a
property known as group behaviour. We use the ambient]oriented programming
(AmOP) paradigm as the basis of our research. This paradigm proposes an eventdriven
programming model which has been designed specifically for pervasive
computing. We identify a list of requirements for a unified model for eventdriven
distribution, context dependency and group behaviour. In the study of the
state of the art we demonstrate that no single approach fulfils these
requirements so far. This observation has led us to the definition of a proof]ofconcept
programming language model, called Lambic.

Lambic is an extension of the generic function]based object system of the
Common Lisp programming language. Our model extends the multiple dispatch
semantics of generic functions to allow for modularity in pervasive computing.
For event]driven distribution, Lambic integrates the properties of the AmOP
paradigm, in what we call futurised generic functions. In addition, we provide a
novel mechanism to allow flexible selection and composition of behaviour, called
predicated generic functions. This mechanism provides language abstractions to
influence method dispatch based on the program's context. For group behaviour,
we propose a third extension called group generic functions. The main idea of
this feature is to encapsulate the coordination of group interactions in the
definition of services. Finally, a common underlying execution process ensures
that these three features can be effectively used in combination with one
another. We validate our work by showing in a number of case studies how
Lambic facilitates the natural integration and dynamic adaptation of pervasive
computing services.