>From David.E.Smyth@jpl.nasa.gov Tue Jun 3 18:12:29 1997 >From: "David E. Smyth" >Reply-To: David.E.Smyth@jpl.nasa.gov >To: Karl Lieberherr >CC: bradapp@enteract.com, demeter-seminar-core@ccs.neu.edu, > Erann.Gat@jpl.nasa.gov >Subject: Re: Smyth's LoD/ asynchronous comm. > >Karl Lieberherr wrote: >> >> Enclosed is Mitch Wand's interpretation of Smyth's Law of Demeter. >> >> David, is this what you intended? > >Basically, yes. > >> >> ==================== >> >From wand@ccs.neu.edu Mon Jun 2 11:30:27 1997 >> From: Mitchell Wand >> To: Karl Lieberherr >> Subject: Re: improved Law of Demeter >> >> That is a very interesting correspondence, especially about the relationship to >> communicating processes. What Smyth is saying is that communication should be >> what is called in the concurrency community "asynchronous": > >Exactly. > >> ... that is, every send should conceptually be the last action of a process. > >Actually, many methods send multiple outgoing messages. > >Also, if high performance is an issue and you've got very low latency >communications (perhaps you've got a massively parallel system), then it >is more efficient to send messages as soon as possible (e.g., not at the >end of a method) in order to obtain the maximum overlap in computation. > >On the other hand, our fault tolerance research >(http://mds.jpl.nasa.gov/drc) is finding that it is better to wait until >the very end of a message before sending any messages, to prevent >propagation of invalid state in case the method fails. It will be many >months before we have any quantitative handle on how much of a >difference this makes. > >> Smyth's ideas about error handling are also interesting. It might be >> interesting to recast them into Obliq or some other primitive distributed OOPL >> to see how they play out. > >Mitch, I would be interested in anything you discover along these lines. > >Local response to errors by responsible objects had a significant impact >on reducing code size and complexity in the Mars Pathfinder flight >software. When we converted some code from the "old way" to the "local >handling" way, we got rid of pages of code, and significant blocks of >logical complexity. I was suprised at the magnitude of the >simplification. Unfortunately, we didn't run before-and-after >complexity/size metrics on the code in question -- we were in the midst >of a very tight development effort. > >-- >- David.E.Smyth@JPL.nasa.gov http://mds.jpl.nasa.gov/David.E.Smyth >-- Snail: JPL, MS 303-310, 4800 Oak Grove Dr, Pasadena CA 91109 >--- Office: 303-310W -- Voice: (818)393-7944 -- FAX: (818)393-5013 >---- >----- Fault Tolerant Parallel Distributed Martian Web Software, etc. >------ Java + JavaOS + JavaScript + HTML + cgi-bin + perl + Darkstar >------- X2000 -- CISM -- FST -- NM DS1 -- DNP -- MPF > > "I am convinced that life is 10% what happens to me and 90% how > I react to it. And so it is with you..." > Charles Swindoll >