Generative Software Product Line Development using Variability-Aware Design Patterns
Software Product Lines (SPLs) are an approach to reuse in-the-large that models a set of closely related software systems in terms of commonalities and variabilities. Design patterns are best practices for addressing recurring design problems in object-oriented source code. In the practice of implementing an SPL, instances of certain design patterns are employed to handle variability, which makes these “variability-aware design patterns” a best practice for SPL design. However, there currently is no dedicated method for proactively developing SPL using design patterns suitable for realizing variable functionality. In this paper, we present a method to perform generative SPL development with design patterns. We use role models to capture design patterns and their relation to a variability model. We further allow mapping of individual design pattern roles to elements of realization artifacts to be generated (e.g., classes, methods) and check the conformance of the realization with the specification of the pattern. With this method, we support proactive development of SPL using design patterns to apply best practices for the realization of variability. We present an implementation of our approach within the Eclipse IDE and demonstrate it within a case study.
Tue 27 OctDisplayed time zone: Eastern Time (US & Canada) change
15:30 - 17:30 | |||
15:30 30mTalk | Modular Interpreters for the Masses: Implicit Context Propagation Using Object Algebras GPCE | ||
16:00 30mTalk | Addressing Metamodel Revisions in Model-based Software Product Lines GPCE Jaime Font San Jorge University, Lorena Arcega San Jorge University, Øystein Haugen Østfold University College, Carlos Cetina San Jorge University | ||
16:30 30mTalk | Generative Software Product Line Development using Variability-Aware Design Patterns GPCE Christoph Seidl Technische Universität Braunschweig, Sven Schuster Technische Universität Braunschweig, Ina Schaefer | ||
17:00 20mTalk | Model Querying with Query Models GPCE | ||
17:20 10mDay closing | GPCE'15 Closing and GPCE'16 Announcement GPCE |