SlideShare a Scribd company logo
1 of 17
Download to read offline
(TOWARDS)

A TAXONOMY OF CONTEXT-AWARE
SOFTWARE VARIABILITY APPROACHES
KIM MENS — UCL / ICTEAM — BELGIUM
WITH: RAFAEL CAPILLA, NICOLÁS CARDOZO & BRUNO DUMAS
LASSY 2016 — WORKSHOP ON LIVE ADAPTATION OF SOFTWARE SYSTEMS
14 MARCH 2016, MÁLAGA, SPAIN — COLOCATED WITH MODULARITY 2016
CONTEXT-ORIENTED
PROGRAMMING
LANGUAGES
TOWARDS LIVE SOFTWARE VARIABILITY
CONTEXT-AWARE
SOFTWARE VARIABILITY
DYNAMIC

SOFTWARE PRODUCT LINES
SOFTWARE FEATURES

AS A SERVICE
SELF-ADAPTIVE

SOFTWARE SYSTEMS
RUNTIME

RECONFIGURATION
FEATURE MODELS
WITH

CONTEXT VARIABILITY
FEATURE-ORIENTED
PROGRAMMING
SOME DEFINITIONS
CONTEXT-AWARENESS
• A software system is context-aware if it can extract, interpret and use
context information and adapt its functionality to the current context of use
• The context of use can be decomposed into three facets:
• the end-users who interact with the system
• the physical environment in which they and the system are working
• the hardware and software computing platform on which the users and
the system carry out their actions
Eli Rohn

Predicting Context Aware Computing Performance.

Ubiquity, p.1-17, Feb. 2003
Gaëlle Calvary, Joëlle Coutaz, et al. 

A Unifying Reference Framework for Multi-Target User Interfaces

Interacting with Computers 15(3), 2003
DEFINITIONS
FEATURES & CONTEXTS
• Context is everything but the explicit input and output to a
system.
• A feature is an end-user-visible characteristic of a system.
Henry Lieberman & Ted Selker

Out of Context: Computer Systems That Adapt To, and Learn From, Context.

IBM Systems Journal, Vol 39, Nos 3&4, p.617-631, 2000
Kyo C. Kang, Sholom G. Cohen, et al.

Feature-Oriented Domain Analysis (FODA) – Feasibility Study

Technical Report CMU/SEI-90-TR-21, 1990
CHARACTERISTICS
CONTEXT-AWARE SYSTEMS
• Software systems featuring run-time context-aware adaptation can activate or
modify features dynamically upon observed context changes
• Their context-awareness varies according to various characteristics
• Adaptation Type
• what types of (dynamic) system adaptation do they require or support?
• Dynamic Variability
• what mechanisms do they use for implementing/achieving dynamic variability?
• Dependencies
• how do they model, represent or manage dependencies between contexts and/
or features modelled, represented and managed?
DIMENSIONS
TOWARDS A TAXONOMY
Different kinds of context-aware software variability approaches
can be classified according to different dimensions :
1. Supported variability mechanisms

according to their binding time
2. Types of features

according to their context-awareness
3. Dependencies

between features and contexts
A PATTERN-BASED FORMAT
TOWARDS A TAXONOMY
• TYPE

a unique descriptive name of the classified approach
• INTENT

goal behind the approach and reason for using it
• SCENARIO

scenario of a problem when this approach can or should be used
• APPLICABILITY

different situations under which this approach is usable
• TRADE OFFS

trade offs of using this approach w.r.t. others in the taxonomy
EXAMPLE OF A PATTERN
TOWARDS A TAXONOMY
• TYPE : Contextual features
• INTENT : features that vary slightly with context-specific data, but these
variations are internalised in the feature
• SCENARIO : a smart home system switching between three different
temperature modes depending on the temperature in the home
• APPLICABILITY : systems that need to react to or change some basic
behaviour according to data sensed from the environment, using a set of
pre-defined options
• TRADE OFFS : contextual features are not difficult to implement (e.g., as
if-statements inside the feature), but they rely on a connection to a
specific context using contextual data
SUPPORTED VARIABILITY MECHANISMS
TOWARDS A TAXONOMY
• Software variability approaches can vary from very static to very
dynamic, for example:
• Traditional static variability approaches
• Closed dynamic variability approaches where all features and their
contextual variations are predefined up front. (Closed to new
variants; does not support unforeseen contexts or features.)
• Open dynamic variability approaches where features can be
added, removed or modified dynamically. (Even features that
were not originally foreseen.)
TYPES OF FEATURES
TOWARDS A TAXONOMY
• Software variability approaches can vary by the kind of features
they support, from non-contextual features to context-aware:
• Non-contextual features: features are chosen based on a static
selection or configuration of features (e.g., chosen language is
preselected by a user)
• Contextual features: features can vary slightly with context-specific
data, but these variations are internalised in the feature (e.g., a
smart home with three predefined temperature modes)
• Context features: different contextual variants of a feature,
relevant to particular contexts only, have an explicit representation
DEPENDENCIES
TOWARDS A TAXONOMY
Variability approaches can vary by how they model and represent dependencies
between features and contexts.
• Traditional feature models: allow to model explicit dependencies between features
such as “requires” and “excludes”
• Two-branches context tree: feature-like model for representing both features and
models but in two separate subtrees
• One-branch context tree: contextual and non-contextual features are entangled in a
single feature model
• Implicit dependencies: when run-time dependencies between contexts and features
exist but they haven’t been modelled explicitly
• Explicit programmer-declared dependencies: as supported by some context-
oriented programming languages such as Subjective-C [Gonzalez et al. 2011]
EXAMPLE
model with a graphical representation of the
dependencies between the Context Model and the
Feature Model (for reasons of clarity only a subset of
the dependencies are shown).
Blue-
Tooth
Context
Continent
Type
Car-Brand
Budget Mid High
CarAEurope Asia USA CarB CarC CarD
<<0..n>>
<<0..n>>
<<0..n>>
<<excludes>>
<<requires>>
<<sets cardinality>>
Protocol
Flexray ZigBee
Interface
USBCard-
Slot
Maps
Features
EU USA ….
Connections
….
<<1..n>>
<<0..2>>
<<excludes>>
Blue-
Tooth
Context
Continent
Type
Car-Brand
Budget Mid High
CarAEurope Asia USA CarB CarC CarD
<<0..n>>
<<0..n>>
<<0..n>>
<<excludes>>
<<requires>>
<<sets cardinality>>
Protocol
Flexray ZigBee
Interface
USBCard-
Slot
Maps
Features
EU USA ….
Connections
….
<<1..n>>
<<0..2>>
<<excludes>>
Fig. 4. MPL-Feature Diagram of the
infotainment system
model and the feature model represent the specific
requirement of each classifier. Some examples of
dependencies and their rationales are presented below,
using a textual notation.
European Maps are part of the Navigation system
and in Europe DVDs with region 2 must be supported:
Continent.Europe <<requires>>
European Maps {Rationale: Obvious}
Continent.Europe <<requires>> DVD-
region 2 {Rationale: Standard}
Manufacturer CarA may not support a specific
communication protocol:
Car-Brand.CarA <<excludes>> FlexRay
protocol
The budget (small) configuration can only support a
USB interface or a Card Slot, not both, because the
size of the front panel is too small.
Type.Budget <<sets group cardinality
of >> MP3 interface >> << to>> [0..1]
{Rationale: Technical; Too small size
of front}
Context: The infotainment manufacturer creates
products for different Car manufacturers: CarA, CarB,
CarC and CarD, for different continents: USA, Asia
and Europe, and has three product types: budget, mid-
range, high-end. The budget, with a small feature set,
fits into the space used for ordinary car radios. The
mid-range type contains more features, is larger and
therefore needs more cabin space. The high-end
contains many possible features, is significantly larger
then the mid-range, so needs space in the trunk.
A diagram of the Context Variability model is shown
in figure 3.
Context
Continent
Type
Car-Brand
Budget Mid High-end
CarAEurope ASIA USA CarB CarC CarD
<<0..n>>
<<0..n>>
<<0..n>>
Context
Continent
Type
Car-Brand
Budget Mid High-end
CarAEurope ASIA USA CarB CarC CarD
<<0..n>>
<<0..n>>
<<0..n>>
Fig. 3. Context Variability Diagram of the
infotainment system
The dependencies between the context variability
model and the feature model represent the specific
requirement of each classifier. Some examples of
dependencies and their rationales are presented below,
Dependencies can also relate to different context
classifiers: In the USA, CarA does not sell budget:
Continent.USA AND car type.CarA
<<exclude>> budget {Rationale:
Logistics}
Or become even more complex: In the Asian market,
CarB only sells midrange without Memory-Card slot:
Car Type.CarB AND Continent.Asia AND
Type. Mid-range <<exclude>> Memory-
Card. {Rationale: Commercial}
Figure 4 shows a diagram of the MPL-Feature
model with a graphical representation of the
dependencies between the Context Model and the
Feature Model (for reasons of clarity only a subset of
the dependencies are shown).
Context
Continent
Type
Car-Brand
Budget Mid High
CarAEurope Asia USA CarB CarC CarD
<<0..n>>
<<0..n>>
<<0..n>>
<<excludes>> Maps
Features
Connections
<<excludes>>
Context
Continent
Type
Car-Brand
Budget Mid High
CarAEurope Asia USA CarB CarC CarD
<<0..n>>
<<0..n>>
<<0..n>>
<<excludes>> Maps
Features
Connections
<<excludes>>




