User Tools

Site Tools


Sidebar

Jump to
AmbientTalk
CRIME
iScheme

people

This is an old revision of the document!


People

These are the people behind the AmbientTalk project of the Software Languages Lab.

Prof. Dr. Wolfgang De Meuter

Homepage

In the past, I have been active in the design and formalisation of prototype-based object-oriented programming languages. After a small detour in AOP (where I introduced monads in AOP and identified the need for cflow with jumping aspects), I'm currently working with the ambient group on the design and implementation of ambient-oriented programming languages. My current mission is to come up with language constructs that make writing software for loosely coupled (mobile) distributed systems as much fun as writing sequential programs in languages like Scheme, Smalltalk or Haskell. This is done by inventing new programming language abstractions and by hiding the technical burden as much as possible in the interpreter of those languages. Keywords are repls, interpreters, dynamic typing, higher-order, first-class, reflection, object, actor and above all: simplicity!

As usual, the professor is not the one doing the real work. Please read on for more details on our research. It has received international recognition by the fact that Wolfgang has won the Dahl-Nygaard Award in 2008.

Elisa Gonzalez Boix

Homepage

My research focuses on investigating programming language support to deal with the effects engendered by partial failures in mobile ad hoc networks (MANETs). In MANETs many partial failures are the result of temporary network partitions due to the intermittent connectivity of mobile devices. Some of these failures will be permanent and require application-level failure handling. However, it is impossible to distinguish a permanent from a transient failure. Leasing provides a solution to this problem based on the temporal restriction of resources.

This research identifies a number of criteria for a leasing model specially designed for MANETs and proposes the leased object references model which exhibits such criteria. Leased object references combine leasing with asynchronous communication into one coherent language abstraction that deals with both transient and permanent disconnections. We explore a language approach where dedicated language support is provided such that low-level leasing management concerns (e.g. lease renewal) can be abstracted away, and enables both lease holders (clients) and lease grantors (services) to deal with permanent failures.

For further information about my work please visit my research page.

Andoni Lombide Carreton

Homepage

The dynamic nature of ambient oriented applications makes it impossible to structure them as monolithic programs with a fixed input and output. Instead, a distributed event-driven architecture is required. Current event-driven architectures require distributed application components to react to events via a carefully crafted network of observers, event handlers or callback mechanisms which are scattered throughout the application code and can be triggered at any point in time. Such architectures are hard to develop, understand and maintain in all but the most trivial cases.

This poses a problem when we look at the new generation of disposable processing hardware, such as RFID tags. Ubiquitous applications will not only consist of peer-to-peer interactions, but will have to deal with clouds of volatile information disseminated in the network by omnipresent devices such as RFID tags or sensors.

I am currently looking into programming abstractions that allow to specify which events to capture by distributed application components in a mobile ad hoc network. Furthermore, I am trying to come up with mechanisms that allow reacting to these events without relying on event handlers or other callback mechanisms. Finally, low level events should be processed (e.g. by combining them) such that they are on the semantic level of the application.

Kevin Pinte

Our everyday environment will soon be pervaded with RFID tags, tiny chips that can be integrated into any physical object. The tags can store and distribute information about the object or its environment. RFID technology is a key technology in developing pervasive context-aware applications.

I am investigating new programming abstractions to develop mobile RFID-enabled applications. These are applications running on mobile devices such as smartphones or PDAs that spontaneously interact with the [objects in the] user's environment using by communicating with tagged objects. Mobile RFID-enabled applications both disperse application-specific data to and process contextual data from tagged physical objects. The programmer must dispose of adequate tools to deal with RFID hardware characteristics.

Currently programming such applications is problematic. Communicating with RFID tags is prone to many failures as the connections with tags are extremely volatile and RFID tags have a small range of operation. State-of-the-art RFID applications heavily rely on infrastructure and merely employ RFID tags as digital barcodes, not exploiting the writable memory on the tags. As a consequence mobile RFID-enabled applications have to be developed in an ad hoc way, building upon low-level hardware abstractions leaving the developer to deal with RFID hardware characteristics manually.

You can find more information about my work here.

Dries Harnie

Thanks to the work of the other people on this page, programming applications for mobile devices is now as easy as, say, writing a blog. However, research so far has focused on one-to-one communication and how the properties of MANETs disrupt it.

In the Real World™ we do group communication without giving it a second thought, changing conversation topics as people leave and rejoin the group. Likewise, we effortlessly do service composition: comparing prices for stuff we want to buy or finding interesting activities for a trip. Doing these things with current technology requires a lot of “bookkeeping code” because it can only track the connectivity of one link at a time.

