the Common Gateway Interface, How a web server runs a script or program and sends the output to a web browser, particularly the current very klunky way to pass forms-entries around the Web within HTML. It's why the user sees very long cryptic lines in the "Location:" browser field, it's slow, it demands annoying "cookies". A cleaner alternative is included in CORBA. http://www.jmarshall.com/easy/cgi/, http://hoohoo.ncsa.uiuc.edu/cgi/
CORBA:
Common Object Request Broker Architecture, a standard and an infrastructure for components (programs) that cooperate across the web in a "three-tiered" model (client, server, and middleware: e.g. the broker-middleman). Establishes an "object-oriented" framework, a standard for its objects to describe themselves upon query, essentially how these web-aware objects must look from the outside, and how they play together. http://www.omg.org/corba/beginners.html
GUI:
Graphical User Interface, which typically consists of a linked set of window-based forms (widgets) containing graphically displayed activation objects such as pull-down menus, directory browsing filters, tables, sliders, dials, and push buttons, that allow a user to see and modify numerical and text inputs in an intuitive way, and to similarly select and perhaps plot portions of the output from a process. http://medicalcomputingtoday.com/0agui.html
IDL:
Interface Description Language: how web-objects' interfaces are written, something like a contract. This "language" establishes interface data types (similar to the types definable in C++), not data processing (it doesn't describe math operations or loops). Not to be confused with Research Systems Inc's Interactive Data Language, which is a commercial scientific visualization package. http://www.omg.org/corba/cichpter.html, http://java.sun.com/docs/books/tutorial/idl/intro/intro.html
IIOP:
Internet Inter-ORB Protocol: the standard protocol that specifies how web-objects communicate across TCP/IP networks. http://www.omg.org/corba/cichpter.html
Java:
A web-friendly object-oriented programming language. By the mechanism of the Java Virtual Machine, Java applications are portable to virtually any computer system. Java is commonly used to write applets. http://java.sun.com/docs/books/tutorial/index.html
Legion:
"a worldwide virtual computer." U. Virginia object-based metasystem, aims to make "millions of hosts and trillions of data objects" appear to any user as a single computer. A particular approach to making network connected resources available easily; not clear if GEM would use, or just learn lessons from them on how to do what we want to do. http://www.cs.virginia.edu/~legion/
Nile:
(calls itself "National Challenge Computing Project", not an acronym): 24 institutions including Cornell, UTexas, are using CORBA, widely distributed workstations and data (aim is for 100 Terabytes in a distributed database) to cooperate seemlessly to support High Energy Physics computations within the CLEO project. "Nile will allow any resource to be accessed and used transparently by any member of the collaboration, from anywhere within the collaboration." May be a good model for GEM to learn from; at first glance, looks much like what we want to do, but in a different field of science. http://www.nile.cornell.edu/
POOMA:
Parallel Object Oriented Methods and Applications: Los Alamos' approach to doing parallel scientific computing by using high-level object descriptions of operations. The aim is high portability: express the work to be done conceptually in this way, and you can debug on a workstation, but run immediately on a massively parallel computer. Currently does things like particle plasma simulations on the DOE ASCI machines (the very biggest parallel computers). A possible model for the very high performance part of GEM code development. http://www.acl.lanl.gov/PoomaFramework/
Object web:
A mosaic of emerging software technologies nucleating around the internet, Java, and CORBA which can be used to build potentially huge distributed systems upon cooperating heterogeneous computers. Termed an eventual "computer heaven" by the authors of the web-book referenced below, but currently embrionic and very much "under construction". Therefore it's as full of pitfalls as promise. http://www.npac.syr.edu/users/shrideep/book/
POOMA:
Parallel Object Oriented Methods and Applications: Los Alamos' approach to doing parallel scientific computing by using high-level object descriptions of operations. The aim is high portability: express the work to be done conceptually in this way, and you can debug on a workstation, but run immediately on a massively parallel computer. Currently does things like particle plasma simulations on the DOE ASCI machines (the very biggest parallel computers). A possible model for the very high performance part of GEM code development. http://www.acl.lanl.gov/PoomaFramework/
XML:
eXtensible Markup Language. A new emerging Web standard markup language, already under adoption by Microsoft, IBM, Oracle and many others. While originally developed for document presentation, XML may be well applied to the organization of scientific data both locally and across the Web. Some benefits of using XML are separation of data from presentation,commercial product support, improved search capability, platform independence, ease-of-use, and ease-of-maintenance. http://www.xml.com/xml/pub, http://www.w3.org/XML/