Herman Hartmann, Tim Trew

Using Feature diagrams with Context Variability

to model Multiple Product Lines for Software Supply Chains 

Software Product Line (SPLC), 2008
ABOUT THE TAXONOMY
CONCLUSIONS
• ongoing work: taxonomy is not fully mature nor complete
• dimensions and patterns could be improved or added
• could be used to stir and structure discussions

on context-aware software variability approaches
• we are actively seeking input to improve our taxonomy

(or to collaborate on it)
• future work: complete the taxonomy and use it as a vehicle to
compare context-aware software variability approaches
WHAT DO I WANT TO GET OUT OF THIS ?
ABOUT THE WORKSHOP
• Feedback on taxonomy
• taxonomy dimensions + additional patterns
• Collaboration opportunities
• A common case study
• A joint book
• Improved taxonomy
• Feedback on our ongoing work
WHAT DO I WANT TO GET OUT OF THIS ?
ABOUT THE WORKSHOP
• (Feedback on our) ongoing work
• a holistic approach towards context-oriented software adaptation
• reconciling the behavioural, user interfaces and database angle
• a unified context-oriented software architecture
• the link between context-orientation and feature modelling
• how to represent features, contexts and their (intra- and inter-)
dependencies ?
A HOLISTIC APPROACH TOWARDS CONTEXT-ORIENTATION
(ONGOING WORK)
A CONTEXT-ORIENTED SOFTWARE ARCHITECTURE
(ONGOING WORK)
Representation
Handling
Discovery
Context–Feature
Mapping
ReasoningInterpretation
Computing platform
(hardware and software)
Context
Representation
Execution
User
Interaction
ActuatorsOutput Device SensorsInput Device API APIAPI
Context
Activation
Feature Selection
& Composition
Feature Definition
External environment Physical
environment

More Related Content

Similar to Towards a Taxonomy of Context-Aware Software Variabilty Approaches

IntroToMEC.pptx
IntroToMEC.pptxIntroToMEC.pptx
IntroToMEC.pptxAliArsal5
 
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case eProsima
 
The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]Ivano Malavolta
 
Software Architecture Styles
Software Architecture StylesSoftware Architecture Styles
Software Architecture StylesHenry Muccini
 
Requirment anlaysis , application, device, network requirements
Requirment anlaysis , application, device, network requirementsRequirment anlaysis , application, device, network requirements
Requirment anlaysis , application, device, network requirementscsk selva
 
13_3 ROBOT SENSORI INTEGRATION_case study.ppt
13_3 ROBOT SENSORI INTEGRATION_case study.ppt13_3 ROBOT SENSORI INTEGRATION_case study.ppt
13_3 ROBOT SENSORI INTEGRATION_case study.pptDrPArivalaganASSTPRO
 
LFN-Porto-multi-cloud-interaction-model-2022.pptx
LFN-Porto-multi-cloud-interaction-model-2022.pptxLFN-Porto-multi-cloud-interaction-model-2022.pptx
LFN-Porto-multi-cloud-interaction-model-2022.pptxyairmodernlife
 
Odca interop across_clouds_standard units of measurement for iaa_s
Odca interop across_clouds_standard units of measurement for iaa_sOdca interop across_clouds_standard units of measurement for iaa_s
Odca interop across_clouds_standard units of measurement for iaa_sSeanscs
 
Design of accessibility framework for mobile devices.
Design of accessibility framework for mobile devices.Design of accessibility framework for mobile devices.
Design of accessibility framework for mobile devices.AEGIS-ACCESSIBLE Projects
 
SE - Software Requirements
SE - Software RequirementsSE - Software Requirements
SE - Software RequirementsJomel Penalba
 
The Clean Architecture
The Clean ArchitectureThe Clean Architecture
The Clean ArchitectureDmytro Turskyi
 
Variability modeling for customizable saas applications
Variability modeling for customizable saas applicationsVariability modeling for customizable saas applications
Variability modeling for customizable saas applicationsijcsit
 
3rd KuVS meeting
3rd KuVS meeting3rd KuVS meeting
3rd KuVS meetingsteccami
 

