1 / 27

ACS CORBA-based Common Software for ALMA and other projects

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. Contents. What is ALMA? Why a common software? What are the key ideas in ACS?

alagan
Télécharger la présentation

ACS CORBA-based Common Software for ALMA and other projects

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ACSCORBA-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 CORBA Controls Workshop, Grenoble 9-11 October, 2002

  2. 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 ALMA Common Software

  3. 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 ALMA Common Software

  4. 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 • incrementaldevelopment 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 ALMA Common Software

  5. 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). ALMA Common Software

  6. Applications UIF libraries Scripting C++ Application Java Application FITS libraries ACS Installer ...more to come... 4 - Hi-level APIs and Framework Framework tools MACI Manager Serialization Archiving Activator Java Java Command Alarm System 3 - Services Component Container System Plugs System BACI Data channel Config DB Error System Logging System Time System Astro libraries 2 - Core packages CORBA Middleware Development ACE Device Drivers 1 - Base tools tools ACS Architecture ALMA Common Software

  7. 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… Component 1 Component 2 Client Container ... Component 3 ALMA Common Software

  8. ACS Deployment diagram ALMA Common Software

  9. NamedComponent name() 0..n 0..n Characteristic description() version() URI() get_interface() get_characteristic_by_name() find_characteristic() DO Property 0..n 0..n 0..n 0..n DO_name() type ROProperty<type> get_sync() type get_async() create_monitor() RWProperty<type> set_sync() set_async() increment() decrement() Examples of user defined classes: Control system Devices type type are Distributed Objects Device MonitorPoint (from Examples) ControlPoint (from Examples) (from Exampl... An example of Thermostat Device (from Exampl... 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 ALMA Common Software

  10. 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. 3 – Database clients Data client CDB Administration Read-only Data interface Read-writeadmin. interface 2 – Database Access Layer (DAL) DAL/CDB Server 1 – Database engine Database ALMA Common Software

  11. Configuration Database: DO Schemas ALMA Common Software

  12. Abeans visual editing ALMA Common Software

  13. TICS Control Panel ALMA Common Software

  14. OE and Admin Client ALMA Common Software

  15. 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. ALMA Common Software

  16. ACS Documentation ALMA Common Software

  17. Uni. Bochum UK ATC Lofar MPI Bohn ESO DRAO Penticton NRAO Tucson NAOJ NRAO Socorro, VLA IJS/Cosylab Ljubljana NRAO Charlotsville ESO La Silla AOT Trieste IRAM Grenoble ANKA IRAM Granada ACS Installations ALMA Common Software

  18. 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 ALMA Common Software

  19. ALMA SitesChajnantor www.eso.org/projects/alma www.alma.nrao.edu/development/computing www.eso.org/~gchiozzi/AlmaAcs http://kgb.ijs.si/KGB/ ALMA Common Software

  20. 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 ALMA Common Software

  21. Extra slides The following pages contain some extra slides that we do not plan to show at the conference, but that could be useful. ALMA Common Software

  22. Data Channel ALMA Common Software

  23. NamedComponent name() 0..n 0..n Characteristic description() version() URI() get_interface() get_characteristic_by_name() find_characteristic() DO Property 0..n 0..n 0..n 0..n DO_name() type ROProperty<type> get_sync() type get_async() create_monitor() RWProperty<type> set_sync() set_async() increment() decrement() Examples of user defined classes: Control system Devices type type are Distributed Objects Device MonitorPoint (from Examples) ControlPoint (from Examples) (from Exampl... An example of Thermostat Device (from Exampl... DO ALMA Common Software

  24. Logging ALMA Common Software

  25. Management and Access Control ALMA Common Software

  26. Archiving System ALMA Common Software

  27. 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. Wheelerhttp://www.dwheeler.com/sloccount/sloccount.html More than 2000 pages of printable design/reference documentation ALMA Common Software

More Related