Research

Our research on dependability of software intensive systems has the vision of software engineering principles and methods integrated into systems engineering to systematically model and analyse software-intensive systems. This results in two major research lines: On the one hand we work on a scientific foundation of software design in an engineering sense: we should be able to predict the consequences on design decisions prior to realization. Therefore, we work on software architecture quality analysis, which includes architecture-based simulators for performance and reliability and architecture-based analyses of confidentiality, vulnerability but also maintainability. On the other hand, we research on the extension of software engineering based approaches to handle complexity to make them applicable to non-software domains, such as meta-modelling, model and view-based development and view, version and variant consistency management. Both research lines are specialized for automotive and mobility applications as well as for the Industry 4.0 domain.

Current Projects

These are the current research projects at DSiS. See the projects page for a full list of current and former projects.

Convide
Convide

Cyber-Physical Systems (CPS) integrate computational processes with physical processes. Different systems are summarised in this term, from cars, trains, and aircrafts to modern smart home systems. These systems must meet requirements of openness, connectivity, increased software-implemented functionality, flexible configurability, dependability, and resilience, all in a cost-effective way, and during all phases of their life-time. The limitations of current CPS design approaches become obvious when trying to fulfil these requirements simultaneously. The central concept to cope with the ever-increasing complexity of CPS, alongside functional decomposition, is the definition of views which enable the specialisation of developer roles. While dealing with component dependencies is well researched, the unsolved scientific challenge of view consistency is the central reason for the above-mentioned trade-offs between configurability, functionality, dependability, and cost-effectiveness. The aim of this CRC is to develop a general, comprehensive understanding of view consistency and mechanisms to detect and, when possible, automatically or interactively resolve consistency violations between views in CPS design.

Homepage of CRC 1608
Fluid Trust Logo
Fluid Trust

The digitization of industry (Industry 4.0) enacts ad-hoc cooperation between organizations in supply and production chains that goes beyond rigid hierarchical processes and increases efficiency and individualization of end-products. The high level of heterogeneity and complexity make these systems different from traditional systems as they introduce a high level of uncertainty. The uncertainty collides with the traditional access control, where decisions are sharp and fully determined. We are addressing this by considering uncertainty in design-time static analysis. We develop approaches that can classify uncertainty and consider it in the input and structure of the system. For the first type, we develop a trust model to specify the trust in access control properties. For the second one, we develop a variation model to analyze different instances of a system. Our project partner (Charles University Prague) investigates the runtime aspects of uncertainty. This is a joint Czech-German project.

Fluid Trust Project Homepage
SofDCar Logo
SofDCar

The research group Dependability of Software-intensive Systems is involved in the joint project Software-Defined Car through a total of four research topics. First, we address the anonymization of vehicle data at the level of software architecture. In this context, we provide techniques to analyze whether concrete anonymization procedures provide sufficient data protection. Second, we are researching the conception of an operationalized conceptual model for the joint handling of software variants and versions. Based on the Vitruvius approach, we develop a methodology for maintaining consistency of variants and versions consisting of heterogeneous artifacts. Third, we investigate typical modeling and programming languages with respect to common and different language features. On this basis, we develop a methodology for adapting and combining languages by configuring and composing language components. Fourth, we address the derivation of delta-based changes from views in software development. To this end, we provide a methodology for bidirectional consistency preservation of heterogeneous views.

Palladio Logo
Palladio

The Palladio research project aims at the development of methods and tools for systematically constructing component based software architectures with predictable quality attributes. For predicting the quality of service of software architectures we utilise and enhance existing prediction models, such as stochastic Petri nets, queuing models and Markov models in general is a special modeling language targeted at model-driven performance predictions. The PCM is accompanied by several model transformations, which derive stochastic regular expressions, queuing network models, or Java source code from a software design model. Software architects can use the results of the analytical models to evaluate the feasibility of performance requirements, identify performance bottlenecks, and support architectural design decisions quantitatively.

Palladio Project Homepage
Vitruvius Logo
Vitruvius

During the development of large software-intensive systems, developers use several modeling languages and tools to describe a system from different viewpoints. Model-driven and view-based technologies have made it easier to define domain-specific languages and transformations. Nevertheless, using several languages leads to fragmentation of information, to redundancies in the system description, and eventually to inconsistencies. Inconsistencies have negative impacts on the system’s quality and are costly to fix. The Vitruvius approach adresses this issue with view-based methods for consistency modeling and preservation, and a model-driven development process. Vitruvius is implemented prototypically using the Eclipse Modeling Framework.

Vitruvius Project Homepage