%APN3_PROCEEDINGS_FORM%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% TEMPLATE.TEX -- APN3 (2003) ASP Conference Proceedings template.
%
% Derived from ADASS VIII (98) ASP Conference Proceedings template
% Updated by N. Manset for ADASS IX (99), F. Primini for ADASS 2000,
% D.Bohlender for ADASS 2001, and H. Payne for ADASS XII and LaTeX2e.
%
% Use this template to create your proceedings paper in LaTeX format
% by following the instructions given below.  Much of the input will
% be enclosed by braces (i.e., { }).  The percent sign, "%", denotes
% the start of a comment; text after it will be ignored by LaTeX.  
% You might also notice in some of the examples below the use of "\ "
% after a period; this prevents LaTeX from interpreting the period as
% the end of a sentence and putting extra space after it.  
% 
% You should check your paper by processing it with LaTeX.  For
% details about how to run LaTeX as well as how to print out the User
% Guide, consult the README file.  You should also consult the sample
% LaTeX papers, sample1.tex and sample2.tex, for examples of including
% figures, html links, special symbols, and other advanced features.
%
% If you do not have access to the LaTeX software or a laser printer
% at your site, you can still prepare your paper following the
% instructions in the User Guide.  In such cases, the editors will
% process the file and make any necessary editorial adjustments.
% 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 
\documentclass[11pt,twoside]{article}  % Leave intact
\usepackage{adassconf}

% If you have the old LaTeX 2.09, and not the current LaTeX2e, comment
% out the \documentclass and \usepackage lines above and uncomment
% the following:

%\documentstyle[11pt,twoside,adassconf]{article}

\begin{document}   % Leave intact

%-----------------------------------------------------------------------
%			    Paper ID Code
%-----------------------------------------------------------------------
% Enter the proper paper identification code.  The ID code for your
% paper is the session number associated with your presentation as
% published in the official conference proceedings.  You can           
% find this number locating your abstract in the printed proceedings
% that you received at the meeting or on-line at the conference web
% site; the ID code is the letter/number sequence proceeding the title 
% of your presentation. 
%
% This will not appear in your paper; however, it allows different
% papers in the proceedings to cross-reference each other.  Note that
% you should only have one \paperID, and it should not include a
% trailing period.
%
% EXAMPLE: \paperID{O4-1}
% EXAMPLE: \paperID{P7-7}
%

\paperID{D12}
%%%% ID=D12

%-----------------------------------------------------------------------
%		            Paper Title 
%-----------------------------------------------------------------------
% Enter the title of the paper.
%
% EXAMPLE: \title{A Breakthrough in Astronomical Software Development}
% 
% If your title is so long as to fill the page header when you print it,
% then please supply a short form as a \titlemark.
%
% EXAMPLE: 
%  \title{Rapid Development for Distributed Computing, with Implications
%         for the Virtual Observatory}
%  \titlemark{Rapid Development for Distributed Computing}
%

\title{Starlink Software}
%\titlemark{ }

%-----------------------------------------------------------------------
%		          Authors of Paper
%-----------------------------------------------------------------------
% Enter the authors followed by their affiliations.  The \author and
% \affil commands may appear multiple times as necessary (see example
% below).  List each author by giving the first name or initials first
% followed by the last name.  Authors with the same affiliations
% should grouped together. 
%
% EXAMPLE: \author{Raymond Plante, Doug Roberts, 
%                  R.\ M.\ Crutcher\altaffilmark{1}}
%          \affil{National Center for Supercomputing Applications, 
%                 University of Illinois Urbana-Champaign, Urbana, IL
%                 61801}
%          \author{Tom Troland}
%          \affil{University of Kentucky}
%
%          \altaffiltext{1}{Astronomy Department, UIUC}
%
% In this example, the first three authors, "Plante", "Roberts", and
% "Crutcher" are affiliated with "NCSA".  "Crutcher" has an alternate 
% affiliation with the "Astronomy Department".  The fourth author,
% "Troland", is affiliated with "University of Kentucky"

\author{David Giaretta, Malcolm Currie, Stephen Rankin}
\affil{Rutherford Appleton Laboratory, Chilton, Didcot, Oxon OX11 0QX, UK }
\author{Peter Draper}
\affil{Durham University, UK}
\author{Norman Gray}
\affil{University of Glasgow, UK}
\author{David Berry}
\affil{University of Central Lancs, UK}
\author{Mark Taylor}
\affil{University of Bristol, UK}

%-----------------------------------------------------------------------
%			 Contact Information
%-----------------------------------------------------------------------
% This information will not appear in the paper but will be used by
% the editors in case you need to be contacted concerning your
% submission.  Enter your name as the contact along with your email
% address.
% 
% EXAMPLE:  \contact{Dennis Crabtree}
%           \email{crabtree@cfht.hawaii.edu}
%

\contact{David Giaretta}
\email{d.giaretta@rl.ac.uk}

