%ADASS_PROCEEDINGS_FORM%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% SAMPLE1.TEX -- ADASS XII (2002) ASP Conference Proceedings sample
% paper with minimal markup. Based on the sample from ADASS XI (01).
%
% This is a simple example.  If you want to see a more comprehensive
% sample paper,  take a look at sample2.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{P9-5}
%%%% ID=P9-5

%-----------------------------------------------------------------------
%		            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 CARMA Control System}
%\titlemark{ }

%-----------------------------------------------------------------------
%		          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{Chul Gwon\altaffilmark{1}, Andrew D. Beard\altaffilmark{2},
Paul Daniel\altaffilmark{2}, Rick Hobbs\altaffilmark{2}, Stephen
L. Scott\altaffilmark{2}, J. Colby Kraybill\altaffilmark{3}, Erik
   Leitch\altaffilmark{4}, David Mehringer\altaffilmark{5}, Raymond 
   Plante\altaffilmark{5}, N. S. Amarnath\altaffilmark{1}, Marc
   W. Pound\altaffilmark{1}, Kevin P. Rauch\altaffilmark{1}, Peter
      J. Teuben\altaffilmark{1}} 
\iffalse	%%%% Footnotes (bad)
\altaffiltext{1}{University of Maryland}
\altaffiltext{2}{California Institute of Technology/Owens Valley Radio
Observatory}
\altaffiltext{3}{University of California, Berkeley}
\altaffiltext{4}{University of Chicago}
\altaffiltext{5}{NCSA/University of Illinois}
\else		%%% More Classical
\vspace*{2ex}
\altaffilmark{1}\affil{
    University of Maryland}
\altaffilmark{2}\affil{
    California Institute of Technology/Owens Valley Radio Observatory}
\altaffilmark{3}\affil{
    University of California, Berkeley}
\altaffilmark{4}\affil{
    University of Chicago}
\altaffilmark{5}\affil{
    NCSA/University of Illinois}
\fi

