SlideShare a Scribd company logo
1 of 36
Implementing Operations
to Combine Feature Models:
the Conditional Intersection case
1
Jaime Chavarriaga, jchavarr@vub.ac.be
Rubby Casallas, rcasalla@uniandes.edu.co
Viviane Jonckers, vejoncke@vub.ac.be
Configuration Systems for
Complex Products
with multiple standards and
regulations
2
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
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
for complex products
such as Electrical Transformers…
5
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.
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?
Using Feature Models to
develop these
configuration systems
8
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
Multiple Feature Models
PL
domains
Standard
X
Standard
Y
products that the company is
interested on / can produce
Standards and regulations that
may apply to these products
Semantics of Feature Models
Each model represents a
set of valid products / valid configurations
=
Operations on Feature Models
PL
domains
Standard
X
=
=

Intersection:
products that comply
with the standard and
the company produce
Intersection Merge
13
Company
Products
Products that
can be installed
in Colombia
XXX Products
that can be installed
in Colombia
Intersection Merge
14
Company
Products
Products that
can be installed
in Colombia
XXX Products
that can be installed
in Colombia and
Argentina
Products that
can be installed
in Argentina
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.
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
Our proposal:
Conditional Intersection
of Feature Models
17
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
𝑆𝑡𝑎𝑛𝑑𝑎𝑟𝑑𝑋 ⇒ (𝑋 ∨ 𝑌)
Conditional Intersection Merge
𝒇𝒎 𝒓 = 𝒇𝒎 𝒅 ∪ ( 𝒇 𝒔 ⊗ ( 𝒇𝒎 𝒅 ∩ 𝒇𝒎 𝒔 ))
19
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
Implementing the
Conditional Intersection
21
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
Related Work:
Implementing Operators
23
Acher et al.
❶ Semantic-based approach
❷ Reference-based approach
❸ Hybrid Approach
Implementing the Conditional
Intersection Merge
❶ Composing Semantic-based operations
❷ Semantic-based approach
❸ Reference-based approach
❹ Hybrid Approach
❺ “Adding constraints” approach
24
❶ Composing Semantic-based
operations
25
𝒇𝒎 𝒓 = 𝒇𝒎 𝒅 ∪ ( 𝒇 𝒔 ⊗ ( 𝒇𝒎 𝒅 ∩ 𝒇𝒎 𝒔 ))
Execute operations
based on the
operation semantics
e.g. FAMILIA
❶ 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
❷ Semantic-based approach
27
𝒇𝒎 𝒓 = 𝒇𝒎 𝒅 ∪ ( 𝒇 𝒔 ⊗ ( 𝒇𝒎 𝒅 ∩ 𝒇𝒎 𝒔 ))
𝝓 𝒓 = 𝝓 𝟏 ∧ 𝒏𝒐𝒕 𝓕 𝒇𝒎𝟐 ∖ 𝓕 𝒇𝒎𝟏 ∧ 𝒇 𝒔 ⇒ 𝝓 𝟐 ∧ 𝒏𝒐𝒕 𝓕 𝒇𝒎𝟏 ∖ 𝓕 𝒇𝒎𝟐
Calculate a CNF formula
for the result
Derive a new
structure based on
the resulting formula
❷ 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
❸ 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
❸ 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
❹ Hybrid Approach
31
Create a reference
Based solution
Slice the model
- Formula calculation
- Structure derivation
❹ 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)
❺ “Adding constraints” approach
33
• Add a feature for the Standard
• Introduce new constraints
𝝓 𝒓 = 𝝓 𝟏 ∧ 𝒏𝒐𝒕 𝓕 𝒇𝒎𝟐 ∖ 𝓕 𝒇𝒎𝟏 ∧ 𝒇 𝒔 ⇒ 𝝓 𝟐 ∧ 𝒏𝒐𝒕 𝓕 𝒇𝒎𝟏 ∖ 𝓕 𝒇𝒎𝟐
First Feature Model
Constraints to Add
𝒇𝒎 𝒓 = 𝒇𝒎 𝒅 ∪ ( 𝒇 𝒔 ⊗ ( 𝒇𝒎 𝒅 ∩ 𝒇𝒎 𝒔 ))
❺ “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
Discussion
Semantics Diagram
Hierarchy
Performance
Composing operations
They are
equivalent
++ -
Semantic based ++ +
Referenced based - +++
Hybrid ++ +
“Adding contraints” +++ ++
35
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

More Related Content

Similar to Implementing Operations to combine Feature Models: The Partial lntersection Case

General Tips for participating Kaggle Competitions
General Tips for participating Kaggle CompetitionsGeneral Tips for participating Kaggle Competitions
General Tips for participating Kaggle CompetitionsMark Peng
 
Software variability management - 2019
Software variability management - 2019Software variability management - 2019
Software variability management - 2019XavierDevroey
 
