kent@swrinde.nde.swri.edu (Kent D. Polk) (04/24/91)
In article <MWM.91Apr23135328@raven.pa.dec.com> mwm@pa.dec.com (Mike (My Watch Has Windows) Meyer) writes: >In article <1991Apr22.071413.22219@agate.berkeley.edu> pete@violet.berkeley.edu (Pete Goodeve) writes: > > However, there *are* multitasking > applications that one can't do with ARexx, but can with something like > ppIPC. > >I don't think you've listed any such applications. At least, you >haven't listed any that can't be done with the RexxMsg protocol. I will. Seems that this is getting old, but I sure couldn't implement my systems under Arexx. Not just the speed problems either. One message can contain: - a variable number of commands - structured information which explains how to implement each of those commands - multiple 'chunks' of different types of data - structured information on each of the data chunks - the data pointers to work on - status and parameters of online service operations (hard to explain this one, but an example is a gating filter which provides gate and threshold parameters for the subsequent filters) Each filter can scan the message items see what types of commands & determine what data chunks it is prepared to operate on. (Sounds kinda like preparsed IFF, no?) Coming soon (probably): - more versatile way of handling data chunks - the message-handling capabilities will be vastly improved - linked list addition of information/data to the message by any filter in the chain allowing the ability to share intermediate calculations and scratchpad data with any other filter down the chain which knows to look for such. Such as an FFT filter making available its sin/cosine results for each waveform in the event that it operated on while sending the freq domain results back down the chain. (Hey Don, need a beta-tester for that 4 DSP card? :^) Why this complexity in a message? ---------------------------------------------- Note that all this stuff has to be kept as a unit due to the 'event' oriented nature of the system. An event triggers a data acq. activity which can comprise many different type of data & send it down the chain so that servers (filters) can operate on all the data in that 'event' that the filter is prepared to handle. In most situations, a filter MUST treat all the available data representing the event as a whole. For example: an event occurs - a crack in a cylinder broadcasts multiple types of waveforms (a 'micro earthquake' (you folks in San Francisco paying attention now? :^) which are picked up by multiple piezoelectric transducers. - a 'black box' recognizes these events, 'freezes' a waveform digitizer, and signals the computer via an interrupt. - a sampler obtains multiple waveforms from the digitizer, reads a block of hardware buffers which now contain all sorts of information the black box determined about the signals, gets pressure, time, etc. puts all this stuff in a message & sends it down the chain. - a service operation looks at some of this info & uses it to assist in figuring out which of the waveforms appear to be most promising in determining what caused all this stuff in the first place & sets flags and temporary parameters in a service operation slot provided. - a filter determines the delta time info between the selected waveforms and performs triangulation on those delta times. Adds the location coordinates to the message. - a plotting filter takes the triangulation coordinates and plots on a representation of the cylinder where it determined the event occured. Now, with an A2500/30, all this (there is actually more than this) can keep up with 8 channels of data with a duty cycle of 7 ms for a while. (The chain mechanism provides massive buffering). Plotting the event locations doesn't follow too far behind either... ------------------------------------------------------------------ Now, what does this have to do with hyper functionality? It simply demonstrates what level of complexity I want and need for the servers which I want to write - I have complete freedom in choosing each of these filters. I don't like the filter I wrote for sorting out the waveforms & want to try a different one, I shut it down & start up another - even while data is running through the chain. I see no way that Arexx can provide this. AREXX is certainly nice & provides very badly needed capabilities, but comparing AREXX to PPIPC messaging is kind of like comparing a Hercules to a fully-armed F15 - they serve different purposes. Well, I had better go home before my wife thinks I kissed the blacktop trying to avoid a cage run-amuck. Kent Polk: Southwest Research Institute (512) 522-2882 Internet : kent@swrinde.nde.swri.edu UUCP : $ {cs.utexas.edu, gatech!petro, sun!texsun}!swrinde!kent
dac@prolix.pub.uu.oz.au (Andrew Clayton) (04/24/91)
In article <2516@swrinde.nde.swri.edu>, Kent D. Polk writes: > I see no way that Arexx can provide this. AREXX is certainly nice & > provides very badly needed capabilities, but comparing AREXX to PPIPC > messaging is kind of like comparing a Hercules to a fully-armed F15 - > they serve different purposes. I don't see how you can expect Arexx to serve your specific purpose. It's a script language [a damn nice one tho!], not a compilable code generator. Which is my way of saying "I think you're being unfair." I do realise that you're NOT advocating that Arexx should be able to do these things, but even so, the purposeful manipulation of a scenario where Arexx is so clearly inadequate for the task, is quite silly. Whoever needs this as 'proof' that Arexx can't do everything is evidently braindead. Followups to comp.sys.amiga.flamewars, er, advocacy. > Kent Polk: Southwest Research Institute (512) 522-2882 Dac --