%-----------------------------------------------------------------------
%		      Author Index Specification
%-----------------------------------------------------------------------
% Specify how each author name should appear in the author index.  The 
% \paindex{ } should be used to indicate the primary author, and the
% \aindex for all other co-authors.  You MUST use the following
% syntax: 
%
% SYNTAX:  \aindex{Lastname, F. M.}
% 
% where F is the first initial and M is the second initial (if
% used).  This guarantees that authors that appear in multiple papers
% will appear only once in the author index.  
%
% EXAMPLE: \paindex{Crabtree, D.}
%          \aindex{Manset, N.}        
%          \aindex{Veillet, C.}        
%
% NOTE: this information is also used to build the author list that
% appears in the table of contents.  Authors will be listed in the order
% of the \paindex and \aindex commmands.
%

\paindex{Giaretta, D. L.}
\aindex{Currie, M. J.}     % Remove this line if there is only one author
\aindex{Rankin, S.}
\aindex{Draper, P.}
\aindex{Berry, D. S.}
\aindex{Gray, N.}
\aindex{Taylor, M.}

%-----------------------------------------------------------------------
%		      Author list for page header	
%-----------------------------------------------------------------------
% Please supply a list of author last names for the page header. in
% one of these formats:
%
% EXAMPLES:
% \authormark{Lastname}
% \authormark{Lastname1 \& Lastname2}
% \authormark{Lastname1, Lastname2, ... \& LastnameN}
% \authormark{Lastname et al.}
%
% Use the "et al." form in the case of seven or more authors, or if
% the preferred form is too long to fit in the header.

\authormark{Giaretta et al.}

