SlideShare a Scribd company logo
1 of 69
Supporting Architectural Variability
in Software Product Lines
Jaime Chavarriaga,
ja.chavarriaga908@uniandes.edu.co
What is the subject of this talk?
Architectural Variability in SPLs
– Software Product Lines
– Architecting a single product and an SPL
– Product Line Architecture
– Implementing Variability in Architecture
• Using tactics and design patterns
• Using tactics and deployment options
2
Software Product Lines:
a short review
e.g. Software Product Lines
MS Office
4
e.g. Software Product Lines
MS Office
5
Feature Models / Configuration
• C1 = { Word, Excel, Powerpoint, OneNote}
• C2 = { Word, Excel, Powerpoint, OneNote , Access}
• C3 = { Word, Excel, Powerpoint, OneNote , Access, Publisher}
• C4 = { Word, Excel, Powerpoint, OneNote, Outlook}
• C5 = { Word, Excel, Powerpoint, OneNote , Access, Outlook}
• C6 = { Word, Excel, Powerpoint, OneNote , Access, Publisher, Outlook}
6
Feature Models / Configuration
• C1 = { Word, Excel, Powerpoint, OneNote}
• C2 = { Word, Excel, Powerpoint, OneNote , Access}
• C3 = { Word, Excel, Powerpoint, OneNote , Access, Publisher}
• C4 = { Word, Excel, Powerpoint, OneNote, Outlook}
• C5 = { Word, Excel, Powerpoint, OneNote , Access, Outlook}
• C6 = { Word, Excel, Powerpoint, OneNote , Access, Publisher, Outlook}
7
Commonalities Variabilities
e.g. Software Product Lines
Song Stores
8
e.g. Software Product Lines
Song Stores
9
Search
Functionality
e.g. Software Product Lines
Song Stores
10
Catalog
e.g. Software Product Lines
Song Stores
11
Social
Networks
e.g. Software Product Lines
Song Stores
12
Shopping Cart
e.g. Software Product Lines
Song Stores
13
Videos and
News
Software Product Lines
Song Stores
14
SPL Engineering:
a short review
Problem Statement
• How to build all the products in the product
line in a cost-effective way ?
– Reducing development effort / Reusing assets
– Reducing the cost of creating a new product
16
Each product is derived based on a
configuration of features
Software Product Lines
17
Each product is derived based on a
configuration of features
Software Product Lines
18
Each product is derived based on a
configuration of features
Software Product Lines
19
Product
Derivation
Process
Software Product Lines
Each product is derived using shared assets
Assets
Product
Derivation
Process
Product Derivation
21
Product Derivation
22
Product Derivation
23
Product Line Architecture
Product Line Architecture (PLA)
• A shared PLA for all the products
– PLA = architectural design for all the products
+ orthogonal variability
25
Product Line Architecture
26
Social
Network
Twitter
V
Facebook
V
[0..2]
VP
Shopping
Cart
Shopping Cart
V
VP
Product Line Architecture
27
Shopping
Cart
Public Cart
V
For
Members
V
VP
Quality Attributes
and Architectural Tactics
Architectural Tactics
• e.g. For Performance (Bass et al.)
Architectural Tactics
How to achieve a quality attribute ?
30
Architectural Tactics
there is a theory for each quality attribute
Bass et al.
Software Architecture in Practice
Addison-Wesley
2014
31
Architectural Tactics
there is a theory for each quality attribute
Bass et al.
Software Architecture in Practice
Addison-Wesley
2014
32
Architectural Tactics
there is a theory for each quality attribute
Bass et al.
Software Architecture in Practice
Addison-Wesley
2014
33
Architectural Tactics
there are concerns for each quality attribute
Bass et al.
Software Architecture in Practice
Addison-Wesley
2014
34
To Increase the
number or capacity of
nodes
To Control the arrival
rate of events or the
queue
Architectural Tactics
there are tactics for each concern
Bass et al.
Software Architecture in Practice
Addison-Wesley
2014
35
Architectural Tactics
there are designs to implement these tactics
Bass et al.
Software Architecture in Practice
Addison-Wesley
2014
36
Architectural Tactics
… using code or deployment options.
Bass et al.
Software Architecture in Practice
Addison-Wesley
2014
37
Implementing Architectural Tactics
using Design Patterns
Variants of Architectural Design
39
As a foundation,
we can use Three layers:
Presentation, Domain
Logic and Presentation
Variants of Architectural Design
40
For Performance,
caching elements to
maintain copies of data
Variants of Architectural Design
41
As a foundation,
we can use Three tiers:
Client, Web and
Database Tier
Variants of Architectural Design
42
For Performance,
application servers allow us to
introduce concurrency
Variants of Architectural Design
43
For Performance,
load balanced servers to maintain
copies of computation
A Feature Model
for Design Alternatives
45
Our Idea
A Configuration of Tactics can be used to derive
the Architectural Design of a product
46
Feature Solution Graph (FS-Graphs)
forces
prohibits
suggests
47
Feature Solution Graph (FS-Graphs)
forces
prohibits
suggests
48
Feature Solution Graph (FS-Graphs)
forces
prohibits
suggests
49
Our FS-Graphs
forces
prohibits
suggests
Architectural
Tactics
Design
Alternatives
FM for Architectural Tactics
6 Quality Attributes
79 Architectural Tactics
Bass et al.
Software Architecture in Practice
Addison-Wesley
2013
50
FM for Architectural Tactics
Bass et al.
Software Architecture in Practice
Addison-Wesley
2013
51
(again) A Feature Model
for Design Alternatives
Configure architecture
based on QA-Tactics
• Suggests relationships
53
suggests
forces
Configure architecture
based on QA-Tactics
• Forces relationships
54
suggests
forces
Configure architecture
based on QA-Tactics
• Forces relationships
55
forces
Configure architecture
based on QA-Tactics
• Forces relationships
56
forces
Configure architecture
based on QA-Tactics
• Prohibits relationships
57
Prohibits
Configure architecture
based on QA-Tactics
• Prohibits relationships
58
Prohibits
Implementing Architectural Tactics
using Configuration options
e.g. Cloud Platform
60
e.g. Cloud Platform
61
some Tactics in Cloud Computing
62
some Tactics in Cloud Computing
63
FM for Jelastic Cloud Computing
Quinton et al.
Handling Constraints in Cardinality-Based
Feature Models
INRIA, RR # 8478, 2014
64
FM for Jelastic Cloud Computing
Quinton et al.
Handling Constraints in Cardinality-Based
Feature Models
INRIA, RR # 8478, 2014
65
Jelastic
…Session
Server
App Server
Tomcat Glassfish Jetty
HA
requires
Tactics
Performance Availability…
forces
TPC LB
forces
prohibits
Passive
Redundancy
Active
Redundancy
Reduce
Overhead
HTTP LB
Load
Balancer
Relating architectural tactics
to configuration options
66
Jelastic
…Session
Server
App Server
Tomcat Glassfish Jetty
HA
requires
Tactics
Performance Availability…
forces
TPC LB
forces
prohibits
Passive
Redundancy
Active
Redundancy
Reduce
Overhead
HTTP LB
Load
Balancer
Relating architectural tactics
to configuration options
67
Jelastic
…Session
Server
App Server
Tomcat Glassfish Jetty
HA
requires
Tactics
Performance Availability…
forces
TPC LB
forces
prohibits
Passive
Redundancy
Active
Redundancy
Reduce
Overhead
HTTP LB
Load
Balancer
Relating architectural tactics
to configuration options
68
Questions ?
Jaime Chavarriaga, jchavarr@vub.ac.be
Rubby Casallas, rcasalla@uniandes.edu.co

