- Universität Hildesheim ›
- Mathematik, Naturwissenschaften, Wirtschaft & Informatik ›
- Institute ›
- Institut für Informatik ›
- Abteilungen ›
- Software Systems Engineering (SSE) ›
- Mitglieder ›
- Dr. Holger Eichelberger
Dr. Holger Eichelberger
Kontakt:
Telefon: +49 5121 883-40334E-Mail Kontaktformular
Raum: C 146 Spl - Gebäude C (Samelson-Campus)
Homepage: https://sse.uni-hildesheim.de/mitglieder/dr-rer-nat-holger-eichelberger/ Homepage
Tätigkeitsbereiche:
- Institut für Informatik [Vorstand - beratend]
- Inst. für Informatik - Abteilung Software Systems Engineering [Wiss. Angestellter]
Lehre
- Modellbasierte Software-Entwicklung
- Software Product Line Engineering
- Forschungsmethoden
- Programmierung I: Java
- WebTechnologien, Angular
- Grundlagen der Informatik
- Formal Methods in Software Design, MONA Institute of Applied Sciences, University of the West Indies, Kingston, Jamaica (Februar/März 2010)
- Software Entwurf
Forschung
Interessen / Gebiete:
- Software Engineering adaptiver Systeme
- Software Produktlinien
- Monitoring of Software Laufzeiteigenschaften und Performanz-Analyse
- Wiederholbarkeit von Experimenten im Software Engineering, insbes. Benchmarking, Performanz-Experimente
- Modellbasierte und modellgetriebene Software-Entwicklung
- Big Data Architekturen
- Open Source Software (EASy-Producer, SPASS-meter, SVNControl)
- UML (Unified Modeling Language), vergleichende Werkzeuganalyse
- Software Visualisierung und automatisches Layout von Software-Diagrammen
Projekte
- BMWi IIP-Ecosphere (im KI-Innovationswettbewerb)
- BMBF KI-Labor HAISEM-Lab
- FP7 QualiMaster
- BMBF ScaleLog
- FP7 INDENICA
Mitarbeit bei Veranstaltungen
- Organisation
- Mitgliedschaft in Programmkommitees
- International Conference on Software Engineering Advances (ICSEA’19)
- Intl. Conference on Model-Driven Engineering and Software development (MODELSWARD ’19)
- Symposium on Software Performance (SSP ’19)
- Intl. Systems and Software Product Lines Conference - Tools/Demos + Artifact Tracks (SPLC '19) - Current call for papers for the research track
- International Conference on Adaptive and Self-Adaptive Systems (ADAPTIVE’19)
- Intl. Conference on Model-Driven Engineering and Software development, 2019
- Intl. Conference on Performance Engineering – Artifact Track (ICPE ’18)
- EUROMICRO Conference on Software Engineering and Advanced Applications, Special Track on Embedded Software Engineering + Monitoring of Large Scale Systems, (SEAA-ESE ’18, SEAA-MoLS '18)
- Intl. Conference on Model-Driven Engineering and Software development (MODELSWARD ’18)
- International Conference on Software Engineering Advances (ICSEA’18)
- Workshop on Load Testing and Benchmarking Software Systems, (LTB’18)
- Intl. Conference on Adaptive and Self-Adaptive Systems and Applications (ADAPTIVE ’18)
- Intl. Conference on Software Engineering Applications (ICSEA ’17)
- EUROMICRO Conference on Software Engineering and Advanced Applications, Special Track on Embedded Software Engineering, (SEAA-ESE ’17)
- Intl. Conference on Model-Driven Engineering and Software development (MODELSWARD ’17)
- Symposium on Software Performance (SSP ’17)
- Workshop on Load Testing and Benchmarking Software Systems (LTB ’17)
- EUROMICRO Conference on Software Engineering and Advanced Applications, Special Track on Embedded Software Engineering (SEAA-ESE ’16)
- Intl. Conference on Model-Driven Engineering and Software development (MODELSWARD ’16)
- Symposium on Software Performance (SSP ’16)
- Workshop Design for Future (DFF ’16)
- Intl. Conference on Software Engineering Applications (ICSEA ’15)
- Intl. Conference on Software Reuse (ICSR ’15)
- Intl. Conference on Information Technologies in Environmental Engineering (ITEE ’15)
- EUROMICRO Conference on Software Engineering and Advanced Applications, Special Track on Embedded Software Engineering (SEAA-ESE ’15)
- Intl. Conference on Software Engineering Applications (ICSEA ’14)
- EUROMICRO Conference on Software Engineering and Advanced Applications, Special Track on Embedded Software Engineering (SEAA-ESE ’14)
- Intl. Conference on Model-Driven Engineering and Software development (MODELSWARD '14)
- Workshop Design for Future (DFF ’14)
- Intl. Conference on Software Engineering Applications (ICSEA ’13)
- EUROMICRO Conference on Software Engineering and Advanced Applications, Special Track on Embedded Software Engineering (SEAA-ESE ’13)
- Workshop on Empirical Studies in Software Modeling (EESSMOD ’13)
- EUROMICRO Conference on Software Engineering and Advanced Applications, Special Track on Embedded Software Engineering (SEAA-ESE ’12)
- Workshop on Empirical Studies in Software Modeling (EESSMOD ’12)
- Workshop on Software-Driven Energy-Measurement for Mobile Systems (EEBS’12)
- Workshop on Dynamic Software Product Lines (DSPL ’12)
- Intl. Conference on Software Engineering Applications (ICSEA’12)
- EUROMICRO Conference on Software Engineering and Advanced Applications, Special Track on Embedded Software Engineering (SEAA 2011)
- Workshop on Empirical Studies in Software Modeling (EESSMOD ’11)
- SOFTVIS 2010
- MAPLE 2009
- LED 2008
- SOFTVIS 2008
- VISSOFT 2007
- LED 2007
- Gutachter
- PhD examiner Manchester University (2018)
- Journal on Information and Software Technology (IST)
- Journal of Software and Systems (JSS)
- IEEE Transactions on Software Engineering (TSE)
- IEEE Software (IEEE-SW)
- Journal of Computing and Informatics (CAI)
- Journal of Software and Systems Modeling (JSoSym)
- Journal on Science of Computer Programming (SCICO)
- Journal on Software Tools and Technology Transfer
- Software Quality Journal (SQJO)
- Journal on Information and Software Technology (IST)
- Journal of Graphs Algorithms and Applications (JGAA)
- Journal on Information Visualization (InfoVis)
- Journal of Research and Practice in Information Technology (JPRIT)
- Journal of the Brazilian Computer Society (JCBS)
Publikationen
Lfd. Nr. | Publikation |
---|---|
2024 | |
95. |
Leonhard Faubel, Thomas Woudsma, Benjamin Klöpper, Holger Eichelberger, Bülow. Fabian, Klaus Schmid, Amir Ghorbani Ghezeljehmeidan, Leila Methnani, Andreas Theodorou und Magnus Bang
(2024):
MLOps for Cyber-Physical Production Systems: Challenges and Solutions
In: IEEE Software.
Zusammenfassung Machine Learning Operations (MLOps) involves software development practices for Machine Learning (ML), including data management, preprocessing, model training, deployment, and monitoring. While MLOps have received significant interest, much less work has been published addressing MLOps in industrial production settings lately, particularly if solutions are not cloud-based. This article addresses this shortcoming based on our and our partner’s real industrial experience in various projects. While there is a broad range of challenges for MLOps in cyber-physical production systems (CPPS), we focus on those related to data, models, and operations as we assume these will directly benefit the reader and provide solutions such as lightweight integration, integration of domain knowledge, periodic calibration, and interactive interfaces. In this way, we want to support practitioners in setting up |
94. | Prankur Agarwal, Kevin Feichtinger, Klaus Schmid, Holger Eichelberger und Rick Rabiser (2024): On the Challenges of Transforming UVL to IVML In: 6th International Workshop on Languages for Modelling Variability (MODEVAR'24) |
93. | Ahmad Alamoush und Holger Eichelberger (2024): Open source container orchestration for Industry 4.0 – requirements and systematic feature analysis In: International Journal on Software Tools for Technology Transfer, 26 (4). |
2023 | |
92. | Alexander Weber, Holger Eichelberger, Svenja Wienrich und Per Schreiber (2023): Performance comparison of TwinCAT ADS for Python and Java In: 14th Symposium on Software Performance 2023 Karlsruhe. |
91. | Ahmad Alamoush und Holger Eichelberger (2023): Analyzing and Improving the Performance of Continuous Container Creation and Deployment In: 14th Symposium on Software Performance 2023 Karlsruhe. |
90. | Holger Eichelberger und Claudia Niederée (2023): Asset Administration Shells, Configuration, Code Generation: A power trio for Industry 4.0 Platforms In: 2023 IEEE 28th International Conference on Emerging Technologies and Factory Automation (ETFA) S. 1-8. IEEE. |
89. | Kevin Feichtinger, Kristof Meixner, Felix Rinker, István Koren, Holger Eichelberger, Tonja Heinemann, Jörg Holtmann, Marco Konersmann, Judith Michael, Eva-Maria Neumann, Jérôme Pfeiffer, Rick Rabiser, Matthias Riebisch und Klaus Schmid (2023): Software in Cyberphysischen Produktionssystemen - Herausforderungen zur Umsetzung in der Industrie In: ATP-Magazin, 2023 (4): 62-68. |
88. | Holger Eichelberger, Gregory Palmer, Svenja Reimer, Tat Trong Vu, Hieu Do, Sofiane Laridi, Alexander Weber, Claudia Niederée, Thomas Hildebrandt, Thais Batista, Tomás Bures, Claudia Raibulet und Henry Muccini (Hrsg.) (2023): Developing an AI-Enabled IIoT Platform - Lessons Learned from Early Use Case Validation In: Software Architecture. ECSA 2022 Tracks and Workshops Bd. 13928. S. 265-283. Springer International Publishing. Cham. |
87. |
Leonhard Faubel, Klaus Schmid und Holger Eichelberger
(2023):
MLOps Challenges in Industry 4.0
In: SN Computer Science: 11.
Zusammenfassung An important part of the Industry 4.0 vision is the use of machine learning (ML) techniques to create novel capabilitiesand flexibility in industrial production processes. Currently, there is a strong emphasis on MLOps as an enabling collectionof practices, techniques, and tools to integrate ML into industrial practice. However, while MLOps is often discussed inthe context of pure software systems, Industry 4.0 systems received much less attention. So far, there is only little researchfocusing on MLOps for Industry 4.0. In this paper, we discuss whether MLOps in Industry 4.0 leads to significantly dif-ferent challenges compared to typical Internet systems. We provide an initial analysis of MLOps approaches and identifyboth context-independent MLOps challenges (general challenges) as well as challenges particular to Industry 4.0 (specificchallenges) and conclude that MLOps works very similarly in Industry 4.0 systems to pure software systems. This indicatesthat existing tools and approaches are also mostly suited for the Industry 4.0 context. |
86. | Holger Eichelberger, Gregory Palmer und Claudia Niederee (2023): Developing an AI-enabled Industry 4.0 platform - Performance experiences on deploying AI onto an industrial edge device In: Softwaretechnik-Trends, 43 (1): 35-37. |
85. | Christian Severin Sauer und Holger Eichelberger (2023): Performance Evaluation of BaSyx based Asset Administration Shells for Industry 4.0 Applications In: Softwaretechnik-Trends, 43 (1): 47-49. |
84. | Ahmad Alamoush und Holger Eichelberger (2023): Adapting Kubernetes to IIoT and Industry 4.0 protocols - An initial performance analysis In: Softwaretechnik-Trends, 43 (1): 41-43. |
2022 | |
83. |
Leonhard Faubel, Klaus Schmid und Holger Eichelberger
(2022):
Is MLOps different in Industry 4.0? General and Specific Challenges
In:
3rd International Conference on Innovative Intelligent Industrial Production and Logistics (IN4PL)
S. 161-167.
SciTePress.
Zusammenfassung An important part of the Industry 4.0 vision is the use of machine learning (ML) techniques to create novel capabilities and flexibility in industrial production processes. Currently, there is a strong emphasis on MLOps as an enabling collection of practices, techniques, and tools to integrate ML into industrial practice. However, while MLOps is often discussed in the context of pure software systems, Industry 4.0 systems received much less attention. So far, there is no specialized research for Industry 4.0 in this regard. In this position paper, we discuss whether MLOps in Industry 4.0 leads to significantly different challenges compared to typical Internet systems. We identify both context-independent MLOps challenges (general challenges) as well as challenges particular to Industry 4.0 (specific challenges) and conclude that MLOps works very similarly in Industry 4.0 systems to pure software systems. This indicates that existing tools and approaches are also mostly suited for the Industry 4.0 context. |
82. | Holger Eichelberger, Gregory Palmer, Svenja Reimer, Tat Trong Vu, Hieu Do, Sofiane Laridi, Alexander Weber, Claudia Niederée und Thomas Hildebrandt (2022): Developing an AI-enabled IIoT platform - An early use case validation In: SASI4 @ ECSA'22 |
81. | Holger Eichelberger, Svenja Reimer, Claudia Niederée und Gregory Palmer (2022): Virtuelle IIoT-Plattform für die Digitalisierung der Fertigung In: Zeitschrift für wirtschaftlichen Fabrikbetrieb, 117 (12): 884-887. |
80. | Kevin Feichtinger, Kristof Meixner, Felix Rinker, István Koren, Holger Eichelberger, Tonja Heinemann, Jörg Holtmann, Marco Konersmann, Judith Michael, Eva-Maria Neumann, Jérôme Pfeiffer, Rick Rabiser, Matthias Riebisch und Klaus Schmid (2022): Industry Voices on Software Engineering Challenges in Cyber-Physical Production Systems Engineering In: 2022 27th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA) S. 8. 27. International Conference on Emerging Technologies and Factory Automation, Stuttgart (Germany), 6 Sep 2022 - 9 Sep 2022. IEEE. Piscataway, NJ. |
79. | Holger Eichelberger, Heiko Stichweh und Christian Severin Sauer (2022): Requirements for an AI-enabled Industry 4.0 Platform – Integrating Industrial and Scientific Views In: SOFTENG 2022 The Eighth International Conference on Advances and Trends in Software Engineering S. 7-14. ThinkMind. |
2021 | |
78. | Miguel Gomez Casado und Holger Eichelberger (2021): Industry 4.0 Resource Monitoring - Experiences With Micrometer and Asset Administration Shells In: CEUR-WS Proceedings of Symposium on Software Performance 2021 (SSP'21) CEUR-WS.org. |
77. | Christopher Noel Hesse und Holger Eichelberger (2021): Benchmarking Neural Networks on Heterogeneous Hardware Resources In: CEUR-WS Proceedings of Symposium on Software Performance 2021 (SSP'21) |
76. | Rick Rabiser, Klaus Schmid, Holger Eichelberger, Michael Vierhauser und Paul Grünbacher (2021): A Domain Analysis of Resource and Requirements Monitoring: Towards a Comprehensive Model of the Software Monitoring Domain In: Software Engineering 2021 S. 91-92. Gesellschaft für Informatik e.V.. |
2020 | |
75. | Cui Qin, Holger Eichelberger und Klaus Schmid (2020): Enactment of Adaptation in Data Stream Processing with Latency Implications In: Software Engineering 2020 S. 41-42. Gesellschaft für Informatik. |
74. | Klaus Schmid, Holger Eichelberger und Sascha El-Sharkawy (2020): Variability modeling and implementation with EASy-producer In: Proceedings of the 24th ACM Conference on Systems and Software Product Line (SPLC '20) Bd. Volume A. S. 1 - 1. ACM. |
2019 | |
73. |
Klaus Schmid, Holger Eichelberger und Sascha El-Sharkawy
(2019):
Variability Modeling and Implementation with EASy- Producer
In:
Proceedings of the 23rd International Systems and Software Product Line Conference (SPLC'19)
S. 328-328.
ACM.
Zusammenfassung EASy-Producer is an open-source research toolset for engineering product lines, variability-rich software ecosystems, and dynamic software product lines. In this tutorial, we will introduce its (textual) variability modeling capabilities realized by the Integrated Variability Modeling Language (IVML) and its model-based development and implementation capabilities, which are realized by the Variability Instantiation Language (VIL) and the Variability Template Language (VTL). |
72. |
Maurice H. ter Beek, Klaus Schmid und Holger Eichelberger
(2019):
Textual Variability Modeling Languages: An Overview and Considerations
In:
Proceedings of the 23rd International Systems and Software Product Line Conference (SPLC'19)
Bd. B.
S. 151-157.
ACM.
Zusammenfassung During the three decades since the invention of the first variability modeling approach [27], there have been multiple attempts to introduce advanced variability modeling capabilities. More recently, there has been increased attention on textual variability modeling languages. In this paper,we summarize the main capabilities of state of the art textual variability modeling languages, based on [23], including some updates regarding more recent work.We also provide a short discussion of some additional concerns that are relevant when designing (textual) variability modeling languages. From this perspective, the paper also summarizes relevant contributions the authors made to the field in earlier research. |
71. |
Christopher Hesse, Tim Welsch und Holger Eichelberger
(2019):
Performance Analysis of a Virtualized Vehicle-Compute Platform: An Experience Report
In:
Proceedings of the 8th Symposium on Software Performance (SSP'18) in Softwaretechnik-Trends
Bd. 39.
Heft / Ausgabe 3.
S. 34-36.
Zusammenfassung Compute platforms for modern automotive systemstend to combine embedded properties, increasingly complex architectures and even virtualization. However, analyzing the performance of such systems, e.g., to identify performance bottlenecks, is not trivial. In this paper, we report our experience in analyzing the performance of a camera-vision application on a virtualized vehicle-compute platform. We discuss issues that we faced during the analysis, impacts of the virtualization on the performance as well as causes. |
70. | Holger Eichelberger, Klaus Schmid, Wilhelm Hasselbring, Steffen Becker, André van Hoorn und Samuel Kounev (2019): 9th Symposium on Software Performance (SSP) Hildesheim, November 08-09, 2018 In: Softwaretechnik-Trends, 39 (3). |
69. |
Rick Rabiser, Klaus Schmid, Holger Eichelberger, Michael Vierhauser, Sam Guinea und Paul Grünbacher
(2019):
A Domain Analysis of Resource and Requirements Monitoring: Towards a Comprehensive Model of the Software Monitoring Domain
In: Information and Software Technology, 111: 86-109.
Free download until 2019-06-07: https://authors.elsevier.com/a/1Yvdh3O8rCSPd~
Zusammenfassung [Context] Complex and heterogeneous software systems need to be monitored as their full behavior often only emerges at runtime, e.g., when interacting with other systems or the environment. Software monitoring approaches observe and check properties or quality attributes of software systems during operation. Such approaches have been developed in diverse communities for various kinds of systems and purposes. For instance, requirements monitoring aims to check at runtime whether a software system adheres to its requirements, while resource or performance monitoring collects information about the consumption of computing resources by the monitored system. Many venues publish research on software monitoring, often using diverse terminology, and focusing on different monitoring aspects and phases. The lack of a comprehensive overview of existing research often leads to re-inventing the wheel. [Objective] We provide a domain model to structure and systematize the field of software monitoring, starting with requirements and resource monitoring. [Method] We developed an initial domain model based on (i) our extensive experiences with requirements and resource monitoring, (ii) earlier efforts to develop a comparison framework for monitoring approaches, and (iii) an earlier systematic literature review on requirements monitoring frameworks. We then systematically analyzed 47 existing requirements and resource monitoring approaches to iteratively refine the domain model and to develop a reference architecture for software monitoring approaches. [Results] Our domain model covers the key elements of monitoring approaches and allows analyzing their commonalities and differences. Together with the reference architecture, our domain model supports the development of integrated monitoring solutions. We provide details on 47 approaches we analyzed with the model to assess its coverage. We also evaluate the reference architecture by instantiating it for five different monitoring solutions. [Conclusions] We conclude that requirements and resource monitoring have more commonalities than differences, which is promising for the future integration of existing monitoring solutions. |
68. |
Cui Qin, Holger Eichelberger und Klaus Schmid
(2019):
Enactment of Adaptation in Data Stream Processing with Latency Implications - A Systematic Literature Review
In: Information and Software Technology, 111: 1-21.
Free Download: https://authors.elsevier.com/a/1Yvdh3O8rCSPcx
Zusammenfassung [Context] Stream processing is a popular paradigm to continuously process huge amounts of data. Runtime adaptation plays a significant role in supporting the optimization of data processing tasks. In recent years runtime adaptation has received significant interest in scientific literature. However, so far no categorization of the enactment approaches for runtime adaptation in stream processing has been established. [Objective] This paper identifies and characterizes different approaches towards the enactment of runtime adaptation in stream processing with a main focus on latency as quality dimension. [Method] We performed a systematic literature review (SLR) targeting five main research questions. An automated search, resulting in 244 papers, was conducted. 75 papers published between 2006 and 2018 were finally included. From the selected papers, we extracted data like processing problems, adaptation goals, enactment approaches of adaptation, enactment techniques, evaluation metrics as well as evaluation parameters used to trigger the enactment of adaptation in their evaluation. [Results] We identified 17 different enactment approaches and categorized them into a taxonomy. For each, we extracted the underlying technique used to implement this enactment approach. Further, we identified 9 categories of processing problems, 6 adaptation goals, 9 evaluation metrics and 12 evaluation parameters according to the extracted data properties. [Conclusion] We observed that the research interest on enactment approaches to the adaptation of stream processing has significantly increased in recent years. The most commonly applied enactment approaches are parameter adaptation to tune parameters or settings of the processing, load balancing used to re-distribute workloads, and processing scaling to dynamically scale up and down the processing. In addition to latency, most adaptations also address resource fluctuation / bottleneck problems. For presenting a dynamic environment to evaluate enactment approaches, researchers often change input rates or processing workloads. |
2018 | |
67. |
Holger Eichelberger
(2018):
Flexible System-Level Monitoring of Heterogeneous Big Data Streaming Systems
In:
Proceedings of the 44th Euromicro Conference on Software Engineering and Advanced Applications
S. 289-292.
IEEE.
Zusammenfassung Monitoring complex distributed and heterogeneous systems such as cyber-physical or internet-of-things systems is challenging. Different kinds of information must be aggregated in a flexible manner to provide an overview on the actual state of the system. Recently, even heterogeneous Big Data systems have been proposed, which integrate classical server machines and hardware co-processors, such as Graphical Processing Units. In this paper, we present a system-level monitoring approach for a heterogeneous Big Data streaming system. We discuss the requirements stemming from a recent research project, a solution architecture and discuss experiences and promising results from preliminary experiments with the realization. |
66. |
Oliver Hummel, Holger Eichelberger, Andreas Giloj, Dominik Werle und Klaus Schmid
(2018):
A Collection of Software Engineering Challenges for Big Data System Development
In:
Proceedings of the 44th Euromicro Conference on Software Engineering and Advanced Applications
S. 362-369.
IEEE.
Zusammenfassung In recent years, the development of systems for processing and analyzing large amounts of data (so-called Big Data) has become an important sub-discipline of software engineering. However, to date there exits no comprehensive summary of the specific idiosyncrasies and challenges that the development of Big Data systems imposes on software engineers. With this paper, we aim to provide a first step towards filling this gap based on our collective experience from industry and academic projects as well as from consulting and initial literature reviews. The main contribution of our work is a concise summary of 26 challenges in engineering Big Data systems, collected and consolidated by means of a systematic identification process. The aim is to make practitioners more |
65. |
Holger Knoche und Holger Eichelberger
(2018):
Using the Raspberry Pi and Docker for Replicable Performance Experiments: Experience Paper
In:
Proceedings of the 2018 ACM/SPEC International Conference on Performance Engineering
S. 305-316.
ACM.
Zusammenfassung Replicating software performance experiments is difficult. A common obstacle to replication is that recreating the hardware and software environments is often impractical. As researchers usually run their experiments on the hardware and software that happens to be available to them, recreating the experiments would require obtaining identical hardware, which can lead to high costs. Recreating the software environment is also difficult, as software components such as particular library versions might no longer be available. Cheap, standardized hardware components like the Raspberry Pi and portable software containers like the ones provided by Docker are a potential solution to meet the challenge of replicability. In this paper, we report on experiences from replicating performance experiments on Raspberry Pi devices with and without Docker and show that good replication results can be achieved for microbenchmarks such as JMH. Replication of macrobenchmarks like SPECjEnterprise 2010 proves to be much more difficult, as they are strongly affected by (non-standardized) peripherals. Inspired by previous microbenchmarking experiments on the Pi platform, we furthermore report on a systematic analysis of response time fluctuations, and present lessons learned on dos and don»ts for replicable performance experiments |
2017 | |
64. |
Holger Eichelberger, Cui Qin und Klaus Schmid
(2017):
Experiences with the Model-based Generation of Big Data Applications
In:
Lecture Notes in Informatics (LNI) - Datenbanksysteme für Business, Technologie und Web (BTW '17) - Workshopband
S. 49-56.
Zusammenfassung Developing Big Data applications implies a lot of schematic or complex structural tasks, which can easily lead to implementation errors and incorrect analysis results. In this paper, we present a model-based approach that supports the automatic generation of code to handle these repetitive tasks, enabling data engineers to focus on the functional aspects without being distracted by technical issues. In order to identify a solution, we analyzed different Big Data stream-processing frameworks, extracted a common graph-based model for Big Data streaming applications and developed a tool to graphically design and generate such applications in a model-based fashion (in this work for Apache Storm). Here, we discuss the concepts of the approach, the tooling and, in particular, experiences with the approach based on feedback of our partners. |
63. |
Holger Eichelberger, Cui Qin und Klaus Schmid
(2017):
From Resource Monitoring to Requirements-based Adaptation: An Integrated Approach
In:
Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering Companion (ICPE '17)
S. 91-96.
ACM.
Zusammenfassung In large and complex systems there is a need to monitor resources as it is critical for system operation to ensure sufficient availability of resources and to adapt the system as needed. While there are various (resource)-monitoring solutions, these typically do not include an analysis part that takes care of analyzing violations and responding to them. In this paper we report on experiences, challenges and lessons learned in creating a solution for performing requirements-monitoring for resource constraints and using this as a basis for adaptation to optimize the resource behavior. Our approach rests on reusing two previous solutions (one for resource monitoring and one for requirements-based adaptation) that were built in our group. |
62. |
Klaus Schmid und Holger Eichelberger
(2017):
Variability Modeling with EASy-Producer
In:
Proceedings of the 21st International Systems and Software Product Line Conference
Bd. A.
S. 251-251.
ACM.
Zusammenfassung EASy-Producer is an open-source research toolset for engineering product lines, variability-rich software ecosystems, and dynamic software product lines. In this tutorial, we will focus on its (textual) variability modeling capabilities as well as its configuration and validation functionality. Further, we will provide an outlook on how EASy-Producer can be applied to variability instantiation. |
61. |
Jesper Andersson, Rafael Capilla, Luciano Baresi und Holger Eichelberger
(2017):
10th International Workshop on Dynamic Software Product Lines (DSPL'17): Adaptive Systems through Runtime Variability
In:
Proceedings of the 21st International Systems and Software Product Line Conference - Volume A
Bd. A.
S. 246-246.
ACM.
Zusammenfassung Dynamic Software Product Lines (DSPLs) is still an incipient paradigm to support runtime reconfiguration of systems that need to change their behavior under varying circumstances. As many modern systems demand reconfiguration after post-deployment time, this 10th edition of the DSPL workshops attempts to bring new insight and approaches for such needs. |
60. |
Holger Knoche und Holger Eichelberger
(2017):
The Raspberry Pi: A Platform for Replicable Performance Benchmarks?
In:
Proceedings of the 8th Symposium on Software Performance in Softwaretechnik-Trends
Bd. 37.
Heft / Ausgabe 3.
S. 14-16.
Zusammenfassung Replicating results of performance benchmarks can be difficult. A common problem is that researchers often do not have access to identical hardware and software setups. Modern single-board computers like the Raspberry Pi are standardized, cheap, and powerful enough to run many benchmarks, although probably not at the same performance level as desktop or server hardware. In this paper, we use the MooBench micro-benchmark to investigate to what extent Raspberry Pi is suited as a platform for replicable performance benchmarks. We report on our approach to set up and run the experiments as well as the experience that we made. |
2016 | |
59. |
Holger Eichelberger, Claudia Niederée, Apostolos Dollas, Ekaterini Ioannou, Cui Qin, Grigorios Chrysos, Christoph Hube, Tuan Tran, Apostolos Nydriotis, Pavlos Malakonakis, Stefan Burkhard, Tobias Becker und Minos Garofalakis
(2016):
Configure, Generate, Run - Model-based Development for Big Data Processing
In:
European Project Space on Intelligent Technologies, Software engineering, Computer Vision, Graphics, Optics and Photonics - Volume 1: EPS Rome 2016
S. 124-148.
SciTePress.
Zusammenfassung The development of efficient and robust algorithms for Big Data processing is a demanding task, which has to cope with the characteristics of this type of data (3Vs). Putting such algorithms as processing elements into larger pipelines adds an extra level of complexity, which can be alleviated by relying on a model-based approach including code generation. This allows data analysts to compose such pipelines on a higher level of abstraction, reducing the development effort as well as the risk of errors. In this chapter, we outline a model-based and adaptive approach to the development of data processing pipelines in heterogeneous processing contexts. It relies on a flexible, tool-supported approach to configuration, which embraces three levels: (a) a heterogeneous processing infrastructure - including reconfigurable hardware, (b) the pipelines as well as (c) the stakeholder applications built upon the pipelines. Furthermore, selected aspects of implementing the approach, which is validated in the context of the financial domain, are presented. |
58. |
Cui Qin und Holger Eichelberger
(2016):
Impact-minimizing Runtime Switching of Distributed Stream Processing Algorithms
In:
Proceedings of the Workshops of the EDBT/ICDT 2016 Joint Conference
CEUR-WS.org.
Zusammenfassung Stream processing is a popular paradigm to process huge amounts of data. During processing, the actual characteristics of the analyzed data streams may vary, e.g., in terms of volume or velocity. To provide a steady quality of the analysis results, runtime adaptation of the data processing is desirable. While several techniques for changing data stream processing at runtime do exist, one specific challenge is to minimize the impact of runtime adaptation on the data processing, in particular for real-time data analytics. In this paper, we focus on the runtime switching among alternative distributed algorithms as a means for adapting complex data stream processing tasks. We present an approach, which combines stream re-routing with buffering and stream synchronization to reduce the impact on the data streams. Finally, we analyze and discuss our approach in terms of a quantitative evaluation. |
57. |
Holger Eichelberger, Cui Qin, Roman Sizonenko und Klaus Schmid
(2016):
Using IVML to Model the Topology of Big Data Processing Pipelines
In:
Proceedings of the 20th International Systems and Software Product Line Conference
S. 204 - 208.
ACM.
Zusammenfassung Creating product lines of Big Data stream processing applications introduces a number of novel challenges to variability modeling. In this paper, we discuss these challenges and demonstrate how advanced variability modeling capabilities can be used to directly model the topology of processing pipelines as well as their variability. We also show how such processing pipelines can be modeled, configured and validated using the Integrated Variability Modeling Language (IVML). |
56. | Klaus Schmid und Holger Eichelberger (2016): EASy-Producer: From Product Lines to Variability-rich Software Ecosystems In: Proceedings of the 20th International Systems and Software Product Line Conference S. 309-309. ACM. |
55. |
Holger Eichelberger
(2016):
A Matter of the Mix: Integration of Compile and Runtime Variability
In:
2016 IEEE 1st International Workshops on Foundations and Applications of Self-* Systems, Proceedings of the 9th International Workshop on Dynamic Software Product Lines (DSPL '16)
S. 12-15.
IEEE.
Zusammenfassung While dynamic software product lines focus on runtime variability, traditional software product lines typically aim at development-time variability. In this paper, we argue that integrating both kinds of binding times into a single variability model can be beneficial for modeling the adaptation space as well as for controlling runtime decision making. We achieve this by a mix of modeling and constraint capabilities. We illustrate the integration of compile time and runtime variability using a general-purpose variability modeling language and an example from the field of adaptive data stream processing. We also discuss advantages and disadvantages of our approach. |
54. |
Robert Heinrich, Holger Eichelberger und Klaus Schmid
(2016):
Performance Modeling in the Age of Big Data - Some Reflections on Current Limitations
In:
Proceedings of the 3rd International Workshop on Interplay of Model-Driven and Component-Based Software Engineering (ModComp '16)
S. 37-38.
Zusammenfassung Big Data aims at the efficient processing of massive amounts of data. Performance modeling is often used to optimize performance of systems under development. Based on experiences from modeling Big Data solutions, we describe some problems in applying performance modeling and discuss potential solution approaches. |
53. |
Holger Eichelberger, Aike Sass und Klaus Schmid
(2016):
From Reproducibility Problems to Improvements: A journey
In:
Proceedings of the 7th Symposium on Software Performance
Bd. Softwaretechnik-Trends.
Heft / Ausgabe 4.
S. 43-45.
Zusammenfassung Reproducibility and repeatability are key properties of benchmarks. However, achieving reproducibility can be difficult. We faced this while applying the micro-benchmark MooBench to the resource monitoring framework SPASS-meter. In this paper, we discuss some interesting problems that occurred while trying to reproduce previous benchmarking results. In the process of reproduction, we extended MooBench and made improvements to the performance of SPASS-meter. We conclude with lessons learned for reproducing (micro-)benchmarks. |
2015 | |
52. |
Sascha El-Sharkawy, Christian Kröher, Holger Eichelberger und Klaus Schmid
(2015):
Experience from Implementing a Complex Eclipse Extension for Software Product Line Engineering
In:
Proceedings of the Eclipse Technology eXchange (ETX '15)
Zusammenfassung Software Product Line Engineering (SPLE) is a systematic approach for the development of related software products. These products share a common infrastructure but vary with respect to their individual capabilities, called variabilities. Variability management is a key part of SPLE and is responsible for developing, combining and configuring such variabilities. As these activities are inherently complex, SPLE significantly benefits from tool-support. We developed a customizable Eclipse extension for SPLE that consists of around 38 plug-ins. The resulting tool, called EASy-Producer, extends the Eclipse IDE by the capability to support the creation and management of software product line projects. To provide this capability, EASy-Producer utilizes the extension concepts of the Eclipse platform and integrates additional frameworks, like Xtext. In this paper, we share our experience while applying the Eclipse technologies and, in particular, realizing specific capabilities of our tool using the Eclipse framework. The focus of this paper is on our lessons learned regarding managing workspace information and conflicting build mechanism as well as using Eclipse extensions outside of Eclipse. These lessons serve as an input to the Eclipse community and may help other developers in realizing a complex Eclipse extension. |
51. |
Holger Eichelberger und Klaus Schmid
(2015):
IVML: A DSL for Configuration in Variability-rich Software Ecosystems
In:
Proceedings of the 19th International Conference on Software Product Line
S. 365-369.
ACM.
Zusammenfassung Variability-rich Software Ecosystems need configuration capabilities just as in any product line. However, various additional capabilities are required, taking into account the software ecosystem characteristics. In order to address these specific needs, we developed the Integrated Variability Modeling Language (IVML) for describing configurations of variability-rich software ecosystems. IVML is a variability modeling and configuration language along with accompanying reasoning facilities. |
50. |
Klaus Schmid und Holger Eichelberger
(2015):
EASy-Producer: From Product Lines to Variability-rich Software Ecosystems
In:
Proceedings of the 19th International Conference on Software Product Line
S. 390-391.
ACM.
Zusammenfassung The EASy-Producer product line environment is a novel open-source tool that supports the lightweight engineering of software product lines and variability-rich software ecosystems. It has been applied in several industrial case studies, showing its practical applicability both from a stability and a capability point of view. The tool set integrates both, interactive configuration capabilities and a DSL-based approach to variability modeling, configuration definition and product derivation. The goal of the tutorial is to provide the participants with an overview of the tool. However, the main focus will be on a brief introduction of the DSLs. After participating in the tutorial, the participants will understand the capabilities of the toolset and will have a basic practical understanding of how to use it to define software ecosystems and derive products from them. |
49. | Holger Eichelberger und Klaus Schmid (2015): Software konfigurieren statt programmieren mit EASy-Producer In: Eclipse Magazin (1.16): 89-94. |
48. |
Holger Eichelberger, Cui Qin, Klaus Schmid und Claudia Niederée
(2015):
Adaptive Application Performance Management for Big Data Stream Processing
In: Softwaretechnik-Trends, 35 (3): 35-37.
Zusammenfassung Big data applications with their high-volume and dynamically changing data streams impose new challenges to application performance management. Efficient and effective solutions must balance performance versus result precision and cope with dramatic changes in real-time load and needs without over-provisioning resources. Moreover, a developer should not be burdened too much with addressing performance management issues, so he can focus on the functional perspective of the system For addressing these challenges, we present a novel comprehensive approach, which combines software configuration, model-based development, application performance management and runtime adaptation. |
47. |
Holger Eichelberger und Klaus Schmid
(2015):
Mapping the Design-Space of Textual Variability Modeling Languages: A Refined Analysis
In: International Journal of Software Tools for Technology Transfer, 17 (5): 559-584.
Zusammenfassung Variability modeling is a major part of modern product line engineering. Graphical or table-based approaches to variability modeling are focused around abstract models and specialized tools to interact with these models. However, more recently textual variability modeling languages, comparable to some extent to programming languages, were introduced. We consider the recent trend in product line engineering towards textual variability modeling languages as a phenomenon, which deserves deeper analysis. In this article, we report on the results and approach of a literature survey combined with an expert study. In the literature survey, we identified 11 languages, which enable the textual specification of product line variability and which are sufficiently described for an in-depth analysis. We provide a classification scheme, useful to describe the range of capabilities of such languages. Initially, we identified the relevant capabilities of these languages from a literature survey. The result of this has been refined, validated and partially improved by the expert survey. A second recent phenomenon in product line variability modeling is the increasing scale of variability models. Some authors of textual variability modeling languages argue that these languages are more appropriate for large-scale models. As a consequence, we would expect specific capabilities addressing scalability in the languages. Thus, we compare the capabilities of textual variability modeling techniques, if compared to graphical variability modeling approaches and in particular to analyze their specialized capabilities for large-scale models. |
2014 | |
46. |
Ioanna Lytra, Holger Eichelberger, Huy Tran, Georg Leyh, Klaus Schmid und Uwe Zdun
(2014):
On the Interdependence and Integration of Variability and Architectural Decisions
In:
Proceedings of the 8th International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS '14)
S. 19:1-19:8.
ACM.
Zusammenfassung In software product line engineering, the design of assets for reuse and the derivation of software products entails low-level and high-level decision making. In this process, two major types of decisions must be addressed: variability decisions, i.e., decisions made as part of variability management, and architectural decisions, i.e., fundamental decisions to be made during the design of the architecture of the product line or the products. In practice, variability decisions often overlap with or influence architectural decisions. For instance, resolving a variability may enable or prevent some architectural options. This inherent interdependence has not been explicitly and systematically targeted in the literature, and therefore, is mainly resolved in an ad hoc and informal manner today. In this paper, we discuss possible ways how variability and architectural decisions interact, as well as their management and integration in a systematic manner. We demonstrate the integration between the two types of decisions in a motivating case and leverage existing tools for implementing our proposal. |
45. | Holger Eichelberger und Klaus Schmid (2014): Flexible Resource Monitoring of Java Programs In: Journal of Systems and Software, 93: 163-186. Elsevier. |
44. |
Holger Eichelberger, Sascha El-Sharkawy, Christian Kröher und Klaus Schmid
(2014):
EASy-Producer: Product Line Development for Variant-rich Ecosystems
In:
Proceedings of the 18th International Software Product Line Conference: Companion Volume for Workshops, Demonstrations and Tools
Bd. 2.
S. 133-137.
ACM.
Zusammenfassung Development of software product lines requires tool support, e.g., to define variability models, to check variability models for consistency and to derive the artifacts for a specific product. Further capabilities are required when product lines are combined to software ecosystems, i.e., management and development of distributed product lines across multiple different organizations. In this paper, we describe EASy-Producer, a prototypical tool set for the development of software product lines in general and variant-rich ecosystems in particular. To support the product line engineer, EASy-Producer differentiates between simplified views limiting the capabilities and expert views unleashing its full power. We will discuss how these two views support the definition of variability models, the derivation of product configurations and the instantiation of artifacts. |
43. |
Holger Eichelberger und Klaus Schmid
(2014):
Resource-optimizing Adaptation for Big Data Applications
In:
Proceedings of the 18th International Software Product Line Conference: Companion Volume for Workshops, Demonstrations and Tools
Bd. 2.
S. 10-11.
ACM.
Zusammenfassung The resource requirements of Big Data applications may vary dramatically over time, depending on changes in the context. If resources should not be defined for the maximum case, but available resources are mostly static, there is a need to adapt resource usage by modifying the processing behavior. The QualiMaster project researches such an approach for the analysis of systemic risks in the financial markets. |
2013 | |
42. |
Holger Eichelberger und Klaus Schmid
(2013):
A Systematic Analysis of Textual Variability Modeling Languages
In:
17th International Software Product Line Conference (SPLC '13)
S. 12-21.
ACM.
Zusammenfassung Industrial variability models tend to grow in size and complexity due to ever-increasing functionality and complexity of software systems. Some authors report on variability models specifying several thousands of variabilities. However, traditional variability modeling approaches do not seem to scale adequately to cope with size and complexity of such models. Recently, textual variability modeling languages have been advocated as one scalable solution. In this paper, we provide a systematic analysis of the capabilities of current textual variability modeling languages, in particular regarding variability management in the large. Towards this aim, we define a classification schema consisting of five dimensions, classify ten different textual variability modeling languages using the classification schema and provide an analysis. In summary, some textual variability modeling languages go beyond textual representations of traditional variability modeling approaches and provide sophisticated modeling concepts and constraint languages. Three textual variability modeling approaches already support mechanisms for large-scale variability modeling such as model composition, modularization, or evolution support. |
41. |
Holger Eichelberger, Christian Kröher und Klaus Schmid
(2013):
An Analysis of Variability Modeling Concepts: Expressiveness vs. Analyzability
In:
John Favaro and Maurizio Morisio (Hrsg.):
Proceeding of the 13th International Conference on Software Reuse (ICSR '13)
S. 32-48.
Springer.
Zusammenfassung Variability modeling is a core activity of software product line engi-neering. Over the years, many different approaches to variability modeling have been proposed. Typically, the individual approaches have been designed with-out a detailed justification on why certain modeling concepts should be used. This yields a rather unfunded selection of modeling approaches in practice, e.g., selecting approaches that provide higher modeling concepts than actually need-ed, but less analyses capabilities than required. Thus, we propose that the focus of an analysis should not be to determine the best modeling language, but rather to provide a characterization on when to use what kind of approach. In particu-lar, the selection of one approach for a specific situation should be driven from the required modeling concepts (expressiveness) and the required analyzability. In this paper, we propose a classification of core concepts of variability model-ing based on expressiveness and analyzability. We discuss the methodology for and the classification of variability modeling concepts illustrated by a running example. The contribution of this paper is a modeling approach-independent classification of variability modeling concepts and their dependencies to pro-vide a systematic and rationale basis to anyone designing, standardizing, im-plementing or selecting a specific variability modeling approach. |
40. |
Klaus Schmid, Holger Eichelberger und Christian Kröher
(2013):
Domain-Oriented Customization of Service Platforms: Combining Product Line Engineering and Service-Oriented Computing
In: Journal of Universal Computer Science (JUCS), 19 (2): 233-253.
Zusammenfassung Service-Oriented Computing (SoC) has been established as an important paradigm over the last decade. A particularly important part in a service-oriented solution is the service-oriented platform. This provides an environment and infrastructure for a number of service-oriented applications. An important challenge in complex application areas is the need to customize these platforms to the demands of a specific context. Product line technologies can support this by providing the concept of variability management to SoC. In this paper, we will provide a reference model for (domain-specific) service platforms and describe different approaches that provide customization possibilities in a service platform context. The complexity of handling the customization of large-scale service platforms in an integrated manner will be addressed by introducing the concept of production strategies for variability implementation techniques. |
2012 | |
39. | Holger Eichelberger (2012): SPASS-meter - Measuring Diverse Software Attributes in an Integrated Manner Invited talk at KoSSE Symposium Application Performance Management (Kieker Days 2012) |
38. |
Holger Eichelberger, Christian Kröher und Klaus Schmid
(2012):
Variability in Service-Oriented Systems: An Analysis of Existing Approaches
In:
Chengfei Liu and Heiko Ludwig and Farouk Toumani and Qi Yu (Hrsg.):
Proceedings of the 10th International Conference on Service Oriented Computing (ICSOC '12)
S. 516-524.
Springer.
Zusammenfassung In service-oriented systems services can be easily reused and shared without modification. However, there are business situations where a variation of services is needed to meet the requirements of a specific customer or context. Variation of software systems has been well researched in product line engineering in terms of Variability Implementation Techniques (VITs). While most VITs focus on the customization of traditional software systems, several VITs have been developed for service-oriented systems. In this paper, we discuss the problem of service customization and provide an overview of different VITs for service variability. For this purpose, we will define four dimensions to describe, characterize and analyze existing VITs: the technical core idea, the object of variation, the forms of variation, and the binding time. |
37. |
Holger Eichelberger und Klaus Schmid
(2012):
Erhebung von Produkt-Laufzeit-Metriken: Ein Vergleich mit dem SPASS-Meter-Werkzeug
In:
G. Büren and R. R. Dumke and C. Ebert and H. Münch (Hrsg.):
Proceedings of the DASMA Metrik Kongress (MetriKon '12)
S. 171-180.
Shaker Verlag.
Zusammenfassung Die Erfassung von Produktmetriken zur Laufzeit ist ein wesentlicher Baustein einer Qualitätsstrategie in der Produktentwicklung. Die Erfassung von Produktmetriken in der Entwicklung ist jedoch oft mit signifikantem Aufwand verbunden, da viele Werkzeuge nur bestimmte Eigenschaften erfassen können und ihre Verwendung oft sehr komplex ist. Darüber hinaus entsteht durch die Durchführung der Messung meist ein signifikanter Laufzeit-Overhead. Das Ziel des SPASS-meter-Werkzeugs ist die integrierte Erfassung einer Vielzahl von Metriken bei einfacher Konfiguration und geringem Laufzeit-Overhead. In diesem Beitrag stellen wir SPASS-meter vor und vergleichen es mit bekannten ähnlichen Werkzeugen wie Kieker, OpenCore, Xprof und HPROF. Eine Übersicht der Stärken und Schwächen schließt den Vergleich ab. |
2011 | |
36. | Holger Eichelberger, Yilmaz Eldogan und Klaus Schmid (2011): A comprehensive analysis of UML tools, their capabilities and their compliance (2nd Edition 2011) Heft / Ausgabe 1/2012. Institute for Computer Science, University of Hildesheim, Germany. |
2010 | |
35. | Klaus Schmid, Holger Eichelberger, Ursula Goltz und Malte Lochau (2010): Evolving Adaptable Systems: Potential and Challenges In: Proceedings of the 2nd Workshop "Design for Future |
34. |
Holger Eichelberger und Klaus Schmid
(2010):
Anpassbare RE-Werkzeuge - Eine Fallstudie
In: Softwaretechnik-Trends, 30 (1): 16-17.
Zusammenfassung Die Anpassung von Anforderungswerkzeugen an den Projektkontext ist im Regelfall durch die Anpassungsfähigkeiten des jeweiligen Werkzeuges stark eingeschränkt. In diesem Beitrag stellen wir einen generativen Ansatz zur Anpassung von Anforderungswerkzeugen vor und demonstrieren den Ansatz im Rahmen einer Fallstudie. Unser Ansatz ermöglicht die einfache, zielgerichtete und weitreichende Anpassung an die Anwendungssituation. |
33. | Klaus Schmid, Holger Eichelberger, Ursula Goltz und Malte Lochau (2010): Evolving Adaptable Systems: Potential and Challenges In: Softwaretechnik-Trends, 30 (2): 48-49. |
2009 | |
32. |
Holger Eichelberger, Yilmaz Eldogan und Klaus Schmid
(2009):
A Comprehensive Analysis of UML Tools, their Capabilities and their Compliance
Heft / Ausgabe 1/2012.
Institut für Informatik, Universität Hildesheim, Germany.
Zusammenfassung Im letzten Jahrzehnt hat sich die Unified Modeling Language (UML) als Modellierungssprache für den praktischen Einsatz im Software Engineering weitgehend durchgesetzt. Aufgrund der Komplexität der UML Spezifikation ist es allerdings für ein einzelnes Werkzeug sehr schwierig, die gesamte Bandbreite der UML Modellierungselemente getreu der UML Spezifikationen umzusetzen. Werkzeugrealisierungen unterscheiden sich daher maßgeblich anhand der von ihnen unterstützten Teile der UML Spezifikation. Die Entscheidung einer Entwicklungsorganisation für ein konkretes Modellierungswerkzeug ist bedeutsam für das ganze Unternehmen. Im Regelfall zieht eine derartige Entscheidung empfindliche Kosten nach sich, z.B. für das Training der Mitarbeiter. Lizenzkosten stellen dabei oft nur einen geringen Anteil der tatsächlichen Kosten für ein Werkzeug dar. Folglich sollte eine Werkzeugauswahl mit großer Sorgfalt durchgeführt werden. Die vorliegende Studie ist zurzeit der wohl umfassendste Vergleich von UML Werkzeugen und stellt damit ein geeignetes Hilfsmittel dar, um zu einer rationalen Entscheidung über einzusetzende Werkzeuge zu gelangen. Der Schwerpunkt dieser Studie liegt auf der Umsetzung von Modellierungfähigkeiten durch die Werkzeuge, d.h. ob und wie Modellierungselementen und -eigenschaften der UML umgesetzt wurden. Um die UML Modellierungsfähigkeiten detailliert prüfen zu können, wurde die UML Spezifikation in 476 Merkmale aufgegliedert, die individuell für jedes betrachtete Werkzeug geprüft wurden. Eine detaillierte Aufschlüsselung verknüpft die für jedes Werkzeug identifizierten Fähigkeiten mit den Anforderungen, die von der UML für einzelne Diagrammtypen gemacht werden. Auf diese Weise kann die Anwendbarkeit eines konkreten Werkzeuges für einen gegebenen Anwendungskontext schnell überprüft werden. Als Bestandteil unserer Analyse charakterisieren wir jedes Werkzeug durch Angabe der individuellen UML compliance, einem Kategorisierungsschema der OMG. |
31. |
Holger Eichelberger und Klaus Schmid
(2009):
Anpassbare RE-Werkzeuge - Eine Fallstudie
In:
GI-Fachgruppentreffen Requirements Engineering
Zusammenfassung Die Anpassung von Anforderungswerkzeugen an den Projektkontext ist im Regelfall durch die Anpassungsfähigkeiten des jeweiligen Werkzeuges stark eingeschränkt. In diesem Beitrag stellen wir einen generativen Ansatz zur Anpassung von Anforderungswerkzeugen vor und demonstrieren den Ansatz im Rahmen einer Fallstudie. Unser Ansatz ermöglicht die einfache, zielgerichtete und weitreichende Anpassung an die Anwendungssituation. |
30. |
Holger Eichelberger, Yilmaz Eldogan und Klaus Schmid
(2009):
How much UML is in my UML Tool? An Overview
In:
Proceedings of the 2nd Systems Engineering Infrastructure Conference (SEISCONF '09)
Zusammenfassung The Unified Modeling Language (UML) has been widely adopted in industrial software engineering as the reference standard for software and systems modeling. A wide range of different tools have been developed both by industrial vendors as well as by the open source community. However, due to the complexity of the UML specification it is very difficult for a single tool to support the full range of UML standards faithfully. In practice tools differ significantly in terms of the parts of the UML specification they support |
29. |
Holger Eichelberger, Yilmaz Eldogan und Klaus Schmid
(2009):
A Comprehensive Survey of UML Compliance in Current Modelling Tools
In:
P. Liggesmeyer and G. Engels and J. M (Hrsg.):
Proceedings of the Software Engineering 2009 Fachtagung des GI-Fachbereich Softwaretechnik
S. 39-50.
Köllen Verlag.
Zusammenfassung The Unified Modeling Language (UML) specification is widely adopted in software engineering. When tools do not fully implement the UML specification, the user might be locked-in to a modeling tool, e.g. when exported models are not compatible among tools or tools implement different subsets of the UML. These compatibility problems also have significant impact on the effectiveness of model-driven development approaches. Compliance, as defined by the UML standard, is intended to characterize tools and to highlight such problems. In this paper we describe an approach to asses the UML compliance levels of modeling tools. Using UML definition of compliance, we could only identify 4 out of 68 tools as being acceptable. |
28. |
Holger Eichelberger und Klaus Schmid
(2009):
Guidelines on the Aesthetic Quality of UML Class Diagrams
In: Information and Software Technology, 51 (12): 1686-1698.
Zusammenfassung In the past, formatting guidelines have proved to be a successful method to improve the readability of source code. With the increasing success of visual specification languages such as UML for model-driven software engineering visual guidelines are needed to standardize the presentation and the exchange of modeling diagrams with respect to human communication, understandability and readability. In this article, we introduce a new and encompassing taxonomy of visual guidelines capturing the aestheticquality of UMLclassdiagrams. We propose these guidelines as a framework to improve the aestheticquality and thus the understandability of UMLclassdiagrams. To validate this claim, we describe in detail a controlled experiment carried out as a pilot study to gather preliminary insights on the effects of some of the guideline rules on the understandability of UMLclassdiagrams. |
2008 | |
27. | Holger Eichelberger und Klaus Schmid (2008): Experimental Material for the Software Engineering Experiment SoSe 2008 Online available at: http://www.sse.uni-hildesheim.de/experimentSoSe08.zip |
26. |
Holger Eichelberger und Klaus Schmid
(2008):
EASy-Producer - A Product Line Production Environment
In:
Proceedings of the 12th International Software Product Line Conference (SPLC '08)
S. 357.
IEEE Computer Society.
Zusammenfassung In this paper, we describe EASy-producer, a prototypical production environment for software product lines (SPL), in particular for the realization of adaptive systems and dynamic SPL. |
25. | Holger Eichelberger und Klaus Schmid (2008): Concepts for Flexible Component Integration for Product Lines In: Work in Progress Session at the 38th EUROMICRO Conference on Software Engineering and Advanced Applications 2008 (SEAA '08) |
24. |
Holger Eichelberger
(2008):
Automatic Layout of UML Use Case Diagrams
In:
Rainer Koschke and Christopher D. Hundhausen and Alexandru Telea (Hrsg.):
Proceedings of the 4th ACM Symposium on Software Visualization (SoftVis '08)
S. 105-114.
ACM.
Zusammenfassung Model-based and model-driven development will receive increased attention in future software production processes. Currently, UML and the related Model Driven Architecture attract lot of interest in this area, but so far most tools rely on manual visualization techniques and only few tools support automatic visualizations e.g. of intermediary transformation results to support the understanding and debugging of model-driven transformation processes. Aside from structural models or control flow specifications, in particular UML use case diagrams are frequently used to visualize high level views on system functionality and are also considered as source and target models in upcoming model-driven production chains. To support use case diagrams in future software development, in this paper we present guidelines for the layout of UML use case diagrams, a deterministic layout algorithm supporting these guidelines and a prototypical implementation of the algorithm. |
23. |
Klaus Schmid und Holger Eichelberger
(2008):
Model-Based Implementation of Meta-Variability Constructs: A Case Study using Aspects
In:
Patrick Heymans and Kyo Chul Kang and Andreas Metzger and Klaus Pohl (Hrsg.):
Proceedings of the 2nd International Workshop on Variability Modelling of Software-intensive Systems (VaMos'08)
S. 63-71.
Institut für Informatik und Wirtschaftsinformatik, Universität Duisburg.
Zusammenfassung In this paper, we introduce the concept of metavariability, i.e., variability with respect to basic variability attributes like binding time or constraints. While the main focus of this paper is on the introduction of the concept, we will also illustrate the concept by providing a case study. The case study will feature a simple implementation environment based on aspect-oriented programming and will include an example that will exhibit some key characteristics of the envisioned production process. |
22. |
Klaus Schmid und Holger Eichelberger
(2008):
A Requirements-Based Taxonomy of Software Product Line Evolution
In: Electronic Communications of the EASST, 8.
Zusammenfassung Software product lines are, by their very nature, complex software systems. Due to the interconnectedness of the various products in the product line any form of evolution becomes significantly more complex than in a single system situation. So far most work on product line evolution has focused on specific approaches to supporting special cases of the evolution problem. In this paper, we take a different approach and provide a broad taxonomy of requirements-driven evolution in software product lines. This serves as a basis for the identification of requirements on evolution support. |
21. | Klaus Schmid und Holger Eichelberger (2008): From Static to Dynamic Software Product Lines In: Steffen Thiel and Klaus Pohl (Hrsg.): Proceedings of the 2nd International Workshop on Dynamic Software Product Lines (DSPL '08) at the 12th International Software Product Line Conference (SPLC '08) Bd. 2. S. 33-38. Lero Int. Science Centre, University of Limerick, Ireland. |
2007 | |
20. |
Holger Eichelberger
(2007):
SVNControl - Ein Remote-Administrationswerkzeug für SVN auf Open Source Basis
In:
Proceedings of the 1st Subversion Conference (SubConf '07)
Zusammenfassung Subversion hat sich als leistungsfähiges und einfach zu nutzendes Werkzeug für die Konfigurationsverwaltung im Open Source Bereich durchgesetzt. Die Benutzerfreundlichkeit für den Enduser wird insbesondere durch Erweiterungen wie TortoiseSVN unterstützt. Leider fehlt bisher eine entsprechende Unterstützung für die (Remote-) Administration. Diese Erkenntnis war Ausgangspunkt für die Entwicklung von SVNControl. Im Rahmen des Vortrags werden die Anforderungen und die aktuelle Entwicklungsroadmap des Werkzeuges dargestellt, das bereits frei verfügbar ist. |
2006 | |
19. |
Jürgen Wolff von Gudenberg, A. Niederle, M. Ebner Ebner und Holger Eichelberger
(2006):
An Evolutionary Algorithm for the Layout of UML Class Diagrams
Heft / Ausgabe 391.
Institut für Informatik, Universität Würzburg, Germany.
Zusammenfassung An evolutionary algorithm that layouts UML class diagrams is developed and described. It evolves the layout by mutating the positions of class symbols, inheritance relations, and associations. The process is controled by a fitness function that is computed from several well-known and some new layout metrics. |
18. |
Jürgen Wolff von Gudenberg, A. Niederle, M. Ebner und Holger Eichelberger
(2006):
Evolutionary Layout of UML Class Diagrams
In:
Eileen Kraemer and Margaret M. Burnett and Stephan Diehl (Hrsg.):
Proceedings of the 3rd ACM Symposium on Software Visualization (SoftVis '06)
S. 163-164.
ACM.
Zusammenfassung An evolutionary algorithm that layouts UML class diagrams is developed and described. It evolves the layout by mutating the positions of class symbols, inheritance relations, and associations. The process is controled by a fitness function that is computed from several well-known and some new layout metrics. |
17. |
Holger Eichelberger
(2006):
On Class Diagrams, Crossings and Metrics
In:
Internationales Begegnungs- und Forschungszentrum für Informatik (IBFI)
Zusammenfassung UML class diagrams, internationally specified and widely used in software engineering, are a great challenge in automatic drawing of graphs. Due to the complex nature of UML class diagrams and the requirements of software engineers, who need to read these diagrams, layout rules and algorithms for general graphs can not be applied without adaptions, extensions and modifications. In this paper, we present layout rules, a hierarchical layout algorithm and an edge crossing reduction strategy tailored for UML class diagrams. Furthermore, the problem of measuring aesthetic quality is discussed. |
2005 | |
16. | Holger Eichelberger (2005): Aesthetics and Automatic Layout of UML Class Diagrams Universität Würzburg. |
2004 | |
15. |
Holger Eichelberger und Jürgen Wolff von Gudenberg
(2004):
Object-oriented Processing of Java Source Code
In: Software - Practice & Experience, 34 (12): 1157-1185.
Zusammenfassung Code transformation and analysis tools provide support for software engineering tasks such as style checking, testing, calculating software metrics as well as reverse- and re-engineering. In this paper we describe the architecture and the applications of JTransform, a general Java source code processing and transformation framework. It consists of a Java parser generating a configurable parse tree and various visitors (transformers, tree evaluators) which produce different kinds of outputs. While our framework is written in Java, the paper further opens an opportunity for a new generation of XML-based source code tools. |
14. |
Holger Eichelberger und Jürgen Wolff von Gudenberg
(2004):
JTransform, a Tool for Source Code Analysis
In: Softwaretechnik-Trends, 24 (2): 65-66.
Zusammenfassung Code transformation and analysis tools provide support for software engineering tasks such as style checking, testing, calculating software metrics as well as reverse- and reengineering. In a reverse step information is picked from a source text in order to facilitate its comprehension, its visualization or the check of agreed standards concerning coding quality or layout. In this short paper (see [3] for details) we describe JTransform, a general Java source code processing and transformation framework. It consists out of a Java parser generating a configurable parse tree and various visitors (transformers, tree evaluators) which produce different kind of outputs. |
2003 | |
13. |
Holger Eichelberger und Jürgen Wolff von Gudenberg
(2003):
Demonstration of the Advanced Layout of UML Class Diagrams by SugiBib
In:
Proceedings of the 2nd International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT '03)
Zusammenfassung The Unified Modeling Language (UML) [7] has become the standard for specifying object-oriented software systems. Some of the tools are primarily designed to work on a direct mapping between the design diagrams and the software and vice versa. Since understanding the software is usually using more abstract concepts than those defined in programming languages, restriction of the UML used in these tools is not permissible. On the other side, visualization of changes to the software implementation and design documents require sophisticated layout algorithms. In [2] we have shown that most of the tools are not sufficient in that field. |
12. |
Holger Eichelberger und Jürgen Wolff von Gudenberg
(2003):
UML Class Diagrams - State of the Art in Layout Techniques
In:
Proceedings of the 2nd International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT '03)
S. 30-34.
Zusammenfassung Even if the standard for specifying software, the Unified Modeling Language, is known in different versions to everybody, CASE tool vendors did not implement all basic features. Even with class diagrams, many features of the standard are ignored. Applying the layout algorithms of these CASE tools to the user defined diagrams, usually horrible results are produced, because state-of-the-art techniques in drawing these diagrams are not respected by the vendors, too. In this paper we give an overview on the current UML tool implementations, the research in the field of drawing class diagrams automatically and the efforts in convincing the community of an agreement on basic aesthetical principles for UML class diagrams in order to simplify reading and understanding of standardized visualization of static aspects of software. |
11. |
Holger Eichelberger
(2003):
Nice Class Diagrams Admit Good Design?
In:
Stephan Diehl and John T. Stasko and Stephen N. Spencer (Hrsg.):
Proceedings of the 1st ACM Symposium on Software Visualization (SoftVis'03)
S. 159-167.
ACM.
Zusammenfassung Analysis and design of programs by using tools has emerged to a standard technique in object-oriented software engineering. Many of these tools claim to implement methods according to the UML standard and some of the tools provide automatic layout of the diagrams drawn by the user or generated automatically from source code. In this paper we propose a set of aesthetic criteria for UML class diagrams and discuss the relation between these criteria, HCI and design aspects of object-oriented software. First we describe critics from the viewpoint of HCI to the UML notation and restrict ourself to changes which do not require nonstandard modifications to the UML notation guide, then we list quality relations between class diagrams and object-oriented software models. After that our set of aesthetic criteria, that redirect the highly sophisticated structural and semantic features of UML class diagrams, is explained. Finally, we show that an implementation and measurement of this proposal is realizable using a prototypical graph drawing framework. |
10. |
Holger Eichelberger, Gregor Fischer, F. Grupp und Jürgen Wolff von Gudenberg
(2003):
Programmierausbildung Online
In:
Arndt Bode and Jörg Desel and Sabine Rathmeyer and Martin Wessner (Hrsg.):
Tagungsband der 1. Deutschen E-Learning Fachtagung Informatik (DeLFI '03)
S. 134-143.
Gesellschaft für Informatik (GI).
Zusammenfassung Fähigkeit existierenden Quellcode einzubinden und das eigene Programm so zu formulieren, dass Teile davon wieder verwendet oder weiter verwertet werden k¨onnen, an. Es ist wichtig die der Programmiersprache zu Grunde liegenden Konzepte [2, 4] zu verstehen und umsetzen zu können. Programmieren kann als ein Handwerk aufgefasst werden, in dem feste Regeln und Konventionen gelten. In letzter Zeit hat sich wie im Handwerk ein Trend ausgebildet, weg von der handwerklichen Erstellung eines Programms von Anfang an, hin zu einer Zusammenstellung und Anpassung vorliegender Halbfabrikate. Wir glauben jedoch, dass die Fähigkeit die Komponenten von Grund auf zu verstehen und auch schreiben zu können unbedingt von einem Informatiker beherrscht werden muss. In diesem Artikel wollen wir Kriterien aufstellen, wie eine Programmierausbildung online über das Internet auszusehen hat, um im Selbststudium Erfolg versprechend eingesetzt werden zu können. Dabei ist die automatische Beurteilung eingereichter Programmieraufgaben wie in [8] ein wesentlicher Punkt, der unseren Ansatz (siehe auch [7, 5]) von den meisten anderen (z.B. [6]) unterscheidet. Wir erläutern dann die Umsetzung dieser Kriterien am Beispiel des Java Online Praktikums (JOP) [5] der vhb. |
2002 | |
9. |
Holger Eichelberger
(2002):
JTransform - A Java Source Code Transformation Framework
Heft / Ausgabe 303.
Institut für Informatik, Universität Würzburg, Germany.
Zusammenfassung In this report we describe the architecture and the applications of JTransform, a general Java source code transformation framework, which consists out of a Java parser generating a parse tree and various visitors (transformers, tree evaluators) which produce different kind of outputs. After a brief introduction, an overview of the current and planned applications is given. Then the architecture and implementation of JTransform is described. The fourth chapter gives advise how to use JTransform and how to construct new applications. In the last chapter we outline some details of the existing applications. |
8. |
Holger Eichelberger
(2002):
Evaluation-Report on the Layout Facilities of UML Tools
Heft / Ausgabe 298.
Institut für Informatik, Universität Würzburg, Germany.
Zusammenfassung This report compares the automatic layout facilities of current UML tools including object-oriented CASE tools which support UML. We compare 42 programs listed in different tool lists in the internet [8, 9, 11] which can freely be downloaded or an evaluation licence can be obtained. |
7. |
Holger Eichelberger
(2002):
Aesthetics of Class Diagrams
In:
Proceedings of the 1st International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT '02)
S. 23-31.
IEEE Computer Society.
Zusammenfassung Visualization of object-oriented programs by class diagrams is a widely used technique. So far no commonly agreed aesthetic criteria have been recorded in order to standardize and measure the quality of class diagrams. In this paper we focus on UML class diagrams, the standard notation for class diagrams in software engineering. We propose some aesthetic criteria which reflect the highly sophisticated features of UML class diagrams, a layout algorithm which respects all these features and an implementation of a graph drawing framework which is able to produce drawings according to these criteria. |
2001 | |
6. |
Holger Eichelberger, German Tischler und Jürgen Wolff von Gudenberg
(2001):
Comprehensive Graphical Description of the STL
Heft / Ausgabe 270.
Institut für Informatik, Universität Würzburg, Germany.
Zusammenfassung Parts of this report have been published in [3] In this report we show how the specification of the Standard Template Library STL and its implementation can be described by UML diagrams. We define appropriate stereotypes to describe STL concepts like containers, iterators, function objects and global algorithms. For the graphical description of the implementation of the STL we extend the UML metamodel. A full set of diagrams comprehending the functional specification of the STL and its implementation is given. |
5. |
Holger Eichelberger und Jürgen Wolff von Gudenberg
(2001):
UMLscript Sprachspezifikation
Heft / Ausgabe 272.
Institut für Informatik, Universität Würzburg, Germany.
Zusammenfassung UMLscript wurde 1998 als Programmiersprache für das objektorientierte Design von Klassendiagrammen entwickelt. Inzwischen wurde die zugrundeliegende Spezifikation der UML Unified Modeling Language überarbeitet. Neben einigen neuen Sprachelementen wurde UMLscript an die Version 1.4 der UML ([2]) angepasst. UMLscript fand Anwendung als Eingabesprache für das Layout-Tool SugiBib. Zunächst wird das Verhältnis zwischen der Originalversion von UMLscript, der vorliegenden Version und UML beleuchtet, dann die Syntax und die informelle Semantik in Form von Syntaxdiagrammen mit Texterläuterung angegeben. Es folgt die Spezifikation von Eigenschaftswerten als Schnittstelle für Tools, einige ausführliche Beispiele und, vor einer abschließenden Diskussion, die Anwendung von UMLscript zur Dokumentation von C++ -Code. Im Anhang ist die Grammatik von UMLscript und ein erweiterter Satz von Eigenschaftswerten zur Anwendung mit dem Layout-Tool SugiBib gegeben. |
4. |
Holger Eichelberger
(2001):
SugiBib
In:
Petra Mutzel and Michael Jünger and Sebastian Leipert (Hrsg.):
Proceedings of the 9th International Symposium on Graph Drawing (GD '01)
S. 467-468.
Springer.
Zusammenfassung UML (Unified Modeling Language) class diagrams, which are widely used for specifying aspects of object-oriented software systems, can be laid out by our tool SugiBib. In 1998 J. Seemann described how to apply the Sugiyama algorithm to class diagrams and the first version of SugiBib was implemented as a masters thesis. |
3. |
Holger Eichelberger und Jürgen Wolff von Gudenberg
(2001):
On the Visualization of Java Programs
In:
Stephan Diehl (Hrsg.):
Proceeding of the International Seminar on Revised Lectures on Software Visualization
S. 295-306.
Springer.
Zusammenfassung In this paper we present a graph drawing framework that can be used to automatically draw UML class diagrams and a compiler that extracts the needed information from Java source code. Both components can be combined to a visualization tool for Java programs. |
2000 | |
2. |
Holger Eichelberger
(2000):
Automatisches Zeichnen von UML-Klassendiagrammen durch den Sugiyama-Algorithmus
Heft / Ausgabe A/01/2000.
in S. Diehl, A. Kerren, Softwarevisualisierung 2000, Universität des Saarlandes.
Zusammenfassung Sugibib ist ein Framework, das eine allgemeine Implementierung des Sugiyama-Algorithmus bereitstellt. Es wurde ausgeprägt, um das Layout von UML-Klassendiagrammen zu berechnen. In diesem Beitrag wird das Framework und der praktische Einsatz im Software-Entwurf und in der Lehre beschrieben. |
1. | Holger Eichelberger und Jürgen Wolff von Gudenberg (2000): UML Description of the STL In: Proceedings of the 1st Workshop on C++ Template Programming |