OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Lisp and Symbolic Computation
Directness and liveness in the morphic user interface construction environment
Proceedings of the 8th annual ACM symposium on User interface and software technology
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
A simple and unifying approach to subjective objects
Theory and Practice of Object Systems - Special issue on subjectivity in object-oriented systems
Back to the future: the story of Squeak, a practical Smalltalk written in itself
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Test Driven Development: By Example
Test Driven Development: By Example
Beyond the Black Box: Open Implementation
IEEE Software
Programming as an Experience: The Inspiration for Self
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
IEEE Transactions on Software Engineering
Feature-Oriented Programming and the AHEAD Tool Suite
Proceedings of the 26th International Conference on Software Engineering
Traits: A mechanism for fine-grained reuse
ACM Transactions on Programming Languages and Systems (TOPLAS)
Language constructs for context-oriented programming: an overview of ContextL
DLS '05 Proceedings of the 2005 symposium on Dynamic languages
Context-oriented programming: beyond layers
ICDL '07 Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007
IEEE Transactions on Software Engineering
Dedicated Programming Support for Context-Aware Ubiquitous Applications
UBICOMM '08 Proceedings of the 2008 The Second International Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies
An Introduction to Context-Oriented Programming with ContextS
Generative and Transformational Techniques in Software Engineering II
The Lively Kernel A Self-supporting System on a Web Page
Self-Sustaining Systems
An implementation substrate for languages composing modularized crosscutting concerns
Proceedings of the 2009 ACM symposium on Applied Computing
A comparison of context-oriented programming languages
International Workshop on Context-Oriented Programming
Beyond static and dynamic scope
DLS '09 Proceedings of the 5th symposium on Dynamic languages
Lively Wiki a development environment for creating and sharing active web content
Proceedings of the 5th International Symposium on Wikis and Open Collaboration
Lively Fabrik A Web-based End-user Programming Environment
C5 '09 Proceedings of the 2009 Seventh International Conference on Creating, Connecting and Collaborating through Computing
Proceedings of the 2010 ACM Symposium on Applied Computing
Designing event-based context transition in context-oriented programming
Proceedings of the 2nd International Workshop on Context-Oriented Programming
Efficient layer activation for switching context-dependent behavior
JMLC'06 Proceedings of the 7th joint conference on Modular Programming Languages
ContextFJ: a minimal core calculus for context-oriented programming
Proceedings of the 10th international workshop on Foundations of aspect-oriented languages
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Implementing scoped method tracing with ContextJS
Proceedings of the 3rd International Workshop on Context-Oriented Programming
ContextErlang: introducing context-oriented programming in the actor model
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
Context-oriented programming: A software engineering perspective
Journal of Systems and Software
Declarative layer composition in framework-based environments
Proceedings of the International Workshop on Context-Oriented Programming
Scoping changes in self-supporting development environments using context-oriented programming
Proceedings of the International Workshop on Context-Oriented Programming
Uniting global and local context behavior with context Petri nets
Proceedings of the International Workshop on Context-Oriented Programming
Context traits: dynamic behaviour adaptation through run-time trait recomposition
Proceedings of the 12th annual international conference on Aspect-oriented software development
A core calculus of composite layers
Proceedings of the 12th workshop on Foundations of aspect-oriented languages
L: context-oriented programming with only layers
Proceedings of the 5th International Workshop on Context-Oriented Programming
User-evolvable tools in the web
Proceedings of the 9th International Symposium on Open Collaboration
An Analysis of Language-Level Support for Self-Adaptive Software
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Hi-index | 0.00 |
Context-oriented programming (COP) provides dedicated support for defining and composing variations to a basic program behavior. A variation, which is defined within a layer, can be de-/activated for the dynamic extent of a code block. While this mechanism allows for control flow-specific scoping, expressing behavior adaptations can demand alternative scopes. For instance, adaptations can depend on dynamic object structure rather than control flow. We present scenarios for behavior adaptation and identify the need for new scoping mechanisms. The increasing number of scoping mechanisms calls for new language abstractions representing them. We suggest to open the implementation of scoping mechanisms so that developers can extend the COP language core according to their specific needs. Our open implementation moves layer composition into objects to be affected and with that closer to the method dispatch to be changed. We discuss the implementation of established COP scoping mechanisms using our approach and present new scoping mechanisms developed for our enhancements to Lively Kernel.