Download presentation
Presentation is loading. Please wait.
Published byAnthony Andrews Modified over 9 years ago
1
CORBA Controls Workshop, Grenoble 9-11 October, 2002 ACS CORBA-based Common Software for ALMA and other projects G.Chiozzi*, B.Gustafsson*, B.Jeram*, P.Sivera* M.Plesko**, M.Sekoranja**, G.Tkacik**, K.Zagar**, D.Fugate*** *ESO, ** CosyLab, *** NRAO
2
ALMA Project 2CORBA Controls 2002ALMA Common Software Contents What is ALMA? Why a common software? What are the key ideas in ACS? What is the Architecture of ACS How are we going to go on? Who is using ACS? How can you get more information
3
ALMA Project 3CORBA Controls 2002ALMA Common Software ALMA Project in Summary Joint project between astronomical organisations in Europe and North America (and Japan) 64 12-m antennas (25 microns, 0.6”) Array configurations:150m-10 Km Near S.Pedro de Atacama, Chile at 5000m Imaging capability over 10-0.35mm range 10 receiver bands very high resolution correlator
4
ALMA Project 4CORBA Controls 2002ALMA Common Software ALMA Common Software (ACS) ALMA project is highly distributed: many sites and many “development cultures” ACS aims at providing an answer to the following needs: –common application framework and programming model, not just libraries –well tested software that avoids duplication –make upgrades and maintenance reasonable –incremental development via Releases –standardisation offering environment with design patterns and their implementation (rather than pure rules). –common configuration control/installation procedures It worked on a comparable size project: the VLT
5
ALMA Project 5CORBA Controls 2002ALMA Common Software ACS start-up: Summer 1999 Preliminary discussions on ACS objectives and structure: –experience from VLT and other projects –New technology: CORBA, Java, XML Decided to start from existing product, to make use of CORBA experience. Collaboration with JSI-Ljubljana to further develop existing system built for High Energy Physics (ICALEPCS ‘99, Trieste).
6
ALMA Project 6CORBA Controls 2002ALMA Common Software ACS Architecture ApplicationsCORBA Middleware ACEDevelopment tools 1 - Base tools Device Drivers Error SystemLogging SystemAstro librariesBACITime SystemData channel 2 - Core packages Java Component Config DBC++ Application Framework FITS librariesUIF librariesScripting 4 - Hi-level APIs and tools...more to come... Java Application Framework ACS Installer Command System Alarm SystemArchiving System MACI Manager 3 - Services Java Container Serialization Plugs Activator
7
ALMA Project 7CORBA Controls 2002ALMA Common Software Component-Container Model A Component-Container based architecture emphasizes Separation of Concerns. Same idea as.NET, EJB, CCM Container manages components –Lifecycle interface (init, start, stop, update) –Service interface (what component offers) –Optional: security, persistency, transactions… Client... Container Component 1 Component 2 Component 3
8
ALMA Project 8CORBA Controls 2002ALMA Common Software ACS Deployment diagram
9
ALMA Project 9CORBA Controls 2002ALMA Common Software DO-Property-Characteristics DO: base class for any physical/logical Device (e.g. temperature sensor, motor) Each DO has Properties (e.g. status value, position - control/monitor points) Characteristics of Dos and Properties (Static data in Configuration DB, e.g. units, ranges, default values) ABeans Property DO_name() DO 0..n NamedComponent name() description() version() URI() get_interface() get_characteristic_by_name() find_characteristic() Characteristic 0..n type RWProperty set_sync() set_async() increment() decrement() type ROProperty get_sync() get_async() create_monitor() Device (from Examples) type MonitorPoint (from Examples) type ControlPoint (from Exampl... Control system Devices are Distributed Objects Thermostat (from Exampl... An example of Device Examples of user defined classes:
10
ALMA Project 10CORBA Controls 2002ALMA Common Software Configuration Database Defining accessing and maintaining the configuration of a system Three-tier database-access architecture: –Database engine –Database Access Layer (DAL). –Database clients CORBA access interface XML/Schemas for OO data definition and access. Database DAL/CDB Server Data client CDB Administrati on 3 – Database clients 2 – Database Access Layer (DAL) 1 – Database engine Read-write admin. interface Read- only Data interface
11
ALMA Project 11CORBA Controls 2002ALMA Common Software Configuration Database: DO Schemas
12
ALMA Project 12CORBA Controls 2002ALMA Common Software Abeans visual editing
13
ALMA Project 13CORBA Controls 2002ALMA Common Software TICS Control Panel
14
ALMA Project 14CORBA Controls 2002ALMA Common Software OE and Admin Client
15
ALMA Project 15CORBA Controls 2002ALMA Common Software Supported Platforms Operating system: Linux, SUN OS, (MS- Windows) Real-time: VME,VxWorks (Phase1), CAN bus Languages: C++, JAVA, Python CORBA middleware: TAO (& ACE) (C++), Orbacus (Java), Omniorb (Python), CORBA services.
16
ALMA Project 16CORBA Controls 2002ALMA Common Software ACS Documentation
17
ALMA Project 17CORBA Controls 2002ALMA Common Software ACS Installations IRAM Granada Lofar UK ATC DRAO Penticton NRAO Socorro, VLA NRAO Tucson NRAO Charlotsville ESO La Silla IRAM Grenoble ESO NAOJ IJS/Cosylab Ljubljana AOT Trieste MPI Bohn ANKA Uni. Bochum
18
ALMA Project 18CORBA Controls 2002ALMA Common Software ACS Status Oct. 2000: ACS v.0.0 (Prototype) Dec. 2000: KP test Sep. 2001: ACS Architecture Document Sep.2001: ACS 1.0 Apr. 2002: ACS 1.1 (support for TICS) In use in Test Interferometer Software (TICS) prototype Nov. 2002: ACS 2.0 We plan an incremental release every 6 months
19
ALMA Project 19CORBA Controls 2002ALMA Common Software ALMA Sites Chajnantor www.alma.nrao.edu/development/computing www.eso.org/~gchiozzi/AlmaAcs http://kgb.ijs.si/KGB/ www.eso.org/projects/alma
20
ALMA Project 20CORBA Controls 2002ALMA Common Software Conclusion Developed based on the experience of both astronomical and accelerator control projects Can easily run on many platforms Open source (GPL licence) Free development tools and ORBs We think that many other projects can use ACS A wider user’s base can provide valuable feedback
21
ALMA Project 21CORBA Controls 2002ALMA Common Software Extra slides The following pages contain some extra slides that we do not plan to show at the conference, but that could be useful.
22
ALMA Project 22CORBA Controls 2002ALMA Common Software Data Channel
23
ALMA Project 23CORBA Controls 2002ALMA Common Software DO
24
ALMA Project 24CORBA Controls 2002ALMA Common Software Logging
25
ALMA Project 25CORBA Controls 2002ALMA Common Software Management and Access Control
26
ALMA Project 26CORBA Controls 2002ALMA Common Software Archiving System
27
ALMA Project 27CORBA Controls 2002ALMA Common Software How much effort in ACS 1.1? Source lines of code (for comments add about 10%) for: –ACS cmm Modules (code developed for ACS) –Java Abeans (mostly code inherited from ANKA) SLOC Directory SLOC-by-Language (Sorted) 61730 ACS cpp=61536,sh=129,tcl=28,sed=23,csh=14 188820 Java java=188820 Total Physical Source Lines of Code = 252019 Estimated Development Effort in Person-Years = 66.46 (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05)) Total Estimated Cost to Develop = $ 8977317 (average salary = $56286/year, overhead = 2.4). Data generated using 'SLOCCount' by David A. Wheeler http://www.dwheeler.com/sloccount/sloccount.html More than 2000 pages of printable design/reference documentation
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.