3. Context
Configuration Systems …
3
• Software where a user
can select the options
and features for the
intended product
• It can be generated from
Feature Models
and UI specifications
4. Configuration Systems
for complex products…
• A lot of features and
constraints
• Multiple domains and
interactions
• Multiple standards and
regulations
• Multiple product lines
(sharing domains and
standards)
4
6. for complex products
with multiple standards / regulations
Multiple standards
and norms must be
supported
… just for Colombia,
there many national
and proprietary
standards for each
product family.
7. One Configuration System
for Multiple Countries/Standards
Customer
Customer
Requests
Sales Engr
Bid Engr
Bids
Proposals
I want an electrical
transformer with
Power of 15KVA
a Low Voltage of 214V
and a High Voltage of 4160V
To be installed in
Buenos Aires
Ummm !!
Which
configurator
should I use?
9. Feature Models
A compact representation of
configuration options and constraints
r
a b
f2f1 f3 f4 f5
Or
Group
Alternative
Group
Optional
Feature
Mandatory
Feature
15. Operations of Feature Models
• Schobbens et al.
• Intersection
• (Strict) union
• Reduced product
• Acher et al.
• Insert
• Aggregate
• Union merge
• Strict Union merge
• Intersection merge
• Diff merge
• Slice
15
Acher et al.
Schobbens et al.
16. Intersection Merge
If we applied to standards,
the standard becomes mandatory
16
Transformer
X
Power
Y Z
Transformer
(Standard X)
W
Power
X Y
∩ =
Transformer
Power
X Y
18. Conditional Intersection Merge
the standard remains optional
18
Transformer
X
Power
Y Z
Standard X
W
Power
X Y
∩ 𝑐 =
Transformer
PowerStandard X
X Y Z
𝑆𝑡𝑎𝑛𝑑𝑎𝑟𝑑𝑋 ⇒ (𝑋 ∨ 𝑌)
20. Conditional Intersection Merge
𝒇𝒎 𝒓 = 𝒇𝒎 𝒅 ∪ ( 𝒇 𝒔 ⊗ ( 𝒇𝒎 𝒅 ∩ 𝒇𝒎 𝒔 ))
20
Include a feature for the standard as
mandatory
Add the configurations with the standards to the existing
configurations in the domain (without the standard)
Enforces the constraints
of the standard
22. Concerns
Note that models are created
“by hand” by groups of company engineers
22
• Hierarchy of the Resulting Model
• Try to keep the structure of the
model for the product line
• Models will be easier to review by
the modelers
• We will gain confidence on the
operations
• Scalability/Performance
26. ❶ Composing Semantic-based
operations
𝒇𝒎 𝒓 = 𝒇𝒎 𝒅 ∪ ( 𝒇 𝒔 ⊗ ( 𝒇𝒎 𝒅 ∩ 𝒇𝒎 𝒔 ))
26
Hierarchy
• The hierarchy is
recalculated two times
• It may result very different
than the inputs
Performance
• Other approaches requires
only one (or none)
structure recalculation
27. ❷ Semantic-based approach
27
𝒇𝒎 𝒓 = 𝒇𝒎 𝒅 ∪ ( 𝒇 𝒔 ⊗ ( 𝒇𝒎 𝒅 ∩ 𝒇𝒎 𝒔 ))
𝝓 𝒓 = 𝝓 𝟏 ∧ 𝒏𝒐𝒕 𝓕 𝒇𝒎𝟐 ∖ 𝓕 𝒇𝒎𝟏 ∧ 𝒇 𝒔 ⇒ 𝝓 𝟐 ∧ 𝒏𝒐𝒕 𝓕 𝒇𝒎𝟏 ∖ 𝓕 𝒇𝒎𝟐
Calculate a CNF formula
for the result
Derive a new
structure based on
the resulting formula
28. ❷ Semantic-based approach
28
𝒇𝒎 𝒓 = 𝒇𝒎 𝒅 ∪ ( 𝒇 𝒔 ⊗ ( 𝒇𝒎 𝒅 ∩ 𝒇𝒎 𝒔 ))
𝝓 𝒓 = 𝝓 𝟏 ∧ 𝒏𝒐𝒕 𝓕 𝒇𝒎𝟐 ∖ 𝓕 𝒇𝒎𝟏 ∧ 𝒇 𝒔 ⇒ 𝝓 𝟐 ∧ 𝒏𝒐𝒕 𝓕 𝒇𝒎𝟏 ∖ 𝓕 𝒇𝒎𝟐
Calculate a CNF formula
for the result
Derive a new
structure based on
the resulting formula
Hierarchy
• The hierarchy is
recalculated one time
• It may result very different
than the inputs
Performance
• It is faster than using
individual operations
FAMILIAR does not support
directly these operations
29. ❸ Reference-based approach
29
Define a view based
on one of the feature
models
Include all the
operand models
Introduce constraints
that relate features
in the view with
those in the operands
30. ❸ Reference-based approach
30
Define a view based
on one of the feature
models
Include all the
operand models
Introduce constraints
that relate features
in the view with
those in the operands
Hierarchy
• The resulting hierarchy is
different than the inputs
• The features are “repeated”
and may confuse modelers
Performance
• It does not recalculate the
hierarchy
• It is very fast
31. ❹ Hybrid Approach
31
Create a reference
Based solution
Slice the model
- Formula calculation
- Structure derivation
32. ❹ Hybrid Approach
32
Create a reference
Based solution
Slice the model
- Formula calculation
- Structure derivation
Hierarchy
• The hierarchy is
recalculated one time
• It may result very different
than the inputs
Performance
• It uses the slice operation, a
costly operation (existential
quantification and
hierarchy recalculation)
33. ❺ “Adding constraints” approach
33
• Add a feature for the Standard
• Introduce new constraints
𝝓 𝒓 = 𝝓 𝟏 ∧ 𝒏𝒐𝒕 𝓕 𝒇𝒎𝟐 ∖ 𝓕 𝒇𝒎𝟏 ∧ 𝒇 𝒔 ⇒ 𝝓 𝟐 ∧ 𝒏𝒐𝒕 𝓕 𝒇𝒎𝟏 ∖ 𝓕 𝒇𝒎𝟐
First Feature Model
Constraints to Add
𝒇𝒎 𝒓 = 𝒇𝒎 𝒅 ∪ ( 𝒇 𝒔 ⊗ ( 𝒇𝒎 𝒅 ∩ 𝒇𝒎 𝒔 ))
34. ❺ “Adding constraints” approach
34
• Add a feature for the Standard
• Introduce new constraints
𝝓 𝒓 = 𝝓 𝟏 ∧ 𝒏𝒐𝒕 𝓕 𝒇𝒎𝟐 ∖ 𝓕 𝒇𝒎𝟏 ∧ 𝒇 𝒔 ⇒ 𝝓 𝟐 ∧ 𝒏𝒐𝒕 𝓕 𝒇𝒎𝟏 ∖ 𝓕 𝒇𝒎𝟐
First Feature Model
Constraints to Add
𝒇𝒎 𝒓 = 𝒇𝒎 𝒅 ∪ ( 𝒇 𝒔 ⊗ ( 𝒇𝒎 𝒅 ∩ 𝒇𝒎 𝒔 ))Hierarchy
• The hierarchy is the same
of the first input model
• The operation is
“asymmetric”
Performance
• It does not recalculate the
hierarchy
36. Conclusions
• A new operation: Conditional Intersection
• Different approaches to implement it
• Composing semantic operations
• Semantic based implementations
• Reference-based implementations
• Hybrid implementation
• “Adding constraints” implementation
• “Adding constraints” has some advantages:
• Uses the hierarchy of one of the models (easier to
understand)
• Does not require the recalculation of the feature
model hierarchy
36
Editor's Notes
Hello
My name is Jaime Chavarriaga.
I will present here part of our work implementing automated operations to combine feature models.
In concrete, I will present different alternatives to implement a new operation we named “conditional intersection merge”
There are complex products such as cars, planes and electrical devices that must comply with different standards and regulations around the world.
Consider for example, your own computers.
The plug you use to connect your computer and obtain electricity may be different from one country to the other. It may have a different form, a different voltage, and a different current.
complex products such as the Cars I mentioned before.
On one hand, these products has a lot of features and constraints. Therefore, the models are hard to build.
On the other hand, these products involve multiple domains and interactions among the models, and multiple standards and regulations. The models may be very large and, again, hard to build and review.
In addition, companies manufacturing these products want to reuse these models among multiple product families.
For instance, use the same standard in multiple families of products.
This is not easy either.
There are complex products such as cars, planes and electrical devices that must comply with different standards and regulations around the world.
Consider for example, your own computers.
The plug you use to connect your computer and obtain electricity may be different from one country to the other. It may have a different form, a different voltage, and a different current.
complex products such as the Cars I mentioned before.
On one hand, these products has a lot of features and constraints. Therefore, the models are hard to build.
On the other hand, these products involve multiple domains and interactions among the models, and multiple standards and regulations. The models may be very large and, again, hard to build and review.
In addition, companies manufacturing these products want to reuse these models among multiple product families.
For instance, use the same standard in multiple families of products.
This is not easy either.
There are complex products such as cars, planes and electrical devices that must comply with different standards and regulations around the world.
Consider for example, your own computers.
The plug you use to connect your computer and obtain electricity may be different from one country to the other. It may have a different form, a different voltage, and a different current.
complex products such as the Cars I mentioned before.
On one hand, these products has a lot of features and constraints. Therefore, the models are hard to build.
On the other hand, these products involve multiple domains and interactions among the models, and multiple standards and regulations. The models may be very large and, again, hard to build and review.
In addition, companies manufacturing these products want to reuse these models among multiple product families.
For instance, use the same standard in multiple families of products.
This is not easy either.
You may have seen a transformer.
Although it looks like simple boxes, transformers are complex products designed and manufactured by multiple engineers and experts.
They must take the power from a circuit, change some of their properties and put it on another circuit.
They can be used to put energy on the distribution network or to get that energy and put it in houses or buildings.
Transformers must consider the specifications of the network where they will be installed.
Properties such as the voltage or the current may vary from one network to the other.
You may find multiple public and private distribution networks in any country.
Nowadays, each distribution network defines which standards and regulations the transformers must comply.
In Colombia, public networks usually follows ICONTEC standards.
USA networks follows IEEE and ANSI standards, but each state may have different regulations.
Europe follows IEC and European Union standards.
In addition, private networks may define their own regulations.
As an example, only in Colombia there are many standards that may apply to medium-size transformers.
There are some specifications that apply if you want to install the transformer in the electrical network of Codensa in a city like Bogotá, or in the private network of the petroleum facilities of Ecopetrol across all the country.
The specifications vary.
There are many other standards defined by ICONTEC.
Consider a company like a Siemens that sells transformers in many countries and supporting a large number of standards.
If you create a configuration system for each standard you will end with hundreds of systems
To support selling of Electrical Transformers we are using Feature-based configurations.
That is, we are creating Configuration Systems based on Feature models.
We use Feature Models to represent the configuration options of the transformers and the constraints in the standards.
In addition, we use automated operations to reason on these models.
Transformers must consider the specifications of the network where they will be installed.
Properties such as the voltage or the current may vary from one network to the other.
You may find multiple public and private distribution networks in any country.
Nowadays, each distribution network defines which standards and regulations the transformers must comply.
In Colombia, public networks usually follows ICONTEC standards.
USA networks follows IEEE and ANSI standards, but each state may have different regulations.
Europe follows IEC and European Union standards.
In addition, private networks may define their own regulations.
As an example, only in Colombia there are many standards that may apply to medium-size transformers.
There are some specifications that apply if you want to install the transformer in the electrical network of Codensa in a city like Bogotá, or in the private network of the petroleum facilities of Ecopetrol across all the country.
The specifications vary.
There are many other standards defined by ICONTEC.
Transformers must consider the specifications of the network where they will be installed.
Properties such as the voltage or the current may vary from one network to the other.
You may find multiple public and private distribution networks in any country.
Nowadays, each distribution network defines which standards and regulations the transformers must comply.
In Colombia, public networks usually follows ICONTEC standards.
USA networks follows IEEE and ANSI standards, but each state may have different regulations.
Europe follows IEC and European Union standards.
In addition, private networks may define their own regulations.
As an example, only in Colombia there are many standards that may apply to medium-size transformers.
There are some specifications that apply if you want to install the transformer in the electrical network of Codensa in a city like Bogotá, or in the private network of the petroleum facilities of Ecopetrol across all the country.
The specifications vary.
There are many other standards defined by ICONTEC.
This is an example of an intersection.
We have two feature models: one representing a set of products that a company may produce and another representing an standard. Which features are mandatory which other are prohibited
Note that there are options that can be built but are not part of the standard.
And options in the standard that cannot be built in the factory
The intersection represents the products that can be built that are compliant to the standard.
Here , we have a problem.
The standard becomes mandatory.
In the final model you cannot configure a product that is not compliant to the standard.
Why this is a problem?
This is an example of an intersection.
We have two feature models: one representing a set of products that a company may produce and another representing an standard. Which features are mandatory which other are prohibited
Note that there are options that can be built but are not part of the standard.
And options in the standard that cannot be built in the factory
The intersection represents the products that can be built that are compliant to the standard.
Here , we have a problem.
The standard becomes mandatory.
In the final model you cannot configure a product that is not compliant to the standard.
Why this is a problem?
There are many operations on feature model that allow us to combine and merge feature models.
For instance, Schobbens and Acher have proposed operations for the union and the intersection.
This is an example of an intersection.
We have two feature models: one representing a set of products that a company may produce and another representing an standard. Which features are mandatory which other are prohibited
Note that there are options that can be built but are not part of the standard.
And options in the standard that cannot be built in the factory
The intersection represents the products that can be built that are compliant to the standard.
Here , we have a problem.
The standard becomes mandatory.
In the final model you cannot configure a product that is not compliant to the standard.
Why this is a problem?
To support selling of Electrical Transformers we are using Feature-based configurations.
That is, we are creating Configuration Systems based on Feature models.
We use Feature Models to represent the configuration options of the transformers and the constraints in the standards.
In addition, we use automated operations to reason on these models.
Mathieu Acher defined different approaches to implement operations on feature models.
There are semantic-based approaches, reference-based approaches and some hybrid approaches
We have defined other approaches to implement our operation: