We apply a broad spectrum of methods for the analysis and design of distributed systems. This covers the whole area of computer science, from formal methods up to prototypical implementation of our ideas.

Formal Methods

Formal methods are, for example, used to investigate scalability of distributed systems. They are suitable whenever foundational characteristics of distributed systems should be identified. One example is the formal verification of security protocols. In order to make real-world systems accessible to such an analysis, one often needs to introduce substantial abstractions and simplifications during the modeling step which questions the outcomes of the analysis. This means that formal analysis needs to be extended with other methods of analysis.


Simulations allow the analysis and investigation of very late system that cannot be built and operated for reasons of cost and complexity. The challenge here is to make the simulation model as realistic as possible to minimize possible deviations in the behavior of the simulated system from the real world. As an example, we use simulations to investigate scalability of vehicular networks. Another advantage of simulations over prototypes is the exact control of parameters and repeatability of experiments.


Real implementations of our conceptual ideas and their investigation in the lab or outdoor experiments is another important aspect of our work. A final prove of concept can only be achieved in such real-world settings as both formal methods and simulations operate only on models of the real-world. Such experiments are, however, often limited in their size and extent by resource constraints, justifying parallel application of the other two approaches.

Design and Architectures

Today, design and architecture planing of distributed systems typical rely to a large extent on expert's knowledge. Based on our many years of research in this area, we can provide the necessary expertise to design effective and scalable architectures for distributed systems.