Design for change is a well-known adagium in software engineering. We separate concerns, employ well-designed interfaces, and the like to ease evolution of the systems we build. W...
Situated software systems are an emerging class of systems that are predominantly pervasive, embedded, and mobile. They are marked with a high degree of unpredictability and dynam...
Deshan Cooray, Sam Malek, Roshanak Roshandel, Davi...
Variability modeling is at the heart of product line engineering. Variability models entail features and architectural elements, technical customization aspects, sales and marketi...
Many would argue that future breakthroughs in software productivity will dependon our ability to combine existing pieces of software to produce new applications. An important step...
Architecture has been identified as a main tool for high quality system development. It encapsulates the earliest design decisions of the system under development. These decisions...