Similar to Towards a Taxonomy of Context-Aware Software Variabilty Approaches (20)

IntroToMEC.pptx
IntroToMEC.pptxIntroToMEC.pptx
IntroToMEC.pptx
 
Unit iii for PG PAWSN
Unit iii for PG PAWSNUnit iii for PG PAWSN
Unit iii for PG PAWSN
 
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
 
The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]
 
Software Architecture Styles
Software Architecture StylesSoftware Architecture Styles
Software Architecture Styles
 
Requirment anlaysis , application, device, network requirements
Requirment anlaysis , application, device, network requirementsRequirment anlaysis , application, device, network requirements
Requirment anlaysis , application, device, network requirements
 
Sample slides final project
Sample slides   final projectSample slides   final project
Sample slides final project
 
13_3 ROBOT SENSORI INTEGRATION_case study.ppt
13_3 ROBOT SENSORI INTEGRATION_case study.ppt13_3 ROBOT SENSORI INTEGRATION_case study.ppt
13_3 ROBOT SENSORI INTEGRATION_case study.ppt
 
LFN-Porto-multi-cloud-interaction-model-2022.pptx
LFN-Porto-multi-cloud-interaction-model-2022.pptxLFN-Porto-multi-cloud-interaction-model-2022.pptx
LFN-Porto-multi-cloud-interaction-model-2022.pptx
 
Odca interop across_clouds_standard units of measurement for iaa_s
Odca interop across_clouds_standard units of measurement for iaa_sOdca interop across_clouds_standard units of measurement for iaa_s
Odca interop across_clouds_standard units of measurement for iaa_s
 
Design of accessibility framework for mobile devices.
Design of accessibility framework for mobile devices.Design of accessibility framework for mobile devices.
Design of accessibility framework for mobile devices.
 
SE - Software Requirements
SE - Software RequirementsSE - Software Requirements
SE - Software Requirements
 
The Clean Architecture
The Clean ArchitectureThe Clean Architecture
The Clean Architecture
 
Paper-STS026-v1.5
Paper-STS026-v1.5Paper-STS026-v1.5
Paper-STS026-v1.5
 
AUToSAR introduction
AUToSAR introductionAUToSAR introduction
AUToSAR introduction
 
Variability modeling for customizable saas applications
Variability modeling for customizable saas applicationsVariability modeling for customizable saas applications
Variability modeling for customizable saas applications
 
Supply chain network design
Supply chain network designSupply chain network design
Supply chain network design
 
Supply chain network modelling
Supply chain network modellingSupply chain network modelling
Supply chain network modelling
 
OASIS TOSCA: Cloud Portability and Lifecycle Management
OASIS TOSCA: Cloud Portability and Lifecycle ManagementOASIS TOSCA: Cloud Portability and Lifecycle Management
OASIS TOSCA: Cloud Portability and Lifecycle Management
 
3rd KuVS meeting
3rd KuVS meeting3rd KuVS meeting
3rd KuVS meeting
 

More from kim.mens

Software Maintenance and Evolution
Software Maintenance and EvolutionSoftware Maintenance and Evolution
Software Maintenance and Evolutionkim.mens
 
Object-Oriented Design Heuristics
Object-Oriented Design HeuristicsObject-Oriented Design Heuristics
Object-Oriented Design Heuristicskim.mens
 
Software Patterns
Software PatternsSoftware Patterns
Software Patternskim.mens
 
Code Refactoring
Code RefactoringCode Refactoring
Code Refactoringkim.mens
 
Object-Oriented Application Frameworks
Object-Oriented Application FrameworksObject-Oriented Application Frameworks
Object-Oriented Application Frameworkskim.mens
 
Basics of reflection
Basics of reflectionBasics of reflection
Basics of reflectionkim.mens
 
Advanced Reflection in Java
Advanced Reflection in JavaAdvanced Reflection in Java
Advanced Reflection in Javakim.mens
 
Basics of reflection in java
Basics of reflection in javaBasics of reflection in java
Basics of reflection in javakim.mens
 
Reflection in Ruby
Reflection in RubyReflection in Ruby
Reflection in Rubykim.mens
 
Introduction to Ruby
Introduction to RubyIntroduction to Ruby
Introduction to Rubykim.mens
 
Introduction to Smalltalk
Introduction to SmalltalkIntroduction to Smalltalk
Introduction to Smalltalkkim.mens
 
A gentle introduction to reflection
A gentle introduction to reflectionA gentle introduction to reflection
A gentle introduction to reflectionkim.mens
 
