Software and systems engineering — Methods and tools for variability modelling in software and systems product line

ISO/IEC 26558:2017, within the context of methods and tools for supporting explicit and/or separate variability modelling, variability model management and variability model support in software and systems product lines: - provides the terms and definitions specific to variability modelling for software and systems product line; - defines processes for variability modelling, variability model management and variability model support throughout the product line lifecycle. Those processes are described in terms of purpose, inputs, tasks and outcomes; - defines method capabilities to support the defined tasks of each process; - defines tool capabilities that automate or semi-automate tasks and methods. ISO/IEC 26558:2017 does not concern processes and capabilities of tools and methods for a single system but rather deals with those for a family of products.

Ingénierie des systèmes et du logiciel — Méthodes et outils pour modéliser la variabilité dans les gammes de produits des logiciels et systèmes

General Information

Status
Published
Publication Date
09-Aug-2017
Current Stage
9093 - International Standard confirmed
Completion Date
21-Dec-2022
Ref Project

Buy Standard

Standard
ISO/IEC 26558:2017 - Software and systems engineering -- Methods and tools for variability modelling in software and systems product line
English language
38 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

INTERNATIONAL ISO/IEC
STANDARD 26558
First edition
2017-07
Software and systems engineering —
Methods and tools for variability
modelling in software and systems
product line
Ingénierie des systèmes et du logiciel — Méthodes et outils pour
modéliser la variabilité dans les gammes de produits des logiciels et
systèmes
Reference number
ISO/IEC 26558:2017(E)
©
ISO/IEC 2017

---------------------- Page: 1 ----------------------
ISO/IEC 26558:2017(E)

COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2017, Published in Switzerland
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form
or by any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior
written permission. Permission can be requested from either ISO at the address below or ISO’s member body in the country of
the requester.
ISO copyright office
Ch. de Blandonnet 8 • CP 401
CH-1214 Vernier, Geneva, Switzerland
Tel. +41 22 749 01 11
Fax +41 22 749 09 47
copyright@iso.org
www.iso.org
ii © ISO/IEC 2017 – All rights reserved

---------------------- Page: 2 ----------------------
ISO/IEC 26558:2017(E)

Contents Page
Foreword .v
Introduction .vi
1 Scope . 1
2 Normative references . 1
3 Terms and definitions . 1
4 Variability modelling in software and systems product line . 2
4.1 Overview . 2
4.2 Reference model for variability modelling in software and systems product line . 4
5 Variability model management . 6
5.1 General . 6
5.2 Variability model planning . 7
5.2.1 Purpose of variability model planning . 7
5.2.2 Design variability modelling strategy . 7
5.2.3 Define quality assurance measures for variability modelling . 8
5.2.4 Assign responsibility for variability modelling . 8
5.2.5 Record variability model plan . 8
5.3 Variability model enabling . 9
5.3.1 Purpose of variability model enabling . 9
5.3.2 Provide guidance for variability modelling .10
5.3.3 Mobilize roles and responsibilities for variability modelling .10
5.3.4 Enable variability model-centric variability management .10
5.3.5 Enable variability modelling operations .11
5.3.6 Enable quality assurance measurement for variability modelling .11
5.4 Variability model managing .11
5.4.1 Purpose of variability model managing .11
5.4.2 Review the plan versus actual of variability modelling .12
5.4.3 Control issues on domain/application variability modelling .13
5.4.4 Control issues on variability model-centred variability management .13
5.4.5 Control issues on variability model support .13
5.4.6 Support corrective actions for variability modelling .14
5.4.7 Make improvement actions for variability modelling .14
6 Variability modelling .14
6.1 General .14
6.2 Domain variability modelling .15
6.2.1 Purpose of domain variability modelling .15
6.2.2 Construct domain variability model .15
6.2.3 Annotate domain variability model .16
6.2.4 Verify domain variability model .16
6.2.5 Optimize domain variability model .17
6.3 Application variability modelling .17
6.3.1 Purpose of application variability modelling .17
6.3.2 Construct application variability model .18
6.3.3 Annotate application variability model .18
6.3.4 Verify application variability model .18
6.3.5 Optimize application variability model .19
6.4 Relating variability model to artefacts .19
6.4.1 Purpose of relating variability model to artefacts .19
6.4.2 Retrieve variation points and variants in relevant artefacts .20
6.4.3 Relate domain variability model to domain artefacts .20
6.4.4 Relate application variability model to application artefacts .20
6.5 Relating domain variability model to application variability model .21
6.5.1 Purpose of domain variability model to application variability model .21
© ISO/IEC 2017 – All rights reserved iii

