About
343
Publications
104,963
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
13,759
Citations
Introduction
Klaus Pohl is managing director of paluno - The Ruhr Institute for Software Technology, University of Duisburg-Essen and chair of the software systems engineering group at Uni DUE.
Publications
Publications (343)
Online reinforcement learning (RL) is increasingly used for realizing adaptive systems in the presence of design time uncertainty because Online RL can leverage data only available at run time. With Deep RL gaining interest, the learned knowledge is no longer represented explicitly, but hidden in the parameterization of the underlying artificial ne...
Prescriptive business process monitoring provides decision support to process managers on when and how to adapt an ongoing business process to prevent or mitigate an undesired process outcome. We focus on the problem of automatically reconciling the trade-off between prediction accuracy and prediction earliness in determining when to adapt. Adaptat...
Online reinforcement learning (RL) is increasingly used for realizing adaptive systems in the presence of design time uncertainty. Online RL facilitates learning from actual operational data and thereby leverages feedback only available at runtime. However, Online RL requires the definition of an effective and correct reward function, which quantif...
Edge computing enables the processing of data - frequently personal data - at the edge of the network. For personal data, legislation such as the European General Data Protection Regulation requires data protection by design. Hence, data protection has to be accounted for in the design of edge computing systems whenever personal data is involved. T...
Design time uncertainty poses an important challenge when developing a self-adaptive system. As an example, defining how the system should adapt when facing a new environment state, requires understanding the precise effect of an adaptation, which may not be known at design time. Online reinforcement learning, i.e., employing reinforcement learning...
A self-adaptive system can automatically maintain its quality requirements in the presence of dynamic environment changes. Developing a self-adaptive system may be difficult due to design time uncertainty; e.g., anticipating all potential environment changes at design time is in most cases infeasible. To realize self-adaptive systems in the presenc...
Predictive business process monitoring increasingly leverages sophisticated prediction models. Although sophisticated models achieve consistently higher prediction accuracy than simple models, one major drawback is their lack of interpretability, which limits their adoption in practice. We thus see growing interest in explainable predictive busines...
An edge data center can host applications that require low-latency access to nearby end devices. If the resource requirements of the applications exceed the capacity of the edge data center, some non-latency-critical application components may be offloaded to the cloud. Such offloading may incur financial costs both for the use of cloud resources a...
Predictive business process monitoring increasingly leverages sophisticated prediction models. Although sophisticated models achieve consistently higher prediction accuracy than simple models, one major drawback is their lack of interpretability, which limits their adoption in practice. We thus see growing interest in explainable predictive busines...
The design, development, deployment, and operation of a distributed Video Analytics Pipeline (VAP) at the edge of the network is highly complex. In the domain of adaptive systems, several solutions are proposed in literature to optimize either one particular performance aspect of a VAP, e.g., execution time or latency, or focus on minimal energy co...
This Open Access book presents the results of the "Collaborative Embedded Systems" (CrESt) project, aimed at adapting and complementing the methodology underlying modeling techniques developed to cope with the challenges of the dynamic structures of collaborative embedded systems (CESs) based on the SPES development methodology.
In order to manage...
The protection of confidential data (e.g., personal data) is a concern of increasing importance. Data processing applications are often deployed in cloud or fog/edge computing systems. Such cloud-based systems may change dynamically during operations, for example because of changes in the users, in the deployed software services, or in the infrastr...
A self-adaptive service can maintain its QoS requirements in the presence of dynamic environment changes. To develop a self-adaptive service, service engineers have to create self-adaptation logic encoding when the service should execute which adaptation actions. However, developing self-adaptation logic may be difficult due to design time uncertai...
Networks of collaborative cyber-physical systems can achieve goals individual systems are incapable of achieving on their own. However, which goals such a network can achieve depends, in part, on the networks current configuration, i.e. its composition of partaking individual systems. As networks of collaborative cyber-physical systems are of a dyn...
A self-adaptive information system is capable of maintaining its quality requirements in the presence of dynamic environment changes. To develop a self-adaptive information system, information system engineers have to create self-adaptation logic that encodes when and how the system should adapt itself. However, developing self-adaptation logic may...
Dieser Vortrag berichtet von dem Beitrag Improving manual reviews in function-centered engineering of embedded systems using a dedicated review model [DWP19], der in der Fachzeitschrift Software and Systems Modeling veröffentlicht wurde. Im Rahmen des Beitrags wurde ein dezidiertes Review-Modell vorgeschlagen, um die Validierung der interaktionsbas...
In model-based engineering of embedded systems, manual validation activities such as reviews and inspections are needed to ensure that the system under development satisfies the stakeholder intentions. During the engineering process, changes in the stakeholder intentions typically trigger revisions of already developed and documented engineering ar...
Zusammenfassung
Fog-Computing erlaubt, Software-Code oder Daten dynamisch von ressourcenschwachen Endgeräten an leistungsstärkere Geräte am Rande des Netzwerks und in der Cloud auszulagern. Eine solche dynamische Auslagerung ermöglicht eine performante Ausführung rechenintensiver Aufgaben, bei gleichzeitig geringer Latenzzeit für die Datenübertragu...
[https://arxiv.org/abs/1907.09158] A self-adaptive system can modify its own structure and behavior at runtime based on its perception of the environment, of itself and of its requirements. To develop a self-adaptive system, software developers codify knowledge about the system and its environment, as well as how adaptation actions impact on the sy...
Proactive process adaptation can prevent and mitigate upcoming problems during process execution. Proactive adaptation decisions are based on predictions about how an ongoing process instance will unfold up to its completion. On the one hand, these predictions must have high accuracy, as, for instance, false negative predictions mean that necessary...
Software product lines have proven to empower industry to develop a diversity of similar software-intensive systems at lower cost, in shorter time, and with higher quality when compared with the development of single systems. In this chapter, we describe the key differences between software product line engineering and the development of single sof...
When developing safety-critical embedded systems, it is necessary to ensure that the system under development poses no harm to human users or external systems during operation. To achieve this, potential hazards are identified and potential mitigations for those hazards are documented in requirements. During requirements validation, the stakeholder...
This talk is based on a paper published in the Requirements Engineering Journal in May 2017 [TWP17]. During the development of safety-critical systems, the development process must ensure that requirements, which are defined to mitigate a hazard, are adequate. Adequacy of such hazard-mitigating requirements (HMRs) means that the requirements may no...
The markets for embedded systems are characterized by high innovation pressure, steadily decreasing times to market, and the omnipresent need to reduce development costs. This trend is accompanied by the necessity of developing innovative products with greater functionality and more features that can be sold to customers. In the joint research proj...
The SPES XT modeling framework combines multiple modeling viewpoints and offers an effective means for modeling and exploring various embedded systems designs.
A Dynamic Software Product Line (DSPL) aims at managing run-time adaptations of a software system. It is built on the assumption that context changes that require these adaptations at run-time can be anticipated at design-time. Therefore, the set of adaptation rules and the space of configurations in a DSPL are predefined and fixed at design-time....
A significant challenge within university education, especially with regard to the teaching of highly theoretical topics like requirements engineering, is to maintain students' interest and motivation whilst addressing the core concepts that will enable students to work in industry upon graduation. It has long been established that experience-based...
This book provides a comprehensive introduction into the SPES XT modeling framework. Moreover, it shows the applicability of the framework for the development of embedded systems in different industry domains and reports on the lessons learned. It also describes how the SPES XT modeling framework can be tailored to meet domain and project-specific...
Cloud services have to comply with privacy policies when storing or processing data. As cloud services become increasingly data-intensive, e.g., in the case of big data analytics, data privacy concerns become more critical and challenging to address. In particular, data may only be processed at certain geo-locations. However, the actual geo-locatio...
Event-driven business processes employ event-processing capabilities to analyze internal and external event streams for complex situations that may impact on process execution. An open issue is the verification of such event-driven business processes in order to detect, among others, deadlocks. Individual verification approaches for business proces...
Cloud providers as well as cloud customers are obliged to comply with privacy regulations. In particular, these regulations prescribe compliance to geo-location policies that define at which geographical locations personal data may be stored or processed. However, cloud elasticity dynamically adapts computing resources to workload changes by replic...
In empirical software engineering research, graduate students are often seen as legitimate substitutes for industry professionals. It has been also argued in the literature that the generalizability of empirical results from experiments with undergraduate students as participants holds to a much lower extent. In this paper, we report on a controlle...
Cloud applications are subject to continuous change due to modifications of the software application itself and, in particular, its environment. To manage changes, cloud-based systems provide diverse self-adaptation mechanisms based on run-time models. Observed run-time models are means for leveraging self-adaption, however, are hard to apply durin...
In empirical software engineering research, graduate students are often seen as legitimate substitutes for industry professionals. It has been also argued in the literature that the generalizability of empirical results from experiments with undergraduate students as participants holds to a much lower extent. In this paper, we report on a controlle...
[Context and motivation] In practice, validating functional safety requirements is mainly done by means of reviews, which require large amounts of contextual information about hazards, such as safety goals or the operational conditions un-der which the hazard occurs. [Question/problem] This information is often scat-tered across a plethora of artif...
[Context and Motivation] In function-centered engineering of embedded systems, changes of stakeholder intentions are often directly incorporated in the functional design without updating the behavioral requirements accordingly. [Question/Problem] As a consequence, it is likely that the behavioral requirements of the system become outdated over the...
In the embedded systems industry, function-centered engineering is commonly applied to address the increasing number and complexity of system functions. During function-centered engineering, the functional design that is created based on the defined requirements for the system is the main artifact that serves as a basis for subsequent development a...
People are increasingly concerned about the trustworthiness of software that they use when acting within socio-technical systems. Ideally, software development projects have to address trustworthiness requirements from the very early stages of development using constructive methods to enable trustworthiness-by-design. We analyze the development met...
Transport and logistics faces fluctuations in cargo volume that statistically can only be captured with a large error. Observing and managing such dynamic volume fluctuations more effectively promises many benefits such as reducing unused transport capacity and ensuring timely delivery of cargo. This paper introduces an approach that combines user-...
Requirements validation should be carried out early in the development process to assure that the requirements specification correctly reflects stakeholder's intentions, and to avoid the propagation of defects to subsequent phases. In addition to reviews, early test case creation is a commonly used requirements validation technique. However, manual...
Organizations have to comply with geo-location policies that prescribe geographical locations at which personal data may be stored or processed. When using cloud services, checking data geo-location policies during design-time is no longer possible - data geo-location policies need to be checked during run-time. Cloud elasticity mechanisms dynamica...
SLA management of non-computational services, such as transport and logistics services, may differ from SLA management of computational services, such as cloud or web services. As an important difference, SLA management for transport and logistics services has to consider so called frame SLAs. A frame SLA is a general agreement that constitutes a l...
Trustworthiness of Internet-based software systems, apps, services and platform is a key success factor for their use and acceptance by organizations and end-users. The notion of trustworthiness, though, is subject to individual interpretation and preference, e.g., organizations require confidence about how their business critical data is handled w...
Socio-Technical Systems (STS) include humans, organizations, and the information systems that they use to achieve certain goals [1]. They are increasingly relevant for society, since advances in ICT technologies, such as cloud computing, facilitate their integration in our daily life. Due to the difficulty in preventing malicious attacks, vulnerabi...
The transition to cloud computing offers a large number of benefits, such as lower capital costs and a highly agile environment. Yet, the development of software engineering practices has not kept pace with this change. The design and runtime behavior of cloud based services and the underlying cloud infrastructure are largely decoupled from one ano...
Software product line engineering has proven to empower organi-zations to develop a diversity of similar software-intensive systems (applications) at lower cost, in shorter time, and with higher quality when compared with the development of single systems. Over the last decade the software product line engineering research community has grown signi...
The reaction of Fe(acac)3 (acac = acetylacetonate, 2,4-pentanedionate) with 1,4,7-triazacyclo- nonane (L) in acetone in the presence of water and NaClO4 yields green crystals of [L2Fe2III(acac)2(μ-O)](ClO4)2 (1) a μ-oxo bridged dimer of Fe(III) the crystal structure of which has been determined. Hydrolysis of this material in an acetone/water mixtu...
Current technology for cloud application adaptation fails to capture two fundamental aspect of cloud environments: multiple adaptation options and interferences and dependencies among these multiple mechanisms. Addressing these aspects requires a significant extension of existing cloud tools and frameworks for engineering and executing cloud applic...
University education in software engineering instructs sound theoretical concepts together with method competence. It seeks to provide hands-on experience with the learning content along with insights into its application in practice. Even theoretical disciplines are beginning to adopt more experience-oriented instruction as opposed to passive, lec...
During the development of embedded software, the system context (mechanical, electronical, business, etc.) has to be considered. Typically, this context is diverse and highly complex. Moreover, the context in which the system is embedded can vary. For example, the system can be used in different technical environments or in different countries. Thi...
Predictive business process monitoring aims at forecasting potential problems during process execution before they occur so that these problems can be handled proactively. Several predictive monitoring techniques have been proposed in the past. However, so far those prediction techniques have been assessed only independently from each other, making...
Run-time models have been proven beneficial in the past for predicting upcoming quality flaws in cloud applications. Observation approaches relate measurements to executed code whereas prediction models oriented towards design components are commonly applied to reflect reconfigurations in the cloud. Levels of abstraction differ between code observa...
Checking whether the agreed service quality attributes are fulfilled or maintained during the service life-cycle is a very important task for SLA (Service Level Agreement) enforcement. In this paper, we leverage conformance checking techniques developed for computational services to automate the conformity checking of transport & logistics services...
Control flow models, such as UML activity diagrams or Petri nets, are widely accepted modeling languages used to support quality assurance activities in single system engineering as well as software product line (SPL) engineering. Quality assurance in product line engineering is a challenging task since a defect in a domain artifact may affect seve...
The automated analysis of feature models (FM) is based on SAT, BDD, and CSP - known NP-complete problems. Therefore, the analysis could have an exponential worst-case execution time. However, for many practical relevant analysis cases, state-of-the-art (SOTA) analysis tools quite successfully master the problem of exponential worst-case execution t...
The goal of iObserve is to develop methods and tools to support evolution and adaptation of long-lived software systems. Future long-living software systems will be engineered using third-party software services and infrastructures. Key challenges for such systems will be caused by dynamic changes of deployment options on cloud platforms. Third-par...
Quality requirements, like security requirements, are difficult to elicit, especially if they cross multiple domains. Understanding these domains is an important issue in the requirements engineering process for the corresponding systems. Well-known requirements engineering approaches, such as goal-oriented techniques provide a good starting point...
Whether a software, app, service or infrastructure is trustworthy represents a key success factor for its use and adoption by organizations and end-users. The notion of trustworthiness, though, is actually subject to individual interpretation, e.g. organizations require confidence about how their business critical data is handled whereas end-users...
ICSE 2013, the 35th International Conference on Software Engineering, was held May 18-26, 2013 in San Francisco, California, USA. The main conference of ICSE 2013 is a three-day event with keynotes, multiple tracks, award sessions, and social events. In addition, four days of pre-conference and two days of post-conference meetings include workshops...
The internet of services (IoS) and the internet of things (IoT) will significantly change the engineering and operation of future information systems and the economy as a whole. The convergence of IoS and IoT empowers new types of software-intensive systems which, among others, facilitate real-time observation and adaptation of intra and cross orga...
As service-oriented systems are increasingly composed of third-party services accessible over the Internet, self-adaptation capabilities promise to make these systems become robust and resilient against third-party service failures that may negatively impact on system quality. In such a setting, proactive adaptation capabilities will provide signif...
Adaptive capabilities are essential to guarantee the proper execution of Web services and service-oriented applications once dynamic changes are not exceptions but the rule. The importance of adaptive capabilities significantly increases in the context of Future Internet (FI) applications will have to autonomously adapt to changes on service provis...
The aim of model-based development is to use models as main development artifacts in all phases of the development process.
Adaptive capabilities are essential features to guarantee the proper execution of Web services and service-oriented applications once dynamic changes are not exceptions but the rule. In fact, the importance of adaptive services significantly increases in the context of Future Internet (FI) applications once they will be composed of a multitude of d...
This paper introduces research challenges on future service-oriented systems and software services. Those research challenges have been identified in a coordinated effort by researchers under the umbrella of the EU FP7 Network of Excellence S-Cube. We relate this effort to previous and related research roadmap activities and discuss the approach an...
This paper summarizes two techniques for online failure prediction allowing to anticipate the need for adaptation of service-oriented systems: (1) SPADE, employing run-time verification to predict failures of service compositions. (2) PROSA, building on online testing to predict failures of individual services.
The rapid evolution of software technology has brought monumental changes to virtually every market sector and has created enormous opportunities for innovation. One such opportunity is developing innovative systems through the composition of software services available over the Internet. Those services have the power to provide utility to users in...
The industry has a strong demand for sophisticated requirements engineering (RE) methods in order to manage the high complexity of requirements specifications for software-intensive embedded systems and ensure a high requirements quality. RE methods and techniques proposed by research are only slowly adopted by the industry. An important step to im...
Embedded systems have long become essential in application areas in which human control is impossible or infeasible. The development of modern embedded systems is becoming increasingly difficult and challenging because of their overall system complexity, their tighter and cross-functional integration, the increasing requirements concerning safety a...
The formalization of variability models (e.g. feature models) is a prerequisite for the automated analysis of these models. The efficient execution of the analysis operations depends on the selection of well-suited solver implementations. Regarding feature models, on the one hand, the formalization with Boolean expressions enables the use of SAT or...
Increasingly, service-based applications (SBAs) are composed of third-party services available over the Internet. Even if third-party services have shown to work during design-time, they might fail during the operation of the SBA due to changes in their implementation, provisioning, or the communication infrastructure. As a consequence, SBAs need t...