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
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
T2 - 11th International Workshop on Context-oriented Programming, COP 2019
Y2 - 15 July 2019
ER -