hint co hint-based configuration of co-simulations
hint co hint-based configuration of co-simulationshint co hint-based configuration of co-simulations
hint co hint-based configuration of co-simulationsmehmor
 
Query processing-and-optimization
Query processing-and-optimizationQuery processing-and-optimization
Query processing-and-optimizationWBUTTUTORIALS
 
Nafems15 systeme
Nafems15 systemeNafems15 systeme
Nafems15 systemeSDTools
 
Predictable reactive state management - ngrx
Predictable reactive state management - ngrxPredictable reactive state management - ngrx
Predictable reactive state management - ngrxIlia Idakiev
 
Augmenting Machine Learning with Databricks Labs AutoML Toolkit
Augmenting Machine Learning with Databricks Labs AutoML ToolkitAugmenting Machine Learning with Databricks Labs AutoML Toolkit
Augmenting Machine Learning with Databricks Labs AutoML ToolkitDatabricks
 
Optimica Compiler Toolkit - Overview
Optimica Compiler Toolkit - OverviewOptimica Compiler Toolkit - Overview
Optimica Compiler Toolkit - OverviewModelon
 
Apache Calcite: One Frontend to Rule Them All
Apache Calcite: One Frontend to Rule Them AllApache Calcite: One Frontend to Rule Them All
Apache Calcite: One Frontend to Rule Them AllMichael Mior
 
Customer choice probabilities
Customer choice probabilitiesCustomer choice probabilities
Customer choice probabilitiesAllan D. Butler
 
Nafems15 Technical meeting on system modeling
Nafems15 Technical meeting on system modelingNafems15 Technical meeting on system modeling
Nafems15 Technical meeting on system modelingSDTools
 
Software Architectures, Week 2 - Decomposition techniques
Software Architectures, Week 2 - Decomposition techniquesSoftware Architectures, Week 2 - Decomposition techniques
Software Architectures, Week 2 - Decomposition techniquesAngelos Kapsimanis
 
IPL: An Integration Property Language for Multi-Model Cyber-Physical Systems
IPL: An Integration Property Language for Multi-Model Cyber-Physical SystemsIPL: An Integration Property Language for Multi-Model Cyber-Physical Systems
IPL: An Integration Property Language for Multi-Model Cyber-Physical SystemsIvan Ruchkin
 
DESIGN PATTERN.pptx
DESIGN PATTERN.pptxDESIGN PATTERN.pptx
DESIGN PATTERN.pptxLECO9
 
DESIGN PATTERN.pptx
DESIGN PATTERN.pptxDESIGN PATTERN.pptx
DESIGN PATTERN.pptxSKUP1
 
Argumentation in Artificial Intelligence: From Theory to Practice (Practice)
Argumentation in Artificial Intelligence: From Theory to Practice (Practice)Argumentation in Artificial Intelligence: From Theory to Practice (Practice)
Argumentation in Artificial Intelligence: From Theory to Practice (Practice)Mauro Vallati
 
The Current State of the Art of Regression Testing
The Current State of the Art of Regression TestingThe Current State of the Art of Regression Testing
The Current State of the Art of Regression TestingJohn Reese
 

Similar to Implementing Operations to combine Feature Models: The Partial lntersection Case (20)

General Tips for participating Kaggle Competitions
General Tips for participating Kaggle CompetitionsGeneral Tips for participating Kaggle Competitions
General Tips for participating Kaggle Competitions
 
STL Algorithms In Action
STL Algorithms In ActionSTL Algorithms In Action
STL Algorithms In Action
 
Software variability management - 2019
Software variability management - 2019Software variability management - 2019
Software variability management - 2019
 
hint co hint-based configuration of co-simulations
hint co hint-based configuration of co-simulationshint co hint-based configuration of co-simulations
hint co hint-based configuration of co-simulations
 
Query processing-and-optimization
Query processing-and-optimizationQuery processing-and-optimization
Query processing-and-optimization
 
Nafems15 systeme
Nafems15 systemeNafems15 systeme
Nafems15 systeme
 
Predictable reactive state management - ngrx
Predictable reactive state management - ngrxPredictable reactive state management - ngrx
Predictable reactive state management - ngrx
 
Design Patterns - GOF
Design Patterns - GOFDesign Patterns - GOF
Design Patterns - GOF
 
Augmenting Machine Learning with Databricks Labs AutoML Toolkit
Augmenting Machine Learning with Databricks Labs AutoML ToolkitAugmenting Machine Learning with Databricks Labs AutoML Toolkit
Augmenting Machine Learning with Databricks Labs AutoML Toolkit
 
Optimica Compiler Toolkit - Overview
Optimica Compiler Toolkit - OverviewOptimica Compiler Toolkit - Overview
Optimica Compiler Toolkit - Overview
 
Design p atterns
Design p atternsDesign p atterns
Design p atterns
 
