2024 | |
278.
|
Leonhard Faubel und Klaus Schmid
(2024):
MLOps: A Multiple Case Study in Industry 4.0
In:
IEEE ETFA
|
277.
|
Leonhard Faubel und Klaus Schmid
(2024):
A MLOps Architecture for XAI in Industrial Applications
In:
IEEE ETFA
|
276.
|
Leonhard Faubel und Klaus Schmid
(2024):
An MLOps Platform Comparison
Hildesheimer Informatik-Berichte
Heft / Ausgabe 01/2024, SSE 1/24/E.
University of Hildesheim.
Zusammenfassung
While many companies aim to use Machine Learning (ML) models, transitioning to deployment and practical application of such models can be very time-consuming and technically challenging. To address this, MLOps (ML Operations) offers processes, tools, practices, and patterns to bring ML models into operation. A large number of tools and platforms have been created to support architects and developers in creating practical solutions. However, specific needs vary strongly in a situation-dependent manner, and a good overview of their characteristics is missing, making the architect’s task very challenging. We conducted a systematic literature review (SLR) to identify key features, patterns, and platform characteristics. As a result, we provide an overview of the technical design space of MLOps and insights into different ML platforms. Our review can help architects select MLOps components and support them in their development efforts.
|
275.
|
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 industrial MLOps environments in CPPS. Further, we discuss explainability as an additional part of MLOps, which should be explored in more detail in the future.
|
274.
|
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)
|
273.
|
Leonhard Faubel und Klaus Schmid
(2024):
A Systematic Analysis of MLOps Features and Platforms
In: WiPiEC Journal - WiPiEC Journal - Works in Progress in Embedded Computing Journal, 10 (2).
Zusammenfassung
While many companies aim to use Machine Learning (ML) models, transitioning to deployment and practical application of such models can be very time-consuming and technically challenging. To address this, MLOps (ML Operations) offers processes, tools, practices, and patterns to bring ML models into operation. A large number of tools and platforms have been created to support developers in creating practical solutions. However, specific needs vary strongly in a situation-dependent manner, and a good overview of their characteristics is missing, making the architect’s task very challenging. We conducted a systematic literature review (SLR) of MLOps platforms, describing their qualities, features, tactics, and patterns. In this paper, we want to map the design space of MLOps platforms. We are guided by the Attribute-Driven Design (ADD) methodology. In this way, we want to provide software architects with a tool to support their work in the platform area.
|
2023 | |
272.
|
Christian Kröher, Lea Kristin Gerling und Klaus Schmid
(2023):
Control Action Types – Patterns of Applied Control for Self-adaptive Systems
In:
18th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
IEEE.
Best Paper Award
Zusammenfassung
A Self-adaptive System (SaS) modifies its domain functionality according to changes in its environment autonomously. Distributed control and central control represent two complementary paradigms to establish this capability. The selection of one of them leads to significant trade-offs regarding certain software qualities when designing a SaS. A promising approach to minimize these trade-offs is an integration, which combines the individual benefits to achieve the best of both paradigms. However, establishing such a multi-paradigm control requires comprehensive knowledge about control options and their interactions, which is hardly available.
In this paper, we present patterns for integrating distributed and central control. We introduce them by a schema of Control Action Types (CATs). Each CAT describes a unique type of interaction between a central controller and a distributed controlled SaS to achieve a desired adaptation. Further, we identify involved trade-offs between these CATs aiming at a systematic discussion of the range of multi-paradigm control for a SaS.
|
271.
|
Leonhard Faubel und Klaus Schmid
(2023):
An Analysis of MLOps Practices
Hildesheimer Informatik-Berichte
Heft / Ausgabe 1/2023, SSE 1/23/E.
Software Systems Engineering, Institut für Informatik, Universität Hildesheim.
Universitätsplatz 1, 31134 Hildesheim.
Zusammenfassung
The EXPLAIN project (EXPLanatory interactive Artificial intelligence for INdustry) aims at enabling explainable Machine Learning in industry. MLOps (Machine Learning Operations) includes tools, practices, and processes for deploying ML (Machine Learning) in production. These will be extended by explainability methods as part of the project.
This study aims to determine to what extent MLOps is implemented by four project partner companies. Further, the study describes the ML use cases, MLOps software architecture, tools, and requirements in the companies perspective. Besides, requirements for a novel MLOps software architecture, including explainability methods, are collected.
As a result the interviews show that each of the interviewed industry partners use MLOps differently. Different tools and architectural patterns are used depending on the particular use case. Overall, most information we gathered focused on architecture decisions in the MLOps tool landscape used by the interviewed companies.
|
270.
|
Christian Kröher, Moritz Flöter, Lea Kristin Gerling und Klaus Schmid
(2023):
Incremental Software Product Line Verification - A Performance Analysis with Dead Variable Code
In:
Software Engineering 2023
Bd. P-332.
S. 79-80.
Gesellschaft für Informatik e.V..
Bonn, Germany.
Zusammenfassung
In this work, we summarize our journal paper published in Empirical Software Engineering(EMSE) in 2022 [Kr22]. Verification approaches for Software Product Lines (SPL) aim at detectingvariability-related defects and inconsistencies. In general, these analyses take a significant amountof time to provide complete results for an entire, complex SPL. If the SPL evolves, these resultspotentially become invalid, which requires a time-consuming re-verification of the entire SPL foreach increment.
However, in previous work we showed that variability-related changes occur rather infrequently andtypically only affect small parts of a SPL. In this paper, we utilize this observation and presentan incremental dead variable code analysis as an example for incremental SPL verification, whichachieves significant performance improvements. It explicitly considers changes and partially updatesits previous results by re-verifying changed artifacts only. We apply this approach to the Linuxkernel demonstrating that our fastest incremental strategy takes only 3.20 seconds or less for most ofthe changes, while the non-incremental approach takes 1,020 seconds in median. We also discussthe impact of different variants of our strategy on the overall performance, providing insights intooptimizations that are worthwhile.
|
269.
|
Christian Kröher, Lea Kristin Gerling und Klaus Schmid
(2023):
Comparing the Intensity of Variability Changes in Software Product Line Evolution
In: Journal of Systems and Software, 203.
Zusammenfassung
The evolution of a Software Product Line (SPL) typically affects multiple kinds of artifacts. The intensity (frequency and amount) in which developers change variability information in them was unknown, until we introduced a fine-grained approach for the variability-centric extraction and analysis of changes to code, build, and variability model artifacts. Its application to the commits of the Linux kernel revealed that changes to variability information occur infrequently and only affect small parts of the analyzed artifacts. Further, we outlined how these results may improve certain analysis and verification tasks during SPL evolution. However, the sole analysis of a single SPL did not allow for generic conclusions.
In this paper, we extend our previous work to a comparative evolution analysis of four SPLs. We provide a detailed analysis of the individual intensities of variability changes by applying our updated approach to each SPL. A comparison of these results confirms our findings of infrequent and small changes to variability information in our previous study. However, differences in the details of these changes exist, which we cannot explain solely by the characteristics of the SPLs or their development processes. We discuss their implications on supporting SPL evolution and on our previous optimization proposals.
|
268.
|
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.
|
267.
|
Leonhard Faubel, Thomas Woudsma, Leila Methnani, Amir Ghorbani, Fabian Buelow, Klaus Schmid, Willem van Driel, Benjamin Kloepper, Andreas Theodorou, Mohsen Nosratinia und Magnus Bang
(2023):
Towards an MLOps Architecture for XAI in Industrial Applications
arXiv
|
266.
|
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.
|
265.
|
Leonhard Faubel und Klaus Schmid
(2023):
Review Protocol: A systematic literature review of MLOps
Hildesheimer Informatik-Berichte
In: Hildesheimer Informatik Berichte (SSE 2/23/E).
Institut für Informatik.
Zusammenfassung
MLOps have become an increasingly important topic in the deployment of machine learning in production. While Machine Learning Operations was predominantly used as a buzzword for methods in Machine Learning (ML) for the time being, since 2019, they are increasingly used in the context of deploying ML algorithms. This report is a protocol for a systematic literature review (SLR) that aims to determine the MLOps terminology and identify related activities. A further goal of the SLR is to identify where MLOps can be linked to classical software engineering. In addition, related automation techniques are considered.
The projected literature review aims to draw conclusions from papers that explicitly use the term MLOps or Machine Learning Operations with the objective to provide the necessary common baseline for future MLOps research and practice. This report thoroughly documents the SLR method, processes, and data material. We also gathered all relevant data to comprehend MLOps fully. Through our comprehensive analysis, we hope to provide valuable insights and recommendations for optimizing MLOps practices.
|
2022 | |
264.
|
Christian Kröher, Lea Kristin Gerling und Klaus Schmid
(2022):
Combining Distributed and Central Control for Self-Adaptive Systems of Systems
In:
42nd International Conference on Distributed Computing Systems Workshops (ICDCSW)
S. 109-112.
IEEE.
1st DISCOLI Workshop on DIStributed COLlective Intelligence
Zusammenfassung
Distributed and central control are two complementary paradigms to establish self-adaptation in software systems. Both approaches have their individual benefits and drawbacks, which lead to significant trade-offs regarding certain software qualities when designing such systems. The significance of these trade-offs even increases the more complex the target system becomes. In this paper, we present our work-in-progress towards an integrated control approach, which aims at providing the best of both control paradigms. We present the basic concepts of this multi-paradigm approach and outline its inherent support for complex system hierarchies. Further, we illustrate the vision of our approach using application scenarios from the smart energy grid as an example for self-adaptive systems of systems.
|
263.
|
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.
|
262.
|
Leonhard Faubel, Sascha El-Sharkawy und Klaus Schmid
(2022):
E-Learning Relevant Applications of the University of Hildesheim
Hildesheimer Informatik-Berichte
Heft / Ausgabe 2/2022, SSE 2/22/E.
Software Systems Engineering, Institut für Informatik, Universität Hildesheim.
Universitätsplatz 1, 31134 Hildesheim.
|
261.
|
Christian Kröher, Moritz Flöter, Lea Kristin Gerling und Klaus Schmid
(2022):
Incremental Software Product Line Verification - A Performance Analysis with Dead Variable Code
In:
26th ACM International Systems and Software Product Line Conference
Bd. A.
S. 1.
ACM.
|
260.
|
Christian Kröher, Moritz Flöter, Lea Kristin Gerling und Klaus Schmid
(2022):
Incremental Software Product Line Verification - A Performance Analysis with Dead Variable Code
In: Empirical Software Engineering, 27: 1-41.
Article number: 68
Zusammenfassung
Verification approaches for Software Product Lines (SPL) aim at detecting variability-related defects and inconsistencies. In general, these analyses take a significant amount of time to provide complete results for an entire, complex SPL. If the SPL evolves, these results potentially become invalid, which requires a time-consuming re-verification of the entire SPL for each increment.
However, in previous work we showed that variability-related changes occur rather infrequently and typically only affect small parts of a SPL. In this paper, we utilize this observation and present an incremental dead variable code analysis as an example for incremental SPL verification, which achieves significant performance improvements. It explicitly considers changes and partially updates its previous results by re-verifying changed artifacts only. We apply this approach to the Linux kernel demonstrating that our fastest incremental strategy takes only 3.20 seconds or less for most of the changes, while the non-incremental approach takes 1,020 seconds in median. We also discuss the impact of different variants of our strategy on the overall performance, providing insights into optimizations that are worthwhile.
|
259.
|
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.
|
2021 | |
258.
|
Christian Kröher, Klaus Schmid, Simon Paasche und Christian Severin Sauer
(2021):
Combining Central Control with Collective Adaptive Systems
In:
2021 IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion (ACSOS-C)
S. 56-61.
IEEE.
Zusammenfassung
Collective Adaptive Systems (CAS) achieve high resilience by providing distributed self-* properties through autonomous elements.While they are very beneficial for achieving high reliability, they are more difficult for dealing with targeted external inputs or ensuring globally optimal results. It is easier to achieve these properties with centralized approaches.
Ideally, one could combine the benefits of collective adaptive systems with aspects of central control to achieve the best of both paradigms. While such combinations have already been shown in previous work, here, we aim at a systematic discussion of the range of approaches to integrate both control paradigms. As a result, we present a taxonomy of control action types, which describes how a central control unit can interact with a CAS to achieve the desired overall behavior, providing a first step towards CAS control patterns and identifying the involved trade-offs.
|
257.
|
Klaus Schmid
(2021):
If you want better empirical research, value your theory: On the importance of strong theories for progress in empirical software engineering research
In: EASE 2021: Evaluation and Assessment in Software Engineering: 359-364.
|
256.
|
Erik Kamsties, Fabian Kneer und Klaus Schmid
(2021):
Elicitation Of Adaptive Requirements Using Creativity Triggers: A Controlled Experiment
In: Computing Research Repository (CoRR).
|
255.
|
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..
|
254.
|
Klaus Schmid, Rick Rabiser, Martin Becker, Goetz Botterweck, Matthias Galster, Iris Groher und Danny Weyns
(2021):
Bridging the gap: voices from industry and research on industrial relevance of SPLC
In:
SPLC '21: Proceedings of the 25th ACM International Systems and Software Product Line Conference
Bd. A.
S. 184 - 189.
ACM.
|
253.
|
Fabian Kneer, Erik Kamsties und Klaus Schmid
(2021):
AdaptationExplore – A Process for Elicitation, Negotiation, and Documentation of Adaptive Requirements
In:
Dalpiaz F., Spoletini P. (eds) Requirements Engineering: Foundation for Software Quality Lecture Notes in Computer Science
Bd. 12685.
S. 81-98.
Springer, Cham.
|
2020 | |
252.
|
Fabian Kneer, Erik Kamsties und Klaus Schmid
(2020):
Environment Modeling for Adaptive Systems: A Systematic Literature Review
In: arXiv:2011.07892v1: 1-15.
|
251.
|
Lea Kristin Gerling und Klaus Schmid
(2020):
Syntax-Preserving Slicing of C-BasedSoftware Product Lines: An Experience Report
In:
Proceedings of the 14th International Working Conference on Variability Modelling of Software-Intensive Systems (VaMoS '20)
S. 1-5.
ACM.
Article 17
Zusammenfassung
Program slicing is an important technique for various follow-up activities like program understanding or feature identification. So far only little work exists on program slicing of product lines. A key challenge in this context is to identify a slice including the implementation as well as the (relevant) variability information. It is our goal to create a program slicing approach to identify semantically related lines of code in a C-based software product line, using the C-Preprocessor as the basis for variability implementation. However, at the time of our research no existing approach was able to produce a program slice that fully preserves the structure of the preprocessor code. Thus, the variability structure in the slice was no longer intact. This is problematic as the desired slice should be a real subset of the product line implementation without modification of the syntax. Thus, we had to create a new syntax-preserving variability-aware slicing technique. In this paper, we report our experiences with the conception and implementation of this technique. We highlight the key challenges and our proposed solutions to foster discussions and future research about the handling of variability in static analysis.
|
250.
|
Sascha El-Sharkawy, Adam Krafczyk und Klaus Schmid
(2020):
Fast Static Analyses of Software Product Lines - AnExample with More than 42,000 Metrics
In:
Proceedings of the 14th International Working Conference on Variability Modelling of Software-Intensive Systems (VaMoS '20)
S. 1-9.
ACM.
Article 8
Zusammenfassung
Context: Software metrics, as one form of static analyses, is a commonly used approach in software engineering in order to understand the state of a software system, in particular to identify potential areas prone to defects. Family-based techniques extract variability information from code artifacts in Software Product Lines (SPLs) to perform static analysis for all available variants. Many different types of metrics with numerous variants have been defined in literature. When counting all metrics including such variants, easily thousands of metrics can be defined. Computing all of them for large product lines can be an extremely expensive process in terms of performance and resource consumption.
Objective: We address these performance and resource challenges while supporting customizable metric suites, which allow running both, single system and variability-aware code metrics.
Method: In this paper, we introduce a partial parsing approach used for the efficient measurement of more than 42,000 code metric variations. The approach covers variability information and restricts parsing to the relevant parts of the Abstract Syntax Tree (AST).
Conclusions: This partial parsing approach is designed to cover all relevant information to compute a broad variety of variability-aware code metrics on code artifacts containing annotation-based variability, e.g., realized with C-preprocessor statements. It allows for the flexible combination of single system and variability-aware metrics, which is not supported by existing tools. This is achieved by a novel representation of partially parsed product line code artifacts, which is tailored to the computation of the metrics. Our approach consumes considerably less resources, especially when computing many metric variants in parallel.
|
249.
|
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.
|
248.
|
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 | |
247.
|
Tobias Wägemann, Ramin Tavakoli Kolagari und Klaus Schmid
(2019):
ADOOPLA-Combining Product-Line-and Product-Level Criteria in Multi-objective Optimization of Product Line Architectures
In:
European Conference on Software Architecture
S. 126-142.
Springer, Cham.
|
246.
|
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).
|
245.
|
Sascha El-Sharkawy, Nozomi Yamagishi-Eichler und Klaus Schmid
(2019):
Metrics for Analyzing Variability and Its Implementation in Software Product Lines: A Systematic Literature Review
In:
Proceedings of the 23rd International Systems and Software Product Line Conference (SPLC'19)
S. 244-244.
ACM.
Zusammenfassung
This summary refers to the paper Metrics for analyzing variability and its implementation in software product lines: A systematic literature review. It was online first in 2018 and was finally published 2019 in the Information and Software Technology (IST) journal.
The use of metrics for assessing software products and their qualities is well established in traditional Software Engineering (SE). However, such traditional metrics are typically not applicable to Software Product Line (SPL) engineering as they do not address variability management, a key part of product line engineering. Over time, various specialized product line metrics for SPLs have been described in literature, but no systematic description of these metrics and their characteristics is currently available.
This paper presents a systematic literature review, where we identify metrics explicitly designed for variability models, code artifacts, and metrics taking both kinds of artifacts into account. This captures the core of variability management for product lines. We discovered 42 relevant papers reporting 147 metrics designed for SPLs.We provide a categorization of these metrics and discuss problematic issues regarding their definitions. We also systematically assess the evaluation status of the metrics showing a current lack of high-quality evaluation in the field. Researchers and practitioners can benefit from the published catalog of variability-aware metrics
|
244.
|
Lea Kristin Gerling und Klaus Schmid
(2019):
Variability-Aware Semantic Slicing Using Code Property Graphs
In:
Proceedings of the 23rd International Systems and Software Product Line Conference (SPLC'19)
S. 65-71.
ACM.
Zusammenfassung
Acommonproblem in program analysis is to identify semantically related statements in programs, for example, which statements change the value of a variable, or implement a specific feature or functionality. This is a very challenging task for large programs and gets even more complicated in the presence of variability implementations like #ifdef-annotations. Program slicing is a technique that can be used to aid developers with this challenge. But while slicing is a well-established technique for individual programs, there has been so far only little work on program slicing of product lines.
Here,we introduce a static-analysis approach for semantic slicing of product lines. Our approach introduces the novel concept of a variability-aware code property graph, which combines information about code properties (like statement type) and syntactical structure with data- and control-flow information. This graph is then traversed to gather semantically-related lines of code for a given entry node.We demonstrate our approach with a C-example, including preprocessor statements.
|
243.
|
Rick Rabiser, Klaus Schmid, Martin Becker, Goetz Botterweck, Matthias Galster, Iris Groher und Danny Weyns
(2019):
Industrial and Academic Software Product Line Research at SPLC: Perceptions of the Community
In:
Proceedings of the 23rd International Systems and Software Product Line Conference (SPLC'19)
S. 189-194.
ACM.
Zusammenfassung
We present preliminary insights into the perception of researchers and practitioners of the software product line (SPL) community on previous, current, and future research efforts. We were particularly interested in up-and-coming and outdated topics and whether the views of academics and industry researchers differ. Also, we compared the views of the community with the results of an earlier literature survey published at SPLC 2018. We conducted a questionnaire-based survey with attendees of SPLC 2018. We received 33 responses (about a third of the attendees) from both, very experienced attendees and younger researchers, and from academics as well as industry researchers. We report preliminary findings regarding popular and unpopular SPL topics, topics requiring further work, and industry versus academic researchers’ views. Differences between academic and industry researchers become visible only when analyzing comments on open questions. Most importantly, while topics popular among respondents are also popular in the literature, topics respondents think require further work have often already been well researched. We conclude that the SPL community needs to do a better job preserving and communicating existing knowledge and particularly also needs to widen its scope.
|
242.
|
Tobias Wägemann, Ramin Tavakoli Kolagari und Klaus Schmid
(2019):
Exploring Automotive Stakeholder Requirements for Architecture Optimization Support
In:
2019 IEEE International Conference on Software Architecture Companion (ICSA-C)
S. 37-44.
IEEE.
|
241.
|
Sascha El-Sharkawy, Nozomi Yamagishi-Eichler und Klaus Schmid
(2019):
Metrics for Analyzing Variability and Its Implementation in Software Product Lines: A Systematic Literature Review
In:
Proceedings of the 2019 Software Engineering and Software Management Conference (SE'19) in Lecture Notes in Informatics (LNI)
Bd. P-292.
S. 171-172.
Gesellschaft für Informatik e.V. (GI).
Zusammenfassung
This summary refers to the paper Metrics for analyzing variability and its implementation in software product lines: A systematic literature review [EYS19]. The paper was online first in 2018 and was finally published 2019 in the Information and Software Technology (IST) journal.
|
240.
|
Christian Kröher, Lea Kristin Gerling und Klaus Schmid
(2019):
Identifying the Intensity of Variability Changes in Software Product Line Evolution
In:
Proceedings of the 2019 Software Engineering and Software Management Conference (SE'19) in Lecture Notes in Informatics (LNI)
Bd. P-292.
S. 105-106.
Gesellschaft für Informatik e.V. (GI).
Zusammenfassung
This extended abstract summarizes the paper Identifying the Intensity of Variability Changes in Software Product Line Evolution [KGS18] published in the proceedings of the SPLC 2018 [BBB+18].
|
239.
|
Sascha El-Sharkawy, Adam Krafczyk und Klaus Schmid
(2019):
MetricHaven - More Than 23,000 Metrics for Measuring Quality Attributes of Software Product Lines
In:
Proceedings of the 23rd International Systems and Software Product Line Conference
Bd. B.
S. 25-28.
ACM.
Zusammenfassung
Variability-aware metrics are designed to measure qualitative aspects of software product lines. As we identified in a prior SLR [6], there exist already many metrics that address code or variability separately, while the combination of both has been less researched. MetricHaven fills this gap, as it extensively supports combining information from code files and variability models. Further,we also enable the combination of well established single system metrics with novel variability-aware metrics, going beyond existing variabilityaware metrics. Our tool supports most prominent single system and variability-aware code metrics. We provide configuration support for already implemented metrics, resulting in 23,342 metric variations. Further, we present an abstract syntax tree developed for MetricHaven, that allows the realization of additional code metrics.
|
238.
|
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.
|
237.
|
Thomas Thüm, Leopoldo Teixeira, Klaus Schmid, Eric Walkingshaw, Mukelabai Mukelabai, Mahsa Varshosaz, Goetz Botterweck, Ina Schaefer und Timo Kehrer
(2019):
Towards Efficient Analysis of Variation in Time and Space
In:
Proceedings of the 23rd International Systems and Software Product Line Conference (SPLC'19)
Bd. B.
S. 57-64.
ACM.
Zusammenfassung
Variation is central to today’s software development. There are two fundamental dimensions to variation: Variation in time refers to the fact that software exists in numerous revisions that typically replace each other (i.e., a newer version supersedes an older one). Variation in space refers to differences among variants that are designed to coexist in parallel. There are numerous analyses to cope with variation in space (i.e., product-line analyses) and others that cope with variation in time (i.e., regression analyses). The goal of this work is to discuss to which extent product-line analyses can be applied to revisions and, conversely, where regression analyses can be applied to variants. In particular, we discuss requirements to existing analyses and variability representations that are required for those applications. In addition, we discuss which combinationsof product-line and regression analyses are feasible. The overall goal is to increase the efficiency of analyses by exploiting the inherent commonality between variants and revisions.
|
236.
|
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).
|
235.
|
Klaus Schmid, Sascha El-Sharkawy und Christian Kröher
(2019):
Improving Software Engineering Research Through Experimentation Workbenches
Kapitel: 6
In:
Maurice H. ter Beek, Alessandro Fantechi und Laura Semini (Hrsg.):
From Software Engineering to Formal Methods and Tools, and Back Lecture Notes in Computer Science
Bd. 11865.
S. 67-82.
Springer.
Zusammenfassung
Experimentation with software prototypes plays a fundamental role in software engineering research. In contrast to many other scientific disciplines, however, explicit support for this key activity in software engineering is relatively small. While some approaches to improve this situation have been proposed by the software engineering community, experiments are still very difficult and sometimes impossible to replicate.In this paper, we propose the concept of an experimentation workbench as a means of explicit support for experimentation in software engineering research.
In particular, we discuss core requirements that an experimentation workbench should satisfy in order to qualify as such and to offer a real benefit for researchers. Beyond their core benefits for experimentation, we stipulate that experimentation workbenches will also have benefits in regard to reproducibility and repeatability of software engineering research. Further, we illustrate this concept with a scenario and a case study, and describe relevant challenges as well as our experience with experimentation workbenches.
|
234.
|
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.
|
233.
|
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.
|
232.
|
Sascha El-Sharkawy, Nozomi Yamagishi-Eichler und Klaus Schmid
(2019):
Metrics for Analyzing Variability and Its Implementation in Software Product Lines: A Systematic Literature Review
In: Information and Software Technology, 106: 1-30.
Free download until 2019-01-18: https://authors.elsevier.com/a/1Y8aO3O8rCObon
Zusammenfassung
Context: Software Product Line (SPL) development requires at least concepts for variability implementation and variability modeling for deriving products from a product line. These variability implementation concepts are not required for the development of single systems and, thus, are not considered in traditional software engineering. Metrics are well established in traditional software engineering, but existing metrics are typically not applicable to SPLs as they do not address variability management. Over time, various specialized product line metrics have been described in literature, but no systematic description of these metrics and their characteristics is currently available.
Objective: This paper describes and analyzes variability-aware metrics, designed for the needs of software product lines. More precisely we restrict the scope of our study explicitly to metrics designed for variability models, code artifacts, and metrics taking both kinds of artifacts into account. Further, we categorize the purpose for which these metrics were developed. We also analyze to what extent these metrics were evaluated to provide a basis for researchers for selecting adequate metrics. Method: We conducted a systematic literature review to identify variability-aware implementation metrics. We discovered 42 relevant papers reporting metrics intended to measure aspects of variability models or code artifacts. Results: We identified 57 variability model metrics, 34 annotation-based code metrics, 46 code metrics specific to composition-based implementation techniques, and 10 metrics integrating information from variability model and code artifacts. For only 31 metrics, an evaluation was performed assessing their suitability to draw any qualitative conclusions.
Conclusions: We observed several problematic issues regarding the definition and the use of the metrics. Researchers and practitioners benefit from the catalog of variability-aware metrics, which is the first of its kind. Also, the research community benefits from the identified observations in order to avoid those problems when defining new metrics.
|
231.
|
Sten Grüner, Andreas Burger, Hadil Abukwaik, Sascha El-Sharkawy, Klaus Schmid, Tewfik Ziadi, Anton Paule, Felix Suda und Alexander Viehl
(2019):
Demonstration of a Toolchain for Feature Extraction, Analysis and Visualization on an Industrial Case Study
In:
2019 IEEE 17th International Conference on Industrial Informatics (INDIN)
Bd. 1.
S. 459-465.
IEEE.
|
2018 | |
230.
|
Tobias Wägemann, Ramin Tavakoli Kolagari und Klaus Schmid
(2018):
Optimal Product Line Architectures for the Automotive Industry
In:
Modellierung 2018
S. 119-134.
Gesellschaft für Informatik e.V..
|
229.
|
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 aware of common challenges and to offer researchers a solid baseline for identifying novel software engineering research directions.
|
228.
|
Christian Kröher, Sascha El-Sharkawy und Klaus Schmid
(2018):
KernelHaven - An Experimentation Workbench for Analyzing Software Product Lines
In:
Proceedings of the 40th International Conference on Software Engineering (ICSE'18): Companion Proceedings
S. 73-76.
ACM.
Video: https://youtu.be/IbNc-H1NoZU
Zusammenfassung
Systematic exploration of hypotheses is a major part of any empirical research. In software engineering, we often produce unique tools for experiments and evaluate them independently on different data sets. In this paper, we present KernelHaven as an experimentation workbench supporting a significant number of experiments in the domain of static product line analysis and verification. It addresses the need for extracting information from a variety of artifacts in this domain by means of an open plug-in infrastructure. Available plug-ins encapsulate existing tools, which can now be combined efficiently to yield new analyses. As an experimentation workbench, it provides configuration-based definitions of experiments, their documentation, and technical services, like parallelization and caching. Hence, researchers can abstract from technical details and focus on the algorithmic core of their research problem. KernelHaven supports different types of analyses, like correctness checks, metrics, etc., in its specific domain. The concepts presented in this paper can also be transferred to support researchers of other software engineering domains. The infrastructure is available under Apache 2.0: github.com/KernelHaven. The plug-ins are available under their individual licenses. Video: youtu.be/IbNc-H1NoZU
|
227.
|
Sascha El-Sharkawy, Nozomi Yamagishi-Eichler und Klaus Schmid
(2018):
Implementation Metrics for Software Product Lines - A Systematic Literature Review
Heft / Ausgabe 1/2018, SSE 1/18/E.
1-73 Seiten.
University of Hildesheim.
Software Systems Engineering, Institut für Informatik, Universität Hildesheim.
This is a revised version of the technical report 1/2017, SSE 1/17/E from 2017
Zusammenfassung
Development of Software Product Lines (SPLs) requires additional implementation concepts to manage variability and to facilitate the derivation of individual products based on a common platform. These variability implementation concepts are not required for the development of single systems and, thus, are not considered in traditional software engineering. Metrics are well established in traditional software engineering, but are typically not applicable to SPLs as they do not address variability management. Over time, a number of specialized product line metrics have been described in literature. However, no systematic description of the characteristics of these metrics is currently available. We conducted a systematic literature review to identify variability-aware implementation metrics, designed for the needs of SPLs. We list these metrics according to the measured artifact types: variability models, code artifacts, and combined metrics measuring both artifact types. Further, we analyze to what extent these metrics were evaluated as a basis for qualitative conclusions.
|
226.
|
Adam Krafczyk, Sascha El-Sharkawy und Klaus Schmid
(2018):
Reverse Engineering Code Dependencies: Converting Integer-Based Variability to Propositional Logic
In:
Proceedings of the 22nd International Systems and Software Product Line Conference (SPLC'18)
Bd. 2.
S. 34-41.
ACM.
Zusammenfassung
A number of SAT-based analysis concepts and tools for software product lines exist, that extract code dependencies in propositional logic from the source code assets of the product line. On these extracted conditions, SAT-solvers are used to reason about the variability. However, in practice, a lot of software product lines use integer-based variability. The variability variables hold integer values, and integer operators are used in the conditions. Most existing analysis tools can not handle this kind of variability; they expect pure Boolean conditions.
This paper introduces an approach to convert integer-based variability conditions to propositional logic. Running this approach as a preparation on an integer-based product line allows the existing SAT-based analyses to work without any modiications. The pure Boolean formulas, that our approach builds as a replacement for the integer-based conditions, are mostly equivalent to the original conditions with respect to satisfiability. Our approach was motivated by and implemented in the context of a real-world industrial case-study, where such a preparation was necessary to analyze the variability.
Our contribution is an approach to convert conditions, that use integer variables, into propositional formulas, to enable easy usage of SAT-solvers on the result. It works well on restricted variables (i.e. variables with a small range of allowed values); unrestricted integer variables are handled less exact, but still retain useful variability information.
|
225.
|
Christian Kröher, Sascha El-Sharkawy und Klaus Schmid
(2018):
KernelHaven - An Open Infrastructure for Product Line Analysis
In:
Proceedings of the 22nd International Systems and Software Product Line Conference (SPLC'18)
Bd. 2.
S. 5-10.
ACM.
Zusammenfassung
KernelHaven is an open infrastructure for Software Product Line (SPL) analysis. It is intended both as a production-quality analysis tool set as well as a research support tool. Its design follows the principle of an experimentation workbench [13] to support researchers in systematically exploring research hypothesis. For flexibility and ease of experimentation KernelHaven components are plug-ins for extracting certain information from SPL artifacts and processing this information, e.g., to check the correctness and consistency of variability information or to apply metrics. A configuration-based setup along with automatic documentation functionality allows different experiments and supports their easy reproduction.
Here, we describe KernelHaven as a product line analysis research tool and highlight its basic approach as well as its fundamental capabilities. In particular, we describe available information extraction and processing plug-ins and how to combine them. On this basis, researchers and interested professional users can rapidly conduct a first set of experiments. Further, we describe the concepts for extending KernelHaven by new plug-ins, which reduces development effort when realizing new experiments.
|
224.
|
Klaus Schmid, Christian Kröher und Sascha El-Sharkawy
(2018):
Variability Modeling with the Integrated Variability Modeling Language (IVML) and EASy-Producer
In:
Proceedings of the 22nd International Systems and Software Product Line Conference (SPLC'18)
Bd. 1.
S. 306-306.
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.
|
223.
|
Klaus Schmid, Christian Kröher und Sascha El-Sharkawy
(2018):
Model-based Product Line Development with EASy-Producer using VIL and VTL
In:
Proceedings of the 22nd International Systems and Software Product Line Conference (SPLC'18)
Bd. 1.
S. 303-303.
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 model-based development and implementation capabilities, which are realized by the Variability Instantiation Language (VIL) and the Variability Template Language (VTL). Further, we will provide a basic introduction into the Integrated Variability Modeling Language (IVML) in order to use the provided information of IVML variability models and configurations during instantiation defined with VIL and as part of the templates created with VTL.
|
222.
|
Christian Kröher, Lea Kristin Gerling und Klaus Schmid
(2018):
Identifying the Intensity of Variability Changes in Software Product Line Evolution
In:
Proceedings of the 22nd International Systems and Software Product Line Conference (SPLC'18)
Bd. 1.
S. 54-64.
ACM.
Best Paper Award
Zusammenfassung
The evolution of a Software Product Line (SPL) typically affects a variety of artifact types. The intensity (the frequency and the amount) in which developers change variability information in these different types of artifacts is currently unknown. In this paper, we present a fine-grained approach for the variability-centric extraction and analysis of changes to code, build, and variability model artifacts introduced by commits. This approach complements existing work that is typically based on a feature-perspective and, thus, abstracts from this level of detail. Further, it provides a detailed understanding of the intensity of changes affecting variability information in these types of artifacts. We apply our approach to the Linux kernel revealing that changes to variability information occur infrequently and only affect small parts of the analyzed artifacts. Further, we outline how these results may improve certain analysis and verification tasks during SPL evolution.
|
221.
|
Rick Rabiser, Klaus Schmid, Martin Becker, Goetz Botterweck, Matthias Galster, Iris Groher und Danny Weyns
(2018):
A Study and Comparison of Industrial vs. Academic Software Product Line Research Published at SPLC
In:
Proceedings of the 22nd International Systems and Software Product Line Conference (SPLC'18)
Bd. 1.
S. 14-24.
ACM.
Zusammenfassung
The study presented in this paper aims to provide evidence for the hypothesis that software product line research has been changing and that the works in industry and academia have diverged overtime. We analysed a subset (140) of all (593) papers published at the Software Product Line Conference (SPLC) until 2017. The subset was randomly selected to cover all years as well as types of papers. We assessed the research type of the papers (academic or industry), the kind of evaluation (application example, empirical, etc.), and the application domain. Also, we assessed which product line life-cycle phases, development practices, and topics the papers address. We present an analysis of the topics covered by academic vs. industry research and discuss the evolution of these topics and their relation over the years. We also discuss implications for researchers and practitioners. We conclude that even though several topics have received more attention than others, academic and industry research on software product lines are actually rather in line with each other.
|
220.
|
Sascha El-Sharkawy, Saura Jyoti Dhar, Adam Krafczyk, Slawomir Duszynski, Tobias Beichter und Klaus Schmid
(2018):
Reverse Engineering Variability in an Industrial Product Line: Observations and Lessons Learned
In:
Proceedings of the 22nd International Systems and Software Product Line Conference (SPLC'18)
Bd. 1.
S. 215-225.
ACM.
Zusammenfassung
Ideally, a variability model is a correct and complete representation of product line features and constraints among them. Together with a mapping between features and code, this ensures that only valid products can be configured and derived. However, in practice the modeled constraints might be neither complete nor correct, which causes problems in the configuration and product derivation phases. This paper presents an approach to reverse engineer variability constraints from the implementation, and thus improve the correctness and completeness of variability models.
We extended the concept of feature effect synthesis [18] to extract domain knowledge from code artifacts of the Bosch PS-EC product line. We present an application of the approach to a large-scale industrial product line and discuss its required modifications to obtain meaningful results in an industrial case.
|
2017 | |
219.
|
Sascha El-Sharkawy, Adam Krafczyk und Klaus Schmid
(2017):
An Empirical Study of Configuration Mismatches in Linux
In:
In Proceedings of the 21st International Systems and Software Product Line Conference (SPLC '17)
Zusammenfassung
Ideally the variability of a product line is represented completely and correctly by its variability model. However, in practice additional variability is often represented on the level of the build system or in the code. Such a situation may lead to inconsistencies, where the actually realized variability does not fully correspond to the one described by the variability model. In this paper we focus on configuration mismatches, i.e., cases where the effective variability differs from the variability as it is represented by the variability model. While previous research has already shown that these situations still exist even today in well-analyzed product lines like Linux, so far it was unclear under what circumstances such issues occur in reality. In particular, it is open what types of configuration mismatches occur and how severe they are. Here, our contribution is to close this gap by presenting a detailed manual analysis of 80 configuration mismatches in the Linux 4.4.1 kernel and assess their criticality. We identify various categories of configuration issues and show that about two-thirds of the configuration mismatches may actually lead to kernel misconfigurations.
|
218.
|
Sascha El-Sharkawy, Nozomi Yamagishi-Eichler und Klaus Schmid
(2017):
Implementation Metrics for Software Product Lines - A Systematic Literature Review
Heft / Ausgabe 1/2017, SSE 1/17/E.
1-78 Seiten.
University of Hildesheim.
Software Systems Engineering, Institut für Informatik, Universität Hildesheim.
Has been revised as technical report 1/2018, SSE 1/18/E in 2018
Zusammenfassung
Development of Software Product Lines (SPLs) requires additional implementation concepts to manage variability and to facilitate the derivation of individual products based on a common platform. These variability implementation concepts are not required for the development of single systems and, thus, are not considered in traditional software engineering. Metrics are well established in traditional software engineering, but are typically not applicable to SPLs as they do not address variability management. Over time, a number of specialized product line metrics have been described in literature. However, no systematic description of the characteristics of these metrics is currently available. We conducted a systematic literature review to identify variability-aware implementation metrics, designed for the needs of SPLs. We list these metrics according to the measured artifact types: variability models, code artifacts, and combined metrics measuring both artifact types. Further, we analyze to what extent these metrics were evaluated as a basis for qualitative conclusions.
|
217.
|
Christian Kröher und Klaus Schmid
(2017):
A Commit-Based Analysis of Software Product Line Evolution: Two Case Studies
Heft / Ausgabe 2/2017, SSE 2/17/E.
1-57 Seiten.
University of Hildesheim.
Software Systems Engineering, Institut für Informatik, Universität Hildesheim.
Zusammenfassung
Software Product Line (SPL) evolution affects a variety of artifact types, each containing their artifact-specific information as well as variability information. While the former information type defines the basic content of an artifact, like the general program definition in code artifacts, the latter supports the customization of these artifacts for different products of the SPL. Existing work that aims at characterizing the state and evolution of a product line identifies general SPL evolution scenarios or evaluates the (co-)evolution of variability information in different types of artifacts. However, these results are typically based on a feature perspective, which abstracts from the SPL evolution at large. We argue that an artifact-based analysis of product line evolution will complement existing work by analyzing the intensity of changes to different artifact and information types. In this report, we therefore present an approach for and the results of the extraction and analysis of changes introduced to artifact-specific and variability information in code, build and variability model artifacts. This approach has been developed for and applied to the Linux kernel. In order to broaden our analysis, we also apply the approach to the Coreboot firmware. The results reveal the intensity of changes over the evolution history of both SPLs. Further, we compare the intensity of changes across both SPLs with respect to the size of the changes as well as over time.
|
216.
|
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.
|
215.
|
Klaus Schmid
(2017):
EASy-Producer - An Open Toolset for Lightweight Product Line Engineering
In:
Proceedings of Embedded World
Zusammenfassung
Product Line Engineering is a software engineering approach that aims at maximizing reuse by handling variation in a systematic and disciplined manner. Its power has been widely proven in industrial practice. However, the approach is sometimes regarded as too restrictive and leading even to additional development complexity. Here, we introduce a number of underlying principles for product line engineering along with an open-source toolset. The principles can also be (partially) applied independently of a specific tool support. Here, we discuss both the underlying principles as well as the realization of the toolset.
|
214.
|
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.
|
213.
|
Dierk Lüdemann, Nazish Asad, Klaus Schmid und Christopher Voges
(2017):
Understanding Variable Code: Reducing the Complexity by Integrating Variability Information
In:
Lecture Notes in Informatics (LNI) - Software Engineering (SE '17)
Zusammenfassung
Um die Variabilität einer Software-Produktlinien zu handhaben, wird bei Verwendung einer C-basierten Sprache oftmals der integrierte Präprozessor genutzt. Eine bereits bewährte Methode [Sn96], um Zusammenhänge zwischen Präprozessorvariablen zu erkennen, ist der Einsatz der formalen Begriffsanalyse (FCA)3. Die aus der FCA resultierenden Verbände können jedoch sehr umfangreich sein. Daher schlagen wir ein neues Verfahren für Software-Produktlinien vor, mit dem die Größe der Verbände durch Berücksichtigung des Variabilitätsmodells reduziert werden kann. Mit Hilfe dieses neuen Verfahrens wird die FCA in unserer Arbeit zum ersten mal auf den Linux-Kernel angewendet. Dieser Beitrag erschien als Vollbeitrag bei der International Conference on Software Maintenance and Evolution (ICSME) 2016 [Lü16]
|
212.
|
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.
|
211.
|
Christian Kröher und Klaus Schmid
(2017):
Towards a Better Understanding of Software Product Line Evolution
In:
Proceedings of the 19th Workshop Software-Reengineering and Evolution (WSRE '17) in Softwaretechnik-Trends
Bd. 37.
Heft / Ausgabe 2.
S. 40-41.
Gesellschaft für Informatik e.V., Fachgruppe PARS.
Zusammenfassung
In contrast to traditional software systems, the evolution of a Software Product Line (SPL) affects not only artifacts like source code or requirements, but also variability information, which supports the customization of these artifacts across different products of the SPL. While some work exists that aims at characterizing the state and evolution of a product line from a feature perspective, this abstracts away the details of code evolution, hence, ignoring aspects like the difference in size of features. In this paper, we present an approach for the extraction and analysis of changes introduced to code, build and variability model artifacts. This approach has been developed for and applied to the Linux product line.
|
2016 | |
210.
|
Sascha El-Sharkawy, Adam Krafczyk und Klaus Schmid
(2016):
Mismatched Configuration Information of Linux
Heft / Ausgabe 1/2016, SSE 1/16/E.
Software Systems Engineering, Institut für Informatik, Universität Hildesheim.
Zusammenfassung
Context. Software product line engineering has been established to minimize costs and efforts, while maximizing the quality of products in a family of software products. Software product lines typically contain a variability model, which supports the derivation of permissible variants. These variability models may contain expert/domain knowledge in the form of constraints. These constraints are used during the configuration process to avoid the selection of unsupported product variants. Problem. Developers must encode their knowledge about supported product variants and restrictions, otherwise the variability model becomes ineffective or even incorrect. The initial development of the variability model as well as the evolution of the product line implementation bear the risk that model and implementation drift apart. In this report, we introduce the notion of mismatched configuration information to describe the situation if the variability model does not react the dependencies of the implementation. This may indicate an incomplete variability model or undesired dependencies between code artifacts. Solution. We discuss the impact of mismatched configuration information and show how to detect this conceptually. Subsequently, we focus on mismatched hierarchical configuration information and present an effective heuristic for their detection. These results serve as an input to complete variability models or a code review to remove undesired implementation dependencies. We discuss the application of our approach on a Linux case study. The analysis of the x86 architecture of the Linux kernel takes only around 30 minutes and revealed mismatched configuration information, which was not treated by prior work.
|
209.
|
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).
|
208.
|
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.
|
207.
|
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.
|
206.
|
Dierk Lüdemann, Nazish Asad, Klaus Schmid und Christopher Bode
(2016):
Understanding Variable Code: Reducing the Complexity by Integrating Variability Information
In:
Proceedings of the International Conference on Software Maintenance and Evolution (ICSME'16)
IEEE.
Zusammenfassung
Software product lines often use preprocessor statements as a basis for representing variability, which makes understanding the artifacts rather complex. An approach that has been proposed in the past to improve the understanding of code with preprocessor statements is formal concept analysis. This approach has been applied to a number of causes in reengineering. However, the lattices constructed by this approach can become rather large and complex. Hence, any approach that helps to reduce them can be beneficial to understanding the preprocessor-dependencies contained in the code. Here, we show how consistency analysis both within code variability and between code and a variability model can be used to reduce the complexity of a lattice, supporting the analysis of product-line code. We apply our approach to Linux, one of the largest open-source product lines, and analyze both multiple versions and different architectures. We show that our approach typically leads to reductions of the concept lattice and identify situations in which the savings can be rather significant. This leads to a reduction of any efforts for followup analysis or reverse engineering.
|
205.
|
Ebrahim Bagheri, David Benavides, Klaus Schmid und Per Runeson
(2016):
Foreword to the special issue on empirical evidence on software product line engineering
In: Springer: 1579–1585.
|
204.
|
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 | |
203.
|
Sascha El-Sharkawy, Adam Krafczyk, Nazish Asad und Klaus Schmid
(2015):
Analysing the KConfig Semantics and Related Analysis Tools
In:
Hildesheimer Informatik-Berichte
Heft / Ausgabe 1/2015, SSE 1/15/E.
Zusammenfassung
The Linux Kernel is often used as real world use case to demonstrate novel Software Product Line Engineering techniques. The large open source repository facilitates the analysis of the variability model, the instantiation process, the instantiable artefacts, and the evolution of all of them. This report focusses on the analysis of undocumented KConfig functionalities. These functions have to be considered while applying any variability management technique to the Linux Kernel. Hence, this report will contribute to a better understanding how variability is handled in KConfig files. Further, we analyse existing work, which also analysed KConfig. Based on the weak documentation of KConfig, these works contain errors. These errors threat the validity of many existing analysis of the Linux Kernel.
|
202.
|
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.
|
201.
|
Sascha El-Sharkawy, Adam Krafczyk und Klaus Schmid
(2015):
Analysing the Kconfig Semantics and Its Analysis Tools
In:
Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences
S. 45-54.
ACM.
Zusammenfassung
The Linux kernel is often used as a real world case study to demonstrate novel Software Product Line Engineering research methods. An important point in this is often the analysis of the Kconfig semantics. However, we detected that the semantics of Kconfig is rather unclear and has many special cases, which are not documented in its short specification. We performed a systematic analysis to uncover the correct behaviour of Kconfig and present the results, which are necessary for applying semantically correct analyses. Further, we analyse existing analysis tools of the research community whether they are aware of the correct semantics of Kconfig. These analyses can be used for improving existing analysis tools as well as decision support for selecting an appropriate tool for a specific analysis. In summary we contribute to a better understanding of Kconfig in the research community to improve the validity of evaluations based on Linux.
|
200.
|
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.
|
199.
|
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.
|
198.
|
Holger Eichelberger und Klaus Schmid
(2015):
Software konfigurieren statt programmieren mit EASy-Producer
In: Eclipse Magazin (1.16): 89-94.
|
197.
|
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.
|
196.
|
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 | |
195.
|
Markus Keunecke, Hendrik Brummermann und Klaus Schmid
(2014):
The Feature Pack Approach: Systematically Managing Implementations in Software Ecosystems
In:
Proceedings of the 8th International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS '14)
S. 20:1-20:7.
ACM.
Zusammenfassung
In an information system ecosystem customers integrate features, which are independently developed and evolved by multiple organizations. These features need to work together although there is little to no coordination among developer organizations. The handling of such ecosystems becomes the more challenging, the more the solutions provided by the different parties are intertwined. In this paper, we propose to handle implementations on a per-feature basis, and introduce an approach towards this goal, which we call feature packs. We discuss the requirements on such an approach and emphasize in particular the kind of analysis relevant to ensure that the system resulting from a corresponding aggregation of feature packs works reliably. We also illustrate a realization of the approach using a real-world ecosystem case study.
|
194.
|
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.
|
193.
|
Klaus Schmid
(2014):
Ein formal fundierter Entscheidungs-Ansatz zur Behandlung von Technical Debt
In:
Software Engineering 2014
S. 59-60.
Gesellschaft für Informatik.
|
192.
|
Klaus Schmid
(2014):
Challenges and Solutions in Global Requirements Engineering – A Literature Survey
In: Springer, Cham, volume 166: 85-99.
|
191.
|
Sooyong Park, Mike Hinchey, Hoh Peter In und Klaus Schmid
(2014):
8th International Workshop on Dynamic Software Product Lines (DSPL 2014)
In:
SPLC '14: Proceedings of the 18th International Software Product Line Conference
Bd. Volume 1.
S. 355.
ACM.
|
190.
|
Klaus Schmid
(2014):
Global Requirements Engineering - Resultate einer Literaturanalyse
In: Softwaretechnik-Trends: Vol. 34, No. 1, Vol. 34: 15-16.
|
189.
|
Holger Eichelberger und Klaus Schmid
(2014):
Flexible Resource Monitoring of Java Programs
In: Journal of Systems and Software, 93: 163-186.
Elsevier.
|
188.
|
James Edmondson, William Anderson, Jeff Gray, Joseph P. Loyall, Klaus Schmid und Jules White
(2014):
Next-Generation Mobile Computing
In: IEEE Software, 31: 44 - 47.
|
187.
|
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.
|
186.
|
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 | |
185.
|
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.
|
184.
|
Klaus Schmid
(2013):
Technical Debt - From Metaphor to Engineering Guidance: A Novel Approach based on Cost Estimation
31 Seiten.
University of Hildesheim.
Institut für Informatik, Universität Hildesheim, Germany.
Zusammenfassung
In this report, we discuss the notion of Technical Debt and formalize the concept as a basis of disciplined study. This formalization allows us to characterize and measure Technical Debt independent of its source. We will then introduce approximations to measuring Technical Debt that can be more easily applied in practice. As a result we arrive at a method for deciding on tackling Technical Debt, which relies on a formal approach, with clearly identified approximations. We will also illustrate our approach with an example.
|
183.
|
Klaus Schmid, Rainer Koschke, Christian Kröher und Dierk Lüdemann
(2013):
Towards identifying evolution smells in Software Product Lines
In:
Stefan Sauer and Benjamin Klatt and Thomas Ruhroth (Hrsg.):
Proceedings of the 5th Workshop "Design For Future - Langlebige Softwaresysteme" (DFF)
Gesellschaft für Informatik e.V. (GI).
Zusammenfassung
As more and more companies shift to a product line approach, supporting the evolution of software product lines becomes increasingly important. While today already significant work exists along the lines of quality analysis for software product lines, there is much less work that addresses the evolution scenario. In this paper, we briefly describe different categories of approaches for identifying problems in product lines. Based on this we describe a new research direction for identifying problems in product line evolution scenarios.
|
182.
|
Hendrik Brummermann, Markus Keunecke und Klaus Schmid
(2013):
Managing the Evolution and Customization of Database Schemas in Information System Ecosystems
In:
Camille Salinesi and Moira C. Norrie and Óscar Pastor (Hrsg.):
Proceedings of the 25th International Conference on Advanced Information Systems Engineering (CAISE '13)
S. 417-432.
Springer.
Zusammenfassung
We present an approach that supports the customization and evolution of a database schema in a software ecosystem context. The approach allows for the creation of customized database schemas according to selected, supported feature packs and can be used in an ecosystem context, where third-party providers and customers augment the system with their own capabilities. The creation of the final database schema is automatic and also the relevant updates of individual feature packs can be automatically handled by the system.
|
181.
|
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.
|
180.
|
Klaus Schmid
(2013):
A Formal Approach to Technical Debt Decision Making
In:
Proceedings of the 9th International ACM SIGSOFT Conference on the Quality of Software Architectures (QoSa '13) at the CompArch 2013
S. 153-162.
ACM.
Zusammenfassung
The notion of technical debt attracts significant attention, especially in the context of reconciling architecture and agile development. However, most work on technical debt is still largely informal and if it provides a formalization it is often ad-hoc. In this paper, we provide a detailed, formal analysis of decision making on technical debt in development. Using this formalization, we show that optimal decision making is not effectively computable in real-world situations and provide several well-defined approximations that allow to handle the problem nevertheless in practical situations. Combining these approximations in a single method leads to a light-weight approach that can be effectively applied in iterative software development, including agile approaches.
|
179.
|
Klaus Schmid
(2013):
Variability Support for Variability-Rich Software Ecosystems
In:
Proceedings of the 4th International Workshop on Product Line Approaches in Software Engineering (PLEASE '13)
S. 5-8.
IEEE.
Zusammenfassung
Lately, software ecosystems have generated a lot of attention as they are very important to modern software industry. Over the course of several research projects, we addressed the problem of variability-rich software ecosystems and their relation to software product lines in our research group. This paper summarizes some of the problems we identified and describes some solutions we created both on a conceptual level and implemented in a prototype tool environment.
|
178.
|
Jürgen Münch und Klaus Schmid
(2013):
Perspectives on the Future of Software Engineering - Essays in Honor of Dieter Rombach
Springer.
|
177.
|
Klaus Schmid und Seiyoung Lee
(2013):
Product line engineering for globalization: PLE4G
In:
SPLC '13: Proceedings of the 17th International Software Product Line Conference
S. 280 - 280.
ACM.
|
176.
|
John D McGregor, Mikio Aoyama, Linda M Northrop und Klaus Schmid
(2013):
Scale changes everything, but...
In:
SPLC '13: Proceedings of the 17th International Software Product Line Conference
S. 288-288.
ACM.
|
175.
|
Svein Hallsteinsen, Sooyong Park, Mike G Hinchey, Hohpeter In und Klaus Schmid
(2013):
7th International Workshop on Dynamic Software Product Lines (DSPL 2013)
In:
SPLC '13: Proceedings of the 17th International Software Product Line Conference
S. 271.
ACM.
|
174.
|
Rick Kazman, Klaus Schmid, Claus Ballegaard Nielsen und John Klein
(2013):
Understanding patterns for system of systems integration
In:
2013 8th International Conference on System of Systems Engineering
S. 141-146.
IEEE.
|
173.
|
Klaus Schmid
(2013):
On the limits of the technical debt metaphor some guidance on going beyond
In:
2013 4th International Workshop on Managing Technical Debt (MTD)
S. 63-66.
IEEE.
|
172.
|
Sebastian Adam und Klaus Schmid
(2013):
Effective Requirements Elicitation in Product Line Application Engineering–An Experiment
In:
International Working Conference on Requirements Engineering: Foundation for Software Quality
S. 362-378.
Springer Berlin Heidelberg.
|
171.
|
Sebastian Adam und Klaus Schmid
(2013):
International Working Conference on Requirements Engineering: Foundation for Software Quality
In:
International Working Conference on Requirements Engineering: Foundation for Software Quality
S. 362-378.
Springer Berlin Heidelberg.
|
170.
|
Svein Hallsteinsen, Mike Hinchey, Sooyong Park und Klaus Schmid
(2013):
Dynamic Software Product Lines
In:
Systems and Software Variability Management 2013
S. 253-260.
Springer, Berlin, Heidelberg.
|
169.
|
Klaus Schmid, Eduardo Santana de Almeida und Tomoji Kishi
(2013):
Editorial: Guest Editors' Introduction: Special Issue on Software Reuse and Product Lines
In: Information and Software Technology, 55 (3): 489-490.
|
168.
|
Klaus Schmid und Eduardo Santana de Almeida
(2013):
Product Line Engineering
In: IEEE software, 30 (4): 24-30.
|
167.
|
Luciano Baresi, Andreas Rummler und Klaus Schmid
(2013):
Customizing Service Platforms (Dagstuhl Seminar 13171)
In: Dagstuhl Reports, 3 (4): 114--150.
|
166.
|
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 | |
165.
|
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.
|
164.
|
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.
|
163.
|
Krzysztof Czarnecki, Paul Grünbacher, Rick Rabiser, Klaus Schmid und Andrzej Wasowski
(2012):
Cool Features and Tough Decisions: A Comparison of Variability Modeling Approaches
In:
Ulrich W. Eisenecker and Sven Apel and Stefania Gnesi (Hrsg.):
Proceedings of the 6th International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS '12)
S. 173-182.
ACM.
Zusammenfassung
Variability modeling is essential for defining and managing the commonalities and variabilities in software product lines. Numerous variability modeling approaches exist today to support domain and application engineering activities. Most are based on feature modeling (FM) or decision modeling (DM) but so far no systematic comparison exists between these two major classes of approaches. Over the last two decades many new features have been added to both FM and DM and it is a tough decision which approach to use for what purpose. This paper clarifies the relation between FM and DM. We aim to systematize the research field of variability modeling and to explore potential synergies. We compare multiple aspects of FM and DM ranging from historical origins and rationale, through syntactic and semantic richness, to tool support, identifying commonalities and differences. We hope that this effort will improve the understanding of the range of approaches to variability modeling by discussing the possible variations. This will provide insights to users considering adopting variability modeling in practice and to designers of new languages, such as the new OMG Common Variability Language.
|
162.
|
Hendrik Brummermann, Markus Keunecke und Klaus Schmid
(2012):
Formalizing Distributed Evolution of Variability in Information System Ecosystems
In:
Ulrich W. Eisenecker and Sven Apel and Stefania Gnesi (Hrsg.):
Proceedings of the 6th Workshop on Variability Modeling of Software-Intensive Systems (VaMoS '12)
S. 11-19.
ACM.
Zusammenfassung
The open variability of software product line ecosystems allows customers and third party organizations to create extensions to a system which may refine the variability model. In this paper we will describe an approach to evolution support, which was developed in the context of one specific company, HIS GmbH. However, the approach is much more generic than this. In particular, it is based on the formalization of modifications to configuration values and constraints on both the model and the data in the context of the evolution of multi-level configurations. Our approach supports the identification of inconsistencies in evolution.
|
161.
|
Karina Villela, Sholom Cohen, Luciano Baresi, Jaejoon Lee und Klaus Schmid
(2012):
SCArVeS: services, clouds, and alternative design strategies for variant-rich software systems
In:
SPLC '12: Proceedings of the 16th International Software Product Line Conference
S. 291-291.
ACM.
|
160.
|
Klaus Schmid und Seiyoung Lee
(2012):
Product line engineering for globalization: PLE4G
In:
SPLC '12: Proceedings of the 16th International Software Product Line Conference
S. 278-278.
|
159.
|
Svein Hallsteinsen, Sooyong Park, Mike Hinchey und Klaus Schmid
(2012):
6th International Workshop on Dynamic Software Product Lines (DSPL 2012)
In:
SPLC '12: Proceedings of the 16th International Software Product Line Conference
S. 290-290.
ACM.
|
158.
|
Sascha El-Sharkawy und Klaus Schmid
(2012):
Supporting the Effective Configuration of Software Product Lines
In:
Eduardo Santana de Almeida and Christa Schwanninger and David Benavides (Hrsg.):
Proceedings of the 4th International Workshop on Model-driven Approaches in Software Product Line Engineering (MAPLE '12) at the 16th International Software Product Line Conference (SPLC '12)
Bd. 2.
S. 119-126.
ACM.
Zusammenfassung
Most research in product line engineering focuses on the domain engineering phase. However, the ultimate reason of any Software Product Line Engineering (SPLE) activity is the derivation of products and thus application engineering. In this research we focus on how the configuration activity within application engineering can be supported to achieve sufficient efficiency. We aim to provide a broad overview of the potential research landscape where we also discuss the actual coverage of the field by research work. As a result, we do not only provide an overview of the field, but do also describe several potential research approaches that have so far received very little attention.
|
157.
|
Klaus Schmid und Andreas Rummler
(2012):
Cloud-based Software Product Lines
In:
Eduardo Santana de Almeida and Christa Schwanninger and David Benavides (Hrsg.):
Proceedings of the 2nd International Workshop on Services, Clouds, and Alternative Design Strategies for Variant-Rich Software Systems (SCArVeS 2012) at the 16th International Software Product Line Conference (SPLC '12)
Bd. 2.
ACM.
Zusammenfassung
The traditional focus of Product Line Engineering (PLE) is on the customization of whole software solutions. So far, the combination of cloud computing with PLE techniques has hardly been discussed. In this paper, we discuss different approaches to cloud computing and their relation to product line technologies. We also describe both, specific opportunities and drawbacks, of these approaches. We also provide a discussion of different combinations of these approaches as a way to combine their strengths.
|
156.
|
Martin Mahaux, Olly Gotel, Alistair Mavin, Luisa Mich, Lemai Nguyen und Klaus Schmid
(2012):
Factors Influencing Collaborative Creativity in Requirements Engineering: Analysis and Practical Advice
In: RE, 12.
|
155.
|
Mike Hinchey, Sooyong Park und Klaus Schmid
(2012):
Building Dynamic Software Product Lines
In: IEEE Computer, 10 (45): 22-26.
IEEE.
|
154.
|
Sascha El-Sharkawy, Stephan Dederichs und Klaus Schmid
(2012):
From Feature Models to Decision Models and Back Again: An Analysis Based on Formal Transformations
In:
Eduardo Santana de Almeida and Christa Schwanninger and David Benavides (Hrsg.):
Proceedings of the 16th International Software Product Line Conference (SPLC '12)
Bd. 1.
S. 126-135.
ACM.
Zusammenfassung
In Software Product Line Engineering, variability modeling plays a crucial rule. Over the years, a couple of different modeling paradigms with a plethora of different approaches have been proposed. However, only little attention was spend to compare these concepts. In this paper, we compare the capabilities and expressiveness of basic feature modeling with basic decision modeling. In this paper, we also present a formalization of basic decision modeling and show that in combination with a powerful constraint language both approaches are equivalent, while in their very basic forms they are not equivalent. These results can be used to transfer existing research results between the two paradigms.
|
153.
|
Christian Tischer, Birgit Boss, Andreas Müller, Andreas Thums, Rajneesh Acharya und Klaus Schmid
(2012):
Developing Long-Term Stable Product Line Architectures
In:
Eduardo Santana de Almeida and Christa Schwanninger and David Benavides (Hrsg.):
Proceedings of the 16th International Software Product Line Conference (SPLC '12)
Bd. 1.
S. 86-95.
ACM.
Zusammenfassung
Product lines are usually built for the long term in order to repay the initial investment. While long-term stable software systems are already hard, if they are developed individually, it is even harder for complete product lines. At the time a new product line is created, the details of future product line characteristics are typically not known, no matter how well and detailed scoping and planning is done. Thus, any product line needs to evolve and adapt over time to incorporate new customer requirements as well as new technology constraints. Stability of the product line architecture is very important to the successful long-term evolution of a product line. In this paper, we discuss how a form of domain decomposition, which we call conceptual architecture, can be used to guide product line engineering towards long-term viability. We will illustrate this approach in the context of a large-scale product line development and analyze the evolution properties of the product line. Transferability of the approach is suggested to other embedded software systems that drive mature, well-understood physical control system.
|
2011 | |
152.
|
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.
|
151.
|
Sascha El-Sharkawy und Klaus Schmid
(2011):
A Heuristic Approach for Supporting Product Innovation in Requirements Engineering: A Controlled Experiment
In:
Daniel Berry and Xavier Franch (Hrsg.):
Proceedings of the 17th International Working Conference on Requirements Engineering: Foundation for Software Quality (REFSQ '11)
S. 78-93.
Springer.
Zusammenfassung
[Context and motivation] While requirements engineering earlier focused on gathering requirements, it has been recognized today that creativity and innovation are required as a basis for novel products. [Question/problem] We described earlier an approach to support creativity in requirements engineering. Here, we focus on a thorough validation of the approach. [Principal ideas/results] Our approach uses semantic-based technologies to derive new idea triggers. Here, we show an evaluation of this approach. We find that the approach provides better results than other existing creativity techniques like random triggers. [Contribution] The paper provides evidence for creativity enhancement using our approach. It also shows how a controlled experiment to analyze creativity in requirements engineering can be performed.
|
150.
|
Hendrik Brummermann, Markus Keunecke und Klaus Schmid
(2011):
Variability Issues in the Evolution of Information System Ecosystems
In:
Patrick Heymans and Krzysztof Czarnecki and Ulrich W. Eisenecker (Hrsg.):
Proceedings of the 5th Workshop on Variability Modeling of Software-Intensive Systems (VaMoS '11)
S. 159-164.
ACM.
Zusammenfassung
In a software ecosystem with open variability customers create their own products based on a reuse infrastructure provided by a development company. While an open approach has many benefits, it brings along a number of specific issues, especially related to evolution. In this problem statement we discuss some of the issues that arise in merging local variabilities with evolved versions of the reuse infrastructure of the development organization. In our discussion we focus on information systems, inspired by the situation of a specific company.
|
149.
|
Klaus Schmid, Rick Rabiser und Paul Paul Grünbacher
(2011):
A Comparison of Decision Modeling Approaches in Product Lines
In:
Patrick Heymans and Krzysztof Czarnecki and Ulrich W. Eisenecker (Hrsg.):
Proceedings of the 5th International Workshop on Variability Modeling of Software-intensive Systems (VaMoS '11)
S. 119-126.
ACM.
Zusammenfassung
It has been shown that product line engineering can significantly improve the productivity, quality and time-to-market of software development by leveraging extensive reuse. Variability models are currently the most advanced approach to define, document and manage the commonalities and variabilities of reusable artifacts such as software components, requirements, test cases, etc. These models provide the basis for automating the derivation of new products and are thus the key artifact to leverage the flexibility and adaptability of systems in a product line. Among the existing approaches to variability modeling feature modeling and decision modeling have gained most importance. A significant amount of research exists on comparing and analyzing different feature modeling approaches. However, despite their significant role in product line research and practical applications, only little effort has been devoted to compare and analyze decision modeling approaches. In order to address this shortcoming and to provide a basis for more structured research on decision modeling in the future, we present a comparative analysis of representative approaches. We identify their major modeling concepts and present an analysis of their commonalities and variabilities.
|
148.
|
Svein Hallsteinsen, Mike Hinchey, Sooyong Park und Klaus Schmid
(2011):
Fifth International Workshop on Dynamic Software Product Lines (DSPL 2011)
In:
2011 15th International Software Product Line Conference
S. 335-335.
IEEE.
|
147.
|
Andreas Birk, Klaus Schmid und Markus Völter
(2011):
Produktlinien im Kontext: Technologie, Prozesse, Business und Organisation (PIK 2011)
In:
Software Engineering 2011 – Fachtagung des GI-Fachbereichs Softwaretechnik
S. 203-203.
Gesellschaft für Informatik e.V..
|
146.
|
Andreas Birk, Klaus Schmid und Markus Völter
(2011):
Produktlinien im Kontext: Technologie, Prozesse, Business und Organisation - Workshop- Einleitung und Überblick
In:
Software Engineering 2011 – Workshopband
S. 235-239.
Gesellschaft für Informatik e.V..
|
145.
|
Klaus Schmid und Sascha El-Sharkawy
(2011):
Kreativität in der Anforderungsgewinnung: ein Experiment
In: Softwaretechnik-Trends, 31 (1).
Zusammenfassung
Im modernen Requirements Engineering werden Anforderungen nicht nur erfasst, sondern gestaltet. Entsprechend ist Innovation in der Anforderungsgewinnung eine wichtige Aufgabe, die entscheidenden Einfluss auf den Produkterfolg hat. Doch können innovative Ideen systematisch entwickelt werden? Frühere Fallstudien zeigten bereits, dass dies möglich ist. In diesem Beitrag zeigen wir, dass der kreative Nutzen einzelner Techniken mit empirischen Methoden systematisch analysiert und belegt werden kann.
|
144.
|
Sascha El-Sharkawy, Christian Kröher und Klaus Schmid
(2011):
Support for Complex Product Line Populations
In:
Ina Schaefer and Isabel John and Klaus Schmid (Hrsg.):
Demonstration and Tools at the 15th International Software Product Line Conference (SPLC '11)
Bd. 2.
ACM.
Zusammenfassung
In this paper, we describe EASy-Producer, a prototypical tool for complex and large-scale Software Product Line (SPL) development. The tool enables SPL engineers to reduce complexity by combining derivation and composition techniques to manage one large SPL as a combination of individual, but interrelated SPLs.
|
143.
|
Sascha El-Sharkawy, Christian Kröher und Klaus Schmid
(2011):
Supporting Heterogeneous Compositional Multi Software Product Lines
In:
Ina Schaefer and Isabel John and Klaus Schmid (Hrsg.):
Proceedings of the Joint Workshop of the 3rd International Workshop on Model-driven Approaches in Software Product Line Engineering and the 3rd Workshop on Scalable Modeling Techniques for Software Product Lines (MAPLE/SCALE 2011) at the 15th Internationa
Bd. 2.
ACM.
Zusammenfassung
Software Product Line Engineering is inherently complex. This complexity increases further if multiple product line infrastructures are composed to yield the final products, an approach sometimes referred to as Multi Software Product Lines (MSPL). In this paper, we present an approach that targets this development scenario. The approach we present here aims at a lightweight, scalable, and practical approach to variability management for multi software product lines. Our approach explicitly supports heterogeneous product lines, i.e. situations where the various product lines use different generation approaches. The approach has been implemented in the EASy-Producer tool set and applied on some case studies.
|
2010 | |
142.
|
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
|
141.
|
Klaus Schmid
(2010):
Variability Modeling for Distributed Development - A Comparison with Established Practice
In:
Jan Bosch and Jaejoon Lee (Hrsg.):
Proceedings of the 14th International Software Product Line Conference (SPLC '10)
S. 155-165.
Springer.
Zusammenfassung
The variability model is a central artifact in product line engineering. Existing approaches typically treat this as a single centralized artifact which describes the configuration of other artifacts. This approach is very problematic in distributed development as a monolithic variability model requires significant coordination among the involved development teams. This holds in particular if multiple independent organizations are involved. At this point very little work exists that explicitly supports variability modeling in a distributed setting. In this paper we address the question how existing, real-world, large-scale projects deal with this problem as a source of inspiration on how to deal with this in variability management.
|
140.
|
Svein Hallsteinsen, Mike Hinchey, Sooyong Park und Klaus Schmid
(2010):
4th international workshop on dynamic software product lines (DSPL 2010)
In:
International Conference on Software Product Lines
S. 523-523.
Springer Berlin Heidelberg.
|
139.
|
Andreas Birk, Klaus Schmid und Markus Völter
(2010):
Produktlinien im Kontext: Technologie, Prozesse, Business und Organisation (PIK2010)
In:
Software Engineering 2010
S. 246-246.
Gesellschaft für Informatik e.V..
|
138.
|
Andreas Birk, Klaus Schmid und Markus Völter
(2010):
Produktlinien im Kontext: Technologie, Prozesse, Business und Organisation. PIK2010 Workshop-Einleitung und Überblick
In:
Software Engineering 2010 – Workshopband (inkl. Doktorandensymposium)
S. 323-328.
Gesellschaft für Informatik e.V..
|
137.
|
Klaus Schmid
(2010):
Produktlinienentwicklung
In: Informatik-Spektrum, 33 (6): 621-625.
Zusammenfassung
Softwareentwickelnde Unternehmen sind heute meist auf Produkte fokussiert, die sie immer wieder in ähnlicher Weise realisieren (Finanzinformationssysteme, Motorensteuerungen etc.). Entsprechend können diese Unternehmen signifikante Vorteile erzielen, falls es ihnen gelingt, ähnliche Funktionalität jeweils nur einmal zu entwickeln und in mehreren Produkten wiederzuverwenden. Produktlinienentwicklungsansätze unterstützen genau dies und führen so zu deutlichen Vorteilen in Bezug auf Kosten, Qualität und Entwicklungszeit, wie Industrieerfahrungen zeigen [3, 7]. Produktlinienansätze unterscheiden sich von anderen Softwareentwicklungsansätzen vor allem darin, dass sie auf die integrierte Entwicklung einer Menge von Systemen (Produkten) abzielen,während klassische Ansätze den Fokus auf Einzelsysteme legen.
|
136.
|
Pascal Grube, Sascha El-Sharkawy und Klaus Schmid
(2010):
Automatisierte Kreativitätsunterstützung in der Anforderungserhebung
In: Softwaretechnik-Trends, 30 (1).
Zusammenfassung
Traditionell wird die Anforderungserhebung vor allem als eine reine Erfassung existierender Wünsche gesehen. In letzter Zeit setzt sich jedoch die Ansicht durch, dass Anforderungen für neue Produkte meist erst entwickelt werden müssen; Anforderungserhebung also mit Innovation verbunden ist. Damit ist auch das Interesse an der Unterstützung von Kreativität in der Anforderungserhebung stark gewachsen. Kreativitätsunterstützung wird meist im Zusammenhang mit moderierten Workshops gesehen. Hier stellen wir jedoch einen Ansatz dar, bei dem ein Assistenzsystem basierend auf modelliertem Wissen versucht zusätzliche Anhaltspunkte für die kreative Entwicklung von Anforderungen zu geben.
|
135.
|
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.
|
134.
|
Klaus Schmid, Holger Eichelberger, Ursula Goltz und Malte Lochau
(2010):
Evolving Adaptable Systems: Potential and Challenges
In: Softwaretechnik-Trends, 30 (2): 48-49.
|
2009 | |
133.
|
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.
|
132.
|
Sascha El-Sharkawy, Pascal Grube und Klaus Schmid
(2009):
Using Semantically Linked Content to Support Creativity in Product Innovation
In:
Proceedings of Future Computing, Service Computation, Cognitive, Adaptive, Content, Patterns (COMPUTATIONWORLD '09)
S. 638-642.
IEEE Computer Society.
Zusammenfassung
In competitive markets product innovation becomes a major issue for companies. Many creativity techniques have been proposed over time to improve creativity.In this paper, we discuss a platform and a specific reasoning approach to support product innovation. This reasoning approach is based on a specific form of heuristic (or almost correct) reasoning, most instances rely on analogies.
|
131.
|
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.
|
130.
|
Alexander Helleboogh, Daniel Weyns, Klaus Schmid, Tom Holvoet, Kurt Schelfthout und Wim Van Betsbrugge
(2009):
Adding Variants on-the-fly: Modeling Meta-Variability in Dynamic Software Product Lines
In:
Dirk Muthig and John D. McGregor (Hrsg.):
Proceedings of the 3rd International Workshop on Dynamic Software Product Lines (DSPL '09) at the 13th International Software Product Line Conference (SPLC '09)
S. 18-27.
ACM.
Zusammenfassung
Dynamic software product lines (DSPL) are software product lines (SPL) that support runtime variability. Runtime variability is typically interpreted as binding variation points at runtime. We emphasize meta-variability as an important dimension of runtime variability in DSPL. Whereas dynamic binding considers the runtime (de)activation of variants within the scope of a given variability model, meta-variability considers runtime changes to the variability model itself. Meta-variability is essential to support longlived software products that are subject to evolution. In this paper, we consider meta-variability in an industrial DSPL that is developed in a joint project with Egemin N.V., a leading company that provides full life cycle support for automated transportation systems (ATS). The contribution of this paper is threefold. First, we introduce a way to model meta-variability in DSPL in an explicit manner. Second, we put forward a meta-variability meta model that extends the variability meta model with concepts that explicitly support meta-variability. Third, we capture and apply metavariability in an industrial DSPL for automated transportation systems.
|
129.
|
Peter Dolog, Yujian Lin, Pascal Grube und Klaus Schmid
(2009):
Creativity Support at the Workplace
In:
Proceedings of the 2nd International ELBa Science Conference (ELBa '09)
Fraunhofer Verlag.
Zusammenfassung
In this paper, we discuss creativity as a form of learning from the perspective of idea generation in the creative process. We analyze forms of creativity and present the statement-based creativity techniques. Based on these concepts a tool prototype IdeaTrigger is presented and verified. It shows the advantages for innovative activity, especially in collaborative environment.
|
128.
|
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
|
127.
|
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.
|
126.
|
Klaus Schmid und Christian Kröher
(2009):
An Analysis of Existing Software Configuration Systems
In:
Dirk Muthig and John D. McGregor (Hrsg.):
Proceedings of the 3rd International Workshop on Dynamic Software Product Lines (DSPL '09) at the 13th International Software Product Line Conference (SPLC '09)
ACM.
Zusammenfassung
Dynamic Software Product Lines (DSPL) focuses on product lines where the resolution of variants happens at a later point in time, ideally at runtime. While runtime reconfiguration is still rather innovative, preconfiguration of software systems is well established and to some degree even standardized. Thus, we study such preconfiguration approaches to better understand how their capabilities relate to classical product line engineering on one hand and to dynamic software product lines on the other.
|
125.
|
Klaus Schmid
(2009):
Verteilte Evolution von Softwareproduktlinien: Herausforderungen und ein Lösungsansatz
In:
Proceedings of the 1st Workshop of the GI-Arbeitskreis Langlebige Softwaresysteme (L2S2): "Design for Future - Langlebige Softwaresysteme"
S. 99-110.
Gesellschaft für Informatik (GI).
Zusammenfassung
Die Evolution einzelner Systeme ist bereits relativ komplex, doch alle diese Probleme findet man potenziert in einer Produktlinienentwicklung. Zusätzlich zu den Einzelsystemproblemen treten weitere Schwierigkeiten hinzu. In diesem Beitrag gehen wir auf die Herausforderungen der Produktliniensituation ein und legen unser Augenmerk vor allem auf die Situation verteilter Evolution. Wir stellen einen möglichen Ansatz zur Lösung vor.
|
124.
|
Klaus Schmid
(2009):
Reasoning on Requirements Knowledge to Support Creativity
In:
Proceedings of the 2nd International Workshop on Managing Requirements Knowledge (MaRK '09) at the 17th IEEE International Requirements Engineering Conference (RE '09)
S. 7-11.
IEEE Computer Society.
Zusammenfassung
Developing innovative products is an important challenge for companies these days. Meanwhile it is in requirements engineering widely recognized that requirements elicitation has to go beyond mere recording of knowledge, rather is has to be an active process where new ideas are created. Thus, creativity is an important issue in requirements engineering. While so far tool support for creativity focused mainly on recording the creative outcome or providing relevant knowledge, we will describe an approach where tool support is used to actively support people in the creation of ideas.
|
123.
|
Ali Muhammad Sarmad, Ali Barbar und Klaus Schmid
(2009):
A Comparative Survey of Economic Models for Software Product Lines
In:
Proceedings of the 35th Euromicro Conference on Software Engineering and Advanced Applications (SEAA '09)
S. 275-278.
IEEE Computer Society.
Zusammenfassung
Software product line engineering aims at achieving systematic reuse by exploiting commonalities among related products in order to reduce cost and time-to market. Before adopting this approach, organizations are likely to estimate the benefits they can expect to achieve and the level of investment required to transition to product line engineering. Several economic models and analysis approaches have been developed in order to help make a sound business case. There is a need to review the existing approaches in order to better understand the overall landscape of economic models. To this objective, this paper provides an overview of some existing economic models and discusses important issues and directions in product line economic modeling.
|
122.
|
Andreas Helferich, Klaus Schmid und Georg Herzwurm
(2009):
Product Management for Software Product Lines
In:
Kyo Chul Kang and Vijayan Sugumaran and Sooyong Park (Hrsg.):
Applied Software Product-Line Engineering
S. 79-100.
Auerbach Publications.
|
121.
|
Klaus Schmid und Frank van der Linden
(2009):
Introducing and optimizing software product lines using the FEF
In:
SPLC '09: Proceedings of the 13th International Software Product Line Conference
S. 311-311.
ACM.
|
120.
|
Svein Hallsteinsen, Mike Hinchey, Sooyong Park und Klaus Schmid
(2009):
3rd International Workshop on Dynamic Software Product Lines: DSPL 2009
In:
SPLC '09: Proceedings of the 13th International Software Product Line Conference
S. 295-295.
ACM.
|
119.
|
Klaus Schmid
(2009):
Konsistente Evolution von lebenszyklusübergreifenden Variabilitätsmodellen
In:
Software Engineering 2009
S. 135-139.
Gesellschaft für Informatik e.V..
|
118.
|
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.
|
117.
|
Danilo Beuche, Andreas Birk, Heinrich Dreier, Samuel Fricker, Eva Geisberger, Gerald Heller, Dirk Janzen, Thomas von der Maßen, Birgit Penzenstadler und Klaus Schmid
(2009):
Requirements-Engineering-Frameworks und Produktlinien: Zwischenbericht des Arbeitskreises
In: Softwaretechnik Trends, 29 (1).
|
116.
|
Pascal Grube und Klaus Schmid
(2009):
Systematische Auswahl von Kreativitätstechniken für die Anforderungserhebung
In: Softwaretechnik-Trends, 29 (1): 9-10.
Zusammenfassung
Ziel der Anforderungserhebung ist es Anforderungen des Kunden korrekt und vollständig zu erfassen. Doch oft ist auch dem Kunden nicht bewusst, wie eine Lösung aussehen kann. Hier haben sich Kreativitätstechniken als guter Ansatz gezeigt, um die Entwicklung einer Systemvision zu unterstützen. Hier stellen wir einen Ansatz vor, um aus der großen Zahl verfügbarer Techniken systematisch die für eine konkrete Situation passende Technik auszuwählen.
|
115.
|
Sebastian Adam, Michael Ehresmann, Stefan Krause, Klaus Schmid und Wassilou Sitou
(2009):
Zwischenbericht des Arbeitskreises Requirements Engineering für Adaptive Systeme
In: Softwaretechnik-Trends, 29 (1): 8.
Zusammenfassung
Die wirtschaftliche Bedeutung von Flexibilität und Adaptivität wächst. Viele Techniken wie Produktlinienentwicklung oder Service-orientierte Architekturen wurden entwickelt, um mit dieser Herausforderung umzugehen. Aber auch Fragestellungen der Softwareevolution sind von Bedeutung. Die genannten Techniken und Entwicklungsansätze haben auch Auswirkungen auf das Requirements Engineering. Diese Herausforderungen stehen im Mittelpunkt des Arbeitskreises Requirements Engineering für Adaptive Systeme.
|
114.
|
Andreas Birk, Gerald Heller, Dirk Janzen und Klaus Schmid
(2009):
Orientierung in der Landschaft des Requirements-Engineering: Ein Überblick über RE-Frameworks und ihre Anwendungsgebiete
In: Softwaretechnik-Trends, 29 (1): 2-3.
Zusammenfassung
Das Requirements-Engineering (RE) hat in den vergangenen Jahren viele RE-Frameworks hervor gebracht, die zentrale Konzepte des RE detailliert und umfassend beschreiben sowie Anleitungen für die RE-Praxis bieten wollen. Zugleich sind mit der Ausweitung der Software-Produktlinien(SPL)-Entwicklung in der Industrie neue Herausforderungen an das RE entstanden, für die RE-Frameworks Lösungen bieten sollten. Der Arbeitskreis "Requirements-Engineering-Frameworks und Produktlinien" der GI-Fachgruppe "Require-ments-Engineering" hat das Ziel, einen Überblick über die wichtigsten RE-Frameworks zu erstellen, die Relevanz aus Sicht der Industrie zu bewerten und ihre Anwendbarkeit in der Produktlinien-Entwicklung zu untersuchen [4][1]. Dies soll Software-Projekte, die Anleitung für Ihr RE suchen, unterstützen, das für sie passende Framework auszuwählen. Dieser Artikel stellt erste Ergebnisse dieser Arbeit vor.
|
2008 | |
113.
|
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
|
112.
|
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.
|
111.
|
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)
|
110.
|
Pascal Grube und Klaus Schmid
(2008):
Selecting Creativity Techniques for Innovative Requirements Engineering
In:
Proceedings of the 3rd International Workshop on Multimedia and Enjoyable Requirements Engineering - Beyond Mere Descriptions and with More Fun and Games (MERE '08)
S. 32-36.
IEEE Computer Society.
Zusammenfassung
While the traditional focus of requirements engineering was mainly on the systematic, reliable and adequate translation of the customers intentions into requirements documentation, it became recently increasingly accepted that requirements engineering, especially for innovative and novel products, is probably more adequately described as a process of joint discovery of requirements that can be supported by creativity techniques. However, so far little work exists on how to systematically select techniques as a basis for requirements engineering. As part of the IdSpace Project, which focuses on collaborative product innovation, we are currently investigating this area. This paper provides a brief overview of our work in this domain.
|
109.
|
Andreas Birk, Ludger Fiege und Klaus Schmid
(2008):
Produktlinien im Kontext: Technologie, Prozesse, Business und Organisation. PIK2008 Workshop-Einleitung und Überblick
In:
Walid Maalej and Bernd Bruegge (Hrsg.):
Proceedings of the 2008 Workshop Produktlinien im Kontext (PIK '08) at the Conference on Software Engineering (SE '08)
S. 235-239.
Gesellschaft für Informatik (GI).
Zusammenfassung
Produktlinien sind heute in vielen Bereichen der Software-Industrie vertreten. Dennoch bergen sie für viele Unternehmen noch bedeutende Herausforderungen und Risiken. Der Workshop beleuchtet aktuelle Erfahrungen mit Produktlinien und bietet ein Forum für den Dialog zwischen Praxis und anwendungsorientierter Forschung. Im Mittelpunkt steht das Wechselspiel zwischen technischen Fragestellungen und den geschäftlichen, organisatorischen und Prozessaspekten.
|
108.
|
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.
|
107.
|
Klaus Schmid, M Ali Babar, Paul Grünbacher und Makoto Nonaka
(2008):
The Second International Workshop on Management and Economics of Software Product Lines (MESPUL08)
In:
2008 12th International Software Product Line Conference
S. 386-386.
IEEE.
|
106.
|
Klaus Schmid
(2008):
Software Product Lines Doctoral Symposium
In:
2008 12th International Software Product Line Conference
S. 391-391.
IEEE.
|
105.
|
Svein Hallsteinsen, Mike Hinchey, Sooyong Park und Klaus Schmid
(2008):
2nd International Workshop on Dynamic Software Product Lines DSPL 2008
In:
2008 12th International Software Product Line Conference
S. 381 - 381.
IEEE.
|
104.
|
Andreas Birk, Ludger Fiege und Klaus Schmid
(2008):
Workshop – Produktlinien im Kontext: Technologie, Prozesse, Business und Organisation
In:
Software Engineering 2008
S. 288-290.
Gesellschaft für Informatik e.V..
|
103.
|
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.
|
102.
|
Klaus Schmid
(2008):
Produktlinien in der industriellen Softwareentwicklung
In: iX-Magazin f, 5: 110-114.
Online available at: http://www.heise.de/developer/artikel/Produktlinien-in-der-industriellen-Softwareentwicklung-227160.html
Zusammenfassung
Software ist ein entscheidender Wertschöpfungs- und Kostenfaktor in industriellen Produkten. Dies gilt sowohl für Informationssysteme als auch für eingebettete Systeme wie Anlagensteuerungen oder Automobilkomponenten. Systematische Produktlinienentwicklung hat sich als probates Mittel erwiesen, gleichzeitig Kosten und Fehlerzahl zu senken.
|
101.
|
Svein Hallsteinsen, Mike Hinchey, Soyong Park und Klaus Schmid
(2008):
Dynamic Software Product Lines
In: IEEE Computer, 41 (4): 93-95.
Zusammenfassung
The Software Engineering Institute (SEI) defines an SPL as a set of software-intensive systems that share a common, managed set of features satisfying the specific needs of a particular market segment or mission. A fundamental principle of SPLs is variability management, which involves separating the product line into three parts - common components, parts common to some but not all products, and individual products with their own specific requirements - and managing these throughout development. Using SPLs seeks to maximize reusable variation and eliminate wasteful generic development of components used only once. Although traditional SPL engineering recognizes that variation points are bound at different stages of development, and possibly also at runtime, it typically binds variation points before delivery of the software. In contrast, DSPL engineers typically aren't concerned with pre-runtime variation points. However, they recognize that in practice mixed approaches might be viable, where some variation points related to the environment's static properties are bound before runtime and others related to the dynamic properties are bound at runtime.
|
100.
|
Michael Lorenz, Markus Bode und Klaus Schmid
(2008):
Requirements Engineering im Customer Relationship Management: Erfahrungen in der Werkzeugauswahl
In: Softwaretechnik-Trends, 28 (1): 15-16.
Zusammenfassung
Customer Relationship Management (CRM) ist eine komplexe Domäne und erfordert entsprechende ITUnterstützung. Die arvato direct services GmbH ist europaweit einer der größten Dienstleister in diesem Bereich. Die adäquate IT-Unterstützung wird in der Regel individuell entwickelt, daher ist das Requirements Engineering (RE) entscheidend für den Erfolg in diesen Projekten. Um das RE bei arvato direct services zu stärken, wurde eine systematische Auswahl eines RE-Werkzeugs durchgeführt. Ausgehend von den Herausforderungen eines ITDienstleisters im CRM, wird auf die erhobenen Anforderungen an das gesuchte RE-Werkzeug und die Vorgehensweise bei der Auswahl eingegangen. Anschließend werden sowohl die Erfahrungen bei der Werkzeugauswahl als auch bei der Einführung des Werkzeugs dargestellt. Diese sind zum Teil auch über den Bereich des CRM hinaus übertragbar.
|
99.
|
Klaus Schmid
(2008):
Zwischenbericht des Arbeitskreises Requirements Engineering für Adaptive Entwicklung und Systeme
In: Softwaretechnik-Trends, 28 (1): 27.
Zusammenfassung
Die wirtschaftliche Bedeutung von Flexibilität und Adaptivität wächst. Viele Techniken wie Produktlinienentwicklung oder Service-orientierte Systeme wurden entwickelt, um mit dieser Herausforderung umzugehen. Aber auch Fragestellungen der Softwareevolution sind von Bedeutung. Diese Techniken und Entwicklungsansätze haben auch Auswirkungen auf das Requirements Engineering. Diese Herausforderungen stehen im Mittelpunkt des Arbeitskreises Adaptive Entwicklung und Systeme.
|
98.
|
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 | |
97.
|
Daniel Schneider, Christian Bunse und Klaus Schmid
(2007):
Towards Adaptive Service Engineering
In:
Grace A. Lewis and Dennis B. Smith (Hrsg.):
Proceedings of the International Workshop on the Foundations of Service-Oriented Architecture (FSOA '07) at the 3rd International Conference on Interoperability of Enterprise Software and Applications (I-ESA '07)
S. 33-38.
Software Engineering Institute (SEI).
Zusammenfassung
Technical systems are increasingly becoming an imminent part of human life. A growing trend is that systems are embedded in technical devices and working continuously without human intervention. However, this implies that these systems run for a long time without human control. As the environment changes, the systems need to adapt themselves. One approach to address these challenges is the use of service-oriented development paradigms. This paper highlights the challenges and research issues in the context of engineering adaptable, service-oriented systems. Challenges are identified based on the development plane they might appear in (i.e., service-, application-, and infrastructure engineering). We finish by discussing in detail the expected benefits and open research issues.
|
96.
|
Frank van der Linden, Klaus Schmid und Eelco Rommes
(2007):
Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering
Springer.
|
95.
|
Klaus Schmid
(2007):
Ambient Intelligence
In: KI, 2: 5-9.
|
94.
|
Klaus Schmid, Georg Herzwurm und Andreas Helferich
(2007):
Software-Produktlinien aus Sicht des Marktes und der Technik
In: WISU, 07 (5): 686-692.
|
2006 | |
93.
|
Andreas Helferich, Klaus Schmid und Georg Herzwurm
(2006):
Reconciling Marketed and Engineered Software Product Lines
In:
Proceedings of the 10th International on Software Product Line Conference (SPLC '06)
S. 23-27.
IEEE Computer Society.
Zusammenfassung
Basically all companies today go beyond the development of single products and offer set(s) of similar and related products. In marketing, one such set is often called a product line. Nevertheless, still today most products are not yet engineered as product lines, i.e., they are not yet derived from a single platform. In this paper, we will explore the relation of these two forms of product lines. It is shown that under certain circumstances Engineered and Marketed Software Product Line subsume different products. This paper shows how these two perspectives differ and why a difference in products between these perspectives may be appropriate from a company perspective. Finally, it is argued that activities currently subsumed under Product Management and Scoping should be closely coordinated, allowing companies to optimize their product portfolios since decision-making is facilitated.
|
92.
|
Klaus Schmid, Karsten Krennrich und Michael Eisenbarth
(2006):
Requirements Management for Product Lines: Extending Professional Tools
In:
Proceedings of the 10th International Software Product Line Conference (SPLC '06)
S. 113-122.
IEEE Computer Society.
Zusammenfassung
The key idea of software product lines is the integrated development of a set of products, exploiting commonalities and variabilities among the products to achieve high levels of reuse. The commercial potential of this approach has already been demonstrated in numerous case studies. However, while requirements management tools are already widespread, the range of professional tool support for product line development is still very poor. In this paper we analyze the question whether and how existing requirement management tools can be seamlessly extended to product line development. We present a general approach, which has been prototyped based on the DOORS requirements management tool and leads to the REMAP-tool extension.
|
91.
|
Klaus Schmid
(2006):
Goal-Based Requirements Modelling as a Basis for Adaptivity to the Service Context
In:
Klaus David and Olaf Drögehorn and Sandra Haseloff (Hrsg.):
Proceedings of the 2nd Workshop on Context Awareness for Proactive Systems (CAPS '06)
S. 31-42.
Kassel University Press.
|
90.
|
Klaus Schmid
(2006):
The Self-Adaptation Problem in Software Specifications
In:
Proceedings of the Workshop on Software Engineering Challenges for Ubiquitous Computing (SEUC '06)
|
89.
|
Andreas Helferich, Klaus Schmid und Georg Herzwurm
(2006):
Product Management for Software Product Lines: An Unsolved Problem?
In: Communications of the ACM, 49 (12): 66-67.
Zusammenfassung
The goal of this article is to call attention to an area that is yet not sufficiently researched: product management for software product lines (SPLs). Many companies developing standardized software products have adopted product management as a function that coordinates research and development, marketing, sales, and software development. Even though this function coordinates all of these areas, it is traditionally mainly a marketing function and often organized as part of the marketing department. This may be sufficient for "normal" software products, but not in a SPL context, as we will discuss here.
|
88.
|
Klaus Schmid
(2006):
A Study on Creativity in Requirements Engineering
In: Softwaretechnik-Trends, 26 (1): 20-21.
Zusammenfassung
The first step of requirements engineering is always: deciding what to build. While it may seem trivial, it is sometimes the hardest step in the whole project. In this report, we illustrate some experiences with a miniature creativity session that focused on the what-to-build question. The very limited time frame allowed at the same time very detailed controlling of the overall results. Thus, we can provide here quantitative results on the success of the workshop.
|
87.
|
Andreas Helferich, Klaus Schmid und Georg Herzwurm
(2006):
Softwareproduktlinien für Anwendungssysteme: eine Analyse aus Techniksicht und Marktsicht
In:
Multikonferenz Wirtschaftsinformatik (MKWI '06) - Software-Produktmanagement
Bd. 2.
S. 237-248.
|
2005 | |
86.
|
Klaus Schmid, Karsten Krennrich und Michael Eisenbarth
(2005):
Requirements Management for Product Lines: A Prototype
IESE-Report
Heft / Ausgabe 061.05/E.
Fraunhofer IESE, Germany.
Zusammenfassung
The key idea of software product lines is the integrated development of a set of products, exploiting commonalities and variabilities among the products to achieve high levels of reuse. The commercial potential of this approach has already been demonstrated in numerous case studies. However, while requirements management tools are already widespread, the range of professional tool support for product line development is still very poor. In this paper we analyze the question whether and how existing requirement management tools can be seamlessly extended to product line development. We present a general approach, which has been prototyped based on the DOORS requirements management tool and lead to the REMAP tool.
|
85.
|
Thomas Olsson, Christian Denger, Tom Koenig, Michael Eisenbarth und Klaus Schmid
(2005):
A Reference Model for Requirements
IESE-Report
Heft / Ausgabe 043.05/E.
Fraunhofer IESE, Germany.
Zusammenfassung
This report describes the reference model underlying the transformation between different models and the traceability between the same.
|
84.
|
Thomas Olsson, Christian Denger, Tom Koenig, Michael Eisenbarth und Klaus Schmid
(2005):
Applying the IESE Requirements Reference Model
IESE-Report
Heft / Ausgabe 045.05/E.
Fraunhofer IESE, Germany.
Zusammenfassung
This report describes mapping of several requirements engineering models to the ForPICS reference model.
|
83.
|
Klaus Schmid, Isabel John, Ronny Kolb und Gerald Meier
(2005):
Introducing the PuLSE Approach to an Embedded System Population at Testo AG
In:
Gruia-Catalin Roman and William G. Griswold and Bashar Nuseibeh (Hrsg.):
Proceedings of the 27th International Conference on Software Engineering (ICSE '05)
S. 544-552.
ACM.
Zusammenfassung
Over the last few years, product line engineering has become a major theme in software engineering research, and is increasingly becoming a central topic of software engineering practice in the embedded domain. Migrating towards a product line approach is not an easy feat. It is even less so, if it is done under tight technology constraints in an embedded environment. It becomes even more difficult if the transition directly aims at integrating two product families into a single product population. In this paper, we discuss our experiences with a project where we successfully dealt with these difficulties and achieved a successful product line transition. In our paper, we strongly emphasize the role of technology transfer, as many facets of product line know-how had to be transferred to guarantee a complete transition to product line engineering. From the experiences of this project many lessons learned can be deduced, which can be transferred to different environments.
|
82.
|
Klaus Schmid, Michael Eisenbarth und Mathias Grund
(2005):
From Requirements Engineering to Knowledge Engineering: Challenges in Adaptive Systems
In:
Proceedings of the 1st International Workshop on Service-Oriented Computing: Consequences for Engineering Requirements (SOCCER '05) at the 13th IEEE International Requirements Engineering Conference (RE '05)
|
81.
|
Klaus Schmid und Thomas Koenig
(2005):
Adapting Business Processes to Varying Business Needs: Some Case Studies
In:
Proceedings of the 1st International Workshop on Requirements Engineering for Business Needs and IT Alignment (REBNITA '05) at the 13th IEEE International Conference on Requirements Engineering (RE '05)
|
80.
|
Klaus Schmid und Stefan Biffl
(2005):
Systematic Management of Software Product Lines
In: Software Process: Improvement and Practice, 10 (1): 61-76.
Zusammenfassung
Software product lines can effectively facilitate large-scale reuse and can thus bring about order of magnitude improvements in terms of time to market (TTM), costs, and quality. This comes at the price of a more complex development environment in which many interdependencies are created through shared generic assets. Owing to this complexity, the specific strategy chosen for product line development can be expected to have a strong impact on the benefits that can be gained from product line development. This is systematically studied in this work, as we vary different strategies and apply them to various forms of products lines. On the basis of the analysis of the performed simulations, we were able to determine optimal, heuristic strategies to the integrated management of the product line. As a result of the analysis, we identify strategies and guidelines that can be employed by practitioners in order to improve the success of their management of a software product line.
|
2004 | |
79.
|
D. Zühlke, K. Berns, N. Thiels und Klaus Schmid
(2004):
White Paper in the Area of MMI for the Research Topic "Ambient Intelligence" (AmI)
|
78.
|
Isabel John, Jörg Dörr und Klaus Schmid
(2004):
User Documentation Based Product Line Modeling
IESE-Report
Heft / Ausgabe 004.04/E.
Fraunhofer IESE, Germany.
Zusammenfassung
This report describes an approach for extraction of product line requirements based on existing user documentation. The approach we describe in this report supports capturing of the information found in user documentation of legacy systems, e.g., user manuals, and the specification of this information in product line models, using, e.g., Use Cases. The main goal of the approach is expert load reduction; as we found out during our product line technology activities at IESE that the domain experts are a serious bottleneck during the product line scoping and modeling activities. The approach is based on a variability modeling approach that allows integrating arbitrary modeling formalisms to capture the extracted requirements in a product line model. We propose a conceptual model describing the transition from user documentation to product line artifacts describing common and variable elements of a product line model. The approach uses extraction patterns that allow an easyidentification of text elements in user documents. The pattern are then used to create a significant part of the requirements specification and product line model, respectively and we present an extraction process that guides the user in using the pattern. In this report we present the approach itself and show the application of our approach for three case studies, one from the embedded/ mobile phone domain, two from the information system domain. The case studies have shown that the approach is applicable to information systems and embedded systems and that it produces relatively complete and correct results. With one of our case studies that was performed in real industrial settings we could not only show expert load reduction when applying the approach but also an overall time saving when applying the approach for product line scoping. A predecessor of this report with a different focus can be found in [JD03b].
|
77.
|
Dirk Muthig, Isabel John, Michalis Anastasopoulos, Thomas Forster, Jörg Dörr und Klaus Schmid
(2004):
GoPhone - A Software Product Line in the Mobile Phone Domain
IESE-Report
Heft / Ausgabe 025.04/E.
Fraunhofer IESE, Germany.
Zusammenfassung
This report provides insights into component-based product line engineering on the basis of a case study from the mobile phones domain. The reader follows the systematic creation of a hypothetical software product line according to the PuLSE and KobrA methods developed at Fraunhofer IESE. Scoping as well as Application and Framework Engineering are covered. Our goal was to provide as broad an overview as possible. For that reason many details haven been intentionally left out.
|
76.
|
Klaus Schmid, Isabel John, Ronny Kolb und Gerald Meier
(2004):
Introducing the PuLSE Approach to an Embedded System Population at Testo AG
IESE-Report
Heft / Ausgabe 015.04/E.
Fraunhofer IESE, Germany.
Zusammenfassung
Over the last few years, product line engineering has become a major theme in software engineering research, and is increasingly becoming a central topic of software engineering practice in the embedded domain.Migrating towards a product line approach is not an easy feat. It is even less so, if it is done under tight technology constraints in an embedded environment. It becomes even more difficult if the transition directly aims at integrating two product families into a single product population. In this paper, we discuss our experiences with a project where we successfully dealt with these difficulties and achieved a successful product line transition. In our paper we strongly emphasize the role of technology transfer, as many facets of product line know-how had to be transferred to guarantee a complete transition to product line engineering. From the experiences of this project many lessons learned can be deduced, which can be transferred to different environments.
|
75.
|
Isabel John, D. Kerkow und Klaus Schmid
(2004):
Usable Product Lines: Issues and Requirements
In:
Proceedings of the Workshop W1L Bridging the Gaps II: Bridging the Gaps Between Software Engineering and Human-Computer Interaction at the 26th International Conference on Software Engieneering (ICSE '04)
S. 29-35.
Zusammenfassung
In this paper we describe synergies and conflicts between the two at first sight incompatible fields Usability engineering and Product Line Engineering. We describe how both fields can benefit from each other and give requirements on an approach that covers both usability and product line aspects.
|
74.
|
Tibor Gyimothy, Peter Liggesmeyer, Dirk Niebuhr, Andreas Rausch, Dieter Rombach und Klaus Schmid
(2004):
A Software Engineering Perspective on Ambient Intelligence
In:
Positionspapier als Grundlage des Deutsch-Ungarischen Projektworkshops im Rahmen des BelAmI-Projekts
|
73.
|
Jörg Dörr, Thomas Olsson und Klaus Schmid
(2004):
Qualität im Automobil: Systematische Definition nichtfunktionaler Anforderungen Sicherheit und Zuverlässigkeit für automobile Informationstechnik
In:
E. Plödereder and H. Keller and H. von Sommerfeld and P. Dencker and M. Tonndorf and F. Saglietti (Hrsg.):
Proceedings of the Workshop Automotive - Safety & Security at the Ada Deutschland Tagung 2004
S. 65-71.
Shaker Verlag.
Zusammenfassung
In diesem Artikel haben wir einen Ansatz zur effizienten Identifikation und Dokumentation von nichtfunktionalen Anforderungen vorgestellt, der insbesondere zur Erfassung von Zuverlässigkeits- und Sicherheitsanforderungen eingesetzt wird. Der Ansatz beruht auf erfahrungsoptimierten Qualitätsmodellen, Templates und Checklisten, die projektübergreifend eingesetzt werden. Diese werden in einer Tailoringphase an das jeweilige Projekt angepasst. Die Vorteile des Ansatzes gegenüber anderen Techniken zur Identifikation nichtfunktionaler Anforderungen sind: - Geringer Aufwand, durch Workshopformat, Fokussierung auf Kernanforderungen und vielfältige, erfahrungsbasierte Vorgaben - Verbesserungsorientierung durch die integrierte Iteration der Ausgangsdokumente - Testbarkeit durch die Fokussierung auf messbare NFRs.
|
72.
|
Klaus Schmid
(2004):
Requirements Engineering for Ambient Systems: A Viewpoint
In:
Proceedings of the International Workshop on Service-Oriented Requirements Engineering (SoRE '04) at the 12th IEEE International Conference on Requirements Engineering (RE '04)
IEEE Computer Society.
|
71.
|
Klaus Schmid, Isabel John, Ronny Kolb, Günther Böckle, Peter Knauber, Klaus Pohl und Klaus Schmid
(Hrsg.)
(2004):
Software-Produktlinien
Kapitel: Eingebettete Systeme bei der Testo AG
S. 221-232.
Dpunkt-Verlag.
|
70.
|
Klaus Schmid, Peter Knauber, Günther Böckle, Peter Knauber, Klaus Pohl und Klaus Schmid
(Hrsg.)
(2004):
Software-Produktlinien
Kapitel: Zusammenfassung
S. 43-54.
Dpunkt-Verlag.
|
69.
|
Klaus Schmid, Julio Leite und Jorge Doorn
(Hrsg.)
(2004):
Perspectives on Software Requirements
Kapitel: Strategically Defining and Exploiting Product Portfolios with a Product Line Approach
S. 223-252.
Kluwer Academic Publishers.
|
68.
|
Klaus Schmid und Hans-Jörg Bullinger
(Hrsg.)
(2004):
Trendbarometer Technik: Visionäre Produkte - Neue Werkstoffe - Fabriken der Zukunft
Kapitel: Scoping - Entscheidend für das Design von Softwareproduktlinien
S. 168-169.
Carl Hanser Verlag.
|
67.
|
Klaus Schmid, Günter Böckle, Peter Knauber, Klaus Pohl und Klaus Schmid
(Hrsg.)
(2004):
Software-Produktlinien
Kapitel: Scoping als Basis optimierter Wiederverwendung
S. 43-54.
Dpunkt-Verlag.
|
66.
|
Günther Böckle, Peter Knauber, Klaus Pohl und Klaus Schmid
(2004):
Software-Produktlinien
Dpunkt-Verlag.
|
65.
|
Christian Bunse, Ralf Kalmar und Klaus Schmid
(2004):
Objektorientierte Konzepte für die SW-Entwicklung - Teile und Herrsche!
In: Automotive Electronics & Systems, 9-10: 48-50.
|
64.
|
Klaus Schmid und Isabel John
(2004):
A Customizable Approach to Full Lifecycle Variability Management
In: Science of Computer Programming, 53 (3): 259-284.
Zusammenfassung
In order to enable a smooth transition to product line development for an organization that so far only performed single system development, it is necessary to keep as many of the existing notations and approaches in place as possible.This requires adaptability of the basic variability management approach to the specific situation at hand. In this paper we describe an approach that enables homogenous variability management across the different lifecycle stages, independent of the specific notation. The approach is accompanied by a meta-model and a process for introducing the variability management approach by developing a notation-independent representation. This approach has so far been applied in several cases where our Product Line engineering method PuLSETM has been introduced into a software development organization.
|
63.
|
Thomas von der Maßen, Andreas Birk, Gerald Heller, Isabel John und Klaus Schmid
(2004):
Herausforderungen bei industriellen Produktlinien-Entwicklungen
In: OBJEKT-Spektrum, 5: 69-75.
Zusammenfassung
Produktlinien-Ansätze bergen hohe Potentiale, um den Entwicklungsprozess und die Vermarktung ähnlicher Produkte zu optimieren. Die Einführung oder sogar die Umstellung auf eine Produktlinien-Entwicklung stellen jedoch eine große Herausforderung für jeden Geschäftsbereich einer Organisation dar. Diese wurden in einer Studie des GI-Arbeitskreises "Requirements Engineering für Produktlinien" untersucht. In diesem Artikel werden die Hauptprobleme analysiert und mögliche Lösungen vorgestellt.
|
62.
|
Isabel John, Kirstin Kohler und Klaus Schmid
(2004):
Benutzbare Produktlinien: Integration von Usability- und Produktlinienaspekten in der Anforderungsanalyse
In: Softwaretechnik-Trends, 24 (1): 13-14.
Zusammenfassung
Softwareproduktlinien unterstützen die Entwicklung mehrerer Produkte in Varianten. Diese Variantenbildung betrifft die Architektur der Software insgesamt, materialisiert sich für den Kunden aber vor allem in der Benutzungsoberfläche seiner" Lösung, bspw. durch die Unterschiede in der verfügbaren Funktionalität. Die Benutzungsfreundlichkeit der Features und Prozesse steht im Mittelpunkt des Usability Engineering, das Methoden zur Spezifikation und Bewertung der Benutzbarkeit von Software zur Verfügung stellt. Wir stellen hier ein integriertes Vorgehen zum Usability- und Produktlinienengineering im Rahmen der Anforderungsermittlung, -modellierung und -bewertung vor, das insbesondere für kleine und mittlere Unternehmen geeignet ist, für die eine integrierte Analyse aus Aufwands- und Kostengründen besonders angebracht ist.
|
61.
|
Thomas Olsson, Christian Denger, Tom Koenig, Michael Eisenbarth und Klaus Schmid
(2004):
Ein Referenzmodell für Anforderungsspezifikationen
In: Softwaretechnik-Trends, 24 (4): 15-16.
Zusammenfassung
Viele verschiedene Ansätze zur Modellierung von Anforderungen wurden im Verlauf der Zeit entwickelt. Doch der prinzipielle Zusammenhang zwischen diesen Notationen ist weitestgehend unklar. Im Rahmen der beschriebenen Arbeit wurde ein Referenzmodell abgeleitet, dass mehrere sehr verschiedene Notationen integriert. Das mittelfristige Ziel der beschriebenen Arbeiten ist eine Basis für die semi-automatische Transformation von Anforderungsmodellen zu bieten.
|
60.
|
Günther Böckle, Paul Clements, John McGregor, Dirk Muthig und Klaus Schmid
(2004):
Calculating the ROI for Software Product Lines
In: IEEE Software, 21 (3): 23-31.
Zusammenfassung
Product line engineering has become an important and widely used approach for efficiently developing portfolios of software products. The idea is to develop a set of products as a single, coherent development task from a core asset base (sometimes called a platform), a collection of artifacts specifically designed for use across a portfolio. This approach produces order-of-magnitude economic improvements compared to one-at-a-time software system development. Because the product line approach isn't limited to specific technical properties of the planned software but rather focuses on economic characteristics, high return on investment has become the anthem of the approach's protagonists. Our software product line cost model can calculate the costs and benefits (and hence the ROI) that we can expect to accrue from various product line development situations. It's also straightforward and intuitive.
|
59.
|
Klaus Schmid
(2004):
Systematische Wiederverwendung im Produktlinienumfeld
In: KI, 18: 33-35.
Zusammenfassung
BMW ist bekannt für seine Autos, Bosch für seine Motorensteuerungen und Microsoft für seine Betriebssysteme. Nahezu alle Firmen sind auf gewisse Bereiche spezialisiert und stellen nur eine kleine Zahl von Produktgruppen her. Je Produktgruppe kann die Zahl der Varianten jedoch gewaltig sein, so produziert Bosch alleine weit über tausend verschiedene Motorensteuerungen. Trotz dieser Vielzahl von Varianten überwiegen die Gemeinsamkeiten, da diese sie gerade zu einer Produktgruppe machen. Könnte man diese Gemeinsamkeiten systematisch ausnutzen indem man sie nur einmal entwickelt, so ergäbe sich hier ein enormes Wiederverwendungspotential! Genau das ist das Ziel der Produktlinienansätze wie PuLSE. Diese zielen darauf ab die Entwicklung einer Vielzahl von Systemen durch eine gemeinsame Referenzarchitektur zu integrieren. In der Praxis wurden so bereits Wiederverwendungsraten von 75% und mehr erreicht!
|
58.
|
Thomas von der Massen, Andreas Birk, Gerald Heller, Isabel John, Klaus Schmid, Stefan Joos und Klaus Müller
(2004):
Key Challenges in Industrial Product Line Engineering.
In:
H. Dieter Rombach and Stefan Eicker and Klaus Pohl and Heimo H. Adelsberger and Volker Wulf and Helmut Krcmar and Jan M. Pawlowski (Hrsg.):
Multikonferenz Wirtschaftsinformatik (MKWI '04) - E-Learning Modelle, Instrumente und Erfahrungen, Software-Produktlinien, Communities in E-Business
Bd. 1.
S. 260-272.
Akademische Verlagsgesellschaft Aka GmbH.
Zusammenfassung
This paper summarizes the results of the "Gesellschaft für Informatik" (GI) working group on "Requirements Engineering for Software Product Lines" which is part of the requirements engineering group within in the GI. This work group met regularly to identify the key problems in product line engineering practice with potential (and proven) solutions. While this started originally as an effort focused purely on requirements engineering issues, we soon understood that we had to take a broader perspective due to the tight interconnection of requirements engineering with other issues in a product line context. We will provide a characterization of the different organizations that participated in this effort. This will demonstrate that overall a good coverage of different types of software organizations has been achieved. We will then provide an overview of the main problems in product line development. Based on both our own experience as well as our understanding of the technology,we derived and described potential solutions for the main problems.
|
2003 | |
57.
|
Joachim Bayer, Dharmalingam Ganesan, Jean-Francois Girard, Jens Knodel, Ronny Kolb und Klaus Schmid
(2003):
Definition of Reference Architectures based on Existing Systems
IESE-Report
Heft / Ausgabe 085.03/E.
Fraunhofer IESE, Germany.
Zusammenfassung
The success of a product family depends greatly on the quality of its reference architecture. To achieve high-quality reference architectures, it is important to leverage the experience embodied in successful system from the same set of domains. However, the literature provides limited guidance on how to mine prior related systems for this specific purpose. This report addresses this issue by introducing an approach, which defines the views needed to express the architectures of a specific product family, recovers and analyzes these views, and provides a systematic process to define the reference architecture integrating the experience of past systems. This first version of this document focuses on architectural views: how they can be recovered, and how architectures can be analyzed and compared among themselves. The second version will emphasize the selection of reuse candidates and the development of the reference architecture for the product family.
|
56.
|
Andreas Birk, Gerald Heller, Isabel John, Stefan Joos, Klaus Müller, Klaus Schmid und Thomas von der Maßen
(2003):
Report of the GI Work Group "Requirements Engineering for Product Lines"
IESE-Report
Heft / Ausgabe 121.03/E.
Fraunhofer IESE, Germany.
Zusammenfassung
This report summarizes the results of the GI working on "Requirements Engineering for Software Product Lines", a working of the GI 2.1.6. This work group met regularly to identify the key problems in product line engineering practice with potential (and proven) solutions. While this started originally as an effort focused purely on requirements engineering issues, we soon understood that we had to take a broader perspective due to the tight interconnection of requirements engineering with other issues in a product line context. We will provide a characterization of the different organizations that participated in this effort. This will demonstrate that overall a good coverage of organizational types has been achieved. In Section 3, we will then provide an overview of the main problems in product line development. These could be clustered in the following main problem categories: - Organization and Management - Requirements Engineering - Product-specific vs.Platform-specific Interests - Architecture These categories resulted from a systematic gathering of known problems along with a clustering. Based on both our own experience as well as our understanding of the technology we derived and described potential solutions for the main problems (cf. Section 5). As far as possible, we described necessary preconditions for the implementation of the solution approaches.
|
55.
|
Andreas Birk, Gerald Heller, Isabel John, Thomas von der Maßen, Klaus Müller und Klaus Schmid
(2003):
Product Line Engineering Industrial Nuts and Bolts
IESE-Report
Heft / Ausgabe 113.03/E.
Fraunhofer IESE, Germany.
Zusammenfassung
Software product lines (SPL) are a powerful concept for ensuring quality, economic efficiency, and manageability of families of software systems. SPL are relevant to large industrial enterprises that want to manage the development of their software-intensive systems well. It can also provide small start-ups with unique and striking business models. SPL is important for many companies in the software business. However, it is also a challenging technology, which is not always easy to implement and maintain. This article sheds light on SPL practices in today's software industry. Members from five different organizations have formed a workgroup that over a period of two years and a half have investigated and compared their SPL practices. The companies are as different as a global IT vendor (Hewlett-Packard), a leading supplier of automotive electronics (Robert Bosch GmbH), a large supplier of industrial energy solutions (represented by RWTH), a small company that develops softwarefor the on-line management of stock market information (Market Maker Software AG, this knowledge was provided by Fraunhofer IESE, a longstanding cooperation partner of the company) and a renowned software house (sd&m AG). Moreover, most workgroup members have contributed experience from more than one product family or business department allowing a rather broad overview of the state of software product line development in industrial practice. In the remainder of the article, company references are omitted to preserve anonymity of sensitive information. Clements and Northrop [4] define a software product line (SPL) as a set of software-intensive systems sharing a common, managed set of features that satisfy the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way. The workgroup, which met under the umbrella of the German Computer Society (GI, a sister organization of IEEE), set out to understand better howsoftware organizations can successfully set up and manage SPL. Key practice areas identified were: Organization and Support Practices, Practices of Balancing Platform versus Client Interests, Requirements Engineering Practices, Architectural Practices. For each area, the workgroup identified and compared the various practices found in their organizations. They also contrasted them with published reports of SPL practices. The result, which is reported in this article, provides a detailed look on the SPL state of practice.
|
54.
|
Klaus Schmid
(2003):
Planung von Softwarewiederverwendung - Ein systematischer Ansatz zum Scoping von Softwareproduktlinien
IESE-Report
Heft / Ausgabe 102.03/D.
Fraunhofer IESE, Germany.
Zusammenfassung
Moderne Unternehmen bieten typischerweise eine stark diversifizierte Produktpalette an. Diese Notwendigkeit zur Entwicklung ähnlicher Systeme gilt natürlich auch für die Software. Der PuLSE-Eco1 Ansatz erlaubt es aus dieser Ähnlichkeit der Systeme maximalen wirtschaftlichen Nutzen zu ziehen. In dieser Zusammenfassung werden die Grundlagen des Ansatzes und seine wesentlichen Schritte erläutert. Der Ansatz wurde bereits erfolgreich in verschiedenen Unternehmen angewendet.
|
53.
|
Klaus Schmid
(2003):
Integrated Cost and Investment Models for Product Family Development
IESE-Report
Heft / Ausgabe 067.03/E.
Fraunhofer IESE, Germany.
Zusammenfassung
Product family development focusses on systematically developing reusable assets over time that are used in later projects to achieve benefits in terms of development effort, time-to-market reduction, and quality improvement. Consequently, the costs from the initial development for reuse are more than compensated by the derived benefits. The initial costs of development for reuse thus take the role of an investment in later product line benefits [CN01]. Therefore it is key to successful product family engineering to identify costs and benefits that are associated with product family development. This provides the basis for the subsequent optimization of the investment. In this deliverable we focus on the relationship between costs and benefits and show the implications and constraints on the associated investment decisions. We present a basic economic model, which provides the necessary background for understanding the impact of investments in a product family. This modelenables a systematic analysis of the product family situation and any consequences of product line investments. A key part of any investment decisions is to define the cost implications of these decisions. Unfortunately, there is no fixed model of product family development and consequently also no fixed model of product family development costs. Thus, we provide a reference model for product family costs in this deliverable together with a collection of the most important cost drivers that we could identify through expert interviews. This will support the organizations in systematically deriving product family cost models that are particularly adapted to their situation. In order to consistently and successfully evolve the product family infrastructure a strategy driven from a market point of view is required [KLD02]. This strategy is needed in order to decide on the appropriateness of an investment and to do so consistently over time. Thus product family strategy shouldbe the basis for any product family investment. In this deliverable we show approaches to derive such a product family strategy and combine it with the most advanced techniques for evaluating the potential benefits of the product family even when facing considerable uncertainties. As a result, this deliverable provides a basis for analyzing costs and benefits of product family development and enables to connect these aspects through an appropriate strategy that is optimally aligned with the existing product family and the company objectives.
|
52.
|
Klaus Schmid
(2003):
Planning Software Reuse
Universit.
Zusammenfassung
Software organizations increasingly face the challenge to develop a large number of product variants for their customers. While many organizations still focus on a single product at a time, successful software organizations address the whole range of products in an integrated manner. If the existing reuse potential is adequately exploited, enormous cost savings and quality improvements can result. So far, the incremental introduction of a product line approach and the exploitation of the reuse potential mostly depended on the experience of the responsible personnel due to a lack of systematicapproaches. In this Ph.D. thesis we describe a disciplined approach for systematically planning the development of a software product line. This approach supports (1) identifying an incremental transitioning plan to product line development that determines the sequence and the scope of the introduction based on benefit-and-risk tradeoffs, and (2) determining the specific software components that should be developed for reuse, based on the specific development goals of the organization. The explicit link to the company goals guarantees that the resulting product line approach is optimally aligned to the strategy of the company.
|
51.
|
Günther Böckle, Paul Clements, John McGregor, Dirk Muthig und Klaus Schmid
(2003):
A Cost Model for Software Product Lines
In:
Frank van der Linden (Hrsg.):
Proceedings of the 5th International Workshop on Product Family Engineering (PFE '03)
S. 310-316.
Springer.
Zusammenfassung
In this paper we present a first-order cost model that describes the costs associated with developing products in a product line organization. The model addresses a number of issues that we present as a set of scenarios. The goal of this work is to develop models of varying granularity that support a manager"s decision-making needs at a variety of levels. The basis of these models is the relationships among the artifacts of the product line.
|
50.
|
Klaus Schmid und Isabel John
(2003):
Generic Variability Management and Its Application to Product Line Modelling
In:
Proceedings of the Workshop on Software Variability Management at the 25th International Conference on Software Engineering (ICSE '03)
S. 13-18.
Zusammenfassung
In order to enable a smooth transition to product development for an organization that so far did only perform single system development, it is necessary to keep as much of the existing notations and approaches in place as possible. In this position paper we propose a specific approach to the handling of variability which can be applied in the context of many different requirements engineering notations. This allows to extend existing requirements engineering notations to domain analysis notations.
|
49.
|
Klaus Schmid und Isabel John
(2003):
A Practical Approach to Full Lifecycle Variability Management
In:
Proceedings of the Workshop on Software Variability Management at the 25th International Conference on Software Engineering (ICSE '03)
S. 41-46.
Zusammenfassung
In order to enable a smooth transition to product development for an organization that so far did only perform single system development, it is necessary to keep as much of the existing notations and approaches in place as possible. In this position paper we propose a specific approach to the comprehensive management of variability that enables to leave as much of the existing notations and approaches in place as possible. This approach has so far been applied in several cases where PuLSETM has been introduced into a software development organization.
|
48.
|
Mary Shaw, Shawn Butler, Hakan Erdogmus und Klaus Schmid
(2003):
CourseForges. Open Source Curriculum Design for Value-Based Software Engineering
In:
Proceedings of the 5th International Workshop on Economics-Driven Software Engineering Research (EDSER-5) at the 25th International Conference on Software Engineering (ICSE '03)
Zusammenfassung
As a relatively young discipline within software engineering, value-based software engineering does not yet have an established curriculum. The area draws on models and techniques in so many other disciplines that it is likely to be some time before a single individual is ready to prepare a course or a textbook. Several of the EDSER-4 participants expressed interest and enthusiasm for sharing the effort of developing curriculum and course materials. Inspired by the success of open source software development, especially the distributed collaboration, the free public access to the results, and the lack of administrative overhead; we decided to try to establish a similar community for curriculum development. This report describes progress to date, with emphasis on the community standards for cooperation and sharing.
|
47.
|
Klaus Schmid
(2003):
A Quantitative Model of the Value of Architecture in Product Line Adoption
In:
Frank van der Linden (Hrsg.):
Proceedings of the 5th International Workshop on Product Family Engineering (PFE
S. 32-43.
Springer.
Zusammenfassung
Product line adoption is a key issue in product line development, as the right adoption approach is central to the overall success of product line de velopment. Thus, this is a strongly discussed area of product line engineering. While so far, guidelines and experiences on the best approach to product line adoption have been presented, no detailed quantitative model was provided. In this paper we present a quantitative model of the product line adoption problem. From this model we deduce general guidelines for product line adoption, particularly highlighting the role of the architecture in the cost-effective adoption of a product line.
|
46.
|
Klaus Schmid
(2003):
People Management in Institutionalizing Product Lines
In:
Proceedings of the Net.ObjectDays Conference (NODe '03)
S. 175-189.
Zusammenfassung
Currently, the key approach to large-scale software reuse is product line development, an approach built upon the systematic development of building blocks for reuse. While most work on product lines focusses on technical issues, in the end they are built by by people. Winning them for product line development is a key issue in successfully introducing and institutionalizing product line development in an organization. This makes people issues a key concern in technology transfer. Based on our experience in technical transfer in the product line area we developed some hypotheses on how these people issues can be formed in a way favorable to product line development. In particular, we focus on the relation between the mind set of people, communication patterns, and the organizational structure. We then give concrete rules based on our own industrial experience as well as industry reports that support instutionalizing product line development.
|
45.
|
Klaus Schmid und Birgit Geppert
(Hrsg.)
(2003):
Proceedings of the PLEES '03. International Workshop on Product Line Engineering: The Early Steps: Planning, Modeling, and Managing
|
44.
|
Klaus Schmid
(2003):
Lösungen für Probleme des Requirements Engineering für Produktlinien: Bericht des Arbeitskreises Requirements Engineering für Produktlinien
In: Softwaretechnik-Trends, 23 (1): 20-21.
Zusammenfassung
Softwareproduktlinien entstehen wo auch immer Produkte in Varianten entwickelt werden. Dies stellt ein gigantisches Wiederverwendungspotential dar, schafft aber auch Schwierigkeiten, vor allem für den Anforderungsprozess. Daher wurde vor zwei Jahren ein GI-Arbeitskreis zu diesem Thema gegründet, der sich mit Problemen und Lösungen des Requirements Engineering für Produktlinien beschäftigt.
|
43.
|
Andreas Birk, Gerald Heller, Isabel John, Thomas von der Maßen, Klaus Müller und Klaus Schmid
(2003):
Product Line Engineering: The State of the Practice
In: IEEE Software, 20 (6): 52-60.
Zusammenfassung
Software product lines are powerful tools for ensuring quality, economic efficiency, and manageability of families of software systems. SPL is important for many companies in the software business, ranging from small start-ups to large industrial enterprises. However, SPL is also a challenging technology that's not always easy to implement and maintain. Members from five different organizations formed a work group that investigated and compared their SPL practices over a period of two and a half years. The group identified key practice areas including organization and support, balancing platform versus client interests, requirements engineering practices, and architecture. The investigation's results detail the SPL state of the practice.
|
2002 | |
42.
|
Birgit Geppert und Klaus Schmid
(2002):
Requirements Engineering for Product Lines: An Overview
In:
Birgit Geppert and Klaus Schmid (Hrsg.):
Proceedings of the International Workshop on Requirements Engineering for Product Lines (REPL '02) at the 10th Anniversary IEEE Joint International Conference on Requirements Engineering (RE '02)
S. 1-4.
IEEE Computer Society.
Zusammenfassung
Often requirements engineering for product lines is treated as just a kind of requirements engineering. However, the specific situation of a product family poses specific demands on the underlying requirements engineering approaches. Foremost among them is of course the need to capture the envisioned degree of variability in the product line. As a result of this other aspects change as well, like requirements traceability, requirements negotiation, requirements management, and of course tool support. In this introduction we provide an overview of these views and describe in more detail the impact of product lines on requirements engineering.
|
41.
|
Dirk Muthig und Klaus Schmid
(2002):
Balancing Evolution with Revolution to Optimize Product Line Development
In:
Technology for Evolutionary Software Development, a Symposium organised by NATO's Research & Technology Organization (RTO)
|
40.
|
Klaus Schmid und Isabel John
(2002):
Developing, Validating, and Evolving an Approach to Product Line Benefit and Risk Assessment
In:
Proceedings of the 28th EUROMICRO Conference (EUROMICRO '02)
S. 272-283.
IEEE Computer Society.
Zusammenfassung
Product line engineering is usually a very beneficial, but sometimes also a very risky endeavor, as there is no guarantee for economic success. In this paper, we describe an assessment approach that is designed to address the problem of quantifying reuse risks by providing an efficient means for determining the benefits and risks associated with a specific product line development. In particular, the approach supports decomposition and individual assessment of the technical domains of the product line, thus also furthering the incremental introduction of product lines. At the core of this paper is the development of the underlying assessment technology and how this approach was evolved over time based on multiple case studies. This evolution approach is rather general. Thus, we see the potential of applying these techniques also for evolving other assessment approaches.
|
39.
|
Klaus Schmid und I. Wieczorek
(2002):
Practical Problems of Cost Estimation in the Product Line Context
In:
Proceedings of th 4th International Workshop on Economics-Driven Software Engineering Research (EDSER-4) at the 24th International Conference on Software Engineering (ICSE '02)
Zusammenfassung
Existing software cost estimation methods are far from being suitable for the reuse of software in the context of product line development. This paper points out the product line specific aspects of reuse compared to opportunistic reuse in single product development. Implications for existing estimation approaches are drawn and important topics of work are identified.
|
38.
|
Klaus Schmid
(2002):
Reuse Economics from a Product Line Point of View
In:
Christina Gacek (Hrsg.):
Proceedings of the International Workshop on Reuse Economics (IWRE '02) at the 7th International Conference on Software Reuse (ICSR '02)
S. 4-7.
Springer.
Zusammenfassung
Due to the specific approach to reuse in product line engineering, this approach brings a specific point of view to reuse economics. As a consequence some established assumptions and abstractions of reuse economics that are valid in most opportunistic approaches to reuse must be revisited. The list of issues ranges from the basic estimation models used as input to reuse economics models to real options used for valuing uncertainty and flexibility in reuse. Some of the issues we uncover are also relevant for reuse economics in general.
|
37.
|
Klaus Schmid
(2002):
A Comprehensive Product Line Scoping Approach and its Validation
In:
Will Tracz and Michal Young and Jeff Magee (Hrsg.):
Proceedings of the 24th International Conference on Software Engineering (ICSE '02)
S. 593-603.
ACM.
Zusammenfassung
Product Line Engineering is a recent approach to software development that specifically aims at exploiting commonalities and systematic variabilities among functionally overlapping systems in terms of large scale reuse. Taking full advantage of this potential requires adequate planning and management of the reuse approach as otherwise huge economic benefits will be missed due to an inappropriate alignment of the reuse infrastructure.Key in product line planning is the scoping activity, which aims at focussing the reuse investment where it pays. Scoping actually happens on several levels in the process: during the domain analysis step (analysis of product line requirements) a focusing needs to happen just like during the decision of what to implement for reuse. The latter decision has also important ramifications for the development of an appropriate reference architecture as it provides the reusability requirements for this step.In this paper, we describe an integrated approach that has been developed, improved, and validated over the last few years. The approach fully covers the scoping activities of domain scoping and reuse infrastructure scoping and was validated in several industrial case studies.
|
36.
|
Klaus Schmid
(2002):
Integrating Reference Architecture Definition and Reuse Investment Planning
In:
Cristina Gacek (Hrsg.):
Proceedings of the 7th International Conference on Software Reuse (ICSR '02)
S. 137-152.
Springer.
Zusammenfassung
When developing a product line, the definition of an appropriate reference architecture that supports the required variabilities is of crucial importance to the success of the product line. In this paper we present an approach to the identification of the key variabilities and to determining the economic benefit of packaging these variabilities in terms of reusable components. This approach provides reusability requirements that can then be taken as an input to product line development. The analysis is based on the economics of the product line. Thus, the approach ensures the optimization of the economic benefit of a product line that is based on a reference architecture that takes these reusability requirements into account. In this paper, we will describe our approach for deriving the reusability requirements, discuss its relationship to different possible investment scenarios, and study the results of the application of our approach in some case studies.
|
35.
|
Klaus Schmid
(2002):
The Product Line Mapping Approach to Defining and Structuring Product Portfolios
In:
Proceedings of the 10th Anniversary IEEE Joint International Requirements Engineering Conference (RE '02)
S. 219-226.
IEEE Computer Society.
Zusammenfassung
A key activity in product line development is to define and structure the product portfolio which shall be the basis for product line development. We present an approach that aims at supporting this activity. This approach also provides a conceptual structuring of the product line in terms of the features and technical domains that are relevant to it. This structure then provides a basis for the planning of the actual product line development and for architecture definition. We also discuss the validation of our approach in the context of some case studies.
|
34.
|
Birgit Geppert und Klaus Schmid
(Hrsg.)
(2002):
Proceedings of the International Workshop on Requirements Engineering for Product Lines (REPL '02)
|
33.
|
Klaus Schmid und Birgit Geppert
(Hrsg.)
(2002):
Proceedings of the PLEES '02. International Workshop on Product Line Engineering: The Early Steps: Planning, Modeling, and Managing
|
32.
|
Klaus Schmid und Martin Verlage
(2002):
The Economic Impact of Product Line Adoption and Evolution
In: IEEE Software, 19 (6): 50-57.
Zusammenfassung
An organization faces many challenging decisions when transitioning to product line development: What is the best way to adopt a product line approach? How can we avoid disrupting regular product development? Once adopted, how should we evolve the product line? The article discusses how to optimize a product line's economic benefits by considering the adoption context and using product line scoping techniques.
|
2001 | |
31.
|
Cristina Gacek, Peter Knauber, Klaus Schmid und Paul Clements
(2001):
Successful Software Product Line Development in a Small Organization. A Case Study
IESE-Report
Heft / Ausgabe 013.01/E.
Fraunhofer IESE, Germany.
Zusammenfassung
This report details the experience of a small company, Market Maker Software AG of Kaiserslautern, Germany, as they adopted and used the paradigm of software product lines to help their business grow successfully into a new market area. While software product lines are often associated with large, traditional software organizations, the experience of Market Maker and other small companies like it shows that software product lines represent an ideal development concept for companies of all sizes. This case study reports on the history of the company, how it came to adopt product lines as its prominent development strategy, the role of the key individuals involved, and how they met and overcame various technical challenges. The report concludes with a section analyzing the Market Maker approach.
|
30.
|
Raul Maldonado und Klaus Schmid
(2001):
A Case Study of the Structural Properties of Product Line Mapping Approach Based on the Blaupunkt Car Audio Simulation Line of Products
IESE-Report
Heft / Ausgabe 093.01/E.
Fraunhofer IESE, Germany.
Zusammenfassung
Product Line Mapping is an approach for rapidly capturing and describing a line of products. However, the approach goes beyond the realms of traditional requirements.
|
29.
|
Isabel John, Peter Knauber, Dirk Muthig, Klaus Schmid und Tanya Widen
(2001):
Qualifikationen von kleinen und mittleren Unternehmen (KMU) im Bereich Software Variantenbildung: Abschlußbericht zum Projekt
IESE-Report
Heft / Ausgabe 026.01/D.
Fraunhofer IESE, Germany.
Zusammenfassung
Die mittelständische Wirtschaft kann mittel- und langfristig nicht mit den großen internationalen Firmen im Bereich der Massenfertigung oder durch das Angebot von Standardprodukten konkurrieren. Ihre Stärken liegen vielmehr im Angebot kundenspezifischer Speziallösungen in Einzel- bzw. Kleinserien. Im Rahmen dieses Forschungsvorhabens wurden existierende Forschungslösungen für die Anwendung ingenieurmäßiger Grundsätze auf die Entwicklung von Software übertragen. Besonderes Augenmerk lag dabei auf der ökonomischen Entwicklung kundenspezifischer Varianten.
|
28.
|
Klaus Schmid und Birgit Geppert
(2001):
International Workshop on Product Line Engineering. The Early Steps: Planning, Modeling, and Managing. Proceedings of the PLEES'01
IESE-Report
Heft / Ausgabe 050.01/E.
Fraunhofer IESE, Germany.
|
27.
|
Klaus Schmid und Isabel John
(2001):
Product Line Development as a Rational, Strategic Decision
IESE-Report
In:
Proceedings of the International Workshop on Product Line Engineering The Early Steps: Planning, Modeling, and Managing (PLEES '01)
S. 4-7.
Zusammenfassung
Product line development requires a certain amount of up front investment in order to make assets reusable. This investment often keeps organizations from planning and realizing their products in a product line. But there are also major advantages of doing product line development which are often not taken into account when deciding for or against product lines. In this paper we present problems that need to be addressed in the strategic planning of transition towards product lines. These aspects include the involvement of uncertainty, the interdependence of technical solution and decision making, and the interdependence among the decision making and the market aspects. An approach which covers these aspects will determine an objective valuation of a product line.
|
26.
|
Klaus Schmid
(2001):
An Initial Model of Product Line Economics
In:
Frank van der Linden (Hrsg.):
Proceedings of the 4th International Workshop on Product Family Engineering (PFE
S. 38-50.
Springer.
Zusammenfassung
In this paper we describe an initial model of product line economics, which aims at filling exactly this gap. The model integrates characteristics of the software process with aspects of the market, where the later are used for valuation. We present the model in three layers, each adding a layer of issues that are taken into account to the previous one. This layering mirrors the levels of complexity in existing models of reuse economics
|
25.
|
Klaus Schmid
(2001):
An Assessment Approach To Analyzing Benefits and Risks of Product Lines
In:
Proceedings of the 25th Annual International Computer Software and Applications Conference (COMPSAC '01)
S. 525-530.
IEEE Computer Society.
Zusammenfassung
Software Product Lines is still a new field within software reuse that aims at large-scale, systematic reuse. Hugh benefits regarding the reduction of time-to-markets, reduction of effort, and quality improvement have been reported as a result of adopting a product line approach. Since a product line program involves major investments, considerable risks are associated with it. Thus, it is important to evaluate at the start of a product line project, i.e., before the major investments are performed, its potential benefits and risks.In this paper we describe an approach that allows to identify the benefits and risks in a systematic manner, thus enabling the early development of risk-avoiding measures. As opposed to other techniques our approach supports the identification of subdomains that are particular appropriate for systematic reuse and by means of the detailed evaluation enables trade-off decisions on where to invest for reuse.
|
24.
|
Cristina Gacek, Peter Knauber, Klaus Schmid und Paul Clements
(2001):
Successful Software Product Line Development in a Small Organization
In:
Software Product Lines: Practices and Patterns
S. 485-512.
Addison Wesley Longman.
|
2000 | |
23.
|
Klaus Schmid
(2000):
A Framework for Product Line Quality Model Development: The PuLSE-Eco Meta Quality Model
IESE-Report
Heft / Ausgabe 047.00/E.
Fraunhofer IESE, Germany.
Zusammenfassung
In this report, we described the basis for developing quality models that can be used by the PuLSE-Eco scoping approach to provide a quantitative basis for the scoping of the asset base. We described the general structure of these models as well as the necessary notation and terminology to discuss the specific models and perhaps needed deviations from the standard model. In particular, we discussed the process aspects of product line development, we discussed the general structure of product line quality models, and discussed how specific quality models can be developed. Further, we discussed in detail the relationship between the meta-quality model and the specific quality model guides and how these can be instantiated for the specific projects.
|
22.
|
Klaus Schmid
(2000):
Product Line Mapping Report
IESE-Report
Heft / Ausgabe 028.00/E.
Fraunhofer IESE, Germany.
Zusammenfassung
As opposed to traditional domain analysis approaches [Ara89, KCH+90,PD87], the product line mapping approach starts by thoroughly analyzing the product development plans. Thus it is akin to industrial strength domain analysis approaches like ODM [ODM96] or Synthesis [RSP93], but actually goes further in its product orientation. However, the approach given here is explicitly not meant as a full-fledged domain analysis approach, but aims at identifying solely the information necessary as a prerequisite to scoping. Thus, the aimed-at endresult is solely to identify the major products and how they differ in terms of features they support. For identifying the products, the relevant subdomains and their interrelationships the following approach is used: 1 Identify the existing and future systems that may be relevant to the product line. 2 Develop an overview plan of these products. 3 Identify the major functions/features that are relevant to the functionality of these systems. (Thisencompasses end-user features as well as internal functions.) 4 Group these functions into major functional areas (initial domains). 5 Develop an overview of the domains that shows the interrelations among them. 6 Analyze the information for the presence of additional internal domains. 7 Ensure consistency with existing systems. 8 Develop initial product/function matrix In the following sections we describe in more detail how to perform each of these steps.
|
21.
|
Peter Knauber und Klaus Schmid
(2000):
Using a Quantitative Approach for Defining Generic Components: A Case Study
In:
Proceedings of the 4th International Software Architecture Workshop (ISAW-4) at the 22nd International Conference on Software Engineering (ICSE 2000)
S. 131-135.
Zusammenfassung
In this paper we give a sketch of a new quantitative approach which can be used to identify and cluster system functionality that should be developed in a reusable fashion, for example, when starting product line development. We demonstrate the applicability of the approach and its validity in a case study.
|
20.
|
Klaus Schmid und Isabel John
(2000):
Case Study of a Product Line Benefit and Risk Analysis
In:
Proceedings of the 1. Deutscher Software-Produktlinien Workshop (DSPL-1)
S. 15-22.
|
19.
|
Klaus Schmid und Cristina Gacek
(2000):
Implementation Issues in Product Line Scoping
In:
William B. Frakes (Hrsg.):
Proceedings of the 6th International Conference on Software Reuse: Advances in Software Reusability (ICSR 2000)
S. 170-189.
Springer.
Zusammenfassung
Often product line engineering is treated similar to the waterfall model in traditional software engineering, i.e., the different phases (scoping, analysis, architecting, implementation) are treated as if they could be clearly separated and would follow each other in an ordered fashion. However, in practice strong interactions between the individual phases become apparent. In particular, how implementation is done has a strong impact on economic aspects of the project and thus how to adequately plan it. Hence, assessing these relationships adequately in the beginning has a strong impact on performing a product line project right. In this paper we present a framework that helps in exactly this task. It captures on an abstract level the relationships between scoping information and implementation aspects and thus allows to quickly analyze implementation aspects of the project. We will also discuss the application of our framework to a specific industrial project.
|
18.
|
Klaus Schmid und Tanya Widen
(2000):
Customizing the PuLSE Product Line Approach to the Demands of an Organization
In:
Reidar Conradi (Hrsg.):
Proceedings of the 7th European Workshop on Software Process Technology (EWSPT 2000)
S. 221-238.
Springer.
Zusammenfassung
It is well-known that software processes need to be adapted to the specifics of the organization, the application domain, and the development techniques of the environments in which they are used. This is particularly important for reuse processes as they impact the whole software life-cycle and the reuse of artifacts creates additional relationships among multiple process instances (projects). Nevertheless the support for tailoring existing reuse approaches is at best weak. As a consequence of this realization we made customization support for the method a first rate objective while developing the Product Line Software Engineering method (PuLSE). The technology used for customization is called PulSE Baselining and Customization (PuLSE-BC). This approach relies on an explicit characterization of the environment and the explicit connection of these characteristics to customizable properties of a process. In this paper, we describe the technical foundations of this approach and illustrate them with an example.
|
17.
|
Klaus Schmid und Michael Schank
(2000):
PuLSE-BEAT: A Decision Support Tool for Scoping Product Lines
In:
Frank van der Linden (Hrsg.):
Proceedings of the International Workshop on Software Architectures for Product Families (IW-SAPF 2000)
S. 64-74.
Springer.
Zusammenfassung
Determining the scope of a product line is a core activity in product line development, as it has a major impact on the economic results of the project. Only recently an approach was proposed that allows to base this decision explicitly on a detailed analysis of the relevant business goals [2]. As the approach requires gathering and evaluating a lot of data, tool support becomes mandatory. In this paper, we describe the tool PuLSE-BEAT, which was specifically developed to address this need.
|
16.
|
Klaus Schmid
(2000):
Scoping Software Product Lines - An Analysis of an Emerging Technology
In:
Patrick Donohoe (Hrsg.):
Proceedings of the 1st Software Product Line Conference (SPLC 1) - Software Product Lines: Experience and Research Directions
S. 513-532.
Kluwer.
Zusammenfassung
Software Product Line development is a rather new topic area within domain-specific software engineering that builds on previous work in domain engineering. A crucial step in developing a product line is the scoping step, which aims at determining the boundaries for the product line. This is one of the core planning activities which may determine success or failure of the whole product line effort. In this paper, we aim at analyzing the existing body of knowledge on product line scoping. As the relation to domain engineering is very tight we will also include domain scoping approaches in our analysis. Further, we will look at product line scoping related activities in other fields of study besides software engineering. As a result of this survey we provide a taxonomy of existing approaches both on a problem level, as well as on a solution level, discuss the relative advantages of the various approaches, and show some ways on using the results of this paper for enhancing existing scoping approaches and developing new approaches.
|
15.
|
Klaus Schmid
(2000):
Multi-Staged Scoping for Software Product Lines
In:
Proceedings of the International Workshop on Software Product Lines - Economics, Architectures, and Implications at the 22nd International Conference on Software Engineering (ICSE 2000)
S. 8-11.
Fraunhofer IESE 070.00/E
Zusammenfassung
Scoping is a core planning activity in product line development. It is central to determining and optimizing the economical benefits of product line development. In this position paper we discuss the requirements on a sound and practically useful product line development approach and will propose a specific approach which fulfills these requirements.
|
14.
|
Klaus Schmid, Ulrike Becker-Kornstaedt, Peter Knauber und Florian Bernauer
(2000):
Introducing a Software Modeling Concept in a Medium-Sized Company
In:
Carlo Ghezzi and Mehdi Jazayeri and Alexander L. Wolf (Hrsg.):
Proceedings of the 22nd International Conference on Software Engineering (ICSE 2000)
S. 558-567.
ACM.
Zusammenfassung
In this paper, we describe, using the Quality Improvement Paradigm (QIP), how an improvement project aimed at improving the modeling and documentation approach of a medium-sized company (MSuD) was conducted. We discuss the new modeling approach which may serve for other companies as a template for deriving their own adapted approach. Further, we illustrate our insights from this project that can help in future technology transfer projects. A major characteristic of this project was that it was embedded in a long-term consulting relationship.
|
13.
|
Peter Knauber, Dirk Muthig, Klaus Schmid und Tanya Widen
(2000):
Applying Product Line Concepts in Small- and Medium-Sized Companies
In: IEEE Software, 17 (5): 88-95.
Zusammenfassung
Small and medium-sized enterprises work under heavy constraints: They need to be very flexible and fast in their reaction to customer requests, thus limiting their possibility for long-term planning. In a partially publicly funded project, the authors have started to apply their Product Line Software Engineering method developed at Fraunhofer IESE, in six small and medium-sized companies addressing six different domains. The article presents first experience and lessons learned from 24 months of project work; including first results within the companies.
|
1999 | |
12.
|
Jean-Marc DeBaud und Klaus Schmid
(1999):
A Systematic Approach to Derive the Scope of Software Product Lines
In:
Barry W. Boehm and David Garlan and Jeff Kramer (Hrsg.):
Proceedings of the 21st International Conference on Software Engineering (ICSE '99)
S. 34-43.
ACM.
Zusammenfassung
Product line scoping is a critical activity because it elicits the common realms upon which the different products of a product line can be optimally engineered with respect to economies of scope. This, in turn, upper bounds the overall economic benefits that can be accrued from product line based development. Inherently, product line scoping is difficult because of the complexity of the factors that must be taken into account. Many are not known a priori. Traditional scoping approaches (from domain engineering) have focused on the notion of application domains. However, domains proved difficult to optimally scope and engineer from an enterprise standpoint because a domain captures extraneous elements that are of no interest to an enterprise which must focus on particular products, whether existing, under development, or anticipated. Hence, the domain view provides a flawed economic basis for making a scoping decision. We introduce in this paper PULSE-Eco, a technique especially developed to address the aforementioned issues. Its main characteristics are: a complete product-centric orientation done via product maps, the separation of concerns achieved through the definition and operationalization of strategical business objectives, and last, diverse types of analyses performed upon product maps allowing scoping decisions based on these objectives. We illustrate the technique with a running example.
|
11.
|
Joachim Bayer, Oliver Flege, Peter Knauber, Roland Laqua, Dirk Muthig, Klaus Schmid, Tanya Widen und Jean-Marc DeBaud
(1999):
PuLSE: A Methodology to Develop Software Product Lines
In:
Proceedings of the 5th Symposium on Software Reusability (SSR '99)
S. 122-131.
ACM.
Zusammenfassung
Software product lines have recently been introduced as one of the most promising advances for efficient software development. Yet upon close examination, there are few guidelines or methodologies available to develop and deploy product lines beyond existing domain engineering approaches. The latter have had mixed success within commercial enterprises because of their deployment complexity, lack of customizability, and especially their misplaced focus, that is on domains as opposed to products. To tackle these problems we developed the PuLSETM (Product Line Software Engineering) methodology for the purpose of enabling the conception and deployment of software product lines within a large variety of enterprise contexts. This is achieved via product-centric focus throughout the phases of PuLSETM, customizability of its components, incremental introduction capability, maturity scale for structured evolution, and adaptations to a few main product development situations. PuLSETM is the result of a bottom-up effort: the methodology captures and leverages the results (the lessons learned) from our technology transfer activities with our industrial customers. We present in this paper the main ideas behind PuLSETM and illustrate the methodology with a running example taken from our transfer experience.
|
10.
|
Klaus Schmid
(1999):
An Economic Perspective on Product Line Software Development
In:
Proceedings of the 1st Workshop on Economics-Driven Software Engineering (EDSER-1) at the 21st International Conference on Software Engineering (ICSE '99)
ACM.
Zusammenfassung
In this paper, we discuss the view that planning software development - and particularly software reuse - should be based not on standardized criteria, but on those criteria that are particularly relevant to the environment for which the planning is done. We also describe how this tailoring of the decision-making process is performed in PuLSE-Eco, an approach for scoping software product lines developed at the Fraunhofer IESE.
|
1998 | |
9.
|
Jean-Marc DeBaud und Klaus Schmid
(1998):
A Practical Comparison of Major Domain Analysis Approaches: Towards a Customizable Domain Analysis Framework
In:
Proceedings of the 10th International Conference on Software Engineering and Knowledge Engineering (SEKE '98)
S. 128-131.
Zusammenfassung
When attempting to perform a domain analysis, practi tioners face a difficult choice. Which of the existing methods should be chosen and will it work in their particular envi ronment? A number of domain analysis approaches have been proposed in the literature. Most argue that they are appli cable to any domain and situation. Yet, we found that this was not always the case as illustrated by the practical situ ations our technology transfer group faced. We observed that depending on the context, each method possesses strengths and weaknesses. The optimal solution should then be to combine parts of these methods in a way specifically adapted to the project situation encountered. Using a case study where we applied three major ap proaches to a particular domain, we argue for a customiz able domain analysis approach that would be instantiated depending both on the nature of the domain(s) and on the project characteristics in which it would be applied.
|
8.
|
Jean-Marc DeBaud und Klaus Schmid
(1998):
Identifying and Evolving the Scope of Software Product Lines
In:
Proceedings of the ESI European Reuse Workshop (ERW '98)
S. 69-72.
|
7.
|
Jean-Marc DeBaud und Klaus Schmid
(1998):
PuLSE-Eco, a Context-based Approach to Scope a Software Product Line
In:
Proceedings of the 2nd Annual Software Architectures in Product Line Acquisitions Workshop
|
1996 | |
6.
|
Andreas Abecker und Klaus Schmid
(1996):
From Theory Refinement to Knowledge Base Maintenance: A Position Statement
In:
Workshop on Validation, Verification and Refinement of KBS at the European Conference on Artifical Intelligence (ECAI '96)
Zusammenfassung
Since we consider theory refinement (TR) as a possible key concept for a methodologically clear view of knowledge-base maintenance, we try to give a structured overview about the actual state-of-the-art in TR. This overview is arranged along the description of TR as a search problem. We explain the basic approach, show the variety of existing systems and try to give some hints about the direction future research should go.
|
5.
|
Klaus Schmid
(1996):
Towards Creative AI Systems: A Psychology-Based Approach
In:
Linda Candy and Ernest A. Edmonds (Hrsg.):
Proceedings of the 2nd International Symposium: Creativity and Cognition
S. 123-134.
LUTCHI Research Centre.
|
4.
|
Klaus Schmid
(1996):
Making AI Systems more Creative: The IPC-Model
In: Knowledge-Based Systems, 9 (6): 385-397.
Zusammenfassung
In this article, a model of information processing in human creativity, called the IPC-model, is presented. This model has been developed based on a review of psychological studies and models. Using this model as a baseline deficiencies of current AI systems are identified and several approaches for providing them with a higher level of creativity are proposed. A discussion of the range of applicability of these approaches and their implications for the overall system behaviour is provided.
|
1995 | |
3.
|
Klaus Schmid
(1995):
Creative Problem Solving and Automated Discovery - An Analysis of Psychological and AI Research
Technical Memo
Heft / Ausgabe TM-95-04.
German Research Center for Artificial Intelligence (DFKI), Germany.
Zusammenfassung
Since creativity is the ability to produce something novel and unexpected, it has always fascinated people. Consequently, efforts have been made in AI to invent creative computer programs. At the same time much effort was spent in psychology to analyze the foundations of human creative behaviour. However, until now efforts in AI to produce creative programs have been largely independent from psychological research. In this study, we try to combine both fields of research. First, we give a short summary of the main results of psychological research on creativity. Based on these results we propose a model of creative process that emphasizes its information processing aspects. Then we describe AI approaches to the implementation of the various components of this model and contrast them with the results of psychological research. As a result we will not only reveal weakness of current AI systems hindering them in achieving creativity, but we will also make plausible suggestions - based on psychological research - for overcoming these weaknesses.
|
2.
|
Klaus Schmid und Roland Fettig
(1995):
Towards an Efficient Construction of Test Sets for Deciding Ground Reducibility
In:
Jieh Hsiang (Hrsg.):
Proceedings of the 6th International Conference on Rewriting Techniques and Applications (RTA '95)
S. 86-100.
Springer.
Zusammenfassung
We propose a method for constructing test sets for deciding whether a term is ground reducible w.r.t. an arbitrary, many-sorted, unconditional term rewriting system. Our approach is based on a suitable characterization of such test sets using a certain notion of transnormality. It generates very small test sets and shows some promise to be an important step towards a practicable implementation.
|
1993 | |
1.
|
Klaus Schmid
(1993):
Ground Reducibility Tests - Even for Nonlinear Term Rewriting Systems
SEKI Report
Heft / Ausgabe SR-93-11 (SFB).
Fraunhofer IESE, Germany.
|