Getting Started Documentation Glish Learn More Programming Contact Us
Version 1.9 Build 1556
News FAQ
Search Home


next up previous contents home.gif
Next: General Interface Considerations Up: How to Write an AIPS++ Application Previous: Purpose


Introduction

This document describes how an applications programmer can create an application. The term ``application'' is used loosely to mean any type of computation that is directly invoked by the user. There is a large dynamic range of functionality which is encompassed by this definition: a few lines of Glish script at one end of the spectrum, a very complicated GUI which coordinates activities taking place in many C++ clients at the other.

Writing a few lines of Glish script, such as a throwaway Glish function, is covered in the Glish manual and Glish tutorial.

It is possible to write a fully fledged application solely in Glish. It is reasonably easy to do and can be made easier by using a standard format or idiom, called the glish closure form. This enables the programmer to get most of the benefits of objects, and gives the user a standard type of interface to work with. We prefer that you write in this form if possible. It is described further in section 4.

If your application must interact with C++ code then you will probably have to write in the distributed object form. The following steps are required:

1.
Create C++ distributed objects (DO). This is the compiled code that actually carries out the computation.
2.
Bind those DO's to Glish proxy object so users can invoke them directly. This level is the ``programming astronomer'' level, i.e. used for ad hoc calculations or scripts my moderate to advanced users. Proxy objects are the glish ``objects'' that users directly manipulate.
3.
Attach the DO to the parameters mechanism so that it is usable by more naive users.
This is described in section 7.

Note that running applications from the Unix command line is not yet supported. This is only because it has not been judged to be high enough priority. Lobby us if you feel this is a mistake.

Both of these forms of applications can be usefully augmented by a GUI. However, GUI development is outside the scope of this paper. The other two forms should be adequately documented here. We solicit feedback on areas that you feel are inadequately documented. We are also very interested in cases where you feel the system produces too little (or too much) diagnostic information to the users, or where you feel the diagnostic messages produced by the system are incomprehensible.


next up previous contents home.gif
Next: General Interface Considerations Up: How to Write an AIPS++ Application Previous: Purpose   Contents
Please send questions or comments about AIPS++ to aips2-request@nrao.edu.
Copyright © 1995-2000 Associated Universities Inc., Washington, D.C.

Return to AIPS++ Home Page
2006-10-15