Marcus Hilbrich

dblp:51/10503 · DBLP profile ↗
← Back
6ranked-venue papers
4as first author
4since 2021 · last 2024
0000-0003-3717-9449ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 5 · 4 first-author · 3 since 2021Systems, architecture and hardware · 1 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 1 · 1 first-author
YearPublicationVenuePosition
2024 Validity constraints for data analysis workflows
abstract
Porting a scientific data analysis workflow (DAW) to a cluster infrastructure, a new software stack, or even only a new dataset with some notably different properties is often challenging. Despite the structured definition of the steps (tasks) and their interdependencies during a complex data analysis in the DAW specification, relevant assumptions may remain unspecified and implicit. Such hidden assumptions often lead to crashing tasks without a reasonable error message, poor performance in general, non-terminating executions, or silent wrong results of the DAW, to name only a few possible consequences. Searching for the causes of such errors and drawbacks in a distributed compute cluster managed by a complex infrastructure stack, where DAWs for large datasets typically are executed, can be tedious and time-consuming. We propose validity constraints (VCs) as a new concept for DAW languages to alleviate this situation. A VC is a constraint specifying logical conditions that must be fulfilled at certain times for DAW executions to be valid. When defined together with a DAW, VCs help to improve the portability, adaptability, and reusability of DAWs by making implicit assumptions explicit. Once specified, VCs can be controlled automatically by the DAW infrastructure, and violations can lead to meaningful error messages and graceful behaviour (e.g., termination or invocation of repair mechanisms). We provide a broad list of possible VCs, classify them along multiple dimensions, and compare them to similar concepts one can find in related fields. We also provide a proof-of-concept implementation for the workflow system Nextflow.
Florian Schintke, Khalid Belhajjame, Ninon De Mecquenem, David Frantz, Vanessa Emanuela Guarino, Marcus Hilbrich, Fabian Lehmann, Paolo Missier, Rebecca Sattler, Jan Arne Sparka, Daniel T. Speckhard, Hermann Stolte, Duc Anh Vu 0001, Ulf Leser
Future Gener. Comput. Syst.6
2022 A Consolidated View on Specification Languages for Data Analysis Workflows
Marcus Hilbrich, Sebastian Müller 0007, Svetlana Kulagina, Christopher Lazik, Ninon De Mecquenem, Lars Grunske
ISoLA (2)1
2022 Knowledge Transfer Patterns to Make Disciplinary Knowledge Explicit - Exemplified by HPC
abstract
High-Performance Computing (HPC) deals with parallel hard- and soft-ware since decades—with quite impressive results. Nowadays, we have parallel hardware (e.g., multi-core and many-core CPUs) in nearly every device, but parallel software is still a challenge, especially for non-HPC experts. Thus, we do not use the full potential of today’s hardware yet, and software developers have only a limited understanding of the possibilities of parallel hardware. Software performance engineering (SPE) confirms this statement. So, why are HPC projects successful, but other scientists often fail on parallelization challenges? Because they are no HPC experts and lack the needed knowledge. They do not become HPC experts because they are experts in other disciplines (of computer science)! To tackle this knowledge transfer challenge, we present the concept of our pattern catalog, describe why it is needed, why it is an adequate approach, and give examples of patterns. Our approach helps the HPC Community to make their knowledge explicit and makes it easier to transfer gathered knowledge from HPC to other disciplines.
Marcus Hilbrich
SoMeT1
2022 Are Workflows a Language to Solve Software Management Challenges? - A ßMACH Based Analysis
abstract
A language in computer science is not just a tool, the language defines essential aspects of the software management process. The language determines persons/actors/roles in the development/management team, the type of solution strategy, the description of the project, the cooperation with other teams, and the definition of the process. We are using workflows: The workflow language defines a problem decomposition to sub-workflows and tasks. We analyzed this language by a systematic method to nail down the software management process definition and to describe all relevant aspects of software management. This method is ßMACH and based on ßMACH we can provide the finding that the workflow language strongly defines a wide set of management aspects. As a result, we can state that the impact of a language is non-negligible.
Marcus Hilbrich, Vasilis Bountris
SoMeT1
2018 Abstract Fog in the Bottle - Trends of Computing in History and Future
abstract
Microservices are a current trend that is known not only in academics. It is also used on an industrial scale. Nevertheless, microservices break with abstraction models like object orientation, to avoid code duplicates, or to have the code of behavior and data of one type of objects at one place. Thus, microservices break with learned and established concepts of programming. In this paper, we present historical developments, identify trends, and summarize our observations. Based on that, we provide suggestions for extending microservices to support more abstract programming concepts. In so doing, we suggest concrete strategies for our extensions based on already established concepts and without interfering with to the microservice concept.
Marcus Hilbrich, Markus Frank
SEAA1
2018 The architectural template method: templating architectural knowledge to efficiently conduct quality-of-service analyses
abstract
Summary Software architects plan the realization of software systems by assessing design decisions on the basis of architectural models. Using these models as input, architectural analyses assess the impact of architects' decisions on quality‐of‐service properties. While the creation of suitable architectural models requires software architects to apply complex architectural knowledge, for example, in the form of established architectural styles and patterns, current architectural analyses lack support for directly reusing such knowledge. This lack points to an unused potential to make the work of software architects more effective and efficient. To use this potential, we introduce the architectural template (AT) method, an engineering method that makes design‐time analyses of quality‐of‐service properties of software systems more efficient. The AT method allows to quantify quality‐of‐service properties on the basis of reusable modeling templates that capture recurring architectural knowledge. Architects just need to customize such templates with system‐specific parts. In a case study, we illustrate the applicability of the AT method in the domains of distributed and cloud computing and its suitability for the quality‐of‐service properties performance, scalability, elasticity, and cost‐efficiency. Copyright © 2017 John Wiley & Sons, Ltd.
Sebastian Lehrig, Marcus Hilbrich, Steffen Becker 0001
Softw. Pract. Exp.2