More Related Content

What's hot

TOGAF Classroom Series - M3 intro-adm
TOGAF Classroom Series - M3 intro-admTOGAF Classroom Series - M3 intro-adm
TOGAF Classroom Series - M3 intro-admCuneyt Kaya
 
Requirements wiederverwenden am Beispiel Jama
Requirements wiederverwenden am Beispiel JamaRequirements wiederverwenden am Beispiel Jama
Requirements wiederverwenden am Beispiel Jamapd7.group
 
Requirements strukturieren und nutzen — Requirements-Praktiken am Beispiel Co...
Requirements strukturieren und nutzen — Requirements-Praktiken am Beispiel Co...Requirements strukturieren und nutzen — Requirements-Praktiken am Beispiel Co...
Requirements strukturieren und nutzen — Requirements-Praktiken am Beispiel Co...pd7.group
 
Requirements endlich 'richtig': Moderne Requirements-Tools erfolgreich einfüh...
Requirements endlich 'richtig': Moderne Requirements-Tools erfolgreich einfüh...Requirements endlich 'richtig': Moderne Requirements-Tools erfolgreich einfüh...
Requirements endlich 'richtig': Moderne Requirements-Tools erfolgreich einfüh...pd7.group
 
Architecture support for component
Architecture support for component Architecture support for component
Architecture support for component Saransh Garg
 
