quester@cadlab.UUCP (Remco Quester) (06/12/91)
subject: Questions regarding the usefulness of ISODE to build a (low level) -------- communication basis for a distributed programming language (DPL) based on C++. Dear members of the ISODE discussion group, I do research on distributed programming languages (DPL) which is aimed to build a DPL based on C++ to support cooperation of integrated tools (like editors, simulators, compilers, ...) for VLSI-design in an open integrated framework for building CAD-environments. My understanding of a DPL is what is described in [Tanenbaum89] and where examples of DPLs are given: Concurrent C, SR, ORCA, CSP, ADA ... . Those DPLs support (syntactically) a broad supply of different (more or less) high level communication semantics (guarded receive of messages, Rendezvous, RPC, shared objects, ...). My intention is: "to build the one-to-many RPC/Rendezvous-like communication aspect of my DPL on top of the transport layer (or higher layers) of the ISO/OSI reference model using multicast communication semantics (n * point-to-point)". I intend to use ISODE to implement the communication aspects of my DPL. Reference ========= [Tanenbaum89] Bal, Steiner, Tanenbaum, "Programming Languages for Distributed Computing Systems", ACM Computing Survey 21(3), pp. 261-322, September 1989. So my questions are: ==================== 1. As far as I know there is no DPL which communication aspects are based on ISO/OSI-communication. Therefore I want to start with a fundamental question. Are there fundamental reasons against basing the (low level) communication aspects of a DPL on the transport layer (or higher ones) using ISODE ? (Why and are there articles which discuss/demonstrate usefulness or not?) 2. Should the inherent performance-lack of the ISO/OSI-communication be an arguement not to use it for DPLs? (Are there other arguements that dominate performance-issues?) 3. How can I use ISODE to build protocols that use (reliable) multicast communication? (Do you have some simple examples?) 4. How can I use ISODE to build protocols that use nonblocking/asynchron communication (send/receive)? (Do you have some simple examples?) 5. Can I use the ISODE-libraries ( those that are based on light-weight processes) to handle a send/receive-operation as a co-routine? (Do you have some simple examples?) 6. Can there problems arise if I use C++-Code and ISODE libraries together? (resp. will there be a C++ version of ISODE) ? 7. Do you know about research in building (object-based, object-oriented, ...) DPLs which use ISO/OSI-communication (resp. ISODE)? I would be pleased if you have references/authors/examples that answer (parts of) the questions or if you can give some short remarks to the questions. A quick response would be very kind. Yours Sincerely R. Quester ----------------------------------------------------------------------------- Remco Quester e-mail: quester@cadlab.cadlab.de University of Paderborn (CADLAB) Bahnhofstrasse 32 phone: +49 5251 284 135 D-4790 Paderborn Germany fax: +49 5251 284 140 -----------------------------------------------------------------------------
J.Crowcroft@CS.UCL.AC.UK (Jon Crowcroft) (06/12/91)
>My intention is: >"to build the one-to-many RPC/Rendezvous-like communication aspect of my > DPL on top of the transport layer (or higher layers) of the ISO/OSI reference > model using multicast communication semantic >s (n * point-to-point)". >I intend to use ISODE to implement the communication aspects of my DPL. your best bet is to examine the ANSA/ISA work on GEX - the Group EXecution RPC part of the ANSA/RPC system it is being slowly fed to the ODP standards (GEX was the group version of REX the RPC transport...this may have changed in more recent documents than i've seen).... that is about the only thing i've ever seen from standards literate people that addresses the problems of multicast above level 3 in the stack!! i would be extremely interested if you find any practical work in multicast at/above transport service...(i mean multicast that not only does group entitiy addressing, buyt admitsd of packet optimisation the way IP multicast can..) thanks jon.
fbaker@acc.com (Fred Baker) (06/12/91)
>> "to build the one-to-many RPC/Rendezvous-like communication aspect of >> my DPL on top of the transport layer (or higher layers) of the ISO/OSI >> reference model using multicast communication semantics (n * >> point-to-point)". I intend to use ISODE to implement the communication >> aspects of my DPL. I am not altogether sure what you mean, in your note, by ISO/OSI communication. I think you are refering to the use of one of the ISO stacks (X.25/CONS/TP0 or CLNS/TP4 or CLNS/CLTS); if so, the fundamental premise of ISODE is that the underlying service isn't particularly relevant if it can be made to provide a communication service having the intended characteristics - isode in fact runs over IP/TCP or IP/UDP. The issue you are going to get into using ISODE, I suspect, is that it doesn't define a multicast service - it defines ways to have duplex communications with many peers, not n-plex communications with a set of peers. You are going to have to engineer the n-plex service. >> As far as I know there is no DPL which communication aspects are based >> on ISO/OSI-communication. Therefore I want to start with a fundamental >> question. While it's not quite what you asked, you might want to consider OCCAM. It describes a relationship between processes which are not presumed to be in the same processor, but which ARE presumed to be connected by reliable simplex data streams. Implementation of what they call the Communicating Process Architecture on top of a classic transport service should be fairly straightforward. >> Are there fundamental reasons against basing the (low level) >> communication aspects of a DPL on the transport layer (or higher ones) >> using ISODE ? (Why and are there articles which discuss/demonstrate >> usefulness or not?) No, as experience with Courier (XNS) and RPC (Sun) have demonstrated in practice. SNMP was originally implemented using pieces of ISODE. >> Should the inherent performance-lack of the ISO/OSI-communication be an >> arguement not to use it for DPLs? (Are there other arguements that >> dominate performance-issues?) X.25 is pretty miserable for performance, but TP4 on CLNS is not inherently much different than TCP on IP; the big differences are in the checksum calculations, the NSAP/Address lookup, and the fact that the installed software base lacks maturity. If X.25 is limiting your options, use something that doesn't. >> How can I use ISODE to build protocols that use (reliable) multicast >> communication? (Do you have some simple examples?) >> Do you know about research in building (object-based, object-oriented, >> ...) DPLs which use ISO/OSI-communication (resp. ISODE)? I would suggest that you contact Steve Deering at Xerox PARC. He has done a fair amount of research on general multicast technologies, and written some RFCs dated 1985->last year. You should also contact Craig Partridge. When SNMP and CMOT were first being seriously considered by the IETF, he was championing a third approach called HEMS, in which he viewed the network as a database accessable by a query language/protocol. He probably has some insights which would apply to your application. Fred
berlen@teculx.TECSIEL.IT (06/19/91)
Remco Quester writes: > 1. > As far as I know there is no DPL which communication aspects are based on > ISO/OSI-communication. Therefore I want to start with a fundamental question. > > Are there fundamental reasons against basing the (low level) communication > aspects of a DPL on the transport layer (or higher ones) using ISODE ? > (Why and are there articles which discuss/demonstrate usefulness or not?) > Actually ISO/SC21/WG6 "OSI Session, Presentation and Common Application Services" is Actively working on the standardization of a Remote Procedure Call which uses the OSI Stack (Presentation, Session etc.). This work is coordinated with the ODP one. Moreover the OSF Distributed Computing Environment (DCE) Standardized an environment composed of several components: RPC, Security, Distributed File System, Thread, Time, Directory, and PC integration which were thought to be portable on several environment (not only Unix OSF/1) and several communication protocols; it is now available on TCP-IP and UDP-IP and is easily portable on OSI Transport (TP4 or TP2); it should also be portable on OSI Presentation. About DCE RPC it includes a Interface Definition Language (IDL), which is a potential point of convergence between ISO and OSF/DCE work, and a compiler to automatically generate application data structures and run time support to completely hide the real communication mechanism used. This allows you to write your application masking the communication stack and the to easily port it. The DCE Developers' Kit is distributed to OSF members and now also to third party; the first release will be shipped at the end of August or beginning of September, snapshot 4 (i.e. 4rd pre-releases) is going to be delivered very soon. ============================================================================== Oronzo Berlen Tecsiel s.p.a. tt (an IRI-Finsiel Company) tttttt Via Santa Maria, 19 tt I-56126 PISA (PI) tt Italy ttt Phone: +39-50-512-511 (operator) +39-50-512-529 (direct) Fax : +39-50-589-016 +39-50-589-017 E-MAIL: berlen@tecsiel.it (Arpanet)