| Gehani, N. and W. Roome, "ConcurrentC,"Software--Practice and Experience,vol. 16, no. 9, pp. 821--844, 1986. |
....method calls) are extended to support remote communication across a network. Those extended method calls provide not only a functionalityinvoking a procedure (or a method) at a remote machine, but also a functionality synchronizing multiple threads of control. In Ada [26] and ConcurrentC[5], for example, a statementsyntactically similar to a procedure call is used for executing a rendezvous, and a procedure call is extended to block the sender thread until the receiver is ready. In ConcurrentSmalltalk [28] a method call of Smalltalk 80 [6] is extended to be synchronous or ....
Gehani, N. and W. Roome, "ConcurrentC,"Software--Practice and Experience,vol. 16, no. 9, pp. 821--844, 1986.
....paragraphs list various parallel languages and point out the di erences between them and ParC. Programming Model Most of the imperative parallel languages are designed for distributed architectures rather than for shared memory machines [1] The Occam [29] Ada [30] Joyce [31] Concurrent C [32], and Cosmic C [33] languages, for example, provide facilities for synchronous or asynchronous message passing between parallel processes. This allows for ecient implementations on both shared memory and message passing architectures. However, programs written in these languages cannot utilize the ....
.... control structures advocated for sequential languages [17] While this idea has caught on in sequential languages, and the use of goto has all but disappeared, most parallel languages still supply fork and join primitives instead of closed constructs; examples include Ada [30] and Concurrent C [32]. In many cases, such as the C threads package [56] and MPC [14] the support for parallelism is limited to a direct interface to the run time system. Many other systems have no direct support for expressing parallelism within the language they assume a copy of the program is executed on each ....
N. H. Gehani and W. D. Roome, `Concurrent C'. Software | Pract. & Exp. 16, 821-844 (1986).
....compilers. A further improvement is to let the programmer specify the problem in terms of multiple (concurrent) processes, where each process contains a block of sequential code with explicit definitions of communication with other processes (examples are concurrent MODULA [Mhl88] concurrent C [Gehani86], Occam [May86] and POOL T [America87] Although in this approach more flexibility is gained, many of the flaws mentioned in the previous approach remain. A different approach is to use a programming paradigm that does not obscure parallelism and leaves parallelization to the compiler. Examples ....
N.H. Gehani, W.D. Roome, "Concurrent C," Software-Practice and Experience, Volume 16(9), September 1986, pp. 821 - 844.
....may require more time than others, the responses may be out of order, and are identified by means of some transaction identifiers that the processor and SWIM agree upon. It is our intent that SWIM be used as hardware support for an object oriented software system such as (Concurrent) C [9, 20]. The structured objects supported by SWIM would be the types or classes mandated by the object oriented software, with operations being associated with each object type. In specifying the object type, the user can select whether to implement the type in software, in SWIM microcode, or in some ....
N. H. Gehani and W. D. Roome, "Concurrent C," Software---Practice & Experience, 16(9), 1986, pp. 821-844..
....however, to run the critical commands in the foreground shell, thus imposing sequential execution. 7.2. Concurrent Make Concurrent Make [18] or cmake, was developed primarily to reduce the time needed to run a make process, not to increase make s functionality. It is written in Concurrent C [20], and is based on the Version 8 UNIX make. The latter requires the user to indicate explicitly which commands can execute in parallel, whereas cmake runs the update commands in parallel by default. Furthermore, the explicit indication in Version 8 make introduces a non portable construct in a ....
N.H. Gehani and W.D. Roome, "Concurrent C," Software---Practice and Experience, vol. 16, no. 9, pp. 821-844, September 1986.
....of synchronization. Two process oriented paradigms may be distinguished [4] i.e. the procedural ( shared memory ) approach, basically used in e.g. Simula [11] and Pamela, and the message passing ( distributed memory ) approach, found in many dialects, e.g. Csp [18] Ada [31] Concurrent C [15] (some languages offer operators from both paradigms [39] As their decision power is equal the choice is usually determined by (software) engineering considerations, which, in many cases, have led to the (object oriented) message passing paradigm. The choice of a procedural paradigm as the basis ....
N.H. Gehani and W.D. Roome, "Concurrent C," Software--Practice and Experience, vol. 16, Sept. 1986.
....and cooperate with other modules. Many approaches to parallel programming are based on the same computation models as sequential programming, with added on features to deal with communications and control. This is the case for such concurrent programming languages like Ada [8] Concurrent C [9, 10], Concurrent C [11] Occam [12] and many others (the interested reader may consult, e.g. the survey of Bal et al. 13] for more details on these languages) There is an inherent contradiction in such approaches which shows up in the form of complex semantics for these added on features. The ....
N. Gehani and W. Roome, "Concurrent C," Software --- Practice and Experience, vol. 16, pp. 821-- 844, 1986.
....method calls) are extended to support remote communication across a network. Those extended method calls provide not only a functionality invoking a procedure (or a method) at a remote machine, but also a functionality synchronizing multiple threads of control. In Ada [26] and Concurrent C [5], for example, a statement syntactically similar to a procedure call is used for executing a rendezvous, and a procedure call is extended to block the sender thread until the receiver is ready. In ConcurrentSmalltalk [28] a method call of Smalltalk 80 [6] is extended to be synchronous or ....
Gehani, N. and W. Roome, "Concurrent C," Software--Practice and Experience, vol. 16, no. 9, pp. 821--844, 1986.
....for modeling contention. Two process oriented paradigms may be distinguished [4] i.e. the procedural ( shared memory ) approach, basically used in e.g. Simula [17] and Pamela, and the message passing ( distributedmemory ) approach, found in many dialects e.g. Csp [24] Ada [39] Concurrent C [21] 2 . While in procedural languages mutual exclusion operators and the shared objects are explicit, in message passing formalisms mutual exclusion is implicit through the encapsulation of the shared objects within a unique (server) process thread which is involved with synchronous, exclusive ....
N.H. Gehani and W.D. Roome, "Concurrent C," Software--Practice and Experience, vol. 16, Sept. 1986, pp. 821--844.
....to sequential programs. This limitation is imposed to bound the problems that need to be solved. Given the method of describing the behavior of functions and procedures, it does not seem to be too great an extension to include concurrency of the form provided in either Ada [1] or Concurrent C [3] (since the notions of entries and transactions are analogous to functions and procedures, with additional semantics to cover aspects of concurrency) 3. See [17] for a discussion of the relative strengths and weaknesses of various specification techniques. Please note that we have taken great ....
N. H. Gehani and W. D. Roome. "Concurrent C." To appear in Software --- Practice and Experience.
....pass these clauses to the object manager to select only the desired object ids and deliver them in the right order for the for loop. 9. The square brackets [ and ] indicate an optional item. The suchthat and by clauses are based on similar clauses in SQL [18] and Concurrent C [27]. Similar for loops have been provided, among others, in Pascal R [47] Rigel [43] Plain [52] and Trellis Owl [38] and Vbase [7] 9 3.1.1 Iterating Over Cluster Hierarchies Clusters mirror the hierarchy relationship of the corresponding types. If type x is derived from type y, then the ....
N. H. Gehani and W. D. Roome, "Concurrent C", Software---Practice & Experience 16, 9 (1986), 821-844.
....the order of loop variables, reorder the expressions within suchthat clause, and use any join algorithm that it determines to be optimal. 6. In O , angle brackets denote a set. The suchthat and by clauses were inspired by similar clauses in SQL [14] and Concurrent C [18]. Similar for loops have been provided, among others, in Pascal R [31] Rigel [28] Plain [37] and Trellis Owl [23] Multiple loop variables in for loops are also allowed in Rigel [28] 4.3 Recursive Queries When iterating over a set or a cluster, we allow iteration to also be performed over the ....
N. H. Gehani and W. D. Roome, "Concurrent C", Software---Practice & Experience 16, 9 (1986), 821-844.
No context found.
Geh86. Gehani, N. H. and Roome, W. D., "Concurrent C", Software - Practice and Experience 16(9), pp. 821-844 (Sept. 1986).
No context found.
GEHANI, N. H. AND W. D. ROOME, "Concurrent C," Software - Practice and Experience 16, pp. 821-844 (1986).
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC