Using prototypical objects to implement shared behavior in object-oriented systems
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Subject-oriented programming: a critique of pure objects
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
A simple and unifying approach to subjective objects
Theory and Practice of Object Systems - Special issue on subjectivity in object-oriented systems
Prototype-Based Object-Oriented Programming: Concepts, Languages, and Applications
Prototype-Based Object-Oriented Programming: Concepts, Languages, and Applications
Smalltalk-80: The Language
Object-Oriented Multi-Methods in Cecil
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
MultiJava: Design rationale, compiler implementation, and applications
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
Prototypes with multiple dispatch: an expressive and dynamic object model
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Efficient multimethods in a single dispatch language
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
More principled design of pervasive computing systems
EHCI-DSVIS'04 Proceedings of the 2004 international conference on Engineering Human Computer Interaction and Interactive Systems
DLS '08 Proceedings of the 2008 symposium on Dynamic languages
Transactional contexts: harnessing the power of context-oriented reflection
International Workshop on Context-Oriented Programming
Model-Centric, Context-Aware Software Adaptation
Software Engineering for Self-Adaptive Systems
Orchestrating context-aware systems: a design perspective
Proceedings of the first international workshop on Context-aware software technology and applications
Predicated generic functions: enabling context-dependent method dispatch
SC'10 Proceedings of the 9th international conference on Software composition
Context oriented programming in highly concurrent systems
Proceedings of the 2nd International Workshop on Context-Oriented Programming
Subjective-C: bringing context to mobile platform programming
SLE'10 Proceedings of the Third international conference on Software language engineering
JavaCtx: seamless toolchain integration for context-oriented programming
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
Uniting global and local context behavior with context Petri nets
Proceedings of the International Workshop on Context-Oriented Programming
Bridging real-world contexts and units of behavioral variations by composite layers
Proceedings of the International Workshop on Context-Oriented Programming
Interruptible context-dependent executions: a fresh look at programming context-aware applications
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
Proceedings of the 3rd international workshop on Free composition
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
An Analysis of Language-Level Support for Self-Adaptive Software
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Hi-index | 0.00 |
With the advent of ambient intelligence and advances in mobile hardware technology, the next generation of software systems will require the ability to gracefully and dynamically adapt to changes in their surrounding environment. Contemporary languages provide no dedicated support to this end, thus requiring software developers to achieve this run-time adaptability through the use of specific design patterns and architectural solutions. As a consequence, all possible variability points of mobile systems need to be anticipated up front. Instead, we aim at solving the problem at the language level. We propose a new programming language called Ambience that provides dedicated language mechanisms to manage changing contexts and deal with run-time adaptation of mobile applications to those contexts. The language abstractions we propose are based on a prototype-based programming model that features multimethods and subjective object behaviour. We illustrate and motivate our approach by means of two running examples that were implemented in our language.