Modelling and Optimization of Quality Attributes in Software Variability

 
Modelling and Multi-Objective
Optimization of Quality Attributes in
Variability-Rich Software
 
Rafael Olaechea, Steven Stewart,
Kryzstof Czarnecki, Derek Rayside
University of Waterloo
 
1
 
Customizing Variability-Rich Software
 
Stakeholders need to
customize software
functionality to their specific
needs
Conflicting Quality
Requirements:
Cost
Reliability
Performance
Binary footprint
 
2
MobilePhon
e
Connectivity
PasswordProtection
Bluetooth
cost = 35
perform= 500
cost = 50
perform = 300
cost = 10
perform = 20
Security = 1
USB
Wifi
cost = 85
perform =  725
 
Mobile Phone Product Line
 
Variability is modeled  explicitly using feature models.
Quality Attributes can be considered using attributed feature models.
 
3
Variability
Modelling
Measurement
Product
Derivation
 
Domain
Analysis
 
4
 
Software Product Derivation Process
Variability
Modelling
Measurement
Product
Derivation
 
Domain
Analysis
 
Feature Model
 
5
 
Software Product Derivation Process
Variability
Modelling
Measurement
Product
Derivation
 
Domain
Analysis
 
Feature Model
 
Attributed Feature Models
with Quality Attributes
 
6
 
Software Product Derivation Process
Variability
Modelling
Measurement
Product
Derivation
 
Domain
Analysis
 
Feature Model
 
Attributed Feature Models
with Quality Attributes
 
Configured Product
 
7
 
Software Product Derivation Process
 
Software Product Derivation Process
Variability
Modelling
Measurement
Product
Derivation
 
Domain
Analysis
 
Feature Model
 
Attributed Feature Models
with Quality Attributes
 
Configured
Product(s)
Add one or more Objectives
 
8
 
Software Product Derivation Process
Variability
Modelling
Measurement
Product
Derivation
 
Domain
Analysis
 
Feature Model
 
Attributed Feature Models
with Quality Attributes
 
Configured
Product(s)
Add one or more Objectives
Multi-objective
Optimization
 
9
 
Software Product Derivation Process
Variability
Modelling
Measurement
Product
Derivation
 
Domain
Analysis
 
Feature Model
 
Attributed Feature Models
with Quality Attributes
 
Configured
Product(s)
Add one or more Objectives
Multi-objective
Optimization
Optimally
 
10
 
Optimally Configured Software Products
 
Pareto-Front of Optimal Products
: A product is Pareto-Optimal if
no other product is better than it in at least one quality attribute
and at least as good as it in all other quality attributes
 
11
 
Clafer Language to Express Attributed
Feature Models
 
Lightweight Textual Modelling Language
Combines feature modelling with:
Types for each feature
Inheritance
Modularizing information about each feature
Aggregation functions to define product-level
quality attributes
Supports top-level goals
 
12
 
Expressing Attributed Feature Models in
ClaferMoo
 
abstract
 Feature
 
performance : integer
 
cost : integer
 
 
13
 
Expressing Attributed Feature Models in
ClaferMoo
 
abstract
 Feature
 
performance : integer
 
cost : integer
abstract
  SecurityFeature : Feature
 
security : 
integer
 
 
14
 
Expressing Attributed Feature Models in
ClaferMoo
 
abstract
 MobilePhone
 
 
15
 
Expressing Attributed Feature Models in
ClaferMoo
 
abstract
 MobilePhone
 
or
 Connectivity
 
 
16
 
Expressing Attributed Feature Models in
ClaferMoo
 
abstract
 MobilePhone
 
or
 Connectivity
  
Bluetooth : Feature
   
[performance = 300
   
 
cost = 50 
]
 
 
17
 
Expressing Attributed Feature Models in
ClaferMoo
 
abstract
 MobilePhone
 
or
 Connectivity
  
Bluetooth : Feature
   
[performance = 300
   
 
cost = 50 
]
  
USB : Feature
   
[performance = 500
   
 cost = 35 ]
 
 
18
 
Expressing Attributed Feature Models in
ClaferMoo
 
