Cantor: an actor programming system for scientific computing
The programming notation Cantor is a research tool used at Caltech for ongoing experiments with fine-grain message-passing concurrent computers called multicomputers. Cantor is an actor-based language, and its semantics conform to the actor model of computation, as described by Agha . A computation is expressed as a collection of objects that execute concurrently, and that synchronize and share data exclusively by message passing. The delivery of a message to an object causes the object to react to the message by first consuming the message, and then sending zero or more messages, creating zero or more new objects, and possibly modifying the local state of the object. These three fundamental operations correspond to the send, new, and become operations of actor semantics. Because message delivery is the only event that causes the global state of a computation to change, Cantor programs are said to be message driven. Message passing in Cantor is asynchronous and buffered, and message order is preserved between pairs of directly communicating objects. The only prerequisite for sending a message between two objects is that the sending object must contain a reference to the destination object. The concept of reference is captured in Cantor by the built-in data type, called reference. A data value of type reference is generated whenever a new object is created; this value can be shared between objects through message passing.
© 1988 ACM.