Unified Process
Unified ProcessUnified Process
Unified Processguy_davis
 
Requirements flexibel und agil managen am Beispiel Jama Contour
Requirements flexibel und agil managen am Beispiel Jama ContourRequirements flexibel und agil managen am Beispiel Jama Contour
Requirements flexibel und agil managen am Beispiel Jama Contourpd7.group
 
What is rad model
What is rad modelWhat is rad model
What is rad modelrjasad
 
IBM Rational Developer for System z Quick Start Sales Presentation
IBM Rational Developer for System z Quick Start Sales PresentationIBM Rational Developer for System z Quick Start Sales Presentation
IBM Rational Developer for System z Quick Start Sales PresentationIBM Rational software
 
Defining and Aligning Requirements using System Architect and DOORS
Defining and Aligning Requirements using System Architect and DOORSDefining and Aligning Requirements using System Architect and DOORS
Defining and Aligning Requirements using System Architect and DOORSPaul W. Johnson
 
Modern Requirements Tools: Advantages & Applications
Modern Requirements Tools: Advantages & ApplicationsModern Requirements Tools: Advantages & Applications
Modern Requirements Tools: Advantages & Applicationspd7.group
 
Posh Consulting Inc. Overview
Posh Consulting Inc. OverviewPosh Consulting Inc. Overview
Posh Consulting Inc. Overviewash321ash
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified ProcessOmkar Dash
 

What's hot (20)

TOGAF Classroom Series - M3 intro-adm
TOGAF Classroom Series - M3 intro-admTOGAF Classroom Series - M3 intro-adm
TOGAF Classroom Series - M3 intro-adm
 
Requirements wiederverwenden am Beispiel Jama
Requirements wiederverwenden am Beispiel JamaRequirements wiederverwenden am Beispiel Jama
Requirements wiederverwenden am Beispiel Jama
 
Sda 6
Sda   6Sda   6
Sda 6
 
Requirements strukturieren und nutzen — Requirements-Praktiken am Beispiel Co...
Requirements strukturieren und nutzen — Requirements-Praktiken am Beispiel Co...Requirements strukturieren und nutzen — Requirements-Praktiken am Beispiel Co...
Requirements strukturieren und nutzen — Requirements-Praktiken am Beispiel Co...
 
Lecture 4
Lecture 4Lecture 4
Lecture 4
 
Requirements endlich 'richtig': Moderne Requirements-Tools erfolgreich einfüh...
Requirements endlich 'richtig': Moderne Requirements-Tools erfolgreich einfüh...Requirements endlich 'richtig': Moderne Requirements-Tools erfolgreich einfüh...
Requirements endlich 'richtig': Moderne Requirements-Tools erfolgreich einfüh...
 
Software models
Software modelsSoftware models
Software models
 
Architecture support for component
Architecture support for component Architecture support for component
Architecture support for component
 
Unified Process
Unified ProcessUnified Process
Unified Process
 
Requirements flexibel und agil managen am Beispiel Jama Contour
Requirements flexibel und agil managen am Beispiel Jama ContourRequirements flexibel und agil managen am Beispiel Jama Contour
Requirements flexibel und agil managen am Beispiel Jama Contour
 
What is rad model
What is rad modelWhat is rad model
What is rad model
 
RAD Model
RAD ModelRAD Model
RAD Model
 
IBM Rational Developer for System z Quick Start Sales Presentation
IBM Rational Developer for System z Quick Start Sales PresentationIBM Rational Developer for System z Quick Start Sales Presentation
IBM Rational Developer for System z Quick Start Sales Presentation
 
Rup
Rup Rup
Rup
 
Defining and Aligning Requirements using System Architect and DOORS
Defining and Aligning Requirements using System Architect and DOORSDefining and Aligning Requirements using System Architect and DOORS
Defining and Aligning Requirements using System Architect and DOORS
 
SSE Practices Overview
SSE Practices OverviewSSE Practices Overview
SSE Practices Overview
 
