Keynote on Context-Oriented Language Engineering
Context-oriented programming (COP) facilitates creating software that can dynamically adapt to its environment, such as device, user preferences, sensor inputs and so on. Software language engineering (SLE) is the discipline of principled methods and techniques for creating software languages (programming languages, specification languages, DSLs, modeling languages etc.). In this talk I will look at language engineering through the lens of COP: In particular, I’ll explore whether engineering COP language is different from other software languages, what it could mean for programming systems themselves to be context-oriented, how context-oriented concepts such as layers and activation could be applied during language engineering. I’ll conclude with a sketch of further research directions to bring COP closer to SLE, and vice versa.