Method calls, locks, and states are handled in a uniform manner, using labeled messages.
Classes are partial message de nitions that can be combined and transformed.
We design operators for behavioral and synchronization inheritance. We also give a type system that statically enforces basic safety properties. Our model is compatible with the JoCaml implementation of the join calculus. 1 Introduction Object-oriented programming has long been praised as favoring abstraction, incremental development, and code reuse. Cedric Fournet, Cosimo Laneve, Luc Maranget and Didier Remy.