---------------------- Page: 3 ----------------------
ISO/IEC 26558:2017(E)

6.5.2 Trace binding decisions made in an application .22
6.5.3 Establish relations between domain and application variability models .22
6.5.4 Add decision-related annotations to relations .22
6.5.5 Verify relations between domain and application variability models .23
7 Variability model support .23
7.1 General .23
7.2 Relating variability model to variability mechanism .23
7.2.1 Purpose of relating variability model to variability mechanism .23
7.2.2 Identify variability including variability mechanism constraints .24
7.2.3 Establish relations from variability model to variability mechanism.24
7.2.4 Add variability mechanism constraint annotations into variability model .25
7.3 Quality assurance for variability model .25
7.3.1 Purpose of quality assurance for variability model .25
7.3.2 Objectively evaluate variability modelling activities .26
7.3.3 Objectively evaluate variability model work products .26
7.3.4 Communicate and resolve noncompliance issues.27
7.3.5 Establish records of variability modelling quality assurance activities .27
7.4 Binding decision support .28
7.4.1 Purpose of binding decision support .28
7.4.2 Establish full of references to binding decision tables .28
7.4.3 Verify binding decisions from variability models view .29
7.5 Application configuration support .29
7.5.1 Purpose of application configuration support .29
7.5.2 Relate variability models to binding decision tables .30
7.5.3 Provide different views of variability models by binding stages .30
7.5.4 Support full of traces from variability model to artefacts .30
Annex A (informative) Variability meta model .32
Annex B (informative) Orthogonal variability model .33
Annex C (informative) Formal descriptions for variability relationships .34
Annex D (informative) Orthogonal variability decision table .35
Annex E (informative) Orthogonal variability model validation .36
Bibliography .38
iv © ISO/IEC 2017 – All rights reserved

---------------------- Page: 4 ----------------------
ISO/IEC 26558:2017(E)

Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are
members of ISO or IEC participate in the development of International Standards through technical
committees established by the respective organization to deal with particular fields of technical
activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international
organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the
work. In the field of information technology, ISO and IEC have established a joint technical committee,
ISO/IEC JTC 1.
The procedures used to develop this document and those intended for its further maintenance are
described in the ISO/IEC Directives, Part 1. In particular the different approval criteria needed for
the different types of document should be noted. This document was drafted in accordance with the
editorial rules of the ISO/IEC Directives, Part 2 (see www .iso .org/ directives).
Attention is drawn to the possibility that some of the elements of this document may be the subject
of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent
rights. Details of any patent rights identified during the development of the document will be in the
Introduction and/or on the ISO list of patent declarations received (see www .iso .org/ patents).
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.
For an explanation on the voluntary nature of standards, the meaning of ISO specific terms and
expressions related to conformity assessment, as well as information about ISO’s adherence to the
World Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT) see the following
URL: w w w . i s o .org/ iso/ foreword .html.
This document was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 7, Software and systems engineering.
© ISO/IEC 2017 – All rights reserved v

---------------------- Page: 5 ----------------------
ISO/IEC 26558:2017(E)

