GI Dagstuhl Seminar “Software Engineering for Intelligent and Autonomous Systems (SEfIAS)” (2018). Last updated: July 31, 2018.

Aimee Borda: Compositional Modelling and Verification of Self-Adaptive Systems
We are looking into a systematic and feasible approach for designing and verifying Self-Adaptive systems. We investigate different compositional techniques and models that can be verified using existing technologies.

Christian Cabrera: Urban-Centric Service Discovery: A Self-Adaptable Model for Smart Cities
A smart city is an environment that is continuously changing where citizens cannot be constantly aware of all relevant services around them. The ICT systems that support a city should evolve with it to offer the right services to the right citizen, in the right place, at the right time. Some existing research proposes static and reactive solutions where service organisation and discovery is defined by network properties, the service domain, service usage, or the city context to offer efficient service discovery. However, they do not evolve according to the city dynamics. This lack of flexibility produces outdated distribution of services information that negatively impacts discovery efficiency as the city changes. Self-adaptable service discovery solutions have been also proposed but they do not scale well in large scenarios such as a smart city. We propose a self-adaptable service model for smart cities to support efficient and pervasive discovery based on urban-context and citizens' behaviour. This model reorganises services information according to city events, and offers both reactive and proactive service discovery depending on the environment status.

Mirko D'Angelo: Decentralized Self-Adaptive Computing at the Edge
Nowadays, computing infrastructures are usually deployed in fully controlled environments and managed in a centralized fashion. Leveraging on centralized infrastructures could prevent the system to deal with scalability and performance issues, which are inherent to modern large-scale data-intensive applications. We envision fully decentralized computing infrastructures deployed at the edge of the network providing the required support for operating data-intensive systems (DiS). However, engineering such systems raises many challenges, as decentralization introduces uncertainty, which in turn may harm the dependability of the system. The research directions and current contributions towards this vision address the following questions: (i) when is decentralized computing required in DiS, (ii) how to enable decentralized computing in DiS?, (iii) how to design/analyze decentralized DiS?.

