This paper describes the integration of concurrency control in Balloon, an object-oriented language that separates the concepts of type and class as well of subtyping and subclassing.
Types are interface specifications enriched with concurrency control annotations.
Classes are used to implement the operational functionality of types as well as concurrency control mechanisms. Types, classes and concurrency control annotations are independently reusable and derivable. The language takes advantage of this separation to solve the typical problems of the inheritance anomaly.