Abstract:Software product line engineering aims to reduce development time, effort, cost, and complexity by taking advantage of the commonality within a portfolio of similar products. The effectiveness of a software product line approach directly depends on how well feature variability within the portfolio is implemented and managed throughout the development lifecycle, from early analysis through maintenance and evolution. This paper presents an approach that facilitates variability implementation, management and trac… Show more
“…In [50] Voelter presents an approach that addresses variability implementation, management and tracing by integrating model-driven and aspect-oriented software development. Features are separated in models and composed by aspect-oriented composition techniques at the model level.…”
Domain-specific modeling languages (DSMLs) are the essence of MDE. A DSML describes the concepts of a particular domain in a metamodel, as well as their relationships. Using a DSML, it is possible to describe a wide range of different models that often share a common base and vary on some parts. On the one hand, some current approaches tend to distinguish the variability language from the DSMLs themselves, implying greater learning curve for DSMLs stakeholders and a significant overhead in product line engineering. On the other hand, approaches integrating variability in DSMLs lack generality and tool support.We argue that aspect-oriented modeling techniques enabling flexible metamodel composition and results obtained by the software product line community to manage and resolve variability form the pillars for a solution for integrating variability into DSMLs. In this article, we consider variability as an independent and generic aspect to be woven into the DSML. In particular, we detail how variability is woven and how to perform product line derivation. We validate our approach through the weaving of variability into two different metamodels: Ecore-widely used for DSML definition-and SmartAdapters, our aspect model weaver. These results emphasize how new abilities of the language can be provided by this means.
“…In [50] Voelter presents an approach that addresses variability implementation, management and tracing by integrating model-driven and aspect-oriented software development. Features are separated in models and composed by aspect-oriented composition techniques at the model level.…”
Domain-specific modeling languages (DSMLs) are the essence of MDE. A DSML describes the concepts of a particular domain in a metamodel, as well as their relationships. Using a DSML, it is possible to describe a wide range of different models that often share a common base and vary on some parts. On the one hand, some current approaches tend to distinguish the variability language from the DSMLs themselves, implying greater learning curve for DSMLs stakeholders and a significant overhead in product line engineering. On the other hand, approaches integrating variability in DSMLs lack generality and tool support.We argue that aspect-oriented modeling techniques enabling flexible metamodel composition and results obtained by the software product line community to manage and resolve variability form the pillars for a solution for integrating variability into DSMLs. In this article, we consider variability as an independent and generic aspect to be woven into the DSML. In particular, we detail how variability is woven and how to perform product line derivation. We validate our approach through the weaving of variability into two different metamodels: Ecore-widely used for DSML definition-and SmartAdapters, our aspect model weaver. These results emphasize how new abilities of the language can be provided by this means.
“…In [50] Völter and Groher present an approach to support software product line engineering based on domain-specific languages and model-driven development. They propose the usage of staged SPLs or in other words meta-product lines.…”
Section: Dsl-based Approachesmentioning
confidence: 99%
“…In the solution domain (which comprises a componentbased architecture), a combination of manually written code and models are used to represent the components. Modelto-model transformations are used to instantiate, wire and deploy those library components based upon the problem domain model [50].…”
Section: Dsl-based Approachesmentioning
confidence: 99%
“…The approach presented in [50] uses lots of different techniques to realize this goal: both positive and negative variability is used, resulting in construction DSLs and configuration DSLs which are used on different stages of the development process. Furthermore, library components and target code variability are used.…”
Section: Dsl-based Approachesmentioning
confidence: 99%
“…The most significant difference is the usage of staged SPLs in [50]. Furthermore, both positive and negative variability approaches are used.…”
We present an approach to model-driven software product line engineering which is based on feature models and domain models. A feature model describes both common and varying properties of the instances of a software product line. The domain model is composed of a structural model (package and class diagrams) and a behavioral model (story diagrams). Features are mapped onto the domain model by annotating elements of the domain model with features. An element of a domain model is specific to the features included in its feature annotation. An instance of the product line is defined by a set of selected features (a feature configuration). A configuration of the domain model is built by excluding all elements whose feature set is not included in the feature configuration. To ensure consistency of the configured domain model, we define constraints on the annotations of inter-dependent domain model elements. These constraints guarantee that a model element may be selected only when the model elements are also included on which it depends. Violations of dependency constraints may be removed automatically with the help of an error repair tool which propagates features to dependent model elements.Keywords Model-driven software product line engineering · Feature models · Domain models · Feature mappings · Dependency constraints Communicated by Prof. Alfonso Pierantonio.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.