In this paper we present AmOS, the Ambient Object System that underlies the Ambience programming language. AmOS implements a computation model that supports highly dynamic behaviour adaptation to changing contexts. Apart from being purely object-based, AmOS features first-class closures, multimethods and contexts. Dynamic method scoping through a subjective dispatch mechanism is at the heart of our approach. These features make of AmOS a very simple and elegant paradigm for context-oriented programming.
Gonzalez Montesinos, S. A., Mens, K., & Cadiz Rodriguez, A. J. (2008). Context-oriented programming with the ambient object system. Journal of Universal Computer Science, 14(20), 3307-3332. https://doi.org/10.3217/jucs-014-20-3307 (Original work published 2008)