Ph.D. Dissertation

The title of my Ph.D. dissertation is “Ambient-Oriented Programming”.

Abstract

As a result of the computing technology that becomes ever smaller and cheaper it is now possible to integrate it into everyday material objects. This advanced integration of technology allows the underlying computer to disappear into the fabric of life so that by manipulating material objects we are transparently interacting with the underlying integrated technology. The invention of wireless communication technology enables these disappearing integrated computers to cooperate with one another so that they can derive context about its environment. The advantage is that users can be supported more naturally and transparently to achieve their goals. This vision is often referred to as “Ambient Intelligence” (AmI).

The research presented in this dissertation deals with the problem of software development for these invisible computers from the perspective of distributed systems. Developing software for such systems is difficult because of inescapable characteristics exhibited by the hardware. For example, as a consequence of the use of wireless communication media connections can break at any point in time due to interference in the environment and the mobility of material objects. To address these hardware phenomena at the software level we propose a new programming paradigm called “Ambient-Oriented Programming” (AmOP). This programming paradigm is derived from the most important hardware phenomena.

The next step in this dissertation is to gain insight in the structure of AmOP applications. Although the definition of a paradigm is a first step towards this goal, it is insufficient to derive the structure of AmOP applications. To gain insight in the structure of AmOP applications it was necessary to experiment with new language features. The definition and experimentation with new language features is necessary for three reasons: 1) it supports the developer to capture the consequences of the hardware phenomena in the code. 2) without proper language features the integration of the AmOP paradigm with the object paradigm leads to complex program structures. 3) at this point there is not enough experience in building applications that enable AmI scenarios.

To support experiments with language features we build an AmOP programming language. The first step towards such a programming language is the choice of a concurrency and distribution model, which we defined as a formal extension of the actor model. This formal model serves as a base for the concurrency and distribution model of an AmOP kernel language, called AmbientTalk. AmbientTalk is a little reflectively extensible language that supports experimentation with new language features. New language features are defined in AmbientTalk itself out of semantic building blocks, which are shaped by the AmOP paradigm. These semantic building blocks are used to extend AmbientTalk with existing and new language features. These language features support the developer in addressing the inescapable consequences of the hardware phenomena.

Download

An electronic copy of my dissertation can be downloaded here.

This dissertation also resulted in a technical implementation called AmbientTalk.


research/dissertation.txt · Last modified: 2006/05/26 21:47 by jdedecker