Introduction
Software and Systems Product Line (SSPL) engineering and management creates, exploits and manages
a common platform to develop a family of products (e.g. software products, systems architectures) at
lower cost, reduced time to market and with better quality. As a result, it has gained increasing global
attention since the 1990s.
Variability, which differentiates a member product from other products within a product line, plays an
important role in SSPL; and hundreds of variabilities are introduced throughout the whole SSPL domain
engineering stages. Those variabilities are defined, refined, newly added as domain engineering stages
go forward. Variabilities thus are modelled carefully so as to manage and control them in a systematic
way. This document deals with methods and tools capability for supporting variability modelling using
consistent notations and for managing and/or utilizing variability models in domain and application
engineering lifecycle processes.
This document can be used in the following modes:
— by the users of this document: to benefit people who want to adopt SSPL for producing their products
by guiding how to model variabilities among member products;
— by a product line organization: to provide guidance in the evaluation and selection for methods and
tools for variability modelling;
— by providers of tools and methods: to provide guidance in implementing or developing methods and
tools by providing a comprehensive set of methods and tools capabilities for supporting variability
modelling.
The ISO/IEC 26550 family of standards addresses both engineering and management processes and
capabilities of methods and tools in terms of the key characteristics of product line development. This
document provides processes and capabilities of methods and tools for variability modelling in product
lines. Other ISO/IEC 26550 family of standards are as follows:
— processes and capabilities of methods and tools for domain requirements engineering and
application requirements engineering are provided in ISO/IEC 26551;
— processes and capabilities of methods and tools for domain design and application design are
provided in ISO/IEC 26552;
— processes and capabilities of methods and tools for domain realization and application realization
are provided in ISO/IEC 26553 (International Standard under development);
— processes and capabilities of methods and tools for domain testing and application testing are
provided in ISO/IEC 26554;
— processes and capabilities of methods and tools for technical management are provided in
ISO/IEC 26555;
— processes and capabilities of methods and tools for organizational management are provided in
ISO/IEC 26556;
— processes and capabilities of methods and tools for variability mechanisms are provided in
ISO/IEC 26557;
— processes and capabilities of methods and tools for variability traceability are provided in
ISO/IEC 26559;
— processes and capabilities of methods and tools for product management are provided in
ISO/IEC 26560;
— processes and capabilities of methods and tools for technical probe are provided in ISO/IEC 26561;
vi © ISO/IEC 2017 – All rights reserved

---------------------- Page: 6 ----------------------
ISO/IEC 26558:2017(E)

— processes and capabilities of methods and tools for transition management are provided in
ISO/IEC 26562;
— processes and capabilities of methods and tools for configuration management of asset are provided
in ISO/IEC 26563;
— others (ISO/IEC 26564 to ISO/IEC 26599): to be developed.
ISO/IEC 26550, ISO/IEC 26551 and ISO/IEC 26555 are published. ISO/IEC 26557 and ISO/IEC 26559
are to be published. ISO/IEC 26552, ISO/IEC 26553, ISO/IEC 26554, ISO/IEC 26556, ISO/IEC 26560,
ISO/IEC 26561, ISO/IEC 26562, ISO/IEC 26563 are planned International Standards.
© ISO/IEC 2017 – All rights reserved vii

---------------------- Page: 7 ----------------------
INTERNATIONAL STANDARD ISO/IEC 26558:2017(E)
Software and systems engineering — Methods and tools for
variability modelling in software and systems product line
1 Scope
This document, within the context of methods and tools for supporting explicit and/or separate
variability modelling, variability model management and variability model support in software and
systems product lines:
— provides the terms and definitions specific to variability modelling for software and systems
product line;
— defines processes for variability modelling, variability model management and variability model
support throughout the product line lifecycle. Those processes are described in terms of purpose,
inputs, tasks and outcomes;
— defines method capabilities to support the defined tasks of each process;
— defines tool capabilities that automate or semi-automate tasks and methods.
This document does not concern processes and capabilities of tools and methods for a single system but
rather deals with those for a family of products.
2 Normative references
There are no normative references in this document.
3 Terms and definitions
For the purposes of this document, the following terms and definitions apply.
ISO and IEC maintain terminological databases for use in standardization at the following addresses:
— IEC Electropedia: available at http:// www .electropedia .org/
— ISO Online browsing platform: available at http:// www .iso .org/ obp
3.1
application configuration
composition results of an application by both binding variability and adding application specific
variability
3.2
application variability model
variability model for a particular application including variability binding results, application
specifically modified variability and application specifically added variability
3.3
aspect
special consideration within product line engineering process groups and tasks to which we can
associate specialized methods and tools
3.4
domain variability model
explicit definition of product line variability
© ISO/IEC 2017 – All rights reserved 1

---------------------- Page: 8 ----------------------
ISO/IEC 26558:2017(E)

