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
Country/TerritoryUnited Kingdom
CityLondon
Period15/07/19 → …

Fingerprint

Dive into the research topics of 'Implementation of a feature-based context-oriented programming language'. Together they form a unique fingerprint.

Cite this