skip to main content
10.1145/2892664.2892684acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

A taxonomy of context-aware software variability approaches

Published: 14 March 2016 Publication History

Abstract

Modern software systems demand more and more smart capabilities depending on their context of use, as well as the ability to dynamically adapt these capabilities according to sensed context changes. This requires appropriate techniques for modelling, representing and handling context-aware software variability. While traditional variability modelling approaches like feature orientation and software product lines are evolving to address the increased dynamicity and context specificity required for this new generation of software systems, new paradigms such as context-oriented programming have emerged. Although developed independently, since they address similar issues, many similarities exist between these approaches. The purpose of this paper is to define, categorise and compare key concepts shared by these approaches. Such a taxonomy is a first step towards a better understanding of the differences and similarities between different approaches for managing context-aware software variability, and to achieve a cross-fertilisation between them.

References

[1]
E. Rohn. Predicting context-aware computing performance. Ubiquity, 2003(February):1–17.
[2]
B. Schilit, M. Theimer. Disseminating active map information to mobile robots. IEEE Network, 22-32, 1994.
[3]
A. K. Dey, G. D. Abowd. Towards a better understanding of context and context awareness. Workshop on the What, Who, Where, When and How of Context-Awareness, affiliated with CHI, ACM Press, 2000.
[4]
G. Calvary, J. Coutaz, D. Thevenin, Q. Limbourg, L. Bouillon, J. Vanderdonckt. A unifying reference framework for multi-target user interfaces. Interacting with Computers 15(3), 2003.
[5]
C. Bettini, O. Brdiczkab, K. Henricksenc, J. Indulskad, D. Nicklase, A. Ranganathanf, D. Riboni. A survey of context modelling and reasoning techniques. Pervasive and Mobile Computing 6(2), 161-180, 2010.
[6]
G. M. Kapitsaki, G. N. Prezerakos, N. D. Tselikas, I. S. Venieris. Context-aware service engineering: A survey. Journal of Systems and Software 82(8), 1285-1297, 2009.
[7]
P. Öztürk, A. Aamodt. Towards a model of context for case-based diagnostic problem solving. Proceedings of the interdisciplinary conference on modeling and using context (Context-97), 1997.
[8]
J. De Bruijn. Using ontologies-enabling knowledge sharing and reuse on the semantic web. DERI Technical Report DERI-2003-10-29, Digital Enterprise Research Institute, Ireland, 2003.
[9]
A. Murguzur, R. Capilla, S. Trujillo, Ó. Ortiz, R. E. Lopez-Herrejon. Context variability modeling for runtime configuration of service-based dynamic software product lines. SPLC Workshops, 2-9, 2014.
[10]
B. Desmet, J. Vallejos, P. Costanza, T. D’Hondt. Context-Oriented Domain Analysis. Modeling and Using Context (CONTEXT 2007), LNCS 4635, pp. 178-191, Springer 2007.
[11]
H. Hartmann, T. Trew. Using Feature Diagrams with Context Variability to Model Multiple Product Lines for Software Supply Chains. Software Product Line Conference (SPLC’08), 12-21, IEEE, 2008.
[12]
R. Capilla, O. Ortiz, M. Hinchey. Context Variability for Context-Aware Systems. IEEE Computer 47(2), 85-87, 2014.
[13]
R. Ali, R. Chitchyan, P., Giorgini, P. Context for goal-level product line derivation. In: Proceedings of 3rd Dynamic Software Product Lines (DSPL), Limerick, Ireland, 2009.
[14]
Z. Jaroucheh, X. Liu, S. Smith, Mapping Features to Context Information: Supporting Context Variability for Context-Aware Pervasive Applications. Web Intelligence, 611-614, 2010.
[15]
R. Capilla, M. Hinchey, F.J. D´ıaz, Collaborative Context Features for Critical Systems, 9th International Workshop on Variability Modeling, Hildesheim, Germany, 2015.
[16]
D. Brugali, R. Capilla, M. Hinchey, Dynamic Variability Meets Robotics, IEEE Computer 48(12), 94-97, 2015.
[17]
S. Gonzalez, N. Cardozo, K. Mens, A. Cadiz, J.-C. Libbrecht, J. Goffaux. Subjective-C: Bringing Context to Mobile Platform Programming. Software Language Engineering (SLE), 2010.
[18]
M. Baldauf, S. Dustar, A Survey on Context-aware Systems. Technical University of Vienna, TUV-1841-2004-24, 2004.
[19]
T. Strang, C. Linnhoff-Popien, A Context Modeling Survey. Workshop on Advanced Context Modelling, Reasoning and Management, UbiComp 2004 - The Sixth International Conference on Ubiquitous Computing, Nottingham/England, 2004.
[20]
P. Brézillone, A.J. González (Eds), Context in Computing. A Cross-Disciplinary Approach for Modeling the Real World, Springer 2014.
[21]
N. Gámez, J. Cubo, L. Fuentes, E. Pimentel, Configuring a Contextaware Middleware for Wireless Sensor Networks. Sensors 12, 2012.
[22]
C. Cetina, P. Giner, J. Fons, V. Pelechano, Prototyping Dynamic Software Product Lines to evaluate run-time reconfigurations. Sciece of Compuputer Programming 78(12), 2399-2413, 2013.
[23]
M. Mori, F. Li, C. Dorn, P. Inverardi, S. Dustdar, Leveraging State-Based User Preferences in Context-Aware Reconfigurations for Self-Adaptive Systems. SEFM 2011, 286-301, 2011.
[24]
R. Mizouni, M. Abu-Matar, Z. Al Mahmoud, S. Mohamed Alzahmi, A. Salah, A framework for context-aware self-adaptive mobile applications SPL. Expert Systems with Applications 41(16), 7549-7564, 2014.
[25]
R. Hirschfeld, P. Costanza, O. Nierstrasz. Context-Oriented Programming. Journal of Object Technology 7(3), 125-151, 2008.
[26]
S. Gonzalez, K. Mens, A. Cadiz. Context-Oriented Programming with the Ambient Object System. Universal Computer Science 14(20), 2008.
[27]
S. Gonzalez, K. Mens, M. Coluacioiu, W. Cazzola. Context Traits: Dynamic Behaviour Adaptation through Run-Time Trait Recomposition. Aspect-Oriented Software Development (AOSD), 2013.
[28]
M. Appeltauer, R. Hirschfeld, J. Lincke, Declarative Layer Composition with The JCop Programming Language. Journal of Object Technology 12(2), 4, 1-37, 2013.
[29]
P. Costanza, R. Hirschfeld, Language constructs for context-oriented programming: an overview of ContextL. Proceedings of the 2005 Symposium on Dynamic Languages, DLS 2005, San Diego, California, USA, ACM DL, 1-10, 2005.
[30]
D. Batory. Feature-Oriented Programming and the AHEAD ToolSuite. International Conference on Software Engineering (ICSE2004), pp. 702–703, IEEE, 2004.
[31]
S. Günther, S. Sunkle. rbFeatures: Feature-Oriented Programming with Ruby. Science of Computer Programming, 77(3):152-173, 2012.
[32]
N. Cardozo, S. Günther, T. D’Hondt, K. Mens. Feature-Oriented Programming and Context-Oriented Programming: Comparing Paradigm Characteristics by Example Implementations. International Conference on Software Engineering Advances (ICSEA 2011), 2011.
[33]
K. Kang, S. Cohen, J. Hess, W. Nowak, and S. Peterson. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report, CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, Pitssburgh, PA, November 1990.
[34]
K. Czarnecki, U. W. Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison-Wesley, 2000.
[35]
S. Hallsteinsen, M. Hinchey, S. Park, K. Schmid. Dynamic Software Product Lines. IEEE Computer 41, 93-95, 2008.
[36]
N. Cardozo, K. Mens, S. Gonzalez, P.-Y. Orban, W. De Meuter. Features on Demand. VaMoS’14, 18:1-18:8, ACM, 2013.
[37]
H. Lieberman, T. Selker. Out of Context: Computer Systems That Adapt To, and Learn From, Context. IBM Systems Journal, 39(3&4), 617-631, 2000.
[38]
G. Salvaneschi, C. Ghezzi, M. Pradella. Context-Oriented Programming: A Programming Paradigm for Autonomic Systems. 2011.
[39]
J. Kramer, J. Magee. Self-managed systems: An Architectural Challenge. Future of Software Engineering, 2007.
[40]
R. Capilla, J. Bosch, J-C. Kang, Systems and Software Variability Management: Concepts, Tools, and Experiences, Springer, 2013.
[41]
T. Kamina, T. Aotani, H. Masuhara, T. Tamai, Context-oriented software engineering: a modularity vision. 13th International Conference on Modularity, MODULARITY ’14.
[42]
C. K. Chang, Situation Analytics: A Foundation for a New Software Engineering Paradigm, IEEE Computer 49(1), 24-33, 2016.
[43]
M. Appeltauer, R. Hirschfeld, M. Haupt, J. Lincke, M. Perscheid, A comparison of context-oriented programming languages. International Workshop on Context-Oriented Programming (COP’09).
[44]
G. Salvaneschi, C. Ghezzi, M. Pradella. Context-Oriented Programming: A Software Engineering Perspective, Journal of Systems and Software 85(8), 1801-1817. 2012.
[45]
R. de Lemos et al. Software Engineering for Self-Adaptive Systems: A Second Research Roadmap. Springer-Verlag, LNCS 7475, 1-32, 2013.

Cited By

View all
  • (2024)A Process for Identifying and Modeling Relevant System Context for the Reconfiguration of Automated SystemsIEEE Transactions on Automation Science and Engineering10.1109/TASE.2023.329139421:3(3977-4002)Online publication date: Jul-2024
  • (2023)Towards User-Aware VR Learning Environments: Combining Brain-Computer Interfaces with Virtual Reality for Mental State DecodingExtended Abstracts of the 2023 CHI Conference on Human Factors in Computing Systems10.1145/3544549.3585716(1-8)Online publication date: 19-Apr-2023
  • (2022)Variability Management in Dynamic Software Product Lines for Self-Adaptive Systems—A Systematic MappingApplied Sciences10.3390/app12201024012:20(10240)Online publication date: 12-Oct-2022
  • Show More Cited By

Index Terms

  1. A taxonomy of context-aware software variability approaches

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    MODULARITY Companion 2016: Companion Proceedings of the 15th International Conference on Modularity
    March 2016
    217 pages
    ISBN:9781450340335
    DOI:10.1145/2892664
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 14 March 2016

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. context analysis
    2. context-aware software
    3. context-oriented programming
    4. contexts
    5. dynamic software adaptation
    6. dynamic software product lines
    7. features
    8. software variability

    Qualifiers

    • Research-article

    Conference

    Modularity '16

    Acceptance Rates

    Overall Acceptance Rate 41 of 139 submissions, 29%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)11
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 07 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)A Process for Identifying and Modeling Relevant System Context for the Reconfiguration of Automated SystemsIEEE Transactions on Automation Science and Engineering10.1109/TASE.2023.329139421:3(3977-4002)Online publication date: Jul-2024
    • (2023)Towards User-Aware VR Learning Environments: Combining Brain-Computer Interfaces with Virtual Reality for Mental State DecodingExtended Abstracts of the 2023 CHI Conference on Human Factors in Computing Systems10.1145/3544549.3585716(1-8)Online publication date: 19-Apr-2023
    • (2022)Variability Management in Dynamic Software Product Lines for Self-Adaptive Systems—A Systematic MappingApplied Sciences10.3390/app12201024012:20(10240)Online publication date: 12-Oct-2022
    • (2021)Mon4Aware: A multi-objective and context-aware approach to decompose monolithic applicationsProceedings of the XVII Brazilian Symposium on Information Systems10.1145/3466933.3466949(1-9)Online publication date: 7-Jun-2021
    • (2021)Connecting Brain and Machine: The Mind Is the Next FrontierClinical Neurotechnology meets Artificial Intelligence10.1007/978-3-030-64590-8_16(215-226)Online publication date: 4-Mar-2021
    • (2019)A Structured Approach for Designing Adaptive Interactive Systems by Unifying Situation-Analytics with Model- and Pattern-Based User Interface DevelopmentComputer-Human Interaction Research and Applications10.1007/978-3-030-32965-5_3(45-65)Online publication date: 20-Oct-2019
    • (2019)Variability management in safety‐critical systems design and dependability analysisJournal of Software: Evolution and Process10.1002/smr.220231:8Online publication date: 20-Aug-2019
    • (2018)A methodological framework to enable the generation of code from DSML in SPLProceedings of the 22nd International Systems and Software Product Line Conference - Volume 210.1145/3236405.3236426(64-71)Online publication date: 10-Sep-2018
    • (2018)Optimal reconfiguration of dynamic software product lines based on performance-influence modelsProceedings of the 22nd International Systems and Software Product Line Conference - Volume 110.1145/3233027.3233030(98-109)Online publication date: 10-Sep-2018
    • (2018)Aggregating Measures using Fuzzy Logic for Evaluating Feature ModelsProceedings of the 12th International Workshop on Variability Modelling of Software-Intensive Systems10.1145/3168365.3168375(35-42)Online publication date: 7-Feb-2018
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media