FG Praktische Informatik / Softwaresystemtechnik
Refine
Year of publication
Document Type
- Conference Publication (38)
- Conference publication peer-reviewed (9)
- Report (7)
- Scientific journal article peer-reviewed (6)
- Article (3)
- Part of a book (chapter) (3)
- Doctoral thesis (3)
- Book (publisher) (2)
- Scientific journal article not peer-reviewed (1)
- Conference publication not peer-reviewed (1)
Way of publication
- Open Access (9)
Keywords
- Softwaretechnik (10)
- Konfigurationsmanagement (4)
- Produktlinien (4)
- software evolution (4)
- Applications (2)
- Capture (2)
- Clustering (2)
- Design Rationale (2)
- Research Proposal (2)
- Softwaremetriken (2)
Institute
Recent research on intelligent healthcare employs Deep Reinforcement Learning (DRL) to personalize treatments according to patients’ physiological characteristics and thus render treatments more effective. However, the majority of approaches rely on the relational data model, that struggles with the representation of the complex relationships within medical data. Moreover, the output of these approaches is typically a recommended action, e.g., a dosage; however, clinicians need the contextualization, i.e., the provision of supporting information, of such recommendations in order to decide whether to follow it.We present a neuro-symbolic architecture for personalized treatments based on a graph-centric foundation. The architecture is based on representing medical data as a knowledge graph and learning via graph neural networks; their combination enables the inherent capturing of relationships and their native integration into reasoning, which may thus render recommendations more effective. Moreover, the architecture employs formally specified graph queries over the knowledge graph to contextualize personalized treatments. We exemplify the architecture by an application to sepsis treatments and based on a widely-used medical dataset.
Sepsis is a serious, life-threatening condition. When treating sepsis, it is challenging to determine the correct amount of intravenous fluids and vasopressors for a given patient. While automated reinforcement learning (RL)-based methods have been used to support these decisions with promising results, previous studies have relied on relational data. Given the complexity of modern healthcare data, representing data as a graph may provide a more natural and effective approach. This study models patient data from the well-known MIMIC-III dataset as a heterogeneous graph that evolves over time. Subsequently, we explore two Graph Neural Network architectures - GraphSAGE and GATv2 - for learning patient state representations, adopting the approach of decoupling representation learning from policy learning. The encoders are trained to produce latent state representations, jointly with decoders that predict the next patient state. These representations are then used for policy learning with the dBCQ algorithm. The results of our experimental evaluation confirm the potential of a graph-based approach, while highlighting the complexity of representation learning in this domain.
On an exemplar supporting model-based quality assurance research for healthcare systems-of-systems
(2024)
As healthcare is being massively digitized, it increasingly relies on the harmonious interaction of autonomous and interconnected software systems. In this context, it becomes crucial to ensure that the emergent behavior that occurs when these systems interact remains beneficial to the overall quality goals. This task requires that the interacting systems are conceptualized and further studied as a System-of-Systems (SoS). We present the design and prototypical implementation of an exemplar for such a Healthcare SoS (HSoS) which consists of different types of basic healthcare systems. Its typical quality goals, e.g., safety and interoperability, and selected technical characteristics, e.g., cloud-nativity and support for integration with robotics, render the exemplar representative of modern healthcare solutions. The exemplar simulates patient journeys which rely on the interaction of the constituent systems and thereby may capture the emergent behavior of the HSoS. Our aim is that the exemplar supports future research on quality assurance for HSoSs using model-based techniques, which are suitable for developing both SoSs and safety-critical systems. For each quality goal, we outline relevant challenges as well as our research plans.
Graph APIs are capable of flexibly retrieving or manipulating graph-structured data over the web. This rather novel type of APIs presents new challenges when it comes to properly securing the APIs against the usual web application security risks, e.g., broken access control. A prominent security testing approach is taint analysis, which traces tainted, i.e., security-relevant, data from sources (where tainted data is inserted) to sinks (where the use of tainted data may lead to a security risk), over the information flow in an application.
We present a first systematic approach to static and dynamic taint analysis for Graph APIs focusing on broken access control. The approach comprises the following. We taint nodes in the Graph API if they represent data requiring specific privileges in order to be retrieved or manipulated, and identify API calls which are related to sources and sinks. Then, we statically analyze whether tainted information flow between API source and sink calls occurs. To this end, we model the API calls using graph transformation rules. We subsequently use critical pair analysis to automatically analyze potential dependencies between rules representing source calls and rules representing sink calls. The static taint analysis (i) identifies flows that need to be further reviewed, since tainted nodes may be created by an API call and used or manipulated by another API call later without having the necessary privileges, and (ii) can be used to systematically design dynamic security tests for broken access control. The dynamic taint analysis checks if potential broken access control risks detected during the static taint analysis really occur. We apply the approach to a part of the GitHub GraphQL API.
In model-driven engineering, runtime monitoring of systems with complex dynamic structures is typically performed via a runtime model capturing a snapshot of the system state: the model is represented as a graph and properties of interest as graph queries which are evaluated over the model online. For temporal properties, history-aware runtime models encode a trace of timestamped snapshots, which is monitored via temporal graph queries. In this case, the query evaluation needs to consider that a trace may be incomplete, thus future changes to the model may affect current answers. So far there is no formal foundation for query-based monitoring over runtime models encoding incomplete traces.
In this paper, we present a systematic and formal treatment of incomplete traces. First, we introduce a new definite semantics for a first-order temporal graph logic which only returns answers if no future change to the model will affect them. Then, we adjust the query evaluation semantics of a querying approach we previously presented, which is based on this logic, to the definite semantics of the logic. Lastly, we enable the approach to keep to its efficient query evaluation technique, while returning (the more costly) definite answers.
We study nested conditions, a generalization of first-order logic to a categorical setting, and provide a tableau-based (semi-decision) procedure for checking (un)satisfiability and finite model generation. This generalizes earlier results on graph conditions. Furthermore we introduce a notion of witnesses, allowing the detection of infinite models in some cases. To ensure completeness, paths in a tableau must be fair, where fairness requires that all parts of a condition are processed eventually. Since the correctness arguments are non-trivial, we rely on coinductive proof methods and up-to techniques that structure the arguments. We distinguish between two types of categories: categories where all sections are isomorphisms, allowing for a simpler tableau calculus that includes finite model generation; in categories where this requirement does not hold, model generation does not work, but we still obtain a sound and complete calculus.
The optimization of business processes is an important task to increase the efficiency of the described workflows. Metaheuristic optimization, such as evolutionary search, has been used to optimize business process models, but it requires a high level of expertise that not all process designers have. Model-driven optimization (MDO) promises to make the use of metaheuristic optimization accessible to domain experts without in-depth technical expertise by allowing them to specify the optimization algorithm directly at the model level. Because this approach is less technical, the process designers can focus on the business process models and their properties. Using concrete business process optimization problems as a starting point, we discuss how MDO can be applied to these problems, what MDO would offer for business process optimization, and how the application to business processes could stimulate research on MDO.
This open access book constitutes the proceedings of the 26th International Conference on Fundamental Approaches to Software Engineering, FASE 2023, which was held during April 22-27, 2023, in Paris, France, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2023.
The 12 regular papers presented in this volume were carefully reviewed and selected from 50 submissions. The proceedings also contain 2 tool papers, 2 NIER papers, and 2 competition papers from the Test-Comp Competition. The papers deal with the foundations on which software engineering is built, including topics like software engineering as an engineering discipline, requirements engineering, software architectures, software quality, model-driven development, software processes, software evolution, AI-based software engineering, and the specification, design, and implementation of particular classes of systems, such as (self-)adaptive, collaborative, AI, embedded, distributed, mobile, pervasive, cyber-physical, or service-oriented applications.
Optimization problems in software engineering typically deal with structures as they occur in the design and maintenance of software systems. In model-driven optimization (MDO), domain-specific models are used to represent these structures while evolutionary algorithms are often used to solve optimization problems. However, designing appropriate models and evolutionary algorithms to represent and evolve structures is not always straightforward. Domain experts often need deep knowledge of how to configure an evolutionary algorithm. This makes the use of model-driven meta-heuristic search difficult and expensive. We present a graph-based framework for MDO that identifies and clarifies core concepts and relies on mutation operators to specify evolutionary change. This framework is intended to help domain experts develop and study evolutionary algorithms based on domain-specific models and operators. In addition, it can help in clarifying the critical factors for conducting reproducible experiments in MDO. Based on the framework, we are able to take a first step toward identifying and studying important properties of evolutionary operators in the context of MDO. As a showcase, we investigate the impact of soundness and completeness at the level of mutation operator sets on the effectiveness and efficiency of evolutionary algorithms.