INDENICA - Erstellung anpassbarer Serviceplattformen
Mit dem EU-Projekt INDENICA hat die Arbeitsgruppe Software Systems Engineering (SSE) im Oktober 2010 ein weiteres großes Forschungsprojekt an der Universität Hildesheim begonnen. In dem dreijährigen EU-Projekt arbeitet die Arbeitsgruppe mit den Partnern SAP AG, Siemens AG, Technische Universität Wien, Universität Wien, Politecnico di Milano und Telcordia zusammen. Im Juli 2011 gab es ein erfolgreiches Meeting mit Vertretern aller Projektbeteiligten in Hildesheim. Eine besonders effiziente Entwicklung von domänenspezifischen Serviceplattformen steht im Hauptfokus des INDENICA Projekts. Die Bedeutung von Serviceplattformen wird an der zunehmenden Verbreitung von Cloud-Diensten (GMail, Amazon Web Services, etc.) besonders deutlich. Verschiedene Studien halten das Cloud-Computing aktuell für den wichtigsten Trend in der IT. Ziel des INDENICA-Projekts sind maßgeschneiderte Serviceplattformen. Das heißt insbesondere sowohl die Anpassbarkeit von Serviceplattformen systematisch zu verbessern als auch die Integration von Diensten über verschiedene Serviceplattformen hinweg wesentlich zu erleichtern.
Heute gibt es bereits Serviceplattformen in vielen Anwendungsbereichen, wie beispielsweise betriebliche Anwendungssysteme, industrielle Automatisierung oder Telekommunikation. Eine Serviceplattform besteht dabei aus mehreren Infrastrukturkomponenten sowie zentralen domänenspezifischen Diensten. Sowohl die funktionalen, als auch die nicht-funktionalen Anforderungen an eine Serviceplattform sind sehr stark von der Domäne anhängig, da jeder Anwendungsbereich seine besonderen Anforderungen mit sich bringt. Diese domänenspezifische und kontextspezifische Anpassung geschieht heute weitestgehend noch manuell, was zu Kosten- und Qualitätsproblemen führt. Ein Ziel des INDENICA-Projekts ist daher Techniken zur effizienten Anpassung von Serviceplattformen zu entwickeln. In konkreten, komplexen Anwendungsfeldern ist meist auch die Nutzung mehrerer, technologisch verschiedener Serviceplattformen und -technologien notwendig. Beispielsweise kann eine komplexe Fabrikautomatisierung eine ERP-Plattform, eine eingebettete Plattform und eine mobile Plattform benötigen. Diese verschiedenen, jeweils domänenspezifisch angepassten Plattformen werden heute meist aufwändig manuell integriert. Hier wird das INDENICA-Projekt Methoden und Techniken entwickeln, die eine stärkere Automatisierung des Integrationsprozesses erlauben.
Die Arbeitsgruppe Software Systems Engineering am Institut für Informatik der Universität Hildesheim beschäftigt sich im Rahmen des Projekts vor allem mit der effizienten und automatisierten Anpassung von Services und Serviceplattformen. Hierzu werden Techniken aus dem Bereich der Softwareproduktlinienentwicklung (SPLE) weiterentwickelt und angepasst. Softwareproduktlinienentwicklung ist ein Wiederverwendungsansatz, der eine möglichst starke Automatisierung der Konfiguration und Anpassung von Produktvarianten zum Ziel hat. Dieser Ansatz reduziert sowohl die Entwicklungskosten als auch die Zeit bis zur Produkteinführung bei gleichzeitiger Verbesserung der Qualität. Zu diesem Zweck werden Methoden und Techniken entwickelt, um die Anpassung von Serviceplattformen zu beschreiben, zu verwalten und zu implementieren. Diese Ansätze werden auch in Form einer Eclipse-basierten Werkzeugumgebung realisiert. Darüber hinaus beschäftigt sich die Arbeitsgruppe auch mit der Überwachung und dem Management von Services zur Laufzeit. Zu diesem Zweck wird insbesondere ein leichtgewichtiges Monitoring-Framework entwickelt.
Projektwebsite: www.indenica.eu
Laufzeit: 01.10.2010 – 30.09.2013
Kontakt: Prof. Dr. Klaus Schmid
Weitere Informationen:
Deliverables
Das INDENICA-Projekt wurde finanziert durch Grant 257483 der Europäischen Kommission, Bereich Internet of Services, Software & Virtualisation im 7. Rahmenprogramm. Die EU förderte das Projekt mit rund 3,8 Mio. Euro.
The research leading to these results has received funding from the European Union Seventh Framework Programme [FP7/2007-2013] under grant agreement n° 257483.
Veröffentlichungen
Lfd. Nr. | Publikation |
---|---|
2017 | |
22. |
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. |
2015 | |
21. |
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. |
20. |
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. |
19. |
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. |
18. |
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 | |
17. |
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. |
16. | Holger Eichelberger und 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 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. |
2013 | |
14. |
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. |
13. |
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. |
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)
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. |
11. |
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 | |
10. |
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. |
9. |
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. |
8. |
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. |
7. |
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. |
6. |
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. |
5. | Mike Hinchey, Sooyong Park und Klaus Schmid (2012): Building Dynamic Software Product Lines In: IEEE Computer, 10 (45): 22-26. IEEE. |
4. |
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. |
2011 | |
3. |
University of Hildesheim, University of Vienna, Politecnico di Milano, SAP, Siemens und 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
Zusammenfassung 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 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. |
1. |
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. |