Managing the Evolution of Information Systems with Intensional Views and Rela...
Managing the Evolution of Information Systems with Intensional Views and Rela...Managing the Evolution of Information Systems with Intensional Views and Rela...
Managing the Evolution of Information Systems with Intensional Views and Rela...kim.mens
 
Usage contracts (presented at SATToSE 2014 in L'Aquila, Italy)
Usage contracts (presented at SATToSE 2014 in L'Aquila, Italy)Usage contracts (presented at SATToSE 2014 in L'Aquila, Italy)
Usage contracts (presented at SATToSE 2014 in L'Aquila, Italy)kim.mens
 
Usage contracts in a nutshell
Usage contracts in a nutshellUsage contracts in a nutshell
Usage contracts in a nutshellkim.mens
 
INGI2252 Software Measures & Maintenance
INGI2252 Software Measures & MaintenanceINGI2252 Software Measures & Maintenance
INGI2252 Software Measures & Maintenancekim.mens
 
Building an Eclipse plugin to recommend changes to developers
Building an Eclipse plugin to recommend changes to developersBuilding an Eclipse plugin to recommend changes to developers
Building an Eclipse plugin to recommend changes to developerskim.mens
 
Research @ RELEASeD (presented at SATTOSE2013)
Research @ RELEASeD (presented at SATTOSE2013)Research @ RELEASeD (presented at SATTOSE2013)
Research @ RELEASeD (presented at SATTOSE2013)kim.mens
 
Active Software Documentation using Soul and IntensiVE
Active Software Documentation using Soul and IntensiVEActive Software Documentation using Soul and IntensiVE
Active Software Documentation using Soul and IntensiVEkim.mens
 
Mining source code for structural regularities (SATTOSE2010)
Mining source code for structural regularities (SATTOSE2010)Mining source code for structural regularities (SATTOSE2010)
Mining source code for structural regularities (SATTOSE2010)kim.mens
 

More from kim.mens (20)

Software Maintenance and Evolution
Software Maintenance and EvolutionSoftware Maintenance and Evolution
Software Maintenance and Evolution
 
Object-Oriented Design Heuristics
Object-Oriented Design HeuristicsObject-Oriented Design Heuristics
Object-Oriented Design Heuristics
 
Software Patterns
Software PatternsSoftware Patterns
Software Patterns
 
Code Refactoring
Code RefactoringCode Refactoring
Code Refactoring
 
Object-Oriented Application Frameworks
Object-Oriented Application FrameworksObject-Oriented Application Frameworks
Object-Oriented Application Frameworks
 
Basics of reflection
Basics of reflectionBasics of reflection
Basics of reflection
 
Advanced Reflection in Java
Advanced Reflection in JavaAdvanced Reflection in Java
Advanced Reflection in Java
 
Basics of reflection in java
Basics of reflection in javaBasics of reflection in java
Basics of reflection in java
 
Reflection in Ruby
Reflection in RubyReflection in Ruby
Reflection in Ruby
 
Introduction to Ruby
Introduction to RubyIntroduction to Ruby
Introduction to Ruby
 
Introduction to Smalltalk
Introduction to SmalltalkIntroduction to Smalltalk
Introduction to Smalltalk
 
A gentle introduction to reflection
A gentle introduction to reflectionA gentle introduction to reflection
A gentle introduction to reflection
 
Managing the Evolution of Information Systems with Intensional Views and Rela...
Managing the Evolution of Information Systems with Intensional Views and Rela...Managing the Evolution of Information Systems with Intensional Views and Rela...
Managing the Evolution of Information Systems with Intensional Views and Rela...
 
Usage contracts (presented at SATToSE 2014 in L'Aquila, Italy)
Usage contracts (presented at SATToSE 2014 in L'Aquila, Italy)Usage contracts (presented at SATToSE 2014 in L'Aquila, Italy)
Usage contracts (presented at SATToSE 2014 in L'Aquila, Italy)
 
Usage contracts in a nutshell
Usage contracts in a nutshellUsage contracts in a nutshell
Usage contracts in a nutshell
 
INGI2252 Software Measures & Maintenance
INGI2252 Software Measures & MaintenanceINGI2252 Software Measures & Maintenance
INGI2252 Software Measures & Maintenance
 
Building an Eclipse plugin to recommend changes to developers
Building an Eclipse plugin to recommend changes to developersBuilding an Eclipse plugin to recommend changes to developers
Building an Eclipse plugin to recommend changes to developers
 
Research @ RELEASeD (presented at SATTOSE2013)
Research @ RELEASeD (presented at SATTOSE2013)Research @ RELEASeD (presented at SATTOSE2013)
Research @ RELEASeD (presented at SATTOSE2013)
 
Active Software Documentation using Soul and IntensiVE
Active Software Documentation using Soul and IntensiVEActive Software Documentation using Soul and IntensiVE
Active Software Documentation using Soul and IntensiVE
 
Mining source code for structural regularities (SATTOSE2010)
Mining source code for structural regularities (SATTOSE2010)Mining source code for structural regularities (SATTOSE2010)
Mining source code for structural regularities (SATTOSE2010)
 

Recently uploaded

Orientation, design and principles of polyhouse
Orientation, design and principles of polyhouseOrientation, design and principles of polyhouse
Orientation, design and principles of polyhousejana861314
 
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCESTERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCEPRINCE C P
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...RohitNehra6
 
Boyles law module in the grade 10 science
Boyles law module in the grade 10 scienceBoyles law module in the grade 10 science
Boyles law module in the grade 10 sciencefloriejanemacaya1
 
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...jana861314
 
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Lokesh Kothari
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxAleenaTreesaSaji
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTSérgio Sacani
 
Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real timeSatoshi NAKAHIRA
 
Bentham & Hooker's Classification. along with the merits and demerits of the ...
Bentham & Hooker's Classification. along with the merits and demerits of the ...Bentham & Hooker's Classification. along with the merits and demerits of the ...
Bentham & Hooker's Classification. along with the merits and demerits of the ...Nistarini College, Purulia (W.B) India
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfSELF-EXPLANATORY
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...Sérgio Sacani
 
Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Patrick Diehl
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)PraveenaKalaiselvan1
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...Sérgio Sacani
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )aarthirajkumar25
 
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |aasikanpl
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PPRINCE C P
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptxanandsmhk
 

Recently uploaded (20)

Orientation, design and principles of polyhouse
Orientation, design and principles of polyhouseOrientation, design and principles of polyhouse
Orientation, design and principles of polyhouse
 
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCESTERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
 
Boyles law module in the grade 10 science
Boyles law module in the grade 10 scienceBoyles law module in the grade 10 science
Boyles law module in the grade 10 science
 
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
 
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptx
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOST
 
Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real time
 
Bentham & Hooker's Classification. along with the merits and demerits of the ...
Bentham & Hooker's Classification. along with the merits and demerits of the ...Bentham & Hooker's Classification. along with the merits and demerits of the ...
Bentham & Hooker's Classification. along with the merits and demerits of the ...
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
 
Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )
 
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
 
The Philosophy of Science
The Philosophy of ScienceThe Philosophy of Science
The Philosophy of Science
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C P
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
 

Towards a Taxonomy of Context-Aware Software Variabilty Approaches

  • 1. (TOWARDS)
 A TAXONOMY OF CONTEXT-AWARE SOFTWARE VARIABILITY APPROACHES KIM MENS — UCL / ICTEAM — BELGIUM WITH: RAFAEL CAPILLA, NICOLÁS CARDOZO & BRUNO DUMAS LASSY 2016 — WORKSHOP ON LIVE ADAPTATION OF SOFTWARE SYSTEMS 14 MARCH 2016, MÁLAGA, SPAIN — COLOCATED WITH MODULARITY 2016
  • 2. CONTEXT-ORIENTED PROGRAMMING LANGUAGES TOWARDS LIVE SOFTWARE VARIABILITY CONTEXT-AWARE SOFTWARE VARIABILITY DYNAMIC
 SOFTWARE PRODUCT LINES SOFTWARE FEATURES
 AS A SERVICE SELF-ADAPTIVE
 SOFTWARE SYSTEMS RUNTIME
 RECONFIGURATION FEATURE MODELS WITH
 CONTEXT VARIABILITY FEATURE-ORIENTED PROGRAMMING
  • 3. SOME DEFINITIONS CONTEXT-AWARENESS • A software system is context-aware if it can extract, interpret and use context information and adapt its functionality to the current context of use • The context of use can be decomposed into three facets: • the end-users who interact with the system • the physical environment in which they and the system are working • the hardware and software computing platform on which the users and the system carry out their actions Eli Rohn
 Predicting Context Aware Computing Performance.
 Ubiquity, p.1-17, Feb. 2003 Gaëlle Calvary, Joëlle Coutaz, et al. 
 A Unifying Reference Framework for Multi-Target User Interfaces
 Interacting with Computers 15(3), 2003
  • 4. DEFINITIONS FEATURES & CONTEXTS • Context is everything but the explicit input and output to a system. • A feature is an end-user-visible characteristic of a system. Henry Lieberman & Ted Selker
 Out of Context: Computer Systems That Adapt To, and Learn From, Context.
 IBM Systems Journal, Vol 39, Nos 3&4, p.617-631, 2000 Kyo C. Kang, Sholom G. Cohen, et al.
 Feature-Oriented Domain Analysis (FODA) – Feasibility Study
 Technical Report CMU/SEI-90-TR-21, 1990
  • 5. CHARACTERISTICS CONTEXT-AWARE SYSTEMS • Software systems featuring run-time context-aware adaptation can activate or modify features dynamically upon observed context changes • Their context-awareness varies according to various characteristics • Adaptation Type • what types of (dynamic) system adaptation do they require or support? • Dynamic Variability • what mechanisms do they use for implementing/achieving dynamic variability? • Dependencies • how do they model, represent or manage dependencies between contexts and/ or features modelled, represented and managed?
  • 6. DIMENSIONS TOWARDS A TAXONOMY Different kinds of context-aware software variability approaches can be classified according to different dimensions : 1. Supported variability mechanisms
 according to their binding time 2. Types of features
 according to their context-awareness 3. Dependencies
 between features and contexts
  • 7. A PATTERN-BASED FORMAT TOWARDS A TAXONOMY • TYPE
 a unique descriptive name of the classified approach • INTENT
 goal behind the approach and reason for using it • SCENARIO
 scenario of a problem when this approach can or should be used • APPLICABILITY
 different situations under which this approach is usable • TRADE OFFS
 trade offs of using this approach w.r.t. others in the taxonomy
  • 8. EXAMPLE OF A PATTERN TOWARDS A TAXONOMY • TYPE : Contextual features • INTENT : features that vary slightly with context-specific data, but these variations are internalised in the feature • SCENARIO : a smart home system switching between three different temperature modes depending on the temperature in the home • APPLICABILITY : systems that need to react to or change some basic behaviour according to data sensed from the environment, using a set of pre-defined options • TRADE OFFS : contextual features are not difficult to implement (e.g., as if-statements inside the feature), but they rely on a connection to a specific context using contextual data
  • 9. SUPPORTED VARIABILITY MECHANISMS TOWARDS A TAXONOMY • Software variability approaches can vary from very static to very dynamic, for example: • Traditional static variability approaches • Closed dynamic variability approaches where all features and their contextual variations are predefined up front. (Closed to new variants; does not support unforeseen contexts or features.) • Open dynamic variability approaches where features can be added, removed or modified dynamically. (Even features that were not originally foreseen.)
  • 10. TYPES OF FEATURES TOWARDS A TAXONOMY • Software variability approaches can vary by the kind of features they support, from non-contextual features to context-aware: • Non-contextual features: features are chosen based on a static selection or configuration of features (e.g., chosen language is preselected by a user) • Contextual features: features can vary slightly with context-specific data, but these variations are internalised in the feature (e.g., a smart home with three predefined temperature modes) • Context features: different contextual variants of a feature, relevant to particular contexts only, have an explicit representation
  • 11. DEPENDENCIES TOWARDS A TAXONOMY Variability approaches can vary by how they model and represent dependencies between features and contexts. • Traditional feature models: allow to model explicit dependencies between features such as “requires” and “excludes” • Two-branches context tree: feature-like model for representing both features and models but in two separate subtrees • One-branch context tree: contextual and non-contextual features are entangled in a single feature model • Implicit dependencies: when run-time dependencies between contexts and features exist but they haven’t been modelled explicitly • Explicit programmer-declared dependencies: as supported by some context- oriented programming languages such as Subjective-C [Gonzalez et al. 2011]
  • 12. EXAMPLE model with a graphical representation of the dependencies between the Context Model and the Feature Model (for reasons of clarity only a subset of the dependencies are shown). Blue- Tooth Context Continent Type Car-Brand Budget Mid High CarAEurope Asia USA CarB CarC CarD <<0..n>> <<0..n>> <<0..n>> <<excludes>> <<requires>> <<sets cardinality>> Protocol Flexray ZigBee Interface USBCard- Slot Maps Features EU USA …. Connections …. <<1..n>> <<0..2>> <<excludes>> Blue- Tooth Context Continent Type Car-Brand Budget Mid High CarAEurope Asia USA CarB CarC CarD <<0..n>> <<0..n>> <<0..n>> <<excludes>> <<requires>> <<sets cardinality>> Protocol Flexray ZigBee Interface USBCard- Slot Maps Features EU USA …. Connections …. <<1..n>> <<0..2>> <<excludes>> Fig. 4. MPL-Feature Diagram of the infotainment system model and the feature model represent the specific requirement of each classifier. Some examples of dependencies and their rationales are presented below, using a textual notation. European Maps are part of the Navigation system and in Europe DVDs with region 2 must be supported: Continent.Europe <<requires>> European Maps {Rationale: Obvious} Continent.Europe <<requires>> DVD- region 2 {Rationale: Standard} Manufacturer CarA may not support a specific communication protocol: Car-Brand.CarA <<excludes>> FlexRay protocol The budget (small) configuration can only support a USB interface or a Card Slot, not both, because the size of the front panel is too small. Type.Budget <<sets group cardinality of >> MP3 interface >> << to>> [0..1] {Rationale: Technical; Too small size of front} Context: The infotainment manufacturer creates products for different Car manufacturers: CarA, CarB, CarC and CarD, for different continents: USA, Asia and Europe, and has three product types: budget, mid- range, high-end. The budget, with a small feature set, fits into the space used for ordinary car radios. The mid-range type contains more features, is larger and therefore needs more cabin space. The high-end contains many possible features, is significantly larger then the mid-range, so needs space in the trunk. A diagram of the Context Variability model is shown in figure 3. Context Continent Type Car-Brand Budget Mid High-end CarAEurope ASIA USA CarB CarC CarD <<0..n>> <<0..n>> <<0..n>> Context Continent Type Car-Brand Budget Mid High-end CarAEurope ASIA USA CarB CarC CarD <<0..n>> <<0..n>> <<0..n>> Fig. 3. Context Variability Diagram of the infotainment system The dependencies between the context variability model and the feature model represent the specific requirement of each classifier. Some examples of dependencies and their rationales are presented below, Dependencies can also relate to different context classifiers: In the USA, CarA does not sell budget: Continent.USA AND car type.CarA <<exclude>> budget {Rationale: Logistics} Or become even more complex: In the Asian market, CarB only sells midrange without Memory-Card slot: Car Type.CarB AND Continent.Asia AND Type. Mid-range <<exclude>> Memory- Card. {Rationale: Commercial} Figure 4 shows a diagram of the MPL-Feature model with a graphical representation of the dependencies between the Context Model and the Feature Model (for reasons of clarity only a subset of the dependencies are shown). Context Continent Type Car-Brand Budget Mid High CarAEurope Asia USA CarB CarC CarD <<0..n>> <<0..n>> <<0..n>> <<excludes>> Maps Features Connections <<excludes>> Context Continent Type Car-Brand Budget Mid High CarAEurope Asia USA CarB CarC CarD <<0..n>> <<0..n>> <<0..n>> <<excludes>> Maps Features Connections <<excludes>> 
 
 Herman Hartmann, Tim Trew
 Using Feature diagrams with Context Variability
 to model Multiple Product Lines for Software Supply Chains 
 Software Product Line (SPLC), 2008
  • 13. ABOUT THE TAXONOMY CONCLUSIONS • ongoing work: taxonomy is not fully mature nor complete • dimensions and patterns could be improved or added • could be used to stir and structure discussions
 on context-aware software variability approaches • we are actively seeking input to improve our taxonomy
 (or to collaborate on it) • future work: complete the taxonomy and use it as a vehicle to compare context-aware software variability approaches
  • 14. WHAT DO I WANT TO GET OUT OF THIS ? ABOUT THE WORKSHOP • Feedback on taxonomy • taxonomy dimensions + additional patterns • Collaboration opportunities • A common case study • A joint book • Improved taxonomy • Feedback on our ongoing work
  • 15. WHAT DO I WANT TO GET OUT OF THIS ? ABOUT THE WORKSHOP • (Feedback on our) ongoing work • a holistic approach towards context-oriented software adaptation • reconciling the behavioural, user interfaces and database angle • a unified context-oriented software architecture • the link between context-orientation and feature modelling • how to represent features, contexts and their (intra- and inter-) dependencies ?
  • 16. A HOLISTIC APPROACH TOWARDS CONTEXT-ORIENTATION (ONGOING WORK)
  • 17. A CONTEXT-ORIENTED SOFTWARE ARCHITECTURE (ONGOING WORK) Representation Handling Discovery Context–Feature Mapping ReasoningInterpretation Computing platform (hardware and software) Context Representation Execution User Interaction ActuatorsOutput Device SensorsInput Device API APIAPI Context Activation Feature Selection & Composition Feature Definition External environment Physical environment