pure::variants User's Guide pure::variants User's Guide ... 1

  • View
    9

  • Download
    0

Embed Size (px)

Text of pure::variants User's Guide pure::variants User's Guide ... 1

  • pure::variants User's Guide

    pure-systems GmbH

  • pure::variants User's Guide Version 5.0.0.685 for pure::variants 5.0

    Publication date 2020 Copyright © 2003-2020 pure-systems GmbH

  • iii

    Table of Contents 1. Introduction .............................................................................................................................. 1

    1.1. What is pure::variants? .................................................................................................... 1 1.2. Link to PDF and Other Related Documents ......................................................................... 1

    2. Software and License Installation ................................................................................................. 3 2.1. Software Requirements .................................................................................................... 3 2.2. Software Installation ........................................................................................................ 3 2.3. Obtaining and Installing a License ..................................................................................... 3

    3. Introduction to Product Line Engineering with Feature Models .......................................................... 5 3.1. Introduction ................................................................................................................... 5 3.2. Software Product Lines .................................................................................................... 5 3.3. Modelling the Problem Space with Feature Models ............................................................... 6 3.4. Modelling the Solution Space ........................................................................................... 8 3.5. Designing a variable architecture ....................................................................................... 9 3.6. Deriving product variants ............................................................................................... 11

    4. Getting Started with pure::variants .............................................................................................. 13 4.1. Variant Management Perspective ..................................................................................... 13 4.2. Tooltips ....................................................................................................................... 13 4.3. Using Feature Models .................................................................................................... 14 4.4. Using Configuration Spaces ............................................................................................ 15 4.5. Transforming Configuration Results ................................................................................. 16 4.6. Viewing and Exporting Configuration Results .................................................................... 17 4.7. Exploring Documentation and Examples ........................................................................... 18

    5. Concepts ................................................................................................................................ 19 5.1. Introduction .................................................................................................................. 19 5.2. Common Concepts in pure::variants Models ....................................................................... 20

    5.2.1. Model Constraints ............................................................................................... 20 5.2.2. Element Restrictions ............................................................................................ 21 5.2.3. Element Relations ............................................................................................... 21 5.2.4. Element Attributes .............................................................................................. 21

    5.3. Feature Models ............................................................................................................. 23 5.3.1. Feature Attributes ............................................................................................... 24

    5.4. Family Models ............................................................................................................. 24 5.4.1. Structure of the Family Model .............................................................................. 25 5.4.2. Restrictions in Family Models ............................................................................... 26 5.4.3. Relations in Family Models .................................................................................. 27

    5.5. Variant Description Models ............................................................................................ 28 5.6. Hierarchical Variant Composition .................................................................................... 28 5.7. Inheritance of Variant Descriptions .................................................................................. 28

    5.7.1. Inheritance Rules ................................................................................................ 29 5.8. Variant Description Evaluation ........................................................................................ 29

    5.8.1. Evaluation Algorithm .......................................................................................... 29 5.8.2. Partial Evaluation ............................................................................................... 30

    5.9. Variant Transformation .................................................................................................. 31 5.9.1. The Transformation Process ................................................................................. 31 5.9.2. Variant Result Models ......................................................................................... 32

    5.10. Variant Update ............................................................................................................ 33 5.10.1. File based Update ............................................................................................ 34

    6. Tasks ..................................................................................................................................... 35 6.1. Evaluating Variant Descriptions ....................................................................................... 35

    6.1.1. Configuring the Evaluation ................................................................................... 35 6.1.2. Setting the VDM Configuration Mode .................................................................... 37 6.1.3. Default Element Selection State ............................................................................ 37 6.1.4. Automatic Resolving of Selection Problems ............................................................. 37 6.1.5. Automatic Selection ............................................................................................ 38 6.1.6. Configuring the Auto Resolver .............................................................................. 39

  • pure::variants User's Guide

    iv

    6.2. Reuse of Variant Descriptions ......................................................................................... 40 6.2.1. Hierarchical Variant Composition .......................................................................... 40 6.2.2. Inheritance of Variant Descriptions ........................................................................ 43 6.2.3. Load a Variant Description ................................................................................... 43 6.2.4. Rename Reused Variant Description Model ............................................................. 43

    6.3. Transforming Variants ................................................................................................... 44 6.3.1. Setting up a Transformation .................................................................................. 45 6.3.2. Standard Transformation ...................................................................................... 49 6.3.3. User-defined transformation scripts with JavaScript ................................................... 53 6.3.4. Transformation of Hierarchical Variants .................................................................. 55 6.3.5. Reusing existing Transformation ........................................................................... 56 6.3.6. Ant Build Transformation Module ......................................................................... 56

    6.4. Validating Models ......................................................................................................... 57 6.4.1. XML Schema Model Validation ............................................................................ 57 6.4.2. Model Check Framework ..................................................................................... 57

    6.5. Refactoring Models ....................................................................................................... 61 6.6. Comparing Models ........................................................................................................ 62

    6.6.1. General Eclipse Compare ..................................................................................... 62 6.6.2. Model Compare Editor ........................................................................................ 63 6.6.3. Conflicts ........................................................................................................... 63 6.