3.5
constraints dependency
relationship between variation points (3.12), between variants (3.11) and between a variation point and
a variant
Note 1 to entry: Two types of constraints are possible: “excludes” which means a variant or a variation point
forbids another variant or variation point and “requires” which means a variant or a variation point demands
(an-)other variant or variation point.
3.6
texture
architectural texture
collection of common development rules and constraints for realizing the applications of a product line
3.7
variability dependency
association from a variation point (3.12) to a variant (3.11) or variants
3.8
variability modelling
explicit definition for product line variability
3.9
variability modelling plan
documentation that includes schedules, defined roles and responsibilities, and defined quality
assurance measures that will be applied to variability modelling (3.8)
3.10
variability modelling strategy
variability modelling (3.8) methodology, strictness degree of variability model validation, rules,
constraints, other details for supporting the role of variability model in the whole variability
management
3.11
variant
instance or a value of a variation point (3.12)
3.12
variation point
indication of product differentiation based on particular variable characteristics of products, domain
assets, and application assets in the context of a product line
4 Variability modelling in software and systems product line
4.1 Overview
Variability is a key differentiator between single-system engineering and management and product
line engineering and management. Product line engineering and management has to take explicitly
into account the variations within and between multiple products. The product line variabilities are
introduced and defined during product management, domain engineering and application engineering
processes defined in ISO/IEC 26550. Their abstraction levels at each lifecycle stage can differ and much
variability are refined or newly added as the development progresses. Variability should be defined,
modelled, implemented, versioned, verified and validated. Variability model supports abstractions and
explicit expressions of the defined variabilities. Variability modelling means the operation for creating,
maintaining and supporting variability models using variability together with variability-relevant
information defined from product management, domain engineering to application engineering of
ISO/IEC 26550. This document supports variability modelling using consistent notations and provides
management and required supports for managing and/or utilizing variability models in domain and
application engineering.
2 © ISO/IEC 2017 – All rights reserved

---------------------- Page: 9 ----------------------
ISO/IEC 26558:2017(E)

There are two types of variability models: domain variability models and application variability
models. Domain engineering typically provides most of the variability information necessary for
structuring the domain variability model. The model is refined and managed throughout the domain
engineering lifecycle. On the other hand, application-specific variabilities are introduced during
application engineering because each member product of a product line may offer plenty of variability
for differentiating itself from other products. Application-specific variabilities including the bound
variability of domain variability model are documented as an application variability model. This
model is also refined throughout the application engineering lifecycle. The levels of detail of variability
information differ depending on the process (e.g. application requirements engineering) where the
information is produced.
The orthogonal variability model (OVM) defines the variability of a product line separately unlike
feature model that defines the whole domain including both commonality and variability or integrated
modelling approach that represents variability by integrating within the development artefacts. A
typical product line has hundreds of variability, so it is difficult to manage (i.e. tracing, changing and
so on) variability in the forms of feature model or integrated modelling approach. For defining the
variability orthogonally, some types of variability dependency, variability constraints and the elements
consisting model may be used as it is, or some of them should be defined differently or newly added.
This clause describes the elements of the OVM.
The variability consists of the following elements, so the OVM that models the variability should include
the following elements:
— variation point;
— variant;
— variability dependency.
A variation point should have relations with more than one variant. The basic variability dependencies
include the following:
— mandatory: a variant should be selected, namely it should be part of a member product if the
corresponding variation point is selected;
— optional: a variant can be selected or not, namely it can be part of a member product or not.
Optional variability dependency has the following special types of variability dependency:
— exclusive-or, alternative: only one variant should be selected among variants that have optional
variability dependency with the same variation point;
— inclusive-or: numbers of variants can be selected among variants that have optional variability
dependency with the same variation point, and the numbers of variants that can be selected are
defined by range.
Variability can have relations with other variability. The selection of a variation point or a variant
can constrain other selections of a variation point or a variant. Such restrictions are called constraint
dependency. Constraint dependency includes the following types:
— requires: a variation point or a variant requires another selection of a variation point or a variant;
— excludes: a variation point or a variant should not be selected when a variation point or a variant is
selected.
NOTE 1 The principles of variability in SSPL and the orthogonal variability model are depicted in Annex A and
Annex B.
NOTE 2 Formal descriptions for the variability dependency and constraints dependency are depicted in
Annex C.
© ISO/IEC 2017 – All rights reserved 3

---------------------- Page: 10 ----------------------
ISO/IEC 26558:2017(E)

4.2 Reference model for variability modelling in software and systems product line
The reference model specifies the structure of supporting processes and subprocesses for variability
modelling in product line. As shown in Figure 1, variability modelling in product line can be structured
into three processes: variability model management, variability modelling and variability model
support. In the rest of this document, tasks, methods and tools are described in terms of processes and
subprocesses defined in the reference model.
Each process is divided into subprocesses and each subprocess is described in terms of the following
attributes:
— the title of the subprocess;
— the purpose of the subprocess;
— the inputs to produce the outcomes;
— the tasks to achieve the outcomes;
— the outcomes of the subprocess;
— the capabilities of methods and tools required for performing the tasks effectively and efficiently.
Figure 1 — Variability modelling in SSPL
The variability modelling management process provides mana
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.