Internet of Things and Smart Cities
A new breed of systems, software-based Internet of Things (IoT), opens up massive versatility and opportunity to our world. Providing solutions for smart cities, healthcare, energy, and mobility, these systems permeate critical aspects of human activity. In a flourish of growth, these complex systems are dynamic, without stable spatial and temporal boundaries, and involve mostly independent software components with different lifespans and evolution models. Despite common traits, systems often differ in structure, composition techniques for building software, execution and coordination. Thus, as these systems evolve and gain complexity, resilience becomes a crucial system property. Bolstering resilience entails supporting dynamic demands and governing changes – from varied performance and costs to system disruption – while meeting system requirements. We advocate that to engineer resilience in software-intensive internet-of-things systems, a complete rethink is necessary regarding thier design and operation.
In this paradigm shift, systems demand conceptual frameworks, definitions, and application of mathematically backed formalisms to enable their systematic engineering. We characterize resilience in software-based IoT, identify its principal components and constituent properties. Then we identify contemporary distributed systems mechanisms and software engineering techniques and methods that need to leveraged to maintain resilience in the face of disruption, especially in the absence of a central control and persistently at the system’s runtime.
Smart Cities
The contemporary view on a Smart City is very much static and infrastructure-centric, focusing on installation and subsequent management of Edge devices and analytics of data provided by these devices. While this still allows a more efficient management of city’s infrastructure, optimizations and savings in different domains, the existing architectures are currently designed as single-purpose, vertically-siloed solutions. This effectively hinders an active involvement of a variety of stakeholders (e.g., citizens and businesses) who naturally form part of the city’s ecosystem and have an inherent interest in jointly coordinating and influencing city-level activities towards a common benefit.
This research area investigates existing foundational technologies for provisioning, coordination and controllability of said activities and discuss the required alignment steps towards the fulfillment of the stated vision.
Edge- & Fog computing
Edge AI and Human Augmentation are two major technology trends, driven by recent advancements in edge computing, IoT, and AI accelerators. As humans, things, and AI continue to grow closer together, systems engineers and researchers are faced with new and unique challenges. In this research thread, we analyze the role of edge computing and AI in the cyber-human evolution, and identify challenges that edge computing systems will consequently be faced with. We take a closer look at how a cyber-physical fabric will be complemented by AI operationalization to enable seamless end-to-end edge intelligence systems.
Elastic Systems and -Computing
Overview: Our techniques allow us to incorporate humans into computing processes. We envisage new emerging, dynamic ensembles of distributed systems of machine-based computing elements (software and hardware) and human-based computing elements in which both software/hardware and humans are the basic computing elements interconnected via different types of networks. Such emerging distributed systems could help us dealing with complex problems that cannot be solved by software/hardware only. However, several challenging research questions must be solved in order to support the development of complex applications atop these systems.
Research Areas
Our computing model aims at providing techniques to cover different layers ranging from modeling to runtime management. The following figure outlines layers in the Vienna Elastic Computing Model (VieCOM). Each layer represents research problems that need to be addressed.
Multi-dimensional Elasticity
An application is said to be elastic if it has the capability to deal with limited resources effectively for serving virtually unlimited requests while maintaining the Quality of Service (QoS). Traditionally, we have seen this elastic computing model being applied to cloud of SBS. However, the concept of elasticity can also be applied to hybrid clouds consisting of machine-based computing elements and human-based computing elements. The principles of elastic processes define various facets of elasticity that capture process dynamics. The elastic properties of applications are multi-dimensional. The following figure depicts our concept of multi-dimensional elasticity, classified into resource, quality, and cost and benefits. During run-time, these elastic metrics are measured. The measured metrics can then be used to reason about adaptive actions needed to achieve a certain degree of required elasticity.
Approach:
- We support multi-dimensional elasticity by considering the principles of elastic processes and taking into account different dimensions of elasticity.
- We utilize service-oriented computing techniques and concepts to virtualize machine-based and human-based computing elements under the service model and to provision them under different forms of cloud systems.
- We support an end-to-end approach, from modeling to execution. VieCOM aims at providing techniques to cover different layers ranging from modeling to runtime management.