name
 
context-oriented programming
for ambient intelligence
Promotor: Prof. Dr. Theo D’Hondt
The focus of my research is to investigate the context-aware systems in the field of Ambient Intelligence (AmI). My main interest is to investigate the influence of the context on the behaviour of AmI applications. At the PROG lab, there is a research group working on Context-Oriented Programming (COP) that explores different language constructs to model such context influence. As part of this group, I have been working with some object, concurrency and distribution models which are listed below:
  • Composition of context-dependent application behaviours using prototype-based solutions (delegation hierarchies, split objects, subjective objects etc.).
  • Context-dependent adaptations of behaviour using role-based models.
  • Rule-based systems for context reasoning and role selection.
  • Role-based communications.
  • Combining actor and role models for the development of context-dependent applications.
  • Ad-hoc and intentional actor grouping.
  • Intra and Inter actor layers for context-dependent adaptations.
  • Dynamic scope for context-dependent communications.g me
My current platform is Common Lisp. I have also worked in the AmbientTalk programming language.
service migration
Another area of interest is code mobility. I have been involved in the development of programming language features for mobility of running applications (known as strong mobility). Unfortunately, strong mobility has been repeatedly questioned in terms of its concrete use in real-world applications, or constrained to purely technical purposes such as load balancing. Our assumption is that this type of mobility may help to mitigate the unavailability of software services due to networks partitions in mobile networks.
Application mobility appears as an alternative to replication strategies which work properly for the fixed parts of an application (such as the software code), but if applied to the runtime state of a program these strategies would imply multiple copies of the same program performing identical computations on multiple devices. Application mobility, on the other hand, allows applications to preserve identity (avoiding multiple instances of a same program over the network), but it requires the programmer (or end user) to move the applications pre-emptively. We believe that, due to the rise of mobile networks, service migration will once again gain importance as a mechanism that enables people to actively take care of the availability of their services.
 
2009 © Jorge Vallejos