Interactive graphical applications implicitly contain a large number of constraints - relationships between objects, such as widgets and the underlying model they control. Encapsulation, a fundamental principle of object-oriented programming, is only guaranteed in a very limited sense by most object-oriented languages. Constrained-Java provides a constraint system built upon stronger encapsulation guarantees which allows constraints to depend on entire aggregated objects.

Additional Metadata
Keywords Aliasing, Constraints, Encapsulation
Persistent URL dx.doi.org/10.1145/1028664.1028683
Conference 19th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA'04
Citation
Gordon, D. (Donald), Noble, J. (James), & Biddle, R. (2004). ConstrainedJava. Presented at the 19th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA'04. doi:10.1145/1028664.1028683