Calculi for Concurrent Objects [chapter]

Cosimo Laneve
1999 Formal Methods for Open Object-Based Distributed Systems  
Concurrent object-oriented languages, such as POOL [1], ABCL [12], Obliq [3] or Java [7], usually structure the program into objects, model the parallelism with threads and the mutual exclusion with locks (or some variant of them). These attempts to integrate concurrency and object-oriented features are somehow naive and no rigorous motivation for the design choices is given. As a result, the semantics is often crisp and one stumbles into anomalies (cft inheritance anomaly [8]) or typing flaws
more » ... 10]. On the other hand the concepts of processes and objects seem strongly related. The formers are entities that interact with the environment, possibly with a dynamically P. Ciancarini et al. (eds.), Formal Methods for Open Object-Based Distributed Systems
doi:10.1007/978-0-387-35562-7_27 fatcat:voouacz54nevzmou5gsj576soq