%-----------------------------------------------------------------------
%			Subject Index keywords
%-----------------------------------------------------------------------
% Enter a comma separated list of up to 6 keywords describing your
% paper.  These will NOT be printed as part of your paper; however,
% they will be used to generate the subject index for the proceedings.
% There is no standard list; however, you can consult the indices
% for past proceedings (http://adass.org/adass/proceedings/).
%
% EXAMPLE:  \keywords{visualization, astronomy: radio, parallel
%                     computing, AIPS++, Galactic Center}
%
% In this example, the author noticed that "radio astronomy" appeared
% in the ADASS VII Index as "astronomy" being the major keyword and
% "radio" as the minor keyword.  The colon is used to introduce another
% level into the index.

\keywords{analysis, data: processing, data: visualization, data: reduction, pipelines, Java, ORAC-DR, computing: distributed, pipelines, software: applications, analysis, software: pipeline, Virtual Observatory, Virtual Observatory: table}

%-----------------------------------------------------------------------
%			       Abstract
%-----------------------------------------------------------------------
% Type abstract in the space below.  Consult the User Guide and Latex
% Information file for a list of supported macros (e.g. for typesetting 
% special symbols). Do not leave a blank line between \begin{abstract} 
% and the start of your text.

\begin{abstract}          % Leave intact
% Place the text of your abstract here - NO BLANK LINES
We demonstrate the latest Starlink software, including ORAC-DR pipelines, new Java applications, and distributed pipeline processing.
\end{abstract}

%-----------------------------------------------------------------------
%			      Main Body
%-----------------------------------------------------------------------
% Place the text for the main body of the paper here.  You should use
% the \section command to label the various sections; use of
% \subsection is optional.  Significant words in section titles should
% be capitalized.  Sections and subsections will be numbered
% automatically. 
%
% EXAMPLE:  \section{Introduction}
%           ...
%           \subsection{Our View of the World}
%           ...
%           \section{A New Approach}
%
% It is recommended that you look at the sample papers, sample1.tex
% and sample2.tex, for examples for formatting references, footnotes,
% figures, equations, html links, lists, and other special features.  

\section{Data Model}
Starlink (\htmladdURL{http://www.starlink.ac.uk}) has been developing new infrastructure and applications in Java, to supplement its large collection of Fortran and C applications in order to fit in with the developments in the Virtual Observatory. This infrastructure has been based on our best guess for the VO data model. As this real VO Data Model is developed we expect to modify the infrastructure to support it.
Figure 1 shows how the components fit together.
\begin{figure}
\plotone{D12_f1.eps}
\caption{Relationship of Data Model to infrastructure}
\end{figure}

Other VO standards will be supported as they are developed, for example the VOTable standard. Starlink provides what is almost certainly, at the time of writing, the most complete support for VOTable. An example of its use is the TOPCAT application (\htmladdURL{http://www.starlink.ac.uk/topcat}), shown in part in Figure 2.
\begin{figure}
\plotone{D12_f2.eps}
\caption{TOPCAT}
\end{figure}
\section{Infrastructure}
\subsection{Tables}
TOPCAT is an application which uses the powerful TABLE interface which we have developed. This interface is designed to allow us to write applications which can use just about any underlying format, as long as it is conceptually tabular. Such formats range from FITS tables, ASCII as well as BINARY, VOTables, RDBMS systems such as ORACLE or PostGRES, and it is fairly easy to add support for new formats. 
\subsection{NDX - N-dimensional data including images}
NDX deals with images and data cubes and higher dimensional data arrays. The important aspect here is that, as with TABLES, a variety of underlying formats can be used - in this case data which is conceptually array-like. Unique aspects of NDX include (1) the system is designed to deal with arbitrarily large datasets (2) the system automatically keeps track of data errors and data quality, if they are present. Both (1) and (2) are increasingly being recognised as vital for the Virtual Observatory era.
\subsection{Generalised World Coordinate Systems}

\begin{figure}
\plotone{D12_f3.eps}
\caption{Plot produced by SPLAT by dragging and dropping spectra from a variety of sources with axis coordinates including mm, Angstroms and KeV - AST automatically matches axes}
\end{figure}
Starlink has developed AST (\htmladdURL{http://www.starlink.ac.uk/ast}) to deal with the plethora of World Coordinate Systems and their many encodings, and automatically mapping between them. An example of the capabilities this enables is demonstrated by dragging and dropping images onto each other - automatic coordinate mappings and data resampling aligns the data, as shown in Figure 3.

\subsection{HDX - Structured data}
Inter-related images, tables, text, metadata will become increasingly important.HDX is designed to provide a general purpose container. It includes the possibility of attaching updated metadata, including for example updated astrometry, to read-only image data. Nevertheless HDX has been designed as a fairly minimal container, easily extendible to include more sophisticated things, such as RDF, as they are adopted to capture increasingly complex interrelationships.
\section{Classic Applications and ORAC-DR Pipelines}
In addition to the new Java applications we have a large collection of Classic applications which provide a wide range of capabilities. These applications supply the processing engines used by ORAC-DR. ORAC-DR recipes capture the expertise needed to reduce instrumental data properly.

We are developing recipes for ORAC-DR to allow users to process data from a number of ESO instruments, where there is currently no other pipeline available to users, in particular archive users. We believe that we are showing good, consistent results with our recipes. Of course the final result can also provide estimates of errors and data quality, pixel by pixel, because the Starlink applications, Classic as well as the new ones, automatically keep track of these.
\section{Distributed Processing and mini-GRIDs}
We use a variety of protocols to allow us to distribute processing. These include Web Services, RMI and Jini. The latter has been used as the basis of a way of using surplus processing power in a min-GRID. PC-type machines on the network can be booted with our bootable CD which contains a Linux installation with all Starlink applications and appropriate JavaSpace configuration - nothing need be installed to the local hard disk. Client machines can submit tasks to run either serially or in parallel to the JavaSpace. These are automatically performed on the various servers that have been set up.




%-----------------------------------------------------------------------
%			      References
%-----------------------------------------------------------------------
% List your references below within the reference environment
% (i.e. between the \begin{references} and \end{references} tags).
% Each new reference should begin with a \reference command which sets
% up the proper indentation.  Observe the following order when listing
% bibliographical information for each reference:  author name(s),
% publication year, journal name, volume, and page number for
% articles.  Note that many journal names are available as macros; see
% the User Guide listing "macro-ized" journals.   
%
% EXAMPLE:  \reference Hagiwara, K., \& Zeppenfeld, D.\  1986, 
%                Nucl.Phys., 274, 1
%           \reference H\'enon, M.\  1961, Ann.d'Ap., 24, 369
%           \reference King, I.\ R.\  1966, \aj, 71, 276
%           \reference King, I.\ R.\  1975, in Dynamics of Stellar 
%                Systems, ed.\ A.\ Hayli (Dordrecht: Reidel), 99
%           \reference Tody, D.\  1998, \adassvii, 146
%           \reference Zacharias, N.\ \& Zacharias, M.\ 2003,
%                \adassxii, \paperref{P7.6}
% 
% Note the following tricks used in the example above:
%
%   o  \& is used to format an ampersand symbol (&).
%   o  \'e puts an accent agu over the letter e.  See the User Guide
%      and the sample files for details on formatting special
%      characters.  
%   o  "\ " after a period prevents LaTeX from interpreting the period 
%      as an end of a sentence.
%   o  \aj is a macro that expands to "Astron. J."  See the User Guide
%      for a full list of journal macros
%   o  \adassvii is a macro that expands to the full title, editor,
%      and publishing information for the ADASS VII conference
%      proceedings.  Such macros are defined for ADASS conferences I
%      through XI.
%   o  When referencing a paper in the current volume, use the
%      \adassxii and \paperref macros.  The argument to \paperref is
%      the paper ID code for the paper you are referencing.  See the 
%      note in the "Paper ID Code" section above for details on how to 
%      determine the paper ID code for the paper you reference.  
%
%\begin{references}




%\end{references}

% Do not place any material after the references section

\end{document}  % Leave intact
