Modelling and Optimization of Quality Attributes in Software Variability

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.


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. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

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