2017 | |
22.
|
Klaus Schmid and Holger Eichelberger
(2017):
Variability Modeling with EASy-Producer
In:
Proceedings of the 21st International Systems and Software Product Line Conference
vol. A.
pp. 251-251.
ACM.
abstract
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.
|
2015 | |
21.
|
Sascha El-Sharkawy, Christian Kröher, Holger Eichelberger and Klaus Schmid
(2015):
Experience from Implementing a Complex Eclipse Extension for Software Product Line Engineering
In:
Proceedings of the Eclipse Technology eXchange (ETX '15)
abstract
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.
|
20.
|
Holger Eichelberger and Klaus Schmid
(2015):
IVML: A DSL for Configuration in Variability-rich Software Ecosystems
In:
Proceedings of the 19th International Conference on Software Product Line
pp. 365-369.
ACM.
abstract
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.
|
19.
|
Klaus Schmid and Holger Eichelberger
(2015):
EASy-Producer: From Product Lines to Variability-rich Software Ecosystems
In:
Proceedings of the 19th International Conference on Software Product Line
pp. 390-391.
ACM.
abstract
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.
|
18.
|
Holger Eichelberger and 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.
abstract
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 | |
17.
|
Ioanna Lytra, Holger Eichelberger, Huy Tran, Georg Leyh, Klaus Schmid and 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)
pp. 19:1-19:8.
ACM.
abstract
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.
|
16.
|
Holger Eichelberger and Klaus Schmid
(2014):
Flexible Resource Monitoring of Java Programs
In: Journal of Systems and Software, 93: 163-186.
Elsevier.
|
15.
|
Holger Eichelberger, Sascha El-Sharkawy, Christian Kröher and 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
vol. 2.
pp. 133-137.
ACM.
abstract
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.
|
2013 | |
14.
|
Holger Eichelberger and Klaus Schmid
(2013):
A Systematic Analysis of Textual Variability Modeling Languages
In:
17th International Software Product Line Conference (SPLC '13)
pp. 12-21.
ACM.
abstract
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.
|
13.
|
Holger Eichelberger, Christian Kröher and Klaus Schmid
(2013):
An Analysis of Variability Modeling Concepts: Expressiveness vs. Analyzability
In:
John Favaro and Maurizio Morisio (ed.):
Proceeding of the 13th International Conference on Software Reuse (ICSR '13)
pp. 32-48.
Springer.
abstract
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.
|
12.
|
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)
pp. 5-8.
IEEE.
abstract
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.
|
11.
|
Klaus Schmid, Holger Eichelberger and 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.
abstract
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 | |
10.
|
Holger Eichelberger, Christian Kröher and 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 (ed.):
Proceedings of the 10th International Conference on Service Oriented Computing (ICSOC '12)
pp. 516-524.
Springer.
abstract
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.
|
9.
|
Holger Eichelberger and 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 (ed.):
Proceedings of the DASMA Metrik Kongress (MetriKon '12)
pp. 171-180.
Shaker Verlag.
abstract
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.
|
8.
|
Krzysztof Czarnecki, Paul Grünbacher, Rick Rabiser, Klaus Schmid and Andrzej Wasowski
(2012):
Cool Features and Tough Decisions: A Comparison of Variability Modeling Approaches
In:
Ulrich W. Eisenecker and Sven Apel and Stefania Gnesi (ed.):
Proceedings of the 6th International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS '12)
pp. 173-182.
ACM.
abstract
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.
|
7.
|
Sascha El-Sharkawy and Klaus Schmid
(2012):
Supporting the Effective Configuration of Software Product Lines
In:
Eduardo Santana de Almeida and Christa Schwanninger and David Benavides (ed.):
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)
vol. 2.
pp. 119-126.
ACM.
abstract
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.
|
6.
|
Klaus Schmid and Andreas Rummler
(2012):
Cloud-based Software Product Lines
In:
Eduardo Santana de Almeida and Christa Schwanninger and David Benavides (ed.):
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)
vol. 2.
ACM.
abstract
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.
|
5.
|
Mike Hinchey, Sooyong Park and Klaus Schmid
(2012):
Building Dynamic Software Product Lines
In: IEEE Computer, 10 (45): 22-26.
IEEE.
|
4.
|
Sascha El-Sharkawy, Stephan Dederichs and 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 (ed.):
Proceedings of the 16th International Software Product Line Conference (SPLC '12)
vol. 1.
pp. 126-135.
ACM.
abstract
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.
|
2011 | |
3.
|
University of Hildesheim, University of Vienna, Politecnico di Milano, SAP, Siemens and Telcordia
(2011):
Variability Implementation Techniques for Platforms and Services (Interim)
Institut für Informatik, Universität Hildesheim, Germany.
Public Deliverable D2.2.1, EU-Project INDENICA
abstract
Creating domain-specific service platforms requires the capability of (automatically) customizing and configuring service platforms according to the specific needs of a domain. In this deliverable we address this demand. We focus on how to create customized service platforms using variability implementation techniques. The focus is on understanding variability implementation in the context of a service platform specific situation and with respect to the specific demands of the INDENICA project. Towards this end, we provide an analysis of this situation, structure and analyze a large body of relevant approaches for customizing service technologies and finally describe the core concepts that provide the basis of the INDENICA approach to implement the customization of service platforms.
|
2.
|
Sascha El-Sharkawy, Christian Kröher and Klaus Schmid
(2011):
Support for Complex Product Line Populations
In:
Ina Schaefer and Isabel John and Klaus Schmid (ed.):
Demonstration and Tools at the 15th International Software Product Line Conference (SPLC '11)
vol. 2.
ACM.
abstract
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.
|
1.
|
Sascha El-Sharkawy, Christian Kröher and Klaus Schmid
(2011):
Supporting Heterogeneous Compositional Multi Software Product Lines
In:
Ina Schaefer and Isabel John and Klaus Schmid (ed.):
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
vol. 2.
ACM.
abstract
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.
|