abstract
 MobilePhone
 
or
 Connectivity
  
Bluetooth : Feature
   
[performance = 300
   
 
cost = 50 
]
  
USB : Feature
   
[performance = 500
   
 cost = 35 ]
 
PasswordProtection : SecurityFeature ?
  
 [ security = 1
  
   performance = 20
  
  cost = 10 ]
 
 
19
 
Expressing Attributed Feature Models in
ClaferMoo
 
abstract
 MobilePhone
 
or
 Connectivity
  
Bluetooth : Feature
   
[performance = 300
   
 
cost = 50 
]
  
USB : Feature
   
[performance = 500
   
 cost = 35 ]
 
PasswordProtection : SecurityFeature ?
  
 [ security = 1
  
   performance = 20
  
  cost = 10 ]
 
total_performance : integer
 
      [total_performance = 
sum
 Feature.performance ]
 
 
 
20
 
Expressing Attributed Feature Models in
ClaferMoo
 
abstract
 MobilePhone
 
or
 Connectivity
  
Bluetooth : Feature
   
[performance = 300
   
 
cost = 50 
]
  
USB : Feature
   
[performance = 500
   
 cost = 35 ]
 
PasswordProtection : SecurityFeature ?
  
 [ security = 1
  
   performance = 20
  
  cost = 10 ]
 
total_performance : integer
 
      [total_performance = 
sum
 Feature.performance ]
 
total_cost : integer
                 [total_cost= 
sum
 Feature.cost ]
 
 
 
21
 
Expressing Attributed Feature Models in
ClaferMoo
 
abstract
 MobilePhone
 
or
 Connectivity
  
Bluetooth : Feature
   
[performance = 300
   
 
cost = 50 
]
  
USB : Feature
   
[performance = 500
   
 cost = 35 ]
 
PasswordProtection : SecurityFeature ?
  
 [ security = 1
  
   performance = 20
  
  cost = 10 ]
 
total_performance : integer
 
      [total_performance = 
sum
 Feature.performance ]
 
total_cost : integer
                 [total_cost= 
sum
 Feature.cost ]
 
total_security : integer
 
      [ total_security = 
sum
 SecurityFeature .security]
 
 
 
22
 
Expressing Attributed Feature Models in
ClaferMoo
 
abstract
 MobilePhone
 
or
 Connectivity
  
Bluetooth : Feature
   
[performance = 300
   
 
cost = 50 
]
  
USB : Feature
   
[performance = 500
   
 cost = 35 ]
 
PasswordProtection : SecurityFeature ?
  
 [ security = 1
  
   performance = 20
  
  cost = 10 ]
 
total_performance : integer
  
[total_performance = 
sum
 Feature.performance ]
 
..
 
total_security : integer
  
[ total_security = sum SecurityFeature .security]
 
MyPhone : MobilePhone
 
 
 
 
23
 
Expressing Attributed Feature Models in
ClaferMoo
 
abstract
 MobilePhone
 
or
 Connectivity
  
Bluetooth : Feature
   
[performance = 300
   
 
cost = 50 
]
  
USB : Feature
   
[performance = 500
   
 cost = 35 ]
 
PasswordProtection : SecurityFeature ?
  
 [ security = 1
  
   performance = 20
  
  cost = 10 ]
 
total_performance : integer
  
[total_performance = 
sum
 Feature.performance ]
 
..
 
total_security : integer
  
[ total_security = sum SecurityFeature .security]
 
MyPhone : MobilePhone
 
[ PasswordProtection ]
 
 
 
 
 
24
 
Expressing Attributed Feature Models in
ClaferMoo
 
abstract
 MobilePhone
 
or
 Connectivity
  
Bluetooth : Feature
   
[performance = 300
   
 
cost = 50 
]
  
USB : Feature
   
[performance = 500
   
 cost = 35 ]
 
PasswordProtection : SecurityFeature ?
  
 [ security = 1
  
   performance = 20
  
  cost = 10 ]
 
total_performance : integer
  
[total_performance = 
sum
 Feature.performance ]
 
..
 
total_security : integer
  
