Slides from the talk [ppt]
Abstract: In Java programming language there is support for defining the unassignability of a field, parameter or variable through the keyword final. But to guarantee that an object will not be mutated this alone is not enough. Javari programming language extends Java to also consider immutable, or read-only objects. Constraints will be used so that the abstract state of an object (and transitiveley all objects referenced from that object) cannot be modified using an immutable reference to that object. The language is fully formalized and supports Java 5 generic types and multi-dimensional arrays. Also it is backward compatible with Classic Java language and interoperable with existing JVMs.