Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Version

Date

Affected Section(s)

Change
Request #

Reason/Initiation/Remarks

1.0/Prep.1

11/20/99

All


First revision for working group internal review
This first issue (Issue 1.0) of this document, called at the time ALMA Common Software Feature List, has been written before the ALMA Common Software Technical Requirements document

Wiki Markup
{+}\[RD01\]+

and has been used as an initial input for it.

1.0/Prep.2

01/15/00

All


Updated after group internal review

1.1/Prep.1

05/31/00

All


Updated after discussions with NRAO and meetings with G.Chiozzi, G.Raffi, and B.Glendenning.
Document renamed from "ALMA Common Software
Feature List" to "Architectural Discussion on ALMA Common Software Framework.
Comparison with ESO Common Software moved in appendix.
"Devices" renamed "Distributed objects" in order to keep them distinct from Control System devices.

1.1/Prep.2

06/10/00

All


Document renamed ALMA Common Software
Architecture and converted into Architectural description.
Updated after official release of ALMA Common Software Technical Requirements. Explicit definition of requirements has been removed assuming the ALMA Common Software Technical Requirements document

Wiki Markup
{+}\[RD01\]+

as an applicable document.
Added traceability matrix with requirements document

2.0/Prep.1

04/11/01

All


Updated including all comment to issue 1.1/Prep.2 and results of Kitt Peak test and the feedback from the first experiences in the usage of the ACS 0.0 prototype.
Applied ALMA Documentation template.

2.0/Prep.2

09/10/01

All


Updated taking into account document's review.

2

09/26/01

Headers and footers


Assigned document number and released officially

3

11/15/02

All


Document updated for ALMA Internal Design Review

3.1

02/14/03

All


Document updated after ALMA Internal Design Review

A

05/31/04

All


Applied new ALMA Template Updated for CDR-2

B

05/16/05

All


Updated for CDR-3

C

07/29/05

All


Updated after CDR-3

D-1.23

04/28/06

All


Updated for CDR-4

E-1.29

04/30/07

All


Updated for CDR-5

F-1.35

06/17/08

All


Updated for CDR-6

??

04/16/09

All


Converted to OpenOffice, fixing various issues with graphics and header numbers

??02/02/21All
Converted to confluence page


Table of Contents

Introduction

...

Scope

This document describes the architecture for the ALMA Common Software (ACS), taking as applicable the requirements specified in the ALMA Common Software Technical Requirements document

...

It will have to be possible to execute specific data reduction pipelines as a single executable and not load dynamically components.
This version of the ACS Architecture addresses many of these issues.
This document describes also some features that have not been implemented for ALMA until now and that possibly will not be implemented. It has been decided not to remove their description from the document for completeness and to make clear what is foreseen if any of these extensions needs to be implemented. These features are clearly identified in the text by the "Not implemented yet" or "Implementation not foreseen for ALMA" strings and by the usage of different fonts.

...

Overview

ACS is located in between the ALMA application software and other basic commercial or shared software on top of the operating systems and provides a generalized common interface between applications and the hardware in order to facilitate the implementation and the integration in the system of new hardware and software components.
ACS provides basic software services common to the various applications (like antenna control, correlator software, data pipelining)

...

etc. A lot of experience has been accumulated in the past years of ACS development, in particular for what concerns the application of these concepts to high level applications and in particular pipeline, offline data reduction and observation preparation. A lot of discussions with the AIPS++ team have helped shaping ACS based on the requirements in these application domains. It has been an initial and explicit decision of the ALMA project to use CORBA technology and at the same time to share software rather than to re-invent it. It is up to documents like this to provide elements to confirm the initial choice of CORBA as adequate.
The reasons for using CORBA are in short: Object Orientation, support for distributed systems, platform independence, it is a communication standard, it provides a variety of services.

...

Reference Architecture

A reference layout for the system is provided by the ALMA Software
Architecture

...

