A.o. Univ. Prof. Dr. Dipl.-Ing. eva Kühn
TU Wien

Gerald Scherman

Extending the Peer Model with composable design patterns


Diploma Thesis, TU-Vienna, 2014


In the area of software development, reuse is an essential factor. Developing each component of a new product from scratch is costly, includes risks and has negative influence on the time to market. Therefore, the strategic reuse of software components is an important factor for the success of companies. It can leverage existing software investment, companies can build systems out of well-tested components of proven quality which have been used a couple of times and thus, both risks as well as costs for development and testing can be reduced. The software product line approach follows this aim by creating a platform of flexible components which can be selected and combined to different products tailored to stakeholder requirements. This is achieved by software variability, which allows one to customize components for the use in a particular context. It enables cost efficient mass customization of components.


In this work, a pattern based approach is presented which provides this software variability for the Peer Model, a programming model for modelling highly concurrent and distributed systems. Patterns are introduced as new components and their interrelations with the original components are described. Similar to the software product line approach, design decisions are delayed and fixed only when concrete instances are created. The pattern concept allows defining generic patterns depending on certain parameters or properties which represent these delayed decisions.


Such decisions are not limited to minor effects; the variability allows for a far-reaching influence on the functionality provided by the pattern and thus, it opens up the possibility for reuse on a large scale. Moreover, as composition is heavily used, patterns can be combined and nested to form more complex patterns and to encapsulate functionality.


The advantages of this approach are demonstrated by an example use case from the train traffic telematics domain where signals of approaching trains are transferred from a sensor over multiple network nodes to a level crossing unit. Various modelling concepts and tools ranging from more low-level to highly abstract approaches are selected and with each of them, the example use case is realized. In order to create a meaningful evaluation, a set of criteria is developed, emphasizing elements which are important for the design of highly distributed and concurrent systems and essential for the aspired-to variability. The final evaluation shows that the Peer Model, extended with the pattern concept, stands out from the other approaches in the domain of distributed and highly concurrent systems. Moreover, systems designed with the Peer Model can be adapted to changing requirements without modifying the underlying architectural design and thus, cost- and time-intensive remodelling and refactoring work can be avoided.


top | XHtml 1.0 strict | last update: Jun 2015