Subject: Re: Thesis. Resent-Date: Mon, 14 Feb 2000 19:09:55 -0500 Resent-From: Geoffrey Fox Resent-To: p_gcf@npac.syr.edu Date: Mon, 14 Feb 2000 17:37:14 -0500 From: Yuh-Jye Chang Organization: Lucent Technologies To: Geoffrey Fox CC: Dave Warner , Edward Lipson Dr. Fox: The change log are following, the page is according old version of my thesis (http://www.pulsar.org/ej/Thesis-14-97.doc), the new version of my thesis is at http://www.pulsar.org/ej/Thesis-16-97.doc (I have add several figures from my thesis slides and reorginize the figures and tables) : page i, base -> based, between C/C++, Java -> among C, C++, and Java page 1, textural -> textual, ... some typo and errors fixed. page 2, All modules are logically equal ("In what sense?") -> Because they all inherit from the same base module class. Add reference to Eyal and Brooke. Page 3, some errors fixed. Page 7, Add new sub section on new Benchmark Analysis. (C++ compiler optimize away the function call. After I changed it into virtual function call, the timing is corrected now) Page 9, Some errors fixed. Page 11. "Speed doesn't matter so much if it is involved infrequently", No change for this command. Page 12. "True, but C++ experience suggests frequent abuse", No change for this command. Page 12. "Looks better indeed but implementation is probably the same." No change for this command. Page 13. "Java doesn't eliminate pointers" -> No change for this command. In Java, it does not have pointers for programmers. page 13. "These are side effects, not returns" -> No Change for this command. I think this is one of the methods that function return values. Page 13. "Primitive can also be in objects" -> I don't know what this command for. Page 15. "Ref Count doesn't always work." -> I don't think so. With proper class design, it should work. Page 15. C++ could become robust... -> carefully programmed C++ is robust and ... Page 17. build-in -> built-in Page 20. Typo fixed. Page 21. Remove "implicitly" Page 22. Change class object into object Page 24. "How can a action not be active?" Yes. we do have active action and reactive action. Page 27. all possible overhead -> possible overhead. Page 31. what so ever -> whatsoever Page 38. more valid -> more important Page 41. defines notion -> defines notation Page 41. Objectory Process -> No change. This is the orginal wording from UML web site. Page 47. broadcast -> broadcasts Page 48. In stead -> Instead Page 49. build-in -> built-in Page 54. "Surely its supposed to accomplish something as well" ...,high-performance, multi-threaded, and dynamic -> to make it a simple, object-oriented, network-ready, robust, secure, architecture neutral, portable, high-performance, multi-threaded, and dynamic platform for human computer interface. Page 60. "This says nothing." Multithreading is a way of building applications with multiple threads -> Multithreading is a way of building applications with multiple light-weighted processes. These light-weighted processes share the same data segment and execute concurrently. Page 63. Data -> Date Page 69. strong typed -> strongly typed Page 70. polymorph -> polymorphic Page 73. correspond record -> corresponding record. Page 82. "Are there there description taken from other sources, 4.1 seems out of place" -> In 4.1 Case Descriptions, I add the body text to express its source. The following two cases were taken from the pulsar web pages. Eyalˇ¦s page is at http://www.pulsar.org/eyal/index.html and Brookˇ¦s page is at http://www.pulsar.org/brooke/index.html. Page 83. NeatDOS -> add Reference to this item. Page 89. "Some of this has been said before" -> Yes, but I would like to restate some of them to reenforce my points. Page 95. By using this observation, we could add... -> Using this observation, wee add... Page 104. "This is to say NeatTools doesn't have data structure?" -> NeatTools does have internal data structure like Wave, Date, and Complex number. It only lake of systematic modules to support arbitarily defined data aggregations. Page 104. "Layout and interconnection are hard for VLSI, too. -> I know that. But that issue is not a major point in NeatTools. Page 158. mansion -> mension Page 159. "If modules in different threads can send events, who is responsible for synchronization?" -> Eventually, the events is carry out through call destination module's engine() method. The destination module is the one responsible for synchronization when necessary. Page 159. "No, it doesn't. Unless value change without telling you." the AND has to go through all the input connection to figure out the result value. -> For example, one of the input change from true to false, the destination AND module could not determine its value by this event along. It has to go through all the connection and find out the value. ----------------------------------------------------------------------------- Specific Question: 1. What is the basis for protecting against messages are not disappear? Relationship between ladder diagrams, concurrent process, and underlying execution mechanism? -> in 2.4.2, I add two figure from my Thesis slides. Also I append the following text to address this issue: ... Also, the function call oriented design guarantee the message will never disappear. In C++, when a function is called, it will always return after it finish except there are unprocessed exceptions or system interrupts that force the program to abort. Thus, the message broadcast is always "synchronous". The concurrent process and underlying mechanism is discussed in appendix (module programming introduction). 2. What is the precise meaning of "Synchronous" in the context of this thesis? The answer is stated in 1. Since a module has to invoke broadcast() to issue the message, when broadcast method returned, the event broadcast is surely finish. So it is "Synchronous" message broadcast. 3. Is there a rigorous semantics description modules that are composed? Is there some notion of equivalence? I believe those description is in appendix. But, I don't think it is relevent to the main topic of this thesis. 4. Need clear statement on research contributions of this work. Some of this is scattered throughout in conclusions of each section. Is it necessary to add a contribution section in every chapter? I believe I have put them in the last conclusion. 5. Need clear statement about related work. Thesis is titled "Architecture of ..." a. Are there other architecture or approaches that would have satisfied the related requirement? b. What other previous work has been done in this area to meet similar requirements (on p3)? I have do my best to put in the related architectures like CVS, LabView. And put in the related technologies like CORBA, COM/DCOM, UML, CPN, and Java Bean. I don't think it necessary to add more discussions. Yuh-Jye Geoffrey Fox wrote: > It will help a lot if you could just take comments you got and say > how you have addressed them > Take original text of comments and add annotations > If you didn't make some change just say so -- > > Reply by Geoffrey Fox gcf@npac.syr.edu, http://www.npac.syr.edu, > Phones Cell 3152546387 Office 3154432163 Npac 3154431723 Fax 3154434741 -- =================================== Yuh-Jye Chang: Bell Laboratories 600 Mountain Avenue, Room 2A-246 Murray Hill, NJ 07974-0636, USA ychang@research.bell-labs.com 908-582-7076 ===================================