[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Synchronous Communication = Swap
Synchronous communication is an essential concept with CSP.
In case of synchronous communication, two processes synchronise.
I.e., during a certain moment in time they are both engaged in
During such a moment of sync, the two Processes can in principle
EXCHANGE (BIDIRECTIONAL COMMUNICATION) data. However, in Occam
and most other CSP-based languages/libraries, data is only TRANSFERED
I think it would be much more natural to implement bidirectional
As a first approximation, I would expect:
However, when implementing an Alt, people sometimes differentiate between
the input and the output side. In order to be able to implement the Alt
efficiently, one needs to distinguish the INITATOR side from the OBSERVER
side. The initiator-process cannot perform an Alt; the observer-process
The result would be:
Note: the "swap" looks much more natural like a method call.
I think this mail is an important step toward the union
of OO and CSP.
Note: Claim: the "?" and "!" on top of core CSP are pretty much nonsense.
Gerald's Channel_of_ObjectObject has been inspired by my remarks.
(See CTJ 0.9 rev. 17)
He has not yet fully implemented my view.
What does the rest of this world think...