%ADASS_PROCEEDINGS_FORM%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% SAMPLE2.TEX -- ADASS XII (2002) ASP Conference Proceedings sample
% paper with complicated markup. Based on ADASS XI (01) version.
%
% This is a comprehensive example, meaning that we have made use of each
% of the capabilities of the LaTeX + the ASPCONF macro package that we think
% you may need to use.  If you want to see a "base-bones" sample paper,
% take a look at sample1.tex.
%
% 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.  
%
% 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.
%

\paperID{P1-21}
%%%% ID=P1-21

%-----------------------------------------------------------------------
%		            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{The NOAO Pipeline Data Manager}
\titlemark{The NOAO Pipeline Data Manager}

%-----------------------------------------------------------------------
%		          Authors of Paper
%-----------------------------------------------------------------------
% Enter the authors followed by their affiliations.  The \author and
% \affil commands may appear multiple times as necessary.  List each
% author by giving the first name or initials first followed by the
% last name.  Authors with the same affiliations should grouped
% together. 
%
% Try to limit the front matter to no more than three \author
% commands.  Group authors with the same affiliations.  Too many
% \author commands fills the first page of the paper with little
% actual text.

\author{R.\ Hiriart, F.\ Valdes, F.\ Pierfederici, C.\ Smith and M.\ Miller}
\affil{National Optical Astronomy Observatories, Tucson, AZ 85719}

% Notice that some of these authors have alternate affiliations, which
% are identified by the \altaffilmark after each name.  The actual alternate
% affiliation information is typeset in footnotes at the bottom of the
% first page, and the text itself is specified in \altaffiltext commands.
% There is a separate \altaffiltext for each alternate affiliation
% indicated above.


%-----------------------------------------------------------------------
%			 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.

\contact{Rafael Hiriart}
\email{rhiriart@ctio.noao.edu}

%-----------------------------------------------------------------------
%		      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.  

