Issue No. 09 - September (1998 vol. 31)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/2.708452
Using the Dining Philosophers problem, the author shows how Synchronous C++ can improve the development of concurrent applications. sC++ introduces the concept of an active object. The syntax of the definition, instantiation, reference, call, inheritance, and deletion of an active object is identical to the syntax of the same operations on a standard or passive object. An active object, however, contains an internal activity that runs in parallel with the activities of the other active objects. This activity can delay the executions of its methods-when called from outside-until it is ready to accept them. sC++ has strong connections to the domains of concurrency, behavior analysis, and OO programming. Namely, sC++ contains a real-time kernel, lends itself to analysis by modern modeling and analysis theories, and uses the same syntax for active objects as for passive ones. This article focuses on examples in which the dynamic and functional models dominate and the object model is secondary. In doing so, the author proposes a mapping between the elements of all three models and sC++ statements.
C. Petitpierre, "Synchronous C++: A Language for Interactive Applications," in Computer, vol. 31, no. , pp. 65-72, 1998.