I have now defined and we are implementing a distributed system
architecture (the ARCTIC Environment) that I hope will soon become the
normal, natural way our lab develops software. The ARCTIC Environment
architecture responds to several problems and potential problems: the
excessively large base library; the difficulty of reaching standards
agreements over a large, diverse community; the need to disseminate
bodies of code while maintaining control over it during the rapid
maintenance updates; and the need to provide access via Internet to
unique resources (e.g. instruments, specialized algorithm
implementations). The distributed approach also brings some
advantages of its own: each distributed component executes in its own
address space and potentially on different machines; but each is tied
to its user in such a way that one does not need to fear the
proliferation of dead processes on cooperating machines on the
network; parallel or sequential processing of subproblems is easily
handled.
Of particular interest in this discussion is that my plan for the
ARCTIC environment rather neatly sidesteps the issue of data
standards. FITS is great (and I have raised it to people in several
other fields as a model of what benefits a community can obtain with a
little cooperation among participants). In the ARCTIC, the developer
of a database can provide a server to read it and a method for
communicating it that can be easily used by others.
The idea of distributed systems is not new, but the success of the
World Wide Web, the increased pervasiveness of Internet, and the
organizing principle of object-oriented programming are converging
to make distributed architectures a practical and desirable mode
of operation.
I will be prepared to discuss this further at ADASS V, including
describing the ARCTIC Environment in whatever detail is of interest.
If I get a chance to contribute to this discussion again before then,
I will try to do so.
-- Dr. James M. Coggins Associate Professor & Associate Chairman for Academic Affairs Department of Computer Science E: coggins@cs.unc.edu University of North Carolina V: 919-962-1738 F: 919-962-1799 Chapel Hill, NC 27599-3175 W: http://www.cs.unc.edu/~coggins/