E3 chap-06
E3 chap-06E3 chap-06
E3 chap-06
 
Modern Requirements Tools: Advantages & Applications
Modern Requirements Tools: Advantages & ApplicationsModern Requirements Tools: Advantages & Applications
Modern Requirements Tools: Advantages & Applications
 
Posh Consulting Inc. Overview
Posh Consulting Inc. OverviewPosh Consulting Inc. Overview
Posh Consulting Inc. Overview
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 

Similar to Supporting Architectural Variabiality in Software Product Lines

Configuring in the Browser, Really!
Configuring in the Browser, Really!Configuring in the Browser, Really!
Configuring in the Browser, Really!Tim Geisler
 
[2016/2017] Modern development paradigms
[2016/2017] Modern development paradigms [2016/2017] Modern development paradigms
[2016/2017] Modern development paradigms Ivano Malavolta
 
Ptc creo aax sales positioning
Ptc creo aax sales positioningPtc creo aax sales positioning
Ptc creo aax sales positioningVictor Mitov
 
Building Sustainable Design Systems
Building Sustainable Design SystemsBuilding Sustainable Design Systems
Building Sustainable Design SystemsUXDXConf
 
System Architect and Rhapsody
System Architect and RhapsodySystem Architect and Rhapsody
System Architect and RhapsodyMartin Owen
 
Systems Engineering training brochure
Systems Engineering training brochureSystems Engineering training brochure
Systems Engineering training brochureShaun West
 
Software Product Engineering Services | Digital Transformation
Software Product Engineering  Services | Digital TransformationSoftware Product Engineering  Services | Digital Transformation
Software Product Engineering Services | Digital TransformationSkizzle Technolabs
 
Paving the path towards platform engineering using a comprehensive reference...
Paving the path towards platform engineering  using a comprehensive reference...Paving the path towards platform engineering  using a comprehensive reference...
Paving the path towards platform engineering using a comprehensive reference...Kees C. Bakker
 
Machine Learning Models in Production
Machine Learning Models in ProductionMachine Learning Models in Production
Machine Learning Models in ProductionDataWorks Summit
 
Cloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool IntegrationCloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool IntegrationIstvan Rath
 
Innovate 2013 Design on a Diet - session 2131
Innovate 2013 Design on a Diet - session 2131Innovate 2013 Design on a Diet - session 2131
Innovate 2013 Design on a Diet - session 2131Daniel Leroux
 
Solution Architecture Framework
Solution Architecture FrameworkSolution Architecture Framework
Solution Architecture FrameworkFirmansyahIrma1
 
Modern development paradigms
Modern development paradigmsModern development paradigms
Modern development paradigmsIvano Malavolta
 
Importance of Software architecture
Importance of Software architectureImportance of Software architecture
Importance of Software architectureSteve Essich
 
Automotive engineering design - Model Based Design
Automotive engineering design - Model Based DesignAutomotive engineering design - Model Based Design
Automotive engineering design - Model Based DesignVinayagam Mariappan
 
Additive Manufacturing Series: Design Optimization
Additive Manufacturing Series: Design OptimizationAdditive Manufacturing Series: Design Optimization
Additive Manufacturing Series: Design OptimizationAdaptive Corporation
 
ERP solution architect role, part I
ERP solution architect role, part IERP solution architect role, part I
ERP solution architect role, part IViacheslav Nefedov
 
Data Modeling Comparison: Tableau, Cognos and Power BI
Data Modeling Comparison: Tableau, Cognos and Power BIData Modeling Comparison: Tableau, Cognos and Power BI
Data Modeling Comparison: Tableau, Cognos and Power BISenturus
 
IncQuery Group's presentation for the INCOSE Polish Chapter 20220310
IncQuery Group's presentation for the INCOSE Polish Chapter 20220310IncQuery Group's presentation for the INCOSE Polish Chapter 20220310
IncQuery Group's presentation for the INCOSE Polish Chapter 20220310IncQuery Labs
 

Similar to Supporting Architectural Variabiality in Software Product Lines (20)

Configuring in the Browser, Really!
Configuring in the Browser, Really!Configuring in the Browser, Really!
Configuring in the Browser, Really!
 
[2016/2017] Modern development paradigms
[2016/2017] Modern development paradigms [2016/2017] Modern development paradigms
[2016/2017] Modern development paradigms
 
