This paper presents Classages, a novel interaction-centric object-oriented language. Classes and objects in Classages are fully encapsulated, with explicit interfaces for all interactions they might be involved in. The design of Classages touches upon a wide range of language design topics, including encapsulation, object relationship representation, and object confinement. An encoding of Java’s OO model in Classages is provided, showing how standard paradigms are supported. A prototype Classages compiler is described. Categories and Subject Descriptors D.3.3 [Programming Languages]: Language Constructs and Features - classes and objects General Terms Languages, Design Keywords Classages, Interaction, Interface, Encapsulation, Relationship, Confinement
Yu David Liu, Scott F. Smith