Ada Diaconescu: Generic Architectures for Multi-Level Goal-driven Self-Integrating Systems
Self-integration enables socio-technical systems to adapt to a wide range of internal and external changes, so as to achieve their goals (which may also change). Multi-level, or hierarchical designs, help system scalability (with respect to the number of components, their heterogeneity and frequency of change. The aim of my research is to provide reusable conceptual frameworks, architectures, design patterns and methodologies to help designers understand and develop large-scale highly-adaptive (socio-)technical systems, relying on self-integration and hierarchical designs.

Lukas Esterle: Autonomous Decision Making for Collaborating Agents
When autonomous agents interact, they have to make decision on an ongoing basis. These decisions can be based on information sensed from the environment or received from other agents. When they collaborate with each other towards common goals, these decisions need to be sensible in order to not affect these goals too much. My research interest is on one hand on the amount of information required to allow agents to arrive at reasonable decisions. This becomes more pressing when the environment can change and/or agents can move about in the world. On the other hand, I am interested in enabling agents to reflect on their decisions especially with respect on the impact on their own performance and on the performance of others.

Erik Fredericks: Software Engineering for Self-Adaptive Cyber-Physical Systems
Cyber-physical systems have become ubiquitous, especially in such domains that are safety-critical in nature. My research focuses on the implications of combining cyber-physical systems, self-adaptive systems, and search-based software engineering. Specifically, I am interested in how uncertainty can impact such systems and how software engineering techniques can be used to enhance assurance at all stages of the software life cycle for those systems that are safety-critical. I will discuss recent work in search heuristics for non-functional software requirements, a self-adaptive medical smart home, and run-time software validation.

Sylvain Frey: Launch photon torpedos: a journey through organic cyberz
My research deals with complex, dynamic cyber-physical systems with critical safety and security requirements such as the Internet, smart grids, Industrial Control Systems, and critical infrastructures in general. My expertise spans various domains: cyber security, software engineering, multi-agent systems,
organic computing, systems and network security, machine learning. I have extensive multi-disciplinary experience, working in close collaboration with sociologists, ethnographers and designers on the human aspects of security. I have recently joined DeepMind's Streams project which develops a backend for medical applications.

Simos Gerasimou: Assurances for AI-Based Systems

Ilias Gerostathopoulos: Online Experiment-Driven Adaptation
As modern systems become larger, more complex and customizable, it is difficult to fully model their internal workings in advance in order to control and optimize them at runtime. Thus, we propose here optimization based on operational data and experimentation. In this talk, I will present the main ideas behind Online Experiment-Driven Adaptation (OEDA), an approach whereby systems are adapted and configurations are evaluated by controlled experiments in production environments using advanced data analysis and statistical methods. In particular, I will describe the main concepts of OEDA, along with an example of a complex, hard-to-model system that is amenable to online optimization via controlled experiments—the CrowdNav self-adaptation model problem. I will also describe three different types of costs in online experimentation and discuss the tradeoffs in terms of the different costs of using three different optimization algorithms: Bayesian optimization, factorial design, and local search.

Sona Ghahremani: Utility-driven self-adaptation of large dynamic architectures
Self-adaptation can be realized in many ways. In my research I propose a rule-based and utility-driven approach that achieves the beneficial properties of each of these directions such that the adaptation decisions are optimal while the computation remains scalable. The approach can be used for the architecture-based self-healing and self-optimization of large software systems. We define the utility for large dynamic architectures of such systems based on patterns capturing issues the self-adaptation must address. Therefore, self-adaptation can be steered by predicting changes of the system utility. However, construction of an analytic representation of the system utility is challenging due to lack of detailed information about the system performance model. We mitigate this problem with a methodology to learn the changes of the system utility without relying on detailed information of the system.

Fatemeh Golpayegani: Collaboration Community Formation in Open Systems for Agents with Multiple Goals
Agents frequently coordinate their behaviour and collaborate to achieve a shared goal, share constrained resources, or accomplish a complex task that they cannot do alone. Forming an effective collaboration community in which agents are willing to cooperate, and have no conflict of interests, is the key to any successful collaborative process. Forming such communities has been addressed well in cooperative and closed multi-agent systems. However, it is particularly challenging in open multi-agent systems where agents are self-interested. Such agents are also likely to continuously and unpredictably leave and join the system and have multiple goals to pursue simultaneously.  Existing research has addressed this challenge in open systems with utility-based or complementary-based approaches. Utility-based approaches focus on maximising self-interested agents' individual pay-off when sharing constrained resources. In complementary-based approaches, agents' individual skills are composed to accomplish a complex task or achieve a shared goal. However, in such systems agents need to identify the possible dependencies and conflicts between their individual goals, and build/adapt collaboration communities to pursue multiple goals simultaneously. Such dependencies affect agents' levels of self-interest and consequently their willingness to form collaboration communities. Given the circumstances, agents need a decentralised mechanism to acquire an understanding of other agents operating in their system, identify their goal dependencies, and adapt their level of self-interest to form effective collaboration communities.  My research focus is on proposing and developing a fully decentralised approach to Collaboration Community FOrmation Model for agents with multiple goals in open systems (CCFOM). CCFOM presents a new social reasoning model and a new distributed community formation algorithm. CCFOM enables agents to pursue their individual and shared goals simultaneously in resource constrained open systems by forming new or adapting existing collaboration communities.

Sebastian Götz: Model-driven Self-optimization for Energy-efficient Software
In my talk I will given an overview of my recent work on model-driven software development at runtime, with a particular focus on self-optimization aiming at energy-efficiency and its application in robotics.

Johannes Grohmann: Towards Self-Aware and Self-Adapting Performance Models
Performance models are possible components of self-aware computing systems, as they allow such systems to reason about their own state and behavior. Our research is targeted towards such performance models. We propose an approach to meta-self-awareness, making the processes of model creation, maintenance and solution themselves self-aware. This enables the automated selection and adaption of software performance engineering approaches specifically tailored to the system under study.

Nico Hochgeschwender: Exploiting Model-driven Engineering in Robotics at Design Time and Run Time
Engineering advanced autonomous systems such as robotic applications is a
knowledge-intensive process that reflects, involves and builds upon decisions from complex, heterogenous fields of research and engineering -- reaching from hardware design, domains such as control, perception or planning to software engineering. Although the latest advancements in those fields contributed significantly to the development of sophisticated applications, robots' task spectrum and autonomy often remains limited to carefully engineered applications. One of the reasons is that in robotics software engineering in particular, the integration of those fields is all too often solved in an ad-hoc manner, where knowledge and assumptions about the robot's software remains implicit. Model-driven engineering aims to remedy this situation by introducing modeling languages to capture this knowledge explicitly and formally in the form of various domain models. However, these models are merely seen as a way to support humans during the robot's software design process. In this talk I will argue and demonstrate that robots themselves should be first-class consumers of this knowledge. Having this knowledge enables robots to autonomously adapt their software to the various and changing run-time requirements induced, for example, by the robot's task or environment.

Christian Krupitzer: Making the Everyday Life smarter through Cyber-physical Systems
Cyber-physical systems seamlessly intertwine physical everyday objects with virtual software to provide intelligent, adaptive, and connected services to users. These systems enable new types of applications. This presentation gives an overview on several research projects in the cyber-physical systems domain. The iCOD project presents an approach for platooning coordination, i.e. coordination of self-driving vehicles to convoys on highways. In the adaptive authentication, we envision a password-free world through a distributed, adaptive system for authentication. The third project investigates the application of a layered meta-model for engineering adaptive systems, predictive maintenance, and adaptive communication protocols in the domain of Industry 4.0. Last, in cooperation with the soccer club TSG Hoffenheim, we research the use of data mining and virtual reality in sports.

Ingrid Nunes: Providing Resilience and Efficiency to the Internet of Things
Since the popularisation of the Internet, software systems have evolved from simple standalone applications running in isolated computers to distributed systems that largely interact with each other running in various types of devices. The network that emerges from all these communicating devices is referred to as Internet of Things (IoT). Because of the distribution of software components and the dependency among them, which are not necessarily part of the same organisation, ensuring system resilience and efficiency becomes a challenge. In this talk, I'll introduce work that my research group has been developing towards the use of the autonomous components to provide these quality attributes to such systems. Resilience is achieved by means of a set of techniques that allow system components, implemented as intelligent agents, to react with remediation actions to situations that may compromise the functioning of the system to later seek and autonomously resolve causes of problems that occur at runtime. Efficiency, in turn, is improved by an adaptive application-level framework, able to autonomously and manage cache data at a method-level. Recent publications on these two topics can be seen at

Alessandro Vittorio Papadopoulos: Control of things
Nowadays, we live in a society with billions of devices that are interconnected, and interact together to improve the quality of our lives. The management and processing of information and knowledge have by now become our main resources, and the fundamental factors of economic and social development. This has been possible by the recent advances in computing systems, ranging from embedded devices to cloud computing systems, but it poses a number of challenges in the management of the emerging complexity. In order to tame such a complexity, mathematically grounded approaches are needed, in order to design next generation computing systems. This talk discusses how control theory can be used for designing efficient solutions for controlling the behavior of computing systems, and presents successful applications, together with current challenges and opportunities in the field.

Martin Pfannemüller: Approaching a Self-Adaptive Middleware for Network Adaptations
Self-adaptive capabilities reduce maintenance effort and help to reconfigure systems at runtime according to changes in their context. With the increasing number of computation devices induced by trends such as smart home and Industry 4.0, managing and adapting the network gets gradually more important. The goal of this work is to approach a self-adaptive middleware for network adaptations which is able to change the network behavior at runtime. The middleware should provide an abstraction for specifying network adaptations on a higher level with support for different knowledge sources as well as diverse target systems such as software-defined networking.

Danilo Pianini: Engineering the aggregate
A distributed system can be seen as a single computational machine rather than a collection of multiple communicating machines, as it is usually perceived. Reasoning on the aggregate of situated devices under this privileged point of view can lead to interesting engineering solutions that allow for abstracting away the networking protocols, and focusing on producing advanced, self-stabilizing coordination algorithms.

Barry Porter: The New Abstraction: Engineering Search Spaces for Machine Learning
Humans have long struggled with the increasing complexity and scale of software. Baseline complexity, measured in lines of code, is compounded by the challenges of highly dynamic deployment environments, where behavioural adaptation is needed to offer good service. In this talk we argue that raising abstraction levels in traditional software engineering approaches has reached its limit in addressing complexity, and a new methodology is required: an abstraction of designing search spaces for machine learning. We examine this idea through two major areas: the component model that powers emergent software systems and how it offers a universal substrate for runtime behavioural search; and the challenge of automated program logic synthesis to populate a component library without the human programmer. In both areas, the engineering problem is fundamentally shifted from designing abstraction layers to instead designing a search space for machine learning; we explore the properties of this process and how we might generalise it into common practice throughout autonomous systems engineering.

Evangelos Pournaras : Self-adaptive Learning in Decentralized Combinatorial Optimization
The democratization of Internet of Things and ubiquitous computing equips citizens with phenomenal new ways for online participation and decision-making in application domains of smart grids and smart cities. When agents autonomously self-determine the options from which they make choices, while these choices collectively have an overall system-wide impact, an optimal decision-making turns into a combinatorial optimization problem known to be NP-hard. This paper contributes a new generic self-adaptive learning algorithm for a fully decentralized combinatorial optimization: I-EPOS, the Iterative Economic Planning and Optimized Selections. In contrast to related algorithms that simply parallelize computations or big data and deep learning systems that often require personal data and overtake of control with implication on privacy-preservation and autonomy, I-EPOS relies on coordinated local decision-making via structured interactions over tree topologies that involve the exchange of entirely local and aggregated information. Strikingly, the cost-effectiveness of I-EPOS in regards to performance vs. computational and communication cost highly outperforms other related algorithms that involve non-local brute-force operations or exchange of full information. The algorithm is also evaluated using real-world data from two state-of-the-art pilot projects of participatory sharing economies: (i) energy management and (ii) bicycle sharing. The contribution of an I-EPOS open source software suite implemented as a paradigmatic artifact for community aspires to settle a knowledge exchange for the design of new algorithms and application scenarios of sharing economies towards highly participatory and sustainable digital societies.

Roberto Rodrigues Filho: From Self-adaptation to Self-composition: Transcending Autonomic Computing Limitations
Contemporary systems are increasingly complex. The reason vary from their size, heterogeneous infrastructures and highly volatile operating environments. As a response to this complexity, the area of Autonomic Computing (AC) has gained significant importance. However, the focus of AC research has long been on engineered self-adaptation, in which human engineers determine how and where to adapt a system’s structure and/or parameters to accommodate changes. We argue for a shift of focus from engineered adaptation to autonomous composition as a way to transcend limitations of current approaches, and to build real-world autonomous everyday software. In this talk, we discuss how to autonomously compose a web platform, and the decisions involved in the composition process. To realise local systems this involves autonomous decisions of which small components should be composed, and how, at each moment to deliver the desired system; to realise distributed systems this involves autonomous decisions on which local components should be relocated and/or replicated amongst machines. We end the talk inviting the community to join us to further explore this paradigm shift, and to push the concepts of AC to effectively realise multi-purpose, everyday software systems.

Romina Spalazzese: ECo-IoT: an Architectural Approach for Realizing Emergent Configurations in the Internet of Things
The rapid proliferation of the Internet of Things (IoT) is changing the way we live our everyday life and the society in general. New devices get connected to the Internet every day and, similarly, new IoT services and applications exploiting them are developed across a wide range of domains. The IoT environment typically is very dynamic, devices might suddenly become unavailable and new ones might appear. Similarly, users enter and/or leave the IoT environment while being interested in fulfilling their individual needs. These key aspects must be considered while designing and realizing IoT systems. In this talk I will discuss ECo-IoT, an architectural approach to enable the automated formation and adaptation of Emergent Configurations (ECs) in the IoT. An EC is formed by a set of things, with their services, functionalities, and applications, to realize a user goal. ECs are adapted in response to (un)foreseen context changes e.g., changes in available things or due to changing or evolving user goals. In the talk, I will discuss: (i) an architecture and a process for realizing ECs; and (ii) a prototype we implemented for (iii) the validation of ECo-IoT through an IoT scenario.

Sven Tomforde: tba
The goal of my research activities is to increase the autonomy of technical systems by learning and self-* properties. The basic theme is to master large-scale interconnected systems through mechanisms such as self-adaptation and self-organisation - which requires autonomous learning capabilities. In order to achieve this goal, four research areas are distinguished: „autonomous machine learning“, „data-driven system modelling“, „distributed control algorithms“ and „computational trust and security mechanisms“, resulting in different methods, tools and applications for distributedly interacting, intelligent and autonomous systems. As application areas, I focus on traffic control, industry automation, smart energy grid, and data communication networks.

Thomas Vogel: Self-Adaptive Search for Sapienz
In this talk, I will outline how feedback and self-adaptation can improve search heuristics in search-based software engineering. The focus will be on using results of fitness landscape analysis to dynamically adapt the search when generating test suites for Android apps with Sapienz, a search-based testing tool for apps.