[ total_security = sum SecurityFeature .security]
 
MyPhone : MobilePhone
 
[ PasswordProtection ]
 
<< max MyPhone.total_performance >>
<< min MyPhone.total_cost >>
 
 
 
 
25
 
Expressing Attributed Feature Models in
ClaferMoo
 
abstract
 MobilePhone
 
or
 Connectivity
  
Bluetooth : Feature
   
[performance = 300
   
 
cost = 50 
]
  
USB : Feature
   
[performance = 500
   
 cost = 35 ]
 
PasswordProtection : SecurityFeature ?
  
 [ security = 1
  
   performance = 20
  
  cost = 10 ]
 
total_performance : integer
  
[total_performance = 
sum
 Feature.performance ]
 
..
 
total_security : integer
  
[ total_security = sum SecurityFeature .security]
 
MyPhone : MobilePhone
 
[ PasswordProtection ]
 
<< max MyPhone.total_performance >>
<< min MyPhone.total_cost >>
 
 
 
 
MyPhone : MobilePhone
 
Connectivity
  
USB
 
PasswordProtection
 
total_cost = 45
 
total_performance = 525
 
total_security = 1
 
26
 
ClaferMoo Implementation
Architecture
 
Conjunctive
Normal Form
+ 
Objectives
Clafer
Translator
Alloy +
Moolloy
Extension
Kodkod +
Moolloy
Extension
SAT
 
Clafer Feature Models
+ 
Quality Objectives
 
Alloy
+ Objectives
 
Methodology and Research Questions
 
Can real-world attributed Feature Models be
expressed in ClaferMoo?
Mechanical translation of Attributed feature models
into Clafer.
How scalable  is the current implementation of
ClaferMoo ?
Measure time to compute Pareto-Front of optimal
products for partial configurations.
Used dataset from  9 published attributed feature
models by Siegmund, Apel et al
 
28
 
Evaluating Scalability of Implementation
 
For each attributed feature model:
Randomly generate a set of 10
satisfiable partially-configured
products
Feature are either:
 selected
not selected
unconstrained
 
29
 
Evaluating Scalability of Implementation
 
For each attributed feature model:
Randomly generate a set of 10
satisfiable partially-configured
products
Feature are either:
 selected
not selected
unconstrained
Optimize over quality attributes and
measure running times to compute
the Pareto-Front, repeating 20 times
 
30
 
 
MyPhone : MobilePhone
 
[ PasswordProtection
 
   !USB
 
]
 
<< max MyPhone.total_performance >>
<< min MyPhone.total_cost >>
 
Experimental Evaluation on Published
Models
 
31
 
Experimental Evaluation on Published
Models
 
32
 
Limitations and Future Work
 
Limitations
Most models found in published literature were
single-objective
Feature Interactions were not considered in our
experiments
Method scales to small to medium variability models
Future Work
Will test different back-ends for multi-objective
reasoning
Plan on applying to a dataset to be provided by our
industrial partner
 
33
 
Conclusions
 
Multi-objective optimization and explicitly
modelling quality attributes helps
stakeholders see the different alternatives
Language combining inheritance and types
with feature models helps represent quality
attributes and optimize over them
 
34
Slide Note
Embed
Share

Modelling and multi-objective optimization of quality attributes in variability-rich software is crucial for customizing software functionality to meet stakeholders' diverse needs. This involves addressing conflicting quality requirements such as cost, reliability, performance, and binary footprint through explicit modeling of variability using feature and attributed feature models. The process includes domain analysis, variability modeling, measurement, and product derivation to ensure quality attributes are considered effectively in software development.

  • Software Variability
  • Quality Attributes
  • Multi-Objective Optimization
  • Feature Models
  • Stakeholder Needs

