Subject: C465: The Software Architecture of a Distributed Problem-Solving Environment Resent-Date: Sat, 30 Sep 2000 14:50:27 -0400 Resent-From: Geoffrey Fox Resent-To: Geoffrey Fox Date: Sat, 17 Jun 2000 15:37:55 -0400 From: "Geoffrey Fox(Concurrency)" Reply-To: fox@csit.fsu.edu Organization: Florida State University To: David Walker To David Walker (Oak Ridge) Dear David We append 2 referee report(s) on your paper C465: The Software Architecture of a Distributed Problem-Solving Environment We would be happy to publish your paper if you addressed the changes suggested by the referees. This looks straightforward to me. Please include a discussion of your changes and their answer to the referees in your resubmittal. If this is persuasive, we can publish your paper without further refereeing. I thank you for your interest in Concurrency.Practice and Experience. Please send all communication -- including the resubmission -- electronically if possible using the address fox@csit.fsu.edu If you should need a "real address", please use: Geoffrey Fox Computational Science and Information Technology Florida State University 400 Dirac Science Library Tallahassee Florida 32306-4130 850-644-4587 but easiest is cell phone 3152546387 Referee One ----------- This is an excellent paper that provides a well-written introduction and description of a prototype distributed PSE. I have a few minor comments: o It may be worth considering adding some thoughts on PSE security, FT, QoS in the discussion and summary section. o Page 3, point 7, change"its input and machine, communication" to"its, input, machine, communication" o Page 3, section 2.1, paragraph starting"There are several ways". I would suggest that you change"compiled for a target architecture" to"prepared for a" o Page 5, paragraph 2, swap"also can" for"can also" o Page 12, paragraph 1,"vetoable" is there such a word? o Page 12, paragraph 2, last sentence, should be"A simple" o Page 12, paragraph starting, "The script" probably reads better with"specify what method" rather than"specify the method"! o Page 14, section 3.1, first paragraph, change"ie" to"i.e.," o Page 19, section 4.5, first paragraph,"pre-existing", why not just"existing"? o Page 19, section 4.5, first paragraph, change"that possess" to"that often possess" - not all legacy codes are as stated. o Page 19, section 4.5, first paragraph, I suggest you list the points on individual lines. o Page 21, section 5.3.1 first paragraph, surely the Java IDL is not a CORBA ORB! It is a CORBA compliant IDL! o Some words about how you debug and profile applications via the PSE would probably be a good idea. Referee Two (scanned in -- tell me if erros) ----------- The rise of the Internet has spawned quite a number of new technologies that could be put to good use to address long-standing issues in design and development of distributed systems. Problem-Solving Environments are prime candidates to benefit from this wealth of technological innovation. This paper presents a high-level architecture for composing, building, scheduling, and executing distributed scientific problem-solving applications. A mosaic of emerging technologies is woven together in a credible way {XML, CORBA, Java Beans, eta). Although only a conceptual design at this point, it shows considerable scope and promise. Associating a performance model with each component is a nice idea in an object system. Prototype implementations of the Equation Builder and MDS-PSE do not go very far in proving the concepts, beyond what others have already accomplished. However the discussion of MDS-PSE provides a concise tutorial on distributed execution with CORBA objects. Although not much new ground is broken, readers should find it useful to see someone paint the entire picture of what a problem- solving environment might look like if you drew upon the best of the current generation of technologies. The component taxonomy is well thought out for today’s problems and computing environments. However, there is an important piece of related work that should really be discussed and compared to the Visual Component Composition Environment. In the late 1980s, several commercial dataflow visualization systems arose, largely based on ideas first built into products by the team that became Advanced Visual Systems, Inc. Although directed at the visualization market, AVS tools are actually PSE composition and execution systems (see http://www.avs.com/products/). There are strong similarities between AVS and VCCE. The AVS system of components, their dataflow paradigm with typed inputs and outputs, and their interactive canvas composition system are all very similar to the VCCE design described in this paper. Of course, VCCE is an updated design. It would be highly desirable to explicitly compare AVS to VCCE in Section 2 of this paper. I think such a discussion would also help to highlight some of the innovative points of the VCCE design for the readers. Others have done extensive work within the AVS environment, pushing its limits as a PSE composition tool. One of the things that they found was that the pure dataflow model is only practical for simple execution structures. For example, when the execution flow needed to loop (as in computational steering), getting the connected dataflow components to do the right thing became very awkward. AVS eventually added Some control mechanisms that ameliorated this problem. A similar problem could occur in the new architecture presented in this paper. However, the event model described in this paper may provide a way around the pure dataflow model.