Abstract
Subjective behavior is essential for applications that must adapt their behavior to changing circumstances. Many different solutions have been proposed in the past, based, for example, on perspectives, roles, contextual layers, and “force trees”. Although these approaches are somehow equally expressive, each imposes a particular world view which may not be appropriate for all applications. We propose a unification of these approaches, called Subjectopia, which makes explicit the underlying abstractions needed to support subjective behavior, namely subjects, contextual elements and decision strategies. We demonstrate how Subjectopia subsumes existing approaches, provides a more general foundation for modeling subjective behavior, and offers a means to alter subjective behavior in a running system.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Costanza, P., Hirschfeld, R.: Language constructs for context-oriented programming: An overview of ContextL. In: Proceedings of the Dynamic Languages Symposium (DLS) 2005, co-organized with OOPSLA 2005, pp. 1–10. ACM, New York (2005)
Darderes, B., Prieto, M.: Subjective behavior: a general dynamic method dispatch. In: OOPSLA Workshop on Revival of Dynamic Languages (October 2004)
Gîrba, T.: The Moose Book. Self Published (2010), http://www.themoosebook.org/book
Harrison, W., Ossher, H.: Subject-oriented programming (a critique of pure objects). In: Proceedings OOPSLA 1993, ACM SIGPLAN Notices, vol. 28, pp. 411–428 (October 1993)
Hirschfeld, R., Costanza, P., Nierstrasz, O.: Context-oriented programming. Journal of Object Technology 7(3) (March 2008)
Kristensen, B.B.: Object-oriented modeling with roles. In: Murphy, J., Stone, B. (eds.) Proceedings of the 2nd International Conference on Object-Oriented Information Systems, pp. 57–71. Springer, Heidelberg (1995)
Kristensen, B.B.: Osterbye, K.: Roles: Conceptual abstraction theory & practical language issues. In: Special Issue of Theory and Practice of Object Systems (TAPOS) on Subjectivity in Object-Oriented Systems. pp. 143–160 (1996)
Lanza, M., Ducasse, S.: Polymetric views—a lightweight visual approach to reverse engineering. Transactions on Software Engineering (TSE) 29(9), 782–795 (2003)
von Löwis, M., Denker, M., Nierstrasz, O.: Context-oriented programming: Beyond layers. In: Proceedings of the 2007 International Conference on Dynamic Languages (ICDL 2007). pp. 143–156. ACM Digital Library (2007)
Madsen, O.L., Møller-Pedersen, B.: Part objects and their location. In: Proceedings of the Seventh International Conference on Technology of object-oriented languages and systems. pp. 283–297. Prentice Hall International (UK) Ltd., Hertfordshire (1992)
Nierstrasz, O., Ducasse, S., Gîrba, T.: The story of Moose: an agile reengineering environment. In: Proceedings of the European Software Engineering Conference (ESEC/FSE 2005), pp. 1–10. ACM Press, New York (2005) (invited paper)
Smith, R.B., Ungar, D.: A simple and unifying approach to subjective objects. TAPOS special issue on Subjectivity in Object-Oriented Systems 2(3), 161–178 (1996)
Tichelaar, S., Ducasse, S., Demeyer, S., Nierstrasz, O.: A meta-model for language-independent refactoring. In: Proceedings of International Symposium on Principles of Software Evolution (ISPSE 2000), pp. 157–167. IEEE Computer Society Press, Los Alamitos (2000)
Ungar, D., Smith, R.B.: Self: The power of simplicity. In: Proceedings OOPSLA 1987, ACM SIGPLAN Notices. vol. 22, pp. 227–242 (December 1987)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Langone, D., Ressia, J., Nierstrasz, O. (2011). Unifying Subjectivity. In: Bishop, J., Vallecillo, A. (eds) Objects, Models, Components, Patterns. TOOLS 2011. Lecture Notes in Computer Science, vol 6705. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21952-8_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-21952-8_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21951-1
Online ISBN: 978-3-642-21952-8
eBook Packages: Computer ScienceComputer Science (R0)