The Distributed Objects in Embedded Systems project was initiated in early 2001 with Danfoss Drives
and CfPC as the main driving forces. The purpose is to study how to make object technology available on
distributed and resource-constrained systems.
It is well known that the object-oriented programming paradigm has prominent features that makes it
possible for software developers to produce software with important qualities like modifiability, portability,
maintainability, and testability. The success of important research areas such as design patterns,
frameworks, and refactoring that owes much to the object-oriented paradigm underlines
the validity of this statement.
Traditionally, however, many of the important features of OO have been somewhat neglected by the developers
of embedded software. A main argument has been that the run-time cost with respect to speed and memory
of the improved abstractions was too high. However, introducing distribution into embedded systems may
invalidate this statement especially if one views embedded systems in the much larger perspective of pervasive
computing. First of all, distribution introduces overhead by itself; distribution calls out for higher
abstraction mechanisms anyway; and finally, a pervasive computing context require embedded systems to
interact with novel devices and computational services that are unknown at design time. These issues speak
in favor of introducing the object oriented paradigm at the implementation level to abstract the details
of distribution and communication and allow developers to write software that is more easily maintained,
understood, and modified.
Our Distributed Objects in Embedded Systems project meets this challenge: to provide developers of
embedded, distributed, systems with strong object-oriented abstractions for writing software while keeping
the run-time overhead in terms of speed and memory footprint as low as possible.
Our research method is a constructive one. Abstract requirements of a distributed, object-oriented,
system are formulated and various prototypes/frameworks are built and tested to validate our main hypothesis:
that object-orientation is a viable and strong paradigm for writing distributed, embedded, software with