A Comparison of Context-Oriented Programming Languages

Free registration required

Executive Summary

The separation of cross-cutting concerns is an issue that is considered by several programming language paradigms, such as aspect-oriented programming , feature-oriented programming, and Context-Oriented Programming (COP). The COP paradigm is a relatively novel approach and each concrete language design and implementation comes with different variations of the features of this paradigm. Since its inception, several COP extensions to various languages (referred as host languages) have been developed. Each language implements the core concepts of COP and provides host-language specific functionality. Even though it is apparent that COP is an interesting field for research in programming language design, no systematic comparison of these languages, their design, implementation, or unique features has been done yet. In this paper, a comparison of eleven COP implementations, discussion on their designs, and evaluation of their performance is presented. The paper presents in detail an overview of COP and a description of its concepts. It also discusses COP language feature and the characteristics on which the comparisons are made. The implementation details and special features of the languages are also explored. Run-time measurements, based on a set of micro-benchmarks are also presented assessing the overhead caused by layer activation and layer-aware method dispatch compared to only using plain host language features.

  • Format: PDF
  • Size: 233.6 KB