Markus Wutzler received his M.Sc. in Computer Science from TU Dresden in 2014. He is currently working as a researcher at the department of computer networks headed by Prof. Schill in Dresden where he is a PhD candidate in the DFG Research Training Group Role-based Software Infrastructures for continuous-context-sensitive Systems (GRK 1907). His research interests comprise mechanisms, architectures, and software engineering concepts for adaptive applications and services in heterogeneous and mobile infrastructures.

His PhD thesis focuses on composition of adaptive software systems in decentralized infrastructures.

Contact Information
markus.wutzler [at]
+49 (0) 351 – 463 43569

Utilizing Roles for On-Demand Composition of Smart Service Systems

Composing distributed adaptive software systems at run time is a challenging topic in frequently changing environments like Smart Cities or Internets of Things. Such infrastructures consist of a large set of independent autonomous subsystems from different providers, but only a few subsystems might be involved in a composition. Centralized self-adaptive approaches maintain a global view on the system which is infeasible for large infrastructures. Distributed approaches still require some hierarchical infrastructure and restrict reconfiguration to changes on local or subordinate nodes. Existing self-organizing systems are independent of centralized instances but lack incorporating new functionality [1].

Our approach is based on the concept of roles [2] which clearly separates static from dynamic system parts, e.g. abstract functionality (roles) from their actual execution entities (players) which makes it an interesting concept for easing composition and reconfiguration of software systems [3]. Roles encapsulate functionalities which are utilized in collaboration with other roles. Players are restricted by specified requirements which can be anything from attributes over method interfaces to context features which can be utilized for discovery and selection. Roles are independent of concrete player types, i.e. different players providing the required interfaces can play that role.

We propose a middleware architecture for decentralized composition of adaptive software systems which provides (1) an infrastructure-independent discovery mechanism that enables (2) on-demand orchestration and (3) subsequent adaptation of distributed role-based software systems. Each autonomous subsystem equipped with our approach publishes its player and role information to an infrastructure abstraction layer which is responsible for communicating with other autonomous subsystems in the infrastructure. Role-based collaboration models are annotated with a respective triggering event and describe potential compositions. The event-consuming autonomous subsystem becomes a virtual master node in a fully decentralized infrastructure responsible for coordinating orchestration and subsequent adaptations of a single collaboration. Infrastructural knowledge is provided through role-based discovery mechanism. The focus of our work is on architectural principles, coordination mechanisms and distribution aspects. We evaluate our approach in terms of robustness against common failure scenarios, scalability and performance.

[1] G. Di Marzo Serugendo and J. Fitzgerald, “MetaSelf: an architecture and a development method for dependable self-* systems,” presented at the SAC’10: Proceedings of the 2010 ACM Symposium on Applied Computing, 2010.
[2] G. Boella and F. Steimann, “Roles and relationships in object-oriented programming, multiagent systems and ontologies: report on the 2nd workshop on roles and relationships at ECOOP 2007,” presented at the ECOOP’07: Proceedings of the 2007 conference on Object-oriented technology, 2007.
[3] A. W. Colman and J. Han, “Organizational roles and players,” Roles, 2005.