\paindex{Hiriart, R.}
\aindex{Valdes, F.}
\aindex{Pierfederici, F.}
\aindex{Smith, C.}
\aindex{Miller, 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{Hiriart, Valdes, Pierfederici, Smith \& Miller}

%-----------------------------------------------------------------------
%			Subject Index keywords
%-----------------------------------------------------------------------
% Enter 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 ADASS
% proceedings (http://iraf.noao.edu/ADASS/adass.html). 

\keywords{pipelines, distributed: systems, databases, CORBA}

%-----------------------------------------------------------------------
%			       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
The Data Manager for NOAO Pipeline system is a set of interrelated components 
that are being developed to fulfill the pipeline system data needs. It includes:
(1) management of calibration files (flat, bias, bad pixel mask and xtalk calibration data.);
(2) management of the pipeline stages' configuration parameters; and
(3) management of the pipeline processing historic information, for each of the 
data products generated by the pipeline.

The Data Manager components uses a distributed, 
CORBA based architecture, providing a 
flexible and extensible object oriented framework, 
capable of accommodating the present 
and future pipeline data requirements.
The Data Manager communicates with the pipeline modules, with internal and external 
databases, and with other NOAO systems such as the NOAO Archive and the NOAO Data 
Transport System.
\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. 

\section{Introduction}

The NOAO Pipeline is a parallel and distributed system that 
processes observations from the two NOAO 8K-square CCD wide-field mosaic 
imagers in near real time. It performs basic CCD reduction, instrumental 
features removal, astrometric calibration, and zero point 
calibration (Pierfederici 2004; Valdes, Miller, this conference).

The core of system is composed of several processing modules, which are connected to
form sub-pipelines.
The
OPUS\footnote{\tt http://www.stsci.edu/resources/software\_hardware/opus}
system is used to control the
process execution environment for each of the modules.

The Data Manager is a subsystem of the NOAO Pipeline that
provides several data management services to the system.  These services
include storage and retrieval of calibration files, management of pipeline
module configuration parameters, and recording of processing information.



\section{Architecture}

The extensibility of the Data Manager has been an important goal
in the design, in order to facilitate integration of new services as the
pipeline system evolves and new requirements arise. Therefore, the Data Manager
contains several components implemented as distributed CORBA objects.

Figure~\ref{P1-21:arch} presents the overall architecture of the Data Manager.
The system is structured in three layers: the {\em Interface} layer, the
{\em Service} layer, and the {\em Resource} layer. The Interface layer
exposes the Data Manager services to the clients by calling the appropriate component(s) in
the Service layer upon receiving a request. The Service layer, on the other hand,
uses the components in the Resource Layer to access a number of internal services, such
as persistent data in relational databases, and file storage in multiple repositories.

The Interface layer
is composed of the following subsystems:

\begin{itemize}
\item {\bf DMSocketRouter:} Receives requests from 
the pipeline modules through a
lightweight socket based protocol. Request processing is asynchronous and concurrent,
which enables the handling of a large number of connections and achieve good
performance.
\item {\bf DMOpusBlackboards:} An experimental
interface, designed to exploit the benefits of the blackboard architecture and components of OPUS,
to integrate the Data Manager with the rest of the system.  This feature provides
another method of communication with pipeline modules.
\item {\bf DMAdministration:} Exposes interfaces 
for administration GUIs used by system
operators.
\end{itemize}

\noindent %% FO
The subsystems in the Service layer implements the ``business logic''
of Data Manager operations. The services are based on a rich 
object-oriented data model that is maintained in a PostgreSQL database. 
The subsystems of this layer are:

\begin{itemize}
\item {\bf DMCalibrations:} Exposes interfaces for the
management of calibration libraries.
		\item {\bf DMParamManager:} Maintains
a set of configuration parameters for each pipeline module.
\item {\bf DMHistorian:} Allows the 
system to keep a record of all relevant variables needed to review the 
pipeline processing history, and to
address provenance issues for pipeline-generated data products.
\item {\bf DMConfiguration:} It maintains a model 
with the overall current configuration of the pipeline system.
The pipeline modules can be dynamically chained together at run-time, 
using an XML based configuration system. The XML configuration feeds the 
DMConfiguration subsystem's data model, and this information is stored 
as part of the processing provenance of the generated data products 
with each pipeline run.
\end{itemize}

\begin{figure}
\epsscale{1.0}
\plotone{P1-21_f1.eps}
\caption{Overall architecture of the Data Manager system.} \label{P1-21:arch}
\end{figure}

\noindent %% FO
The Service layer uses components from the
Resource layer, which is composed by the following subsystems:

\begin{itemize}
\item {\bf DMFileRepositories} Maintains
collections of files stored in multiple repositories, organized in hierarchical directories
on the file system. Maintains a catalog of stored files.
\item {\bf DMDBManager} Provides access to
relational databases. This component is divided in two parts: the interface with the DBMS,
that provides persistence services to objects in the upper layers, 
and maintains a pool of database connections; and a set of stored procedures that are used
for processing within the database.
\item {\bf DMLogger} Provides logging services
for all other components of the Data Manager.
\item {\bf DMExtResources} Accesses external
resources such as external catalogs, the NOAO Data Transport system, and the NOAO
Science Archive.
\end{itemize}

\section{Conclusions}

The NOAO Data Manager is being developed as part of the NOAO Pipeline project,
with the goal of providing an extensible, robust, and high performance solution
for the data management needs of the pipeline system, as well as to allow
the integration of other NOAO systems that depends on the data generated in the
pipeline executions, such as the NOAO Archive system.

The NOAO Data Manager is being developed using distributed object middleware
and relational databases. These technologies provide the necessary framework over
which this application can be successfully constructed.


% Finally, we have a little acknowledgments section.

% That's the end of the main body of the paper.  Now we will have some
% back matter.
%
%-----------------------------------------------------------------------
%			      References
%-----------------------------------------------------------------------
% Now comes the reference list.  Since we typed out the citations ourselves,
% the reference list is enclosed in a "references" environment.  Each
% new reference begins with a \reference command which sets up the proper
% indentation.  Typography that may be required in the reference list by
% the editorial staff must be included by the author.
%
% Observe the "standard" order for bibliographic material: author name(s),
% publication year, journal name, volume, and page number for articles.
% Some journal names are available as macros; see the package
% instructions for a listing of which ones have been "macro-ized".
%
% There is no need to engage in any other typographic manipulation.
%
% 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 for a listing "macro-ized" journals.   
%
% Note the following are some of the tricks that can be used:
%
%   o  \& is used to format an ampersand symbol (&).
%   o  \'e and \`e puts an accent agu and accent grave, respectively,
%      over the letter e.  See the User Guide 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  \adassviii is a macro that expands to the full title, editor,
%      and publishing information for the ADASS VIII conference
%      proceedings.  Such macros are defined for ADASS conferences I
%      through X.
%   o  When referencing a paper in the current volume, use the
%      \adassviii 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.  
%
%\clearpage %%FO
\begin{references}
%%% Is adassxiii, not adasscii !!
\reference Pierfederici, F., Valdes, F., Smith, C., Hiriart, R., \& Miller, M.\ 
    2004, \adassxiii, \paperref{P4-30}.
\end{references}

% Do not place any material after the references section

\end{document}  % Leave intact