Ptc creo aax sales positioning
Ptc creo aax sales positioningPtc creo aax sales positioning
Ptc creo aax sales positioning
 
Building Sustainable Design Systems
Building Sustainable Design SystemsBuilding Sustainable Design Systems
Building Sustainable Design Systems
 
System Architect and Rhapsody
System Architect and RhapsodySystem Architect and Rhapsody
System Architect and Rhapsody
 
Systems Engineering training brochure
Systems Engineering training brochureSystems Engineering training brochure
Systems Engineering training brochure
 
Software Product Engineering Services | Digital Transformation
Software Product Engineering  Services | Digital TransformationSoftware Product Engineering  Services | Digital Transformation
Software Product Engineering Services | Digital Transformation
 
Paving the path towards platform engineering using a comprehensive reference...
Paving the path towards platform engineering  using a comprehensive reference...Paving the path towards platform engineering  using a comprehensive reference...
Paving the path towards platform engineering using a comprehensive reference...
 
Machine Learning Models in Production
Machine Learning Models in ProductionMachine Learning Models in Production
Machine Learning Models in Production
 
Cloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool IntegrationCloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool Integration
 
Innovate 2013 Design on a Diet - session 2131
Innovate 2013 Design on a Diet - session 2131Innovate 2013 Design on a Diet - session 2131
Innovate 2013 Design on a Diet - session 2131
 
Solution Architecture Framework
Solution Architecture FrameworkSolution Architecture Framework
Solution Architecture Framework
 
Solution Architecture Framework
Solution Architecture FrameworkSolution Architecture Framework
Solution Architecture Framework
 
Modern development paradigms
Modern development paradigmsModern development paradigms
Modern development paradigms
 
Importance of Software architecture
Importance of Software architectureImportance of Software architecture
Importance of Software architecture
 
Automotive engineering design - Model Based Design
Automotive engineering design - Model Based DesignAutomotive engineering design - Model Based Design
Automotive engineering design - Model Based Design
 
Additive Manufacturing Series: Design Optimization
Additive Manufacturing Series: Design OptimizationAdditive Manufacturing Series: Design Optimization
Additive Manufacturing Series: Design Optimization
 
ERP solution architect role, part I
ERP solution architect role, part IERP solution architect role, part I
ERP solution architect role, part I
 
Data Modeling Comparison: Tableau, Cognos and Power BI
Data Modeling Comparison: Tableau, Cognos and Power BIData Modeling Comparison: Tableau, Cognos and Power BI
Data Modeling Comparison: Tableau, Cognos and Power BI
 
IncQuery Group's presentation for the INCOSE Polish Chapter 20220310
IncQuery Group's presentation for the INCOSE Polish Chapter 20220310IncQuery Group's presentation for the INCOSE Polish Chapter 20220310
IncQuery Group's presentation for the INCOSE Polish Chapter 20220310
 

Recently uploaded

[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdfSteve Caron
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
Advantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxAdvantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxRTS corp
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Mastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxMastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxAS Design & AST.
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 

Recently uploaded (20)

[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
Advantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxAdvantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptx
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Mastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxMastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptx
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 

Supporting Architectural Variabiality in Software Product Lines

Editor's Notes

  1. A Software product Line (or a Software product family) represents a set of software products that are made from the same assets, e.g. the same components or the same classes. An example is Microsoft Office.
  2. A Software product Line (or a Software product family) represents a set of software products that are made from the same assets, e.g. the same components or the same classes. An example is Microsoft Office.
  3. In an SPL, each product is defined by a configuration. That is that each product is defined by a subset of the features in a feature model. Each configuration must be consistent with the constraints and rules defined in the feature model. In turn, each feature model represents a set of products, i.e. a set of configurations. Each
  4. In an SPL, each product is defined by a configuration. That is that each product is defined by a subset of the features in a feature model. Each configuration must be consistent with the constraints and rules defined in the feature model. In turn, each feature model represents a set of products, i.e. a set of configurations. Each
  5. Feature Oriented Programming Component-based SPLs Model-driven SPLs …
  6. (Options to deploy in cloud computing) For instance, a Java application may be deployed in a Cloud platform such as Jelastic using multiple options. An application can be installed using a single tomcat application server, multiple application servers using an sticky session load balancer or an application server cluster with a non-sticky session load balancer
  7. Numero de opciones Note they are features…
  8. Numero de opciones Note they are features…