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.
To get started you can either use a ready-made image (suggested), or try to load the code yourself.
- Download the Subjectopia distribution.
Load the Code
- Download a PharoCore 1.1.1 image.
- Load the code in Monticello from the squeaksource repository http://www.squeaksource.com/Decisionstrategy