Article View: comp.sys.transputer
Article #1662Re: Anarchic protocol ANY (occam2)
From: Jeremy Webber
Date: Wed, 15 May 1991 23:56
Date: Wed, 15 May 1991 23:56
61 lines
3284 bytes
3284 bytes
In article <9105152020.AA15174@theory.TN.CORNELL.EDU> COS99284@UFRJ.BITNET (Luiz Felipe Perrone) writes:
Process 1:
to.p2 ! h1; h2; s; r; i; b; x
Process 2:
to.p2 ? h1; h2; s::buffer
These two message operations are not compabible. Transputers require that a
receiver of a message expect a message of the same size as the sender is
sending. The above would work if the Occam message operation translated to one
Transputer message operation, but it doesn't (and in general can't).
Rather, my guess is that in process 1 the Occam compiler is generating a
separate "out" instruction for each element of the message list, which means
that in process 2 the element list must contain variables of the same type as
the arguments in process 1.
Hence for the above code, the effect is "undefined".
-jeremy
Placing STOPs here and there I have observed that Process 1 finishes and
so it sends the message successfully. But what I'm trying to explain is why
Process 2 never finishes. I have some wild guesses such as: the code the
compiler generates for the input command in 2, is not appropriate to receive
the message text (s::buffer) because the channel to.p2 was declared as CHAN
OF ANY and not CHAN OF INT; INT; INT::()INT. Another one is that I may be
experiencing some alignment problem due to retyping conversions.
If someone knows why this happens or how I could send one message of varying
length with any number of items of any type to a process that will see this
message as a well defined header plus a text defined as an array of bytes
of varying length, please let me know as soon as possible.
I'm using this in the project of simulation kernel and I have to provide
an elegant, flexible and easy to use interface between the simulator and
the user's logical processes.
Thank you all.
------------------------------------------------------------------------
Luiz Felipe Perrone
MSc student - COPPE - Dept. of Systems Engineering and Computer Science
Universidade Federal do Rio de Janeiro - Brazil
E-mail: COS99284@UFRJ (BITNET)
Mailing address: Rua Senador Vergueiro 157/305
Flamengo - Rio de Janeiro, RJ - Brazil
CEP 22230
Phone number: (55)-(21)-5519063
------------------------------------------------------------------------
--
--
Jeremy Webber ACSnet: jeremy@chook.ua.oz
Digital Arts Film and Television, Internet: jeremy@cs.adelaide.edu.au
3 Milner St, Hindmarsh, SA 5007, Voicenet: +61 8 346 4534
Australia Papernet: +61 8 346 4537 (FAX)
Technical Details
Message-ID:
<JEREMY.91May16092613@chook.adelaide.edu.au>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!samsung!munnari.oz.au!yoyo.aarnet.edu.au!sirius.ucs.adelaide.edu.au!sirius!jeremyReferences:
<9105152020.AA15174@theory.TN.CORNELL.EDU>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!samsung!munnari.oz.au!yoyo.aarnet.edu.au!sirius.ucs.adelaide.edu.au!sirius!jeremy From: jeremy@cs.adelaide.edu.au (Jeremy Webber) Newsgroups: comp.sys.transputer Subject: Re: Anarchic protocol ANY (occam2) Message-ID: <JEREMY.91May16092613@chook.adelaide.edu.au> Date: 15 May 91 23:56:13 GMT References: <9105152020.AA15174@theory.TN.CORNELL.EDU> Sender: news@ucs.adelaide.edu.au Organization: Digital Arts Film and Television Lines: 61 Nntp-Posting-Host: chook.ua.oz.au In-reply-to: COS99284@UFRJ.BITNET's message of 15 May 91 21:04:29 GMT