Using Variability Modeling Principles to Capture Architectural Knowledge
Using Variability Modeling Principles to Capture Architectural Knowledge Marco Sinnema (University of Groningen), Jan Salvador van der Ven (University of Groningen), Sybren Deelstra (University of Groningen)
Outline o Software Product Families o COVAMOF o Architectural Knowledge o Mapping to COVAMOF o Example Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen
Software Product Families Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen
Software Product Families notepad interface mail manager network interface built-in editor file storage mail manager network interface database interface Customer 1 word interface mail manager Customer 2 network interface built-in editor mail manager database interface file storage Customer 3 Customer 4 network interface Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen
Software Product Families notepad interface notepad word built-in interface editor built-in editor ct u od r P e riv e D Customer 1 mail manager database file interface storage file storage network interface De riv e Pr od uc t Customer 2 Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen
Product Derivation produces Product Configuration makes decisions on Variation Points Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen
COVAMOF Variability Modeling Product Configuration 1 Product Derivation produce s makes decisions on * Product Configuration Decision * * Variation Points Variant 1. . * 1 Variation Point with rationale 1. . * * Dependency 2. . * * Dependency Interaction Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen
Architectural Knowledge o Supports the development of the architectural design o During this development, issues arise o These issues lead to architectural choices between two or more alternatives o Based on rationale, engineers make a decision for an architectural choice o Making these decisions often involves making trade-offs between quality attributes Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen
Commonalities Product Family Engineering Product Derivation produces makes decisions on Variation Points Product Configuration Architectural Knowledge Design Process produces System Design makes decisions on Architectural Choices Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen
Mapping on COVAMOF System Design Product Configuration 1 Product Derivation produces makes decisions on * Product Configuration Decision Design Process Decision * * Variation Points produces makes decisions on Architectural Choices Alternative Variant 1. . * 1 Architectural Choice Variation Point with rationale 1. . * with issue * Quality Attribute Dependency 2. . * * Dependency Interaction Trade-off Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen System Design
Example Design Process produces System Design Trade-off Performance Processor Usage makes decisions on Architectural Choices notepad Memory interface Consumption word interface Editor notepad interface word mail interface manager built-in editor database interface file storage built-in editor network interface Quality Attributes mail manager Persistent Database Interface Built-in Editor database Word Interface interface File Storage Notepad Interface network interface Architectural Choices file storage Decisions Alternatives notepad interface mail manager System Design file storage Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen network interface
Vision Product Family Engineering Product Derivation produces Runtime Configuration Product Configuration makes decisions on Pre-Runtime Variation Points produces New Runtime Configuration makes decisions on Runtime Variation Points Variability Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen
Vision Variability Design Process produces makes decisions on Architectural Choices System Design Product Derivation produces makes decisions on Pre-Runtime Variation Points Product Configuration Runtime Configuration produces New Runtime Configuration makes decisions on Runtime Variation Points Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen
Vision Design Process produces System Design makes decisions on Product Configuration produces System Design Product Derivation produces New Runtime Configuration Runtime Variation Points produces makes decisions on Variation Points Runtime Configuration makes decisions on Pre-Runtime Variation Points makes decisions on Variation Points produces makes decisions on Architectural Choices Design Process Product Derivation Product Configuration Runtime Configuration produces New Runtime Configuration makes decisions on Variation Points Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen
Vision Example 1 Design Process produces System Design makes decisions on produces Product Configuration Runtime Configuration makes decisions on Variation Points notepad interface word mail interface manager built-in editor database interface file storage Product Derivation network interface New Runtime Configuration makes decisions on Variation Points notepad interface word mail interface manager built-in editor file storage produces Variation Points network interface notepad interface mail manager network interface file storage Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen
Vision Example 2 Design Process produces System Design makes decisions on produces Product Configuration makes decisions on Variation Points notepad interface word mail interface manager built-in editor database interface file storage Product Derivation network interface produces New Runtime Configuration makes decisions on Variation Points notepad interface word mail interface manager built-in editor database interface file storage Runtime Configuration Variation Points network interface notepad interface word mail interface manager built-in editor database interface file storage network interface Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen
Conclusion o We can use Variability Modeling concepts to capture Architectural Knowledge o In the future we should strive for an integrated solution for managing architectural choices and variation points Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen
The End Any Questions? More Information: Shark 2006 paper http: //www. msinnema. nl/covamof m. sinnema@rug. nl Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen
- Slides: 18