Distributed Object Programming Lab
Our research and teaching activities revolve around the design and implementation of adequate programming abstractions for devising dependable distributed systems, with a special focus on the object paradigm. Since we are part of HEC Lausanne (University of Lausanne), a key aspect of our approach is to encompass not only theoretical and practical aspects of distributed technologies, but also enterprise-level concerns, such as deployment and maintenance of distributed architectures, business relevance and adoption of new programming abstractions.
Currently, we are actively investigating how to better support the next generation of distributed systems, which will have to cope with extreme mobility and ubiquity requirements, and with network eccentric communication models (typically based on ad hoc networks). Our motivation lies in the following observation: rapidly evolving network technologies contribute to the advent of a so-called ubiquitous network, which in turn contributes to the emergence of a pervasive distributed computing environment. To better structure this emerging pervasive distributed environment, developers have a crucial need for specialised programming abstractions. There are two reasons for this. First, a pervasive distributed environment allows for new types of interactions, such as peer-to-peer, mobile, ad hoc. Second, it poses new challenges, e.g. higher probability of transient presence, more exposure to malicious behaviours.
To address these challenges, we are incrementally building a set of software tools structured according to the concerns of both system-level developers and application-level developers. More specifically, these software tools aim at proposing distinct programming abstractions to each category of developers, in order to better suit their needs. ManetLab and Phomo are two examples of such software tools. As for teaching, we provide coherent courses of distributed objects programming both at the Bachelor level and at the Master level.