My research intends to provide abstractions that bind a number of services residing on different mobile devices into coherent entities. Programmers can then use these abstractions to communicate with groups of services as easily as with single services.

Stijn Mostinckx

Homepage

The goal of my research is the development of elegant programming models which allow applications to respond to dynamic changes in their environment. As a means to detect such changes, we explore the Fact Space Model, which provides a means to reason about one's current context.

My ongoing research investigates which abstractions can be used to handle the events produced by an implementation of the fact space model. An interesting path that I am currently exploring is the use of reactive context-aware programming.

Eline Philips

Nomadic networks fill the gap between fixed networks and mobile ad hoc networks (MANETs) as they consist of a group of mobile devices that can move around dynamically while trying to maintain a connection with a fixed infrastructure. My research focusses on the coordination of nomadic services by making use of workflows as they provide an additional layer of abstraction such that interactions among application components can be specified on a higher level and be reused because of their loose coupling with the fine-grained application logic. Unfortunately, current workflow systems do not meet all the requirements for the kinds of applications that we envision in nomadic networks, like connection volatility.

AmbientTalk is a programming language which treats disconnections at the very heart of its computational model. Moreover, the language supports dynamic service discovery which is opportune for nomadic networks. Although this language is suited for writing applications for MANETs, the orchestration of these applications is still programmed in an ad hoc manner. Complex nomadic applications that consist of asynchronously executing distributed services become hard to develop, understand and reuse. I am currently working on the addition of an abstraction layer on top of AmbientTalk which implements workflow patterns. I am investigating which new patterns for nomadic networks can be added to this abstraction layer. Concretely, I want support for intensional descriptions of services, group communication, compensating actions and more advanced synchronisation.

Christophe Scholliers

Homepage

Current-day applications for mobile phones and PDAs are often limited to miniature versions of standard desktop applications such as browsers, calendar and word processing applications. Only a fraction of the available applications allows the mobile devices to interact directly with their environment. One of the reasons for this is that even for the simplest interactions between mobile devices, the implementation needs to deal with a lot of problems that are inherent to a pervasive computing environment (e.g. frequent disconnections, dynamic discovery, etc.)

Last year, I have been involved in the development of (a concrete implementation of) the Fact Space Model, an extension to the tuple space model which provides fine-grained control over the effects of disconnections. Using a declarative language, every device can specify how it will adjust its behaviour in response to dynamic changes in its environment. Currently, I am working on an extension of this model that allows applications to work on shared and replicated data. The use of weak data replication in a mobile environment ensures that there is no need to stop an ongoing application when certain data cannot be synchronized.

Stijn Timbermont

In an Ambient Intelligent setting, various kinds of hardware are involved, each with its own characteristics. To allow abstraction over the different devices, a standard virtual machine approach is not feasible because it is not possible to abstract over all the devices at the same time. Instead, each device will require an individually adapted virtual machine.

This reseach proposes a new way to develop virtual machines for Ambient Intelligence. Instead of manually modifying the virtual machine for of a particular device, the virtual machine can be generated by composing reusable modules. The first step is to determine the set of modules that can be used to build a virtual machine. The next step is to find implementation and composition techniques that guarantee the correctness and efficiency of the generated virtual machine.

Jorge Vallejos

Homepage

The focus of my research is to investigate the context-awareness property in the field of Ambient Intelligence. My particular interest is to explore the ways in which the computational context surrounding mobile applications, may influence their behaviour. For further information about my work please visit the Context-Dependent Behaviour Adaptations section of this site.

Dr. Tom Van Cutsem

Homepage

Specific to my PhD thesis, my research lies in uncovering novel referencing and communication abstractions for mobile ad hoc networks. More specifically, I am currently investigating ambient references, which are a set of object-oriented service discovery abstractions.

Within the research track of ambient-oriented programming, I am also particularly interested in the adaptation and application of meta-level architectures and reflection to the AmOP paradigm. Apart from AmOP, my general research interests include dynamic object-oriented programming languages (reuse/composition/object models) and reflection. I am especially intrigued by composition techniques such as traits and delegation.

Former Members

Dr. Jessie Dedecker

Homepage

My current research topic revolves around collaborative ambient-oriented programming abstractions. This involves abstractions for expressive coordination of groups of ambient objects. In this context I am also investigating replication strategies suitable for disconnected operation.

Apart from my research on AmOP I also have a general interest in dynamic object-oriented programming languages, concurrency and distribution.

people.1280307566.txt.gz · Last modified: 2010/07/31 15:20 (external edit)