Apache Calcite: One Frontend to Rule Them All
Apache Calcite: One Frontend to Rule Them AllApache Calcite: One Frontend to Rule Them All
Apache Calcite: One Frontend to Rule Them All
 
Customer choice probabilities
Customer choice probabilitiesCustomer choice probabilities
Customer choice probabilities
 
Nafems15 Technical meeting on system modeling
Nafems15 Technical meeting on system modelingNafems15 Technical meeting on system modeling
Nafems15 Technical meeting on system modeling
 
Software Architectures, Week 2 - Decomposition techniques
Software Architectures, Week 2 - Decomposition techniquesSoftware Architectures, Week 2 - Decomposition techniques
Software Architectures, Week 2 - Decomposition techniques
 
IPL: An Integration Property Language for Multi-Model Cyber-Physical Systems
IPL: An Integration Property Language for Multi-Model Cyber-Physical SystemsIPL: An Integration Property Language for Multi-Model Cyber-Physical Systems
IPL: An Integration Property Language for Multi-Model Cyber-Physical Systems
 
DESIGN PATTERN.pptx
DESIGN PATTERN.pptxDESIGN PATTERN.pptx
DESIGN PATTERN.pptx
 
DESIGN PATTERN.pptx
DESIGN PATTERN.pptxDESIGN PATTERN.pptx
DESIGN PATTERN.pptx
 
Argumentation in Artificial Intelligence: From Theory to Practice (Practice)
Argumentation in Artificial Intelligence: From Theory to Practice (Practice)Argumentation in Artificial Intelligence: From Theory to Practice (Practice)
Argumentation in Artificial Intelligence: From Theory to Practice (Practice)
 
The Current State of the Art of Regression Testing
The Current State of the Art of Regression TestingThe Current State of the Art of Regression Testing
The Current State of the Art of Regression Testing
 

Recently uploaded

What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 

Recently uploaded (20)

What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 

Implementing Operations to combine Feature Models: The Partial lntersection Case

  • 1. Implementing Operations to Combine Feature Models: the Conditional Intersection case 1 Jaime Chavarriaga, jchavarr@vub.ac.be Rubby Casallas, rcasalla@uniandes.edu.co Viviane Jonckers, vejoncke@vub.ac.be
  • 2. Configuration Systems for Complex Products with multiple standards and regulations 2
  • 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
  • 5. for complex products such as Electrical Transformers… 5
  • 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?
  • 8. Using Feature Models to develop these configuration systems 8
  • 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
  • 10. Multiple Feature Models PL domains Standard X Standard Y products that the company is interested on / can produce Standards and regulations that may apply to these products
  • 11. Semantics of Feature Models Each model represents a set of valid products / valid configurations =
  • 12. Operations on Feature Models PL domains Standard X = =  Intersection: products that comply with the standard and the company produce
  • 13. Intersection Merge 13 Company Products Products that can be installed in Colombia XXX Products that can be installed in Colombia
  • 14. Intersection Merge 14 Company Products Products that can be installed in Colombia XXX Products that can be installed in Colombia and Argentina Products that can be installed in Argentina
  • 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 𝑆𝑡𝑎𝑛𝑑𝑎𝑟𝑑𝑋 ⇒ (𝑋 ∨ 𝑌)
  • 19. Conditional Intersection Merge 𝒇𝒎 𝒓 = 𝒇𝒎 𝒅 ∪ ( 𝒇 𝒔 ⊗ ( 𝒇𝒎 𝒅 ∩ 𝒇𝒎 𝒔 )) 19
  • 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
  • 23. Related Work: Implementing Operators 23 Acher et al. ❶ Semantic-based approach ❷ Reference-based approach ❸ Hybrid Approach
  • 24. Implementing the Conditional Intersection Merge ❶ Composing Semantic-based operations ❷ Semantic-based approach ❸ Reference-based approach ❹ Hybrid Approach ❺ “Adding constraints” approach 24
  • 25. ❶ Composing Semantic-based operations 25 𝒇𝒎 𝒓 = 𝒇𝒎 𝒅 ∪ ( 𝒇 𝒔 ⊗ ( 𝒇𝒎 𝒅 ∩ 𝒇𝒎 𝒔 )) Execute operations based on the operation semantics e.g. FAMILIA
  • 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
  • 35. Discussion Semantics Diagram Hierarchy Performance Composing operations They are equivalent ++ - Semantic based ++ + Referenced based - +++ Hybrid ++ + “Adding contraints” +++ ++ 35
  • 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

  1. 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”
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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
  8. 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.
  9. 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.
  10. 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.
  11. 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?
  12. 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?
  13. 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.
  14. 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?
  15. 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.
  16. Mathieu Acher defined different approaches to implement operations on feature models. There are semantic-based approaches, reference-based approaches and some hybrid approaches
  17. We have defined other approaches to implement our operation: