Implementation of a feature-based context-oriented programming language

Benoît Duhoux, Kim Mens, Bruno Dumas

Research output: Contribution in Book/Catalog/Report/Conference proceedingConference contribution

Abstract

We implemented a feature-based context-oriented programming language, which clearly separates the notion of contexts from the notion of features. Contexts reify particular situations occurring in the surrounding environment, to which a software system can adapt. Features reify the system's behaviour; they are the language components that describe the system's functionality at a fine-grained level. Contexts are mapped to features, such that, when certain contexts become active at run-time, the corresponding features get selected and activated, thus adapting the system's functionality to those particular contexts. In this paper we show the object-oriented architecture, design and implementation issues of such a featurebased context-oriented programming language, which we implemented on top of the Ruby programming language as an application framework for context-oriented programmers. An important part of our language design is the explicit representation of contexts and features in terms of hierarchical tree structures that capture the structural constraints to be maintained at runtime. We illustrate our language design with a small example of a feature-based context-oriented program written in this language.

Original languageEnglish
Title of host publicationProceedings of the Workshop on Context-Oriented Programming, COP 2019
PublisherACM Press
Pages9-16
Number of pages8
ISBN (Electronic)9781450368636
DOIs
Publication statusPublished - 15 Jul 2019
Event11th International Workshop on Context-oriented Programming, COP 2019 - London, United Kingdom
Duration: 15 Jul 2019 → …

Publication series

NameProceedings of the Workshop on Context-Oriented Programming, COP 2019

Conference

Conference11th International Workshop on Context-oriented Programming, COP 2019
CountryUnited Kingdom
CityLondon
Period15/07/19 → …

Fingerprint

Computer programming languages
Ruby

Cite this

Duhoux, B., Mens, K., & Dumas, B. (2019). Implementation of a feature-based context-oriented programming language. In Proceedings of the Workshop on Context-Oriented Programming, COP 2019 (pp. 9-16). (Proceedings of the Workshop on Context-Oriented Programming, COP 2019). ACM Press. https://doi.org/10.1145/3340671.3343357
Duhoux, Benoît ; Mens, Kim ; Dumas, Bruno. / Implementation of a feature-based context-oriented programming language. Proceedings of the Workshop on Context-Oriented Programming, COP 2019. ACM Press, 2019. pp. 9-16 (Proceedings of the Workshop on Context-Oriented Programming, COP 2019).
@inproceedings{4a6974a1d6e1477eaf1aec7643140487,
title = "Implementation of a feature-based context-oriented programming language",
abstract = "We implemented a feature-based context-oriented programming language, which clearly separates the notion of contexts from the notion of features. Contexts reify particular situations occurring in the surrounding environment, to which a software system can adapt. Features reify the system's behaviour; they are the language components that describe the system's functionality at a fine-grained level. Contexts are mapped to features, such that, when certain contexts become active at run-time, the corresponding features get selected and activated, thus adapting the system's functionality to those particular contexts. In this paper we show the object-oriented architecture, design and implementation issues of such a featurebased context-oriented programming language, which we implemented on top of the Ruby programming language as an application framework for context-oriented programmers. An important part of our language design is the explicit representation of contexts and features in terms of hierarchical tree structures that capture the structural constraints to be maintained at runtime. We illustrate our language design with a small example of a feature-based context-oriented program written in this language.",
author = "Beno{\^i}t Duhoux and Kim Mens and Bruno Dumas",
year = "2019",
month = "7",
day = "15",
doi = "10.1145/3340671.3343357",
language = "English",
series = "Proceedings of the Workshop on Context-Oriented Programming, COP 2019",
publisher = "ACM Press",
pages = "9--16",
booktitle = "Proceedings of the Workshop on Context-Oriented Programming, COP 2019",
address = "United States",

}

Duhoux, B, Mens, K & Dumas, B 2019, Implementation of a feature-based context-oriented programming language. in Proceedings of the Workshop on Context-Oriented Programming, COP 2019. Proceedings of the Workshop on Context-Oriented Programming, COP 2019, ACM Press, pp. 9-16, 11th International Workshop on Context-oriented Programming, COP 2019, London, United Kingdom, 15/07/19. https://doi.org/10.1145/3340671.3343357

Implementation of a feature-based context-oriented programming language. / Duhoux, Benoît; Mens, Kim; Dumas, Bruno.

Proceedings of the Workshop on Context-Oriented Programming, COP 2019. ACM Press, 2019. p. 9-16 (Proceedings of the Workshop on Context-Oriented Programming, COP 2019).

Research output: Contribution in Book/Catalog/Report/Conference proceedingConference contribution

TY - GEN

T1 - Implementation of a feature-based context-oriented programming language

AU - Duhoux, Benoît

AU - Mens, Kim

AU - Dumas, Bruno

PY - 2019/7/15

Y1 - 2019/7/15

N2 - We implemented a feature-based context-oriented programming language, which clearly separates the notion of contexts from the notion of features. Contexts reify particular situations occurring in the surrounding environment, to which a software system can adapt. Features reify the system's behaviour; they are the language components that describe the system's functionality at a fine-grained level. Contexts are mapped to features, such that, when certain contexts become active at run-time, the corresponding features get selected and activated, thus adapting the system's functionality to those particular contexts. In this paper we show the object-oriented architecture, design and implementation issues of such a featurebased context-oriented programming language, which we implemented on top of the Ruby programming language as an application framework for context-oriented programmers. An important part of our language design is the explicit representation of contexts and features in terms of hierarchical tree structures that capture the structural constraints to be maintained at runtime. We illustrate our language design with a small example of a feature-based context-oriented program written in this language.

AB - We implemented a feature-based context-oriented programming language, which clearly separates the notion of contexts from the notion of features. Contexts reify particular situations occurring in the surrounding environment, to which a software system can adapt. Features reify the system's behaviour; they are the language components that describe the system's functionality at a fine-grained level. Contexts are mapped to features, such that, when certain contexts become active at run-time, the corresponding features get selected and activated, thus adapting the system's functionality to those particular contexts. In this paper we show the object-oriented architecture, design and implementation issues of such a featurebased context-oriented programming language, which we implemented on top of the Ruby programming language as an application framework for context-oriented programmers. An important part of our language design is the explicit representation of contexts and features in terms of hierarchical tree structures that capture the structural constraints to be maintained at runtime. We illustrate our language design with a small example of a feature-based context-oriented program written in this language.

UR - http://www.scopus.com/inward/record.url?scp=85072532270&partnerID=8YFLogxK

U2 - 10.1145/3340671.3343357

DO - 10.1145/3340671.3343357

M3 - Conference contribution

AN - SCOPUS:85072532270

T3 - Proceedings of the Workshop on Context-Oriented Programming, COP 2019

SP - 9

EP - 16

BT - Proceedings of the Workshop on Context-Oriented Programming, COP 2019

PB - ACM Press

ER -

Duhoux B, Mens K, Dumas B. Implementation of a feature-based context-oriented programming language. In Proceedings of the Workshop on Context-Oriented Programming, COP 2019. ACM Press. 2019. p. 9-16. (Proceedings of the Workshop on Context-Oriented Programming, COP 2019). https://doi.org/10.1145/3340671.3343357