Concurrent Object Oriented 'C' (cooC)

  • Authors:
  • Rajiv Trehan;Nobuyuki Sawashima;Akira Morishita;Ichiro Tomoda;Toru Imai;Ken-Ichi Maeda

  • Affiliations:
  • -;-;-;-;-;-

  • Venue:
  • ACM SIGPLAN Notices
  • Year:
  • 1993

Quantified Score

Hi-index 0.00

Visualization

Abstract

Concurrent Object Oriented C (cooC) is a language based on the premise that an object not only provides an encapsulation boundary but should also form a process boundary; each object acts concurrently. Upon this basic model various control regimes can be applied to provide different execution and service policies. The cooC language model employs wait-when-necessary communication and affords shared resource protection (via exclusive method invocation). The cooC runtime provides for several execution paradigms for object and method invocation. Varying runtime parameters (number of threads and a mail queue size) allow for: sequential compatible evaluation; fine and coarse grain concurrency; and eager and lazy evaluation, cooC is an extension to C. The underlying syntax of cooC is the same as that of Objective-C; moreover, Objective-C objects are cooC objects which are to be evaluated with a sequential runtime and employ no special synchronisation. The CooC compiler converts cooC into C and also supports C++. Hence cooC is a superset of C, C++ and Objective-C. We present cooC's concurrency object model, runtime and support for various execution and service policies.