connected to various intelligent devices. The fact that the Antenna controller and all or part of these Devices is on Field-bus or LANs shall not make any difference in terms of the architecture proposed here.
Pipeline, offline data reduction and other high level applications are also assumed to be distributed over many hosts, with the need or deploying CPU intensive applications dynamically based on the available resources.

...

Reference Documents

Wiki Markup
The reference documents contain background information required to fully understand the structure of this document, the terminology used, the software environment in which ALMA shall be integrated and the interface characteristics to the external systems. 
The following documents are referenced in this document. 
*\[RD01\] ALMA Common Software Technical Requirements{*}, COMP-
70.25.00.00-003-A-SPE, G.Raffi, B.Glendenning, J.Schwarz ([<span style="color: #0000ff">{+}<a href="http://www.eso.org/+" class="external-link" rel="nofollow">http://www.eso.org/+</a></span>|http://www.eso.org/projects/alma/develop/acs/MilestoneReleases/Phase1/ACSTechReqs/Issue1.0/2000-06-05.pdf]
[<span style="color: #0000ff"><span style="text-decoration: underline; ">~almamgr/AlmaAcs/MilestoneReleases/Phase1/ACSTechReqs/Issue1.0/2000-06</span></span>|http://www.eso.org/projects/alma/develop/acs/MilestoneReleases/Phase1/ACSTechReqs/Issue1.0/2000-06-05.pdf][<span style="color: #0000ff"><span style="text-decoration: underline; ">05.pdf</span></span>|http://www.eso.org/projects/alma/develop/acs/MilestoneReleases/Phase1/ACSTechReqs/Issue1.0/2000-06-05.pdf][)|http://www.eso.org/projects/alma/develop/acs/MilestoneReleases/Phase1/ACSTechReqs/Issue1.0/2000-06-05.pdf] 
*\[RD02\] ALMA Construction Project Book{*}, Version 5.00, 2001-08-01 [(|http://www.mma.nrao.edu/projectbk/construction/][<span style="color: #0000ff">{+}<a href="http://www.mma.nrao.edu/projectbk/construction/+" class="external-link" rel="nofollow">http://www.mma.nrao.edu/projectbk/construction/+</a></span>|http://www.mma.nrao.edu/projectbk/construction/][)|http://www.mma.nrao.edu/projectbk/construction/] 
*\[RD03\]* *TANGO - an object oriented control system based on CORBA* 
  • Wiki Markup
    J.M.Chaize et al., ICALEPCS'99 Conference, Trieste, IT, 1999
    [(|http://www.elettra.trieste.it/ICALEPCS99/proceedings/papers/wa2i01.pdf][<span style="color: #0000ff">{+}<a href="http://www.elettra.trieste.it/ICALEPCS99/proceedings/papers/wa2i01.pdf+" class="external-link" rel="nofollow">http://www.elettra.trieste.it/ICALEPCS99/proceedings/papers/wa2i01.pdf+</a></span>|http://www.elettra.trieste.it/ICALEPCS99/proceedings/papers/wa2i01.pdf][)|http://www.elettra.trieste.it/ICALEPCS99/proceedings/papers/wa2i01.pdf] 
    *\[RD04\]* *Implementing Distributed Controlled Objects with CORBA* - M.Plesko, PCs and Particle Accelerator Control Workshop, DESY, Hamburg, 1996 
    (See [<span style="color: #0000ff">{+}<a href="http://kgb.ijs.si/KGB/accomplishments_articles.php+" class="external-link" rel="nofollow">http://kgb.ijs.si/KGB/accomplishments_articles.php+</a></span>|http://kgb.ijs.si/KGB/accomplishments_articles.php][ |http://kgb.ijs.si/KGB/accomplishments_articles.php]for this and other related papers). 
    *\[RD05\]* *SOSH Conventions for Control* - F.DiMajoC.Watson, Software Sharing 
    (SOSH) for Accelerators & Physics Detectors ([<span style="color: #0000ff">{+}<a href="http://www.jlab.org/sosh/+" class="external-link" rel="nofollow">http://www.jlab.org/sosh/+</a></span>|http://www.jlab.org/sosh/][)|http://www.jlab.org/sosh/] 
    *\[RD06\] Java Home Page* - ([<span style="color: #0000ff">{+}<a href="http://java.sun.com/+" class="external-link" rel="nofollow">http://java.sun.com/+</a></span>|http://java.sun.com/][)|http://java.sun.com/] 
    *\[RD07\]* *Real-time CORBA with TAO (the ACE ORB)* - 
    [(|http://www.cs.wustl.edu/~schmidt/TAO.html][<span style="color: #0000ff">{+}<a href="http://www.cs.wustl.edu/~schmidt/TAO.html+" class="external-link" rel="nofollow">http://www.cs.wustl.edu/~schmidt/TAO.html+</a></span>|http://www.cs.wustl.edu/~schmidt/TAO.html][)|http://www.cs.wustl.edu/~schmidt/TAO.html] 
    *\[RD08\] ObjectStore home page* - ([<span style="color: #0000ff">{+}<a href="http://www.odi.com/objectstore/+" class="external-link" rel="nofollow">http://www.odi.com/objectstore/+</a></span>|http://www.odi.com/objectstore/][)|http://www.odi.com/objectstore/] 
    *\[RD09\] MySQL home page* - ([<span style="color: #0000ff">{+}<a href="http://www.mysql.com+" class="external-link" rel="nofollow">http://www.mysql.com+</a></span>|http://www.mysql.com/][)|http://www.mysql.com/] 
    *\[RD10\] SOFIA home page* - ([<span style="color: #0000ff">{+}<a href="http://sofia.arc.nasa.gov/+" class="external-link" rel="nofollow">http://sofia.arc.nasa.gov/+</a></span>|http://sofia.arc.nasa.gov/][)|http://sofia.arc.nasa.gov/] 
    *\[RD11\]* *GTC home page* - ([<span style="color: #0000ff">{+}<a href="http://www.gtc.iac.es/+" class="external-link" rel="nofollow">http://www.gtc.iac.es/+</a></span>|http://www.gtc.iac.es/][)|http://www.gtc.iac.es/] 
    *\[RD12\]* *ALMA Monitor and Control Bus, Interface* 
    *Specification,* ALMAComputing Memo #7, M.Brooks, L.D'Addario,Rev.B 200102-05 
    *\[RD13\]* *National Instruments LabVIEW{*}- ([<span style="color: #0000ff">{+}<a href="http://www.ni.com/labview/+" class="external-link" rel="nofollow">http://www.ni.com/labview/+</a></span>|http://www.ni.com/labview/][)|http://www.ni.com/labview/] 
    *\[RD14\] CORBA Telecom Log Service* - 
    [(|http://www.omg.org/technology/documents/formal/telecom_log_service.htm][<span style="color: #0000ff">{+}<a href="http://www.omg.org/technology/documents/formal/telecom_log_service.htm+" class="external-link" rel="nofollow">http://www.omg.org/technology/documents/formal/telecom_log_service.htm+</a></span>|http://www.omg.org/technology/documents/formal/telecom_log_service.htm][)|http://www.omg.org/technology/documents/formal/telecom_log_service.htm] 
    *\[RD15\] omniORB Home Page* - ([<span style="color: #0000ff">{+}<a href="http://www.uk.research.att.com/omniORB/+" class="external-link" rel="nofollow">http://www.uk.research.att.com/omniORB/+</a></span>|http://www.uk.research.att.com/omniORB/][)|http://www.uk.research.att.com/omniORB/] 
    *\[RD16\]OpenOrb Home Page* - ([<span style="color: #0000ff">{+}<a href="http://openorb.sourceforge.net/+" class="external-link" rel="nofollow">http://openorb.sourceforge.net/+</a></span>|http://openorb.sourceforge.net/][)|http://openorb.sourceforge.net/] 
    *\[RD17\]ALMA SE Practices - Software Development Process Methodology* 
    *and Tools,* G.Chiozzi, R.Karban, P.Sivera - 
    [(|http://www.mma.nrao.edu/development/computing/docs/joint/draft/SE-SwDev.pdf][<span style="color: #0000ff">{+}<a href="http://www.mma.nrao.edu/development/computing/docs/joint/draft/SE+" class="external-link" rel="nofollow">http://www.mma.nrao.edu/development/computing/docs/joint/draft/SE+</a></span>|http://www.mma.nrao.edu/development/computing/docs/joint/draft/SE-SwDev.pdf][<span style="color: #0000ff"><span style="text-decoration: underline; ">SwDev.pdf</span></span>|http://www.mma.nrao.edu/development/computing/docs/joint/draft/SE-SwDev.pdf][)|http://www.mma.nrao.edu/development/computing/docs/joint/draft/SE-SwDev.pdf] 
    *\[RD18\] eXtensible Markup Language Home Page -* 
    [(|http://www.w3.org/XML/][<span style="color: #0000ff">{+}<a href="http://www.w3.org/XML/+" class="external-link" rel="nofollow">http://www.w3.org/XML/+</a></span>|http://www.w3.org/XML/][)|http://www.w3.org/XML/] 
    *\[RD19\] CERN Laser project home page* ([<span style="color: #0000ff">{+}<a href="http://proj-laser.web.cern.ch/proj+" class="external-link" rel="nofollow">http://proj-laser.web.cern.ch/proj+</a></span>|http://proj-laser.web.cern.ch/proj-laser/][<span style="color: #0000ff"><span style="text-decoration: underline; ">laser/</span></span>|http://proj-laser.web.cern.ch/proj-laser/][)|http://proj-laser.web.cern.ch/proj-laser/] 
    *\[RD20\] IBM DB2 Home Page* - ([<span style="color: #0000ff">{+}<a href="http://www-4.ibm.com/software/data/db2/+" class="external-link" rel="nofollow">http://www-4.ibm.com/software/data/db2/+</a></span>|http://www-4.ibm.com/software/data/db2/][)|http://www-4.ibm.com/software/data/db2/] 
    *\[RD21\] ALMA ACS and AMS Kitt Peak 2000 Test* ,G.Chiozzi et al. 
    [(|http://www.mma.nrao.edu/development/computing/docs/joint/notes/2000-12-KP.pdf][<span style="color: #0000ff">{+}<a href="http://www.mma.nrao.edu/development/computing/docs/joint/notes/2000-12+" class="external-link" rel="nofollow">http://www.mma.nrao.edu/development/computing/docs/joint/notes/2000-12+</a></span>|http://www.mma.nrao.edu/development/computing/docs/joint/notes/2000-12-KP.pdf][<span style="color: #0000ff"><span style="text-decoration: underline; ">KP.pdf</span></span>|http://www.mma.nrao.edu/development/computing/docs/joint/notes/2000-12-KP.pdf][)|http://www.mma.nrao.edu/development/computing/docs/joint/notes/2000-12-KP.pdf] 
    *\[RD22\]Design and Initial Implementation of Diagnostic and Error Reporting System of SMA{*}, SMA Technical Memo 132, Q.Zhang. 
    *\[RD23\] The Adaptive Communication Environment (ACE) home page -* 
    [(|http://www.cs.wustl.edu/~schmidt/ACE.html][<span style="color: #0000ff">{+}<a href="http://www.cs.wustl.edu/~schmidt/ACE.html+" class="external-link" rel="nofollow">http://www.cs.wustl.edu/~schmidt/ACE.html+</a></span>|http://www.cs.wustl.edu/~schmidt/ACE.html][)|http://www.cs.wustl.edu/~schmidt/ACE.html] 
    *\[RD24\] Python language home page -* [(|http://www.python.org/][<span style="color: #0000ff">{+}<a href="http://www.python.org/+" class="external-link" rel="nofollow">http://www.python.org/+</a></span>|http://www.python.org/][)|http://www.python.org/] 
    *\[RD25\] Home Page for the Official Tcl/Tk Contributed Sources Archive* - [(|http://www.neosoft.com/tcl/][<span style="color: #0000ff">{+}<a href="http://www.neosoft.com/tcl/+" class="external-link" rel="nofollow">http://www.neosoft.com/tcl/+</a></span>|http://www.neosoft.com/tcl/][)|http://www.neosoft.com/tcl/] 
    *\[RD26\] Test Interferometer Control Software Design* 
    *Concept{*}, B.Glendenning et al., DRAFT 2001-02-15 
    *\[RD27\] Advanced CORBA Programming with C++,{*}M.HenningS.Vinoski, Addison-Wesley, 1999 
    *\[RD28\] ALMA Software Glossary,* COMP-70.15.00.00-003-A-GEN 
    [(|http://www.alma.nrao.edu/development/computing/docs/joint/draft/Glossary.htm][<span style="color: #0000ff">{+}<a href="http://www.alma.nrao.edu/development/computing/docs/joint/draft/Glossary.htm+" class="external-link" rel="nofollow">http://www.alma.nrao.edu/development/computing/docs/joint/draft/Glossary.htm+</a></span>|http://www.alma.nrao.edu/development/computing/docs/joint/draft/Glossary.htm]
    ) 
    *\[RD29\] AMI/ACS Report{*}, R. Lemke, G. Chiozzi 2001-03-20 
    [(|http://www.eso.org./projects/alma/develop/acs/examples/amitest/AmiReport.pdf][<span style="color: #0000ff">{+}<a href="http://www.eso.org./projects/alma/develop/acs/examples/amitest/AmiReport.pdf+" class="external-link" rel="nofollow">http://www.eso.org./projects/alma/develop/acs/examples/amitest/AmiReport.pdf+</a></span>|http://www.eso.org./projects/alma/develop/acs/examples/amitest/AmiReport.pdf][)|http://www.eso.org./projects/alma/develop/acs/examples/amitest/AmiReport.pdf] 
    *\[RD30\] ALMA Memo #298, Timing and Synchronization{*}, L. DÂ'Addario, 
    2000-03-09 ([<span style="color: #0000ff">{+}<a href="http://www.alma.nrao.edu/memos/html+" class="external-link" rel="nofollow">http://www.alma.nrao.edu/memos/html+</a></span>|http://www.alma.nrao.edu/memos/html-memos/alma298/memo298.pdf][<span style="color: #0000ff"><span style="text-decoration: underline; ">memos/alma298/memo298.pdf</span></span>|http://www.alma.nrao.edu/memos/html-memos/alma298/memo298.pdf][)|http://www.alma.nrao.edu/memos/html-memos/alma298/memo298.pdf] 
    *\[RD31\] GNU Lesser General Public License (GPL)* 
    [(|http://www.gnu.org/copyleft/lesser.html][<span style="color: #0000ff">{+}<a href="http://www.gnu.org/copyleft/lesser.html+" class="external-link" rel="nofollow">http://www.gnu.org/copyleft/lesser.html+</a></span>|http://www.gnu.org/copyleft/lesser.html][)|http://www.gnu.org/copyleft/lesser.html] 
    *\[RD32\] ALMA Common Software Development Plan,* COMP-70.25.00.00001-C-PLA ([<span style="color: #0000ff">{+}<a href="http://www.eso.org/projects/alma/develop/acs/Plan/index.html+" class="external-link" rel="nofollow">http://www.eso.org/projects/alma/develop/acs/Plan/index.html+</a></span>|http://www.eso.org/projects/alma/develop/acs/Plan/index.html][)|http://www.eso.org/projects/alma/develop/acs/Plan/index.html] 
    *\[RD33\] ALMA Software Architecture{*}, ALMA-70.15.00.00-001-I-GEN, 
    J.Schwarz 
    [(|http://almaedm.tuc.nrao.edu/forums/alma/dispatch.cgi/Architecture/docProfile/100017/d20021117183329/No/ALMASoftwareArchitecture.pdf][<span style="color: #0000ff">{+}<a href="http://almaedm.tuc.nrao.edu/forums/alma/dispatch.cgi/Architecture/docProfile/10+" class="external-link" rel="nofollow">http://almaedm.tuc.nrao.edu/forums/alma/dispatch.cgi/Architecture/docProfile/10+</a></span>|http://almaedm.tuc.nrao.edu/forums/alma/dispatch.cgi/Architecture/docProfile/100017/d20021117183329/No/ALMASoftwareArchitecture.pdf]
    [<span style="color: #0000ff"><span style="text-decoration: underline; ">0017/d20021117183329/No/ALMASoftwareArchitecture.pdf</span></span>|http://almaedm.tuc.nrao.edu/forums/alma/dispatch.cgi/Architecture/docProfile/100017/d20021117183329/No/ALMASoftwareArchitecture.pdf][)|http://almaedm.tuc.nrao.edu/forums/alma/dispatch.cgi/Architecture/docProfile/100017/d20021117183329/No/ALMASoftwareArchitecture.pdf] 
    *\[RD34\]JacORB Home Page* ([<span style="color: #0000ff">{+}<a href="http://www.jacorb.org/+" class="external-link" rel="nofollow">http://www.jacorb.org/+</a></span>|http://www.jacorb.org/][)|http://www.jacorb.org/] 
    *\[RD35\] Eclipse Home Page* ([<span style="color: #0000ff">{+}<a href="http://www.eclipse.org/+" class="external-link" rel="nofollow">http://www.eclipse.org/+</a></span>|http://www.eclipse.org/][)|http://www.eclipse.org/] 
    *\[RD36\] Castor Home Page* ([<span style="color: #0000ff">{+}<a href="http://castor.codehaus.org/+" class="external-link" rel="nofollow">http://castor.codehaus.org/+</a></span>|http://castor.codehaus.org/][)|http://castor.codehaus.org/] 
    *\[RD37\] OPUS Home Page* ([<span style="color: #0000ff">{+}<a href="http://www.stsci.edu/software/OPUS/bb.html+" class="external-link" rel="nofollow">http://www.stsci.edu/software/OPUS/bb.html+</a></span>|http://www.stsci.edu/software/OPUS/bb.html][)|http://www.stsci.edu/software/OPUS/bb.html] 
    *\[RD38\] Rational Rose Home Page* ([<span style="color: #0000ff">{+}<a href="http://www.rational.com/+" class="external-link" rel="nofollow">http://www.rational.com/+</a></span>|http://www.rational.com/][)|http://www.rational.com/] 
    *\[RD39\] Open ArchitectureWare project home page* 
    [(|http://sourceforge.net/projects/architecturware/][<span style="color: #0000ff">{+}<a href="http://sourceforge.net/projects/architecturware/+" class="external-link" rel="nofollow">http://sourceforge.net/projects/architecturware/+</a></span>|http://sourceforge.net/projects/architecturware/][)|http://sourceforge.net/projects/architecturware/] 
    *\[RD40\] Java Web Start home page* ([<span style="color: #0000ff">{+}<a href="http://java.sun.com/products/javawebstart/+" class="external-link" rel="nofollow">http://java.sun.com/products/javawebstart/+</a></span>|http://java.sun.com/products/javawebstart/][)|http://java.sun.com/products/javawebstart/] 
    *\[RD41\] ALMA Common Software home page* 
    [(|http://www.eso.org/projects/alma/develop/acs][<span style="color: #0000ff">{+}<a href="http://www.eso.org/projects/alma/develop/acs/+" class="external-link" rel="nofollow">http://www.eso.org/projects/alma/develop/acs/+</a></span>|http://www.eso.org/projects/alma/develop/acs][)|http://www.eso.org/projects/alma/develop/acs] 
    *\[RD42\] CORBA Audio Video Streaming Service* 
    [(|http://www.omg.org/technology/documents/formal/audio.htm][<span style="color: #0000ff">{+}<a href="http://www.omg.org/technology/documents/formal/audio.htm+" class="external-link" rel="nofollow">http://www.omg.org/technology/documents/formal/audio.htm+</a></span>|http://www.omg.org/technology/documents/formal/audio.htm][)|http://www.omg.org/technology/documents/formal/audio.htm] 
    *\[RD43\] The design and performance of a CORBAAudio/Video Streaming* 
    *ServiceCORBA Audio Video Streaming Service* *, D.C.Schmidt et al.,* 
    [(|http://www.cs.wustl.edu/~schmidt/PDF/av.pdf][<span style="color: #0000ff">{+}<a href="http://www.cs.wustl.edu/~schmidt/PDF/av.pdf+" class="external-link" rel="nofollow">http://www.cs.wustl.edu/~schmidt/PDF/av.pdf+</a></span>|http://www.cs.wustl.edu/~schmidt/PDF/av.pdf][)|http://www.cs.wustl.edu/~schmidt/PDF/av.pdf] 
    *\[RD44\] ARCUS Error Handling for Business Information Systems,* K.Renzel, sd&m Muenchen, 2003 
    [(|http://www.eso.org/projects/alma/develop/acs/OnlineDocs/ARCUSErrorHandling.pdf][<span style="color: #0000ff">{+}<a href="http://www.eso.org/~almamgr/AlmaAcs/OnlineDocs/ARCUSErrorHandling.pdf+" class="external-link" rel="nofollow">http://www.eso.org/~almamgr/AlmaAcs/OnlineDocs/ARCUSErrorHandling.pdf+</a></span>|http://www.eso.org/projects/alma/develop/acs/OnlineDocs/ARCUSErrorHandling.pdf][)|http://www.eso.org/projects/alma/develop/acs/OnlineDocs/ARCUSErrorHandling.pdf] 
    *\[RD45\] EVLA Engineering Software Requirement,* B.Butler et. al. EVLA-SW004, Rev. 1.4, 2003 
    *\[RD46\] EVLA Array Operations Software Requirements,* J.Campbel et. al. EVLA-SW-003, Rev. 2.5, 2003 
    *\[RD47\] JFreeChart ({*}[<span style="color: #0000ff">{*}{+}<a href="http://www.jfree.org/jfreechart/+*" class="external-link" rel="nofollow">http://www.jfree.org/jfreechart/+*</a></span>|http://www.jfree.org/jfreechart/][{*})*|http://www.jfree.org/jfreechart/] 
    *\[RD48\] MatplotlibJFreeChart* 
    [{*}(*|http://matplotlib.sourceforge.net/installing.html][<span style="color: #0000ff">{*}{+}<a href="http://matplotlib.sourceforge.net/installing.html+*" class="external-link" rel="nofollow">http://matplotlib.sourceforge.net/installing.html+*</a></span>|http://matplotlib.sourceforge.net/installing.html][{*})*|http://matplotlib.sourceforge.net/installing.html] 
    Anchor_Toc125024_Toc1250241.5Glossary

    Glossary

    An extended list of glossary definitions, abbreviations and acronyms is part of the main ALMA Software Glossary

    Wiki Markup
    +\[RD28\]{+}

    , available online at the following URL: {+}http://www.mma.nrao.edu/development/computing/docs/joint/draft/Glossary.htm+.
    The following list of abbreviations and acronyms is aimed to help the reader in recalling the extended meaning of the most important short expressions used in this document:

    ABMAntenna Bus Master
    ACEADAPTIVE Communication Environment ({+}http://www.cs.wustl.edu/~schmidt/ACE.html+)
    ACSALMA Common Software
    ACUAntenna Control Unit
    AIPS++Astronomical Information Processing System ({+}http://aips2.nrao.edu/docs/aips++.html+)
    ALMAAtacama Large Millimeter Array ({+}http://www.eso.org/projects/alma/+)
    AMBALMA Monitor and Control Bus
    ANKASynchrotron Radiation Source ANKA ({+}http://www.fzk.de/anka+)
    APIApplication Programmatic Interface
    CANController Area Network

    CORBA

    Common Object Request Broker Architecture

    COTS

    Commercial Off The Shelf

    CPU

    Central Processing Unit

    ESO

    European Southern Observatory ({+}http://www.eso.org+)

    FITS

    Flexible Image Transport Format

    GUI

    Graphical User Interface

    GTC

    Gran Telescopio CANARIAS ({+}http://www.gtc.iac.es/+)

    HW

    Hardware

    IDL

    CORBA Interface Definition Language

    IIOP

    Internet Inter-ORB Protocol

    ISO

    International Standardization Organisation

    JDBC

    Java Database Connectivity

    LAN

    Local Area Network

    LCU

    Local Control Unit

    M&C

    Monitor and Control

    N/A

    Not Applicable

    NRAO

    National Radio Astronomy Observatory ({+}http://www.nrao.edu/+)

    OMG

    Object Management Group ({+}http://www.omg.org/+)

    ORB

    Object Request Broker

    OSI

    Open Systems Interconnection

    OVRO

    Owens Valley Radio Observatory ({+}http://www.ovro.caltech.edu/+)

    RDBMS

    Relational Data Base Management System

    RPC

    Remote Procedure Call

    SLA

    Subprogram Library A (Positional Astronomy Library)

    SW

    Software

    TAO

    The ACE ORB ({+}http://www.cs.wustl.edu/~schmidt/TAO.html+)

    TBC

    To Be Confirmed

    TBD

    To Be Defined

    TCL

    Tool Command Language ({+}http://www.scriptics.com/resource/+)

    TCL
    (CORBA)

    CORBA Trader Constraint Language

    TICS

    ALMA Test Interferometer Control Software

    TPOINTTelescope Pointing Analysis System
    UMLUnified Modeling Language
    URIUniform Resource Identifier ({+}http://www.w3.org/Addressing/+)
    URLUniform Resource Locator ({+}http://www.w3.org/Addressing/+)
    UTCUniversal Time Coordinated
    VMEVersa Module Eurocard
    VLTVery Large Telescope
    WSWorkstation
    XMLeXtensible Markup Language ({+}http://www.w3.org/XML/+)
    Anchor_Toc125025_Toc1250252ACS

    ACS Basic Architecture

    Anchor_Toc125026_Toc1250262.1Overview

    Overview

    The ALMA Common Software (ACS) is located in between the ALMA application software (Applications) and other basic commercial or shared software on top of the operating systems. In particular, ACS is based on CORBA (CORBA Middleware), which provides the whole infrastructure for the exchange of messages between distributed objects. Whenever possible, ACS features will be provided using off the shelf components and ACS itself will provide the packaging and the glue between these components.
    The ACS is also based on an Object Oriented architecture

    Wiki Markup
    +\[RD01 - 13.1.1 Distributed Objects and commands\]{+}
    .


    The following UML Package Diagram shows the main packages in which ACS has been subdivided.

    ACS PackagesImage Added
    Figure 2.1: ACS Packages

     
    Each package provides a basic set of services and tools that shall be used by all ALMA applications.
    Packages have been grouped in 4 layers. Packages are allowed to use services provided by other packages on the lower layers and on the same layer, but not on higher layers.
      Image Removed A 5th group contains packages for software that is used by many ALMA Subsystems, but that is not used by other ACS packages. These packages are for convenience integrated and distributed together with ACS but are not integral parts of ACS.
    A brief description of the layers and the packages is provided hereafter, while the next chapter will contain a detailed description of the features included in the packages.
  1. - Base Tools
    The bottom layer contains base tools that are distributed as part of ACS to provide a uniform development and run time environment on top of the operating system for all higher layers and applications. These are essentially off-the-shelf components and ACS itself just provides packaging and installation and distribution support. This ensures that all installations of ACS (development and run-time) will have the same basic set of tools with versions kept under configuration control.

The exact set of tools and versions are described in the documentation coming with each ACS release. Being these normally big packages the ACS installation procedures will have to offer the options of installing the tools in binary format, building them from sources or using an independent installation.
Three main packages have been identified in this layer:

  • Development tools

Software development tools (compilers, configuration controls tools, languages, debuggers, documentation tools).

...