Uploaded on Sep 16, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Modelling and Multi-Objective Optimization of Quality Attributes in Variability-Rich Software Rafael Olaechea, Steven Stewart, Kryzstof Czarnecki, Derek Rayside University of Waterloo 1

  2. Customizing Variability-Rich Software Stakeholders need to customize software functionality to their specific needs Conflicting Quality Requirements: Cost Reliability Performance Binary footprint 2

  3. Mobile Phone Product Line MobilePhon e PasswordProtection Connectivity cost = 10 perform = 20 Security = 1 USB Bluetooth Wifi cost = 35 perform= 500 cost = 50 perform = 300 cost = 85 perform = 725 Variability is modeled explicitly using feature models. Quality Attributes can be considered using attributed feature models. 3

  4. Software Product Derivation Process Domain Analysis Variability Modelling Measurement Product Derivation 4

  5. Software Product Derivation Process Domain Analysis Variability Modelling Measurement Mobile Phone Password Protection Connectivity USB Bluetooth Wifi Feature Model Product Derivation 5

  6. Software Product Derivation Process Domain Analysis Variability Modelling Measurement Mobile Phone Mobile Phone Password Protection Connectivity Password Protection cost = 10 perform = 20 Security = 1 USB Bluetooth Wifi Connectivi ty Feature Model Bluetoot h cost = 50 perform = 300 USB Wifi cost = 35 perform = 500 cost = 85 perform = 725 Attributed Feature Models with Quality Attributes Product Derivation 6

  7. Software Product Derivation Process Domain Analysis Variability Modelling Measurement Mobile Phone Mobile Phone Password Protection Connectivity Password Protection cost = 10 perform = 20 Security = 1 USB Bluetooth Wifi Connectivi ty Feature Model Bluetoot h cost = 50 perform = 300 USB Wifi cost = 35 perform = 500 cost = 85 perform = 725 Attributed Feature Models with Quality Attributes Configured Product Mobile Phone Password Protection Product Derivation Connectivity USB 7

  8. Software Product Derivation Process Add one or more Objectives Domain Analysis Variability Modelling Measurement Mobile Phone Mobile Phone Password Protection Connectivity Password Protection cost = 10 perform = 20 Security = 1 USB Bluetooth Wifi Connectivi ty Feature Model Bluetoot h cost = 50 perform = 300 USB Wifi cost = 35 perform = 500 cost = 85 perform = 725 Attributed Feature Models with Quality Attributes Configured Product(s) Mobile Phone Password Protection Product Derivation Connectivity USB 8

  9. Software Product Derivation Process Add one or more Objectives Domain Analysis Variability Modelling Measurement Mobile Phone Mobile Phone Password Protection Connectivity Password Protection cost = 10 perform = 20 Security = 1 USB Bluetooth Wifi Connectivi ty Feature Model Bluetoot h cost = 50 perform = 300 USB Wifi cost = 35 perform = 500 cost = 85 perform = 725 Attributed Feature Models with Quality Attributes Configured Product(s) Mobile Phone Password Protection Product Derivation Connectivity Multi-objective Optimization USB 9

  10. Software Product Derivation Process Add one or more Objectives Domain Analysis Variability Modelling Measurement Mobile Phone Mobile Phone Password Protection Connectivity Password Protection cost = 10 perform = 20 Security = 1 USB Bluetooth Wifi Connectivi ty Feature Model Bluetoot h cost = 50 perform = 300 USB Wifi cost = 35 perform = 500 cost = 85 perform = 725 Optimally Attributed Feature Models with Quality Attributes Configured Product(s) Mobile Phone Password Protection Product Derivation Connectivity Multi-objective Optimization USB 10

  11. Optimally Configured Software Products Performance vs. Cost 1650 Mobile Phone 1450 1250 Performance 1050 Password Protection Connectivity 850 650 450 USB Bluetooth Wifi 250 30 80 130 180 230 Cost Pareto-Front of Optimal Products: A product is Pareto-Optimal if no other product is better than it in at least one quality attribute and at least as good as it in all other quality attributes 11

  12. Clafer Language to Express Attributed Feature Models Lightweight Textual Modelling Language Combines feature modelling with: Types for each feature Inheritance Modularizing information about each feature Aggregation functions to define product-level quality attributes Supports top-level goals 12

  13. Expressing Attributed Feature Models in ClaferMoo abstract Feature performance : integer cost : integer Mobile Phone Password Protection Connectivity Bluetooth USB 13

  14. Expressing Attributed Feature Models in ClaferMoo abstract Feature performance : integer cost : integer abstract SecurityFeature : Feature security : integer Mobile Phone Password Protection Connectivity Bluetooth USB 14

  15. Expressing Attributed Feature Models in ClaferMoo abstract MobilePhone Mobile Phone Password Protection Connectivity USB Bluetooth 15

  16. Expressing Attributed Feature Models in ClaferMoo abstract MobilePhone or Connectivity Mobile Phone Password Protection Connectivity USB Bluetooth 16

  17. Expressing Attributed Feature Models in ClaferMoo abstract MobilePhone or Connectivity Mobile Phone Bluetooth : Feature [performance = 300 cost = 50 ] Password Protection Connectivity USB Bluetooth 17

  18. Expressing Attributed Feature Models in ClaferMoo abstract MobilePhone or Connectivity Mobile Phone Bluetooth : Feature [performance = 300 cost = 50 ] USB : Feature [performance = 500 cost = 35 ] Password Protection Connectivity USB Bluetooth 18

  19. Expressing Attributed Feature Models in ClaferMoo abstract MobilePhone or Connectivity PasswordProtection : SecurityFeature ? [ security = 1 performance = 20 cost = 10 ] Mobile Phone Bluetooth : Feature [performance = 300 cost = 50 ] USB : Feature [performance = 500 cost = 35 ] Password Protection Connectivity USB Bluetooth 19

  20. Expressing Attributed Feature Models in ClaferMoo abstract MobilePhone or Connectivity PasswordProtection : SecurityFeature ? [ security = 1 performance = 20 cost = 10 ] total_performance : integer [total_performance = sum Feature.performance ] Mobile Phone Bluetooth : Feature [performance = 300 cost = 50 ] USB : Feature [performance = 500 cost = 35 ] Password Protection Connectivity USB Bluetooth 20

  21. Expressing Attributed Feature Models in ClaferMoo abstract MobilePhone or Connectivity PasswordProtection : SecurityFeature ? [ security = 1 performance = 20 cost = 10 ] total_performance : integer [total_performance = sum Feature.performance ] total_cost : integer [total_cost= sum Feature.cost ] Mobile Phone Bluetooth : Feature [performance = 300 cost = 50 ] USB : Feature [performance = 500 cost = 35 ] Password Protection Connectivity USB Bluetooth 21

  22. Expressing Attributed Feature Models in ClaferMoo abstract MobilePhone or Connectivity PasswordProtection : SecurityFeature ? [ security = 1 performance = 20 cost = 10 ] total_performance : integer [total_performance = sum Feature.performance ] total_cost : integer [total_cost= sum Feature.cost ] total_security : integer [ total_security = sum SecurityFeature .security] Mobile Phone Bluetooth : Feature [performance = 300 cost = 50 ] USB : Feature [performance = 500 cost = 35 ] Password Protection Connectivity USB Bluetooth 22

  23. Expressing Attributed Feature Models in ClaferMoo abstract MobilePhone or Connectivity PasswordProtection : SecurityFeature ? [ security = 1 performance = 20 cost = 10 ] total_performance : integer [total_performance = sum Feature.performance ] .. total_security : integer [ total_security = sum SecurityFeature .security] Mobile Phone Bluetooth : Feature [performance = 300 cost = 50 ] USB : Feature [performance = 500 cost = 35 ] Password Protection Connectivity USB Bluetooth MyPhone : MobilePhone 23

  24. Expressing Attributed Feature Models in ClaferMoo abstract MobilePhone or Connectivity PasswordProtection : SecurityFeature ? [ security = 1 performance = 20 cost = 10 ] total_performance : integer [total_performance = sum Feature.performance ] .. total_security : integer [ total_security = sum SecurityFeature .security] Mobile Phone Bluetooth : Feature [performance = 300 cost = 50 ] USB : Feature [performance = 500 cost = 35 ] Password Protection Connectivity USB Bluetooth MyPhone : MobilePhone [ PasswordProtection ] 24

  25. Expressing Attributed Feature Models in ClaferMoo abstract MobilePhone or Connectivity PasswordProtection : SecurityFeature ? [ security = 1 performance = 20 cost = 10 ] total_performance : integer [total_performance = sum Feature.performance ] .. total_security : integer [ total_security = sum SecurityFeature .security] Mobile Phone Bluetooth : Feature [performance = 300 cost = 50 ] USB : Feature [performance = 500 cost = 35 ] Password Protection Connectivity USB Bluetooth MyPhone : MobilePhone [ PasswordProtection ] << max MyPhone.total_performance >> << min MyPhone.total_cost >> 25

  26. Expressing Attributed Feature Models in ClaferMoo abstract MobilePhone or Connectivity PasswordProtection : SecurityFeature ? [ security = 1 performance = 20 cost = 10 ] total_performance : integer [total_performance = sum Feature.performance ] .. total_security : integer [ total_security = sum SecurityFeature .security] Mobile Phone Bluetooth : Feature [performance = 300 cost = 50 ] USB : Feature [performance = 500 cost = 35 ] Password Protection Connectivity USB Bluetooth MyPhone : MobilePhone Connectivity USB PasswordProtection total_cost = 45 total_performance = 525 total_security = 1 MyPhone : MobilePhone [ PasswordProtection ] << max MyPhone.total_performance >> << min MyPhone.total_cost >> 26

  27. ClaferMoo Implementation Architecture Clafer Feature Models + Quality Objectives Alloy + Moolloy Extension Conjunctive Normal Form + Objectives Kodkod + Moolloy Extension Alloy + Objectives Clafer Translator SAT

  28. Methodology and Research Questions Can real-world attributed Feature Models be expressed in ClaferMoo? Mechanical translation of Attributed feature models into Clafer. How scalable is the current implementation of ClaferMoo ? Measure time to compute Pareto-Front of optimal products for partial configurations. Used dataset from 9 published attributed feature models by Siegmund, Apel et al 28

  29. Evaluating Scalability of Implementation For each attributed feature model: Randomly generate a set of 10 satisfiable partially-configured products Feature are either: selected not selected unconstrained 29

  30. Evaluating Scalability of Implementation For each attributed feature model: Randomly generate a set of 10 satisfiable partially-configured products Feature are either: selected not selected unconstrained Optimize over quality attributes and measure running times to compute the Pareto-Front, repeating 20 times MyPhone : MobilePhone [ PasswordProtection !USB ] << max MyPhone.total_performance >> << min MyPhone.total_cost >> 30

  31. Experimental Evaluation on Published Models Variant-Rich Software Features Quality Attributes Objectives Berkeley DB II 12 Footprint, Price, Reliability Prevayler 5 Footprint ZipMe 8 Footprint Berkeley DB I 9 Footprint Apache 9 Performance PKJab 11 Footprint LinkedList 18 Footprint SQLite 85 Footprint UMLViolet 100 Footprint 31

  32. Experimental Evaluation on Published Models Variant-Rich Software Pareto Front Size Time to compute Pareto- Front Median Pareto Front Size for Partial Configurations Median Time to Compute PF for Partial Configurations Berkeley DB II 6 3.8 min. 2.5 46 s. Prevayler 1 0.1 s. 1 59 ms. ZipMe 2 0.1 s. 1.5 50 ms. Berkeley DB I 1 0.8 s. 1 0.4 s. Apache 2 0.2 s. 1 90 ms. PKJab 2 0.1 s. 1 78 ms. LinkedList 2 4.6 s. 1 0.7 s. SQLite N/A > 11 min N/A > 18 min UMLViolet Timeout N/A N/A N/A 32

  33. Limitations and Future Work Limitations Most models found in published literature were single-objective Feature Interactions were not considered in our experiments Method scales to small to medium variability models Future Work Will test different back-ends for multi-objective reasoning Plan on applying to a dataset to be provided by our industrial partner 33

  34. Conclusions Multi-objective optimization and explicitly modelling quality attributes helps stakeholders see the different alternatives Language combining inheritance and types with feature models helps represent quality attributes and optimize over them 34

Related


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#