Context-specific composition of features in context-oriented programming
Details
- Supervisors
- Faculty
- Degree label
- Abstract
- This master’s thesis takes place in research about Context-Oriented Programming in an experimental language, the Feature-Based Context-Oriented Programming Language. The objective is to enhance the relations between the contexts and the features in this language. The Feature-Based Context-Oriented Programming Language used a context model, a feature model and a mapping which represents the relations between the two models. This master's thesis shows that it is possible to improve the mapping and the models. First, the mapping declaration is more flexible and expressive thanks to the introduction of the OR and NOT operators (in addition to AND) and the possibility to reuse and split an expression in sub-expressions. Together, it makes possible to use the mapping declaration in large and complex applications. Second, the context and feature models are merged with the mapping to form a new one. This entire model is optimized, and its time complexity is decoupled from its size. Third, the performance of the mapping is increased thank to the use of gates. In addition, it has been shown that, no matter how the mapping is declared, its average performance remains the same. Finally, the introduction of the notion of transaction and of the different strategies are used to perform the context changes. A new implementation of the Adaptations mechanism is also proposed based on pointers. This improves the performance of the language and the speed of the behavior changes. In addition, this new version is compliant with multithreading whereas the original version was not. This works show that it should be possible to make an implementation of FBCOP usable in any large and complex application.