IoTSyS is currently based on a simple oBIX object container, where most of the dependency between different components and services is wired hardcoded together. This design should be refactored to use the Inversion of Control or Dependency Injection pattern in order to increase the maintainability and extensibility of the oBIX server. Currently the protocol handlers, the message encoders/decoders and the oBIX server are hard-wired together. There is a great potential to refactor the whole system design in order to apply state of the art component oriented design patterns. Furthermore, a smart object represented as oBIX object should be identified through different addressing schemes within the internal object broker. Currently, this design is strongly based on extensions of the oBIX Toolkit and need to be redesigned in order to support multiple addressing schemes to identify an oBIX object through different addressing schemes (e.g. IPv6 global unicast address, building topology, functional domain).

Benefit for the Student

Dive into latest technologies and emerging protocols for the Internet of Things/Web of Things. Gain hands on experience in Java based software development in design and realization of component oriented execution containers. Apply state of the art knowledge for the design of component containers and design patterns for server development.

Benefit for the Project

The maintainability and extensibility of the gateway project will be improved allowing to easily adding new components and services in between the existing request processing.


Strong skills in Java based software development are necessary.
Know-how about OSGI, IoC container design and implementation, Java byte code modification frameworks is a plus.


Markus Jung, Andreas Fernbach


Mentors are regularly around in our GSoC IRC channel #TU-CSE-SoC at You can also reach us via the mailinglist – send an email to This email address is being protected from spambots. You need JavaScript enabled to view it. using the prefix [IOTSYS] (a subscription is required). 

More Information (IoC, Dependency Injection) (oBIX)