Filter Framework for DWARF
Motivation
Augmented Reality is a technology which deals with a lot of spatial calculations. There are
coordinate transformations to be done, scaling of objects, translations
of object to other places in space. Other non geometric calculations
are for example the speed of an object, or the barycenter of two or
more points. There are various kinds of such calculations.
These calculations are often concatenated. An example for this is a
translation after a coordinate transformation. These chains of
calculations happen quite often.
At the moment each application and service in DWARF implements its
own algorithms. This is unnecessary and error-prone. It is better to
have a well tested basic set of calculations. So it is obvious to make
these calculations more general and find a way to connect these
calculations to a network.
By implementing these calculations into several DWARF services we meet the
distributed approach of the DWARF framework. The services can be distributed
on many workstations and so even a small wearable device can handle big
applications. Another advantage of implementing these algorithms into
services is, that they don't have to be implemented in an other programming
language.
This was not done in the past, because the was no common way to
implement an algorithm in a service. The developer had to implement a
DWARF service from scratch, which can be annoying.
Goals
The purpose of this project is to design and implement a framework, so
new calculations can be easily implemented and reused by other
projects. To reach this goal a plugin based architecture is chosen.
The second part of this project is the concrete implementation of a set of
common filter plugin servicesc, such as rotation, translation, speed
calculation and other general basic functionality. The concept of designing
filter as services was introduced to DWARF with the CAR project.
As a spin-off this project discusses also how CORBA events can be handled
in the DWARF environment, without lots of performance losses. CORBA events
are needed for the information flow of the services.
--
MichaelSchlegel - 15 Feb 2005