%-----------------------------------------------------------------------
%			 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{Chul Gwon}
\email{cgwon@astro.umd.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.  
%
% 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{Gwon, C.}
\aindex{Beard, A. D.}
\aindex{Daniel, P.}
\aindex{Hobbs, R.}
\aindex{Scott, S. L.}
\aindex{Kraybill, J. C.}
\aindex{Leitch, E.}
\aindex{Mehringer, D. M.}
\aindex{Plante, R.}
\aindex{Amarnath, N. S.}
\aindex{Pound, M. W.}
\aindex{Rauch, K. P.}
\aindex{Teuben, P. J.}

%-----------------------------------------------------------------------
%                     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{Gwon et al.}

%-----------------------------------------------------------------------
%			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://adass.org/adass/proceedings/).

\keywords{CARMA, 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 Combined Array for Research in Millimeter-wave Astronomy (CARMA)
will be the combination of the BIMA, OVRO, and SZA millimeter
arrays. With first light scheduled for 2005, CARMA will be the first
heterogeneous millimeter array, combining antennas varying from 3.5 m
to 10.4 m in diameter. The controls for CARMA involve creating a
uniform interface for all antennas. The antennas are grouped into five
independently-controlled sub-arrays, which will be used for scientific
observations, engineering, or maintenance. The sub-arrays are
controlled by two components: the Sub-array Command Processor (SCP)
and the Sub-array Tracker (SAT). While each sub-array has a dedicated
SCP for handling command processing, a single SAT computes and
distributes slowly varying parameters to the necessary sub-arrays. The
sub-array interface uses CORBA distributed objects to physically
separate the user interface from the array. This allows for stability
in the core engine controlling the array while enabling flexibility in
the user interface implementation.
\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{Design Considerations}

Four major factors were considered when designing the CARMA Control
System.  First, being a multi-institutional collaboration, each
developing hardware and software at their respective locations, it was
necessary to have a design that would allow institutions to develop
independently and in parallel.  Second, the array will consist of
eight 3.5 m, nine 6.1 m, and six 10.4 m antennas; to deal with the
heterogeneous nature of the array, the antennas will be treated as
distributed objects, each having a uniform interface for the system.
Third, having a heterogeneous array means that data collection will
differ for different antennas; the system must therefore be able to
take such differences into consideration in various circumstances.
The last factor was to have a system that would allow remote access to
the array controls.

\begin{figure}
\epsscale{1.0}
\plotone{P9-5_f1.eps}
\caption{Control System Interactions: Control system components are
the SCP and the SAT.  Commands flow from a command line input (CLI) or
a graphical user interface (GUI) to the SCP, and from the SCP to the
SAT.  Interactions between control system components and other
subsystems are shown with black arrows.}
\label{P9.5-fig-1}
\end{figure}

\section{Sub-arrays}

A sub-array is a logical grouping of antennas based on scientific,
engineering, and maintenance purposes.  There are five sub-arrays for
the control system; each can be interactively controlled and are
distinguished by a correlator and a reference oscillator.  The five
sub-arrays are

\begin{itemize}
\item{Science \#1: 15 station spectral correlator for the 6.1 m and
the 10.4 m antennas, reference local oscillator \#1}
\item{Science \#2: 8 station wideband correlator for the 3.5 m antennas,
reference local oscillator \#2}
\item{Engineering \#1: Reference local oscillator \#3, used for
solving frequency-related problems}
\item{Engineering \#2: Passive reference local oscillator, used for
solving problems not related to frequency}
\item{Offline: For antennas that are offline}
\end{itemize}

\noindent With the exception of antenna assignment and shadowing
calculations, the schedule and command processing for each array is
independent. 

Commands for a sub-array contain all methods necessary for controlling
antennas, the interferometric array, and the correlator.  They consist
of three basic types: setups, queries, and procedures.  Setup commands
change the state of the sub-array, typically completing within 200
ms.  Queries return values of specific monitor points, or sets of
monitor points.  Procedures involve time consuming operations, such as
data collection.  All commands pass through a queuing and sequencing
mechanism, which enable the array to run schedules automatically while
also allowing interactive use.  Commands are also used to define the
CARMA System State (CSS), which is necessary to restore the array to
its previous state in case of system restart.

\section{Implementation}

Distributed objects (DO) are physically throughout the array.  Because
of this, CORBA is used to communicate between the DOs.  The sub-array
interface itself represents a CORBA DO, whose methods are called to
execute control commands.  The two control components of the sub-array
are the Sub-array Command Processor (SCP) and the Sub-array Tracker
(SAT).  The SCPs and SAT all reside in an Array Control Computer
(ACC); the centralization of these components on a single system
results from synchronization issues and maintenance considerations.

\begin{figure}
\epsscale{1.0}
\plotone{P9-5_f2.eps}
\caption{Sub-array Command Processor (SCP): Command input from a
CLI/GUI are logged and checked for valid ranges and syntax.  It is
then queued for passing to the ACP.  The ACP then passes commands to
the SAT or to other subsystems.} 
\label{P9.5-fig-2}
\end{figure}

\subsection{Sub-array Command Processor (SCP)}

The SCP is the major control component, through which all control
input passes via the methods of its DO, the ``Control API'' (CAPI).
Each sub-array will have a dedicated SCP for handling all control
input commands.  Commands from a user interface are checked for valid
value ranges and then queued before being processed by the Atomic
Command Processor (ACP) within the SCP.  The ACP does the actual
execution of the command, which involves calling commands on the
various DOs in the system.  All methods of the CAPI implement a
command and response protocol by sending a return value, which
contrasts the rest of CARMA, where there are no return values.  Return
values are sent when a command is queued or executed.

\subsection{Sub-array Tracker (SAT)}

The SAT ensures that the distributed components receive updated
information to correctly track sources.  There is only one SAT for all
the SCPs; the SAT receives input from the SCPs and periodically
recalculates the relevant system parameters, sending them to the
appropriate sub-arrays.  For example, the local oscillator reference
receives updates in the local oscillator frequency based on current
source velocity; antennas receive right ascention (RA) and declination
(DEC) measurements, which are converted to local azimuth and
elevation.

% You can also add an acknowledgments section as indicated below.

%\acknowledgments


%-----------------------------------------------------------------------
%			      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 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 puts an accent grave 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  \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 IX.
%   o  When referencing a paper in the current volume, use the
%      \adassix 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}
\reference Amarnath et al.\ 2004, \adassxiii, \paperref{P9-8}
\reference Plante et al.\ 2003, \adassxii, 269
\reference Scott et al.\ 2004, \adassxiii, \paperref{O10-4}
\end{references}

% Do not place any material after the references section

\end{document}  % Leave intact
