Furthermore, it is relatively easy to build up on the basic standard library of concurrency classes to construct more sophisticated abstractions, as for example in the Simtalk [Bezivin 1989] or Actalk [Briot 1989] platforms.
Note that most activity, synchronization, and communication models described in these sections have been implemented as various component libraries in a common framework for object-oriented concurrent programming called Actalk [Briot 1996].
Such facilities actually help in building and integrating various platforms for concurrent and distributed programming, such as CodA, Actalk, and GARF.
The Actalk platform [Briot 1989; 1996] helps in experimenting with various synchronization and communication models for a given program by changing and specializing various models/components of: (1) activity (implicit or explicit acceptance of requests, intraobject concurrency, etc.) and synchronization (abstract behaviors, guards, etc.), (2) communication (synchronous, asynchronous, etc.), and (3) invocation (time stamp, priority, etc.).
Other examples are Actalk [Briot 1989] and GARF [Garbinato et al.