Computer · 2008 · 370 citations · 7 references
EngineeringSystems EngineeringRequirements EngineeringSystems ArchitectureSystems DesignSoftware DesignVariation AnalysisVariation ReductionDesign Variability ManagementProduct Line ApproachReuse In Product Line EngineeringSoftware Product Line ArchitectureSoftware Product Line ModelingSoftware Product Lines
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.
7
The vision of autonomic computing
Jeffrey O. Kephart, David M. Chess · Computer · 2003 · 6.4K citations
On agent-based software engineering
Nicholas R. Jennings · Artificial Intelligence · 2000 · 1.6K citations
Automating Product-Line Variant Selection for Mobile Devices
Jules White, Douglas C. Schmidt, Egon Wuchner et al. · 2007 · 61 citations
Architecture, Manufacturing Engineering, Systems Engineering +13