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)
Marco Sinnema, Jan Salvador van der Ven and 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 Customer 1Customer 2 word interface mail manager database interface network interface built-in editor mail manager file storage network interface Customer 3Customer 4 notepad interface mail manager file storage network interface built-in editor mail manager database interface network interface
Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Software Product Families Customer 1Customer 2 notepad interface mail manager database interface network interface file storage word interface built-in editor notepad interface mail manager file storage network interface built-in editor mail manager database interface network interface Derive Product
Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Product Derivation Variation Points Product Configuration makes decisions on produces Product Derivation
Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen COVAMOF Variability Modeling * 1 * * * 1.. * * 2.. * * 1 Product Configuration Decision Variant Variation Point Dependency Dependency Interaction with rationale Variation Points Product Configuration makes decisions on produce s Product Derivation
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 Architectural Knowledge Product Family Engineering Variation Points Product Configuration makes decisions on produces Product Derivation Architectural Choices System Design makes decisions on produces Design Process
Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Mapping on COVAMOF * 1 * * * 1.. * * 2.. * * 1 Product Configuration Decision Variant Variation Point Dependency Dependency Interaction with rationale Variation Points Product Configuration makes decisions on produces Product Derivation System Design Decision Alternative Architectural Choice Quality Attribute Trade-off with issue Architectural Choices System Design makes decisions on produces Design Process
Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Example Editor Word Interface System Design Decisions Alternatives Architectural Choices Quality Attributes Trade-off Architectural Choices System Design makes decisions on produces Design Process notepad interface mail manager database interface network interface file storage word interface built-in editor Persistent Data Notepad Interface Built-in Editor Database Interface File Storage Memory Consumption Processor Usage Performance notepad interface mail manager database interface network interface file storage word interface built-in editor notepad interface mail manager 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
Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen The End Any Questions? More Information: Shark 2006 paper
Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Runtime Variation Points New Runtime Configuration makes decisions on produces Runtime Configuration Pre-Runtime Variation Points Product Configuration makes decisions on produces Product Derivation Vision Product Family Engineering Variability
Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Architectural Choices System Design makes decisions on produces Design Process Vision Runtime Variation Points New Runtime Configuration makes decisions on produces Runtime Configuration Pre-Runtime Variation Points Product Configuration makes decisions on produces Product Derivation Variability
Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Vision Architectural Choices System Design makes decisions on produces Design Process Runtime Variation Points New Runtime Configuration makes decisions on produces Runtime Configuration Pre-Runtime Variation Points Product Configuration makes decisions on produces Product Derivation Variation Points System Design makes decisions on produces Design Process Variation Points New Runtime Configuration makes decisions on produces Runtime Configuration Variation Points Product Configuration makes decisions on produces Product Derivation
Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Vision Example 1 notepad interface mail manager database interface network interface file storage word interface built-in editor mail manager file storage network interface notepad interface notepad interface mail manager file storage network interface word interface built-in editor Variation Points System Design makes decisions on produces Design Process Variation Points New Runtime Configuration makes decisions on produces Runtime Configuration Variation Points Product Configuration makes decisions on produces Product Derivation
Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen notepad interface mail manager database interface network interface file storage word interface built-in editor Vision Example 2 notepad interface mail manager database interface network interface file storage word interface built-in editor Variation Points System Design makes decisions on produces Design Process Variation Points New Runtime Configuration makes decisions on produces Runtime Configuration Variation Points Product Configuration makes decisions on produces Product Derivation notepad interface mail manager database interface network interface file storage word interface built-in editor
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
Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Benefits of COVAMOF o Incremental Externalization o Document Expert Knowledge o Incorporate Existing Documentation o Collect Reference Data o Formalize Documented Knowledge o Reduce Derivation Cost o Reduce Expert Involvement o Provide Structured Documentation o Configuration Guidance o Automatic Inference o Automatic Consistency Checking o Automatic Quality Attribute Estimation o Tools integrate in development environment (Visual Studio.NET)
Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Tool support for COVAMOF
Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Example notepad interface mail manager database interface network interface file storage word interface built-in editor
Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Memory Usage Example Variation points Other Documentation notepad interface word interface built-in editor database interface file storage Impact small decrease small increase database interface file storage Reference data notepad interface built-in editor database interface file storage Estimation notepad interface word interface built-in editor
Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen COVAMOF Variability Model Memory Usage Editor Component Notepad Persistency Component Built-inWordFilesDatabase Product class FullCustomBasic Realizes Variant Variation Point Dependency Realization Architecture Layer Feature Layer Legend