1 / 25

ALMA Common Software Training- Course Session 1a - What is ACS

ALMA Common Software Training- Course Session 1a - What is ACS. G.Chiozzi , H.Sommer, B.Jeram, D.Fugate, B.Gustafsson, J.Ibsen, P.Sivera, M.Zamparelli …. Contents. Why and what is a common software? ACS Packages and Architecture Overview How can you get more information.

rwing
Download Presentation

ALMA Common Software Training- Course Session 1a - What is ACS

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. ALMA Common Software Training-CourseSession 1a - What is ACS G.Chiozzi, H.Sommer, B.Jeram, D.Fugate, B.Gustafsson, J.Ibsen, P.Sivera, M.Zamparelli ….. NAOJ – Tokyo 04-08 July, 2005

  2. Contents • Why and what is a common software? • ACS Packages and Architecture Overview • How can you get more information ALMA Common Software course

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

  4. 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 course

  5. ACS Development Plan • ACS long term development is specified in the ACS SW Development Plan:http://www.eso.org/~almamgr/AlmaAcs/Plan/ACSDevelopmentPlan_2.0.pdf • 6-months cycle. Driven by ALMA Subsystem’s requirements • ALMA using ACS 4.1 (the 9th release) • Content of each release discussed with user’s community ALMA Common Software course

  6. ACS 5.0 and after • Objective until ACS 2.1: • support Control SW Development (TICS) • Objective for ACS 3.x: • Support Pipeline, OT and high level softwarerequirements • ACS 4.x and after: • Bulk data transfer • IDL generic simulator • RTAI support • Cleanup and refactoring • Code generation from UML (Data Model) • ACS 5.0 • Alarm System and other planned packages • RPM packaging • Optimization, scalability, performances, security • “Operation” support at the ATF ALMA Common Software course

  7. ACS installations and projects ALMA Common Software course

  8. Supported Platforms • Operating system: Linux (MS-Windows) • Real-time: VME,VxWorks (Phase1), RTAI, CAN bus • Languages: C++, JAVA, Python • CORBA middleware: TAO (& ACE) (C++), JacORB (Java), Omniorb (Python), CORBA services. ALMA Common Software course

  9. Applications UIF Scripting ACS Application 4 - Hi-level ACS Installer ...more to Framework libraries APIs and tools come... 5 - Integrated APIs and tools ACS Container Serializati Archiving Command Alarm Sampling 3 - Services FITS libraries on Plugs System System System (from Commercial/Shared packages) Astro libraries 2 - Core ACS Component Configuration Data Error Logging Time (from Commercial/Shared packages) components Database channel System System System Device Drivers Developm CORBA Middleware ACE 1 - Base tools ent tools ACS Packages ALMA Common Software course

  10. Comp container Comp Manager deployment configurations other ACS services CORBA ORBs Services CORBA + Container/Component container service interface: getComponent(other) Logger getLogger() functional interface: observe() lifecycle interface: init() run() restart() ALMA Common Software course

  11. Object Explorer ALMA Common Software course

  12. Abeans Administrator GUI for Client Control federation Manager Manager (domain A) (domain B) CDB Cont 1 Cont 2 Cont 3 DO 1 DO 3 DO 4 DO 2 DO 2 DO 5 Device Component’s Administrator View • An administrator defines deployment by customizing the Configuration Database for the Manager • Manager is responsible for managing and checking the lifecycle of Components • Containers are directly responsible for the Components that are assigned to them ALMA Common Software course

  13. ACS Command Center ALMA Common Software course

  14. Component-Property-Characteristics • (Characteristic) Component: base class for any physical/logical Device(e.g. temperature sensor, motor) • Each Component has Properties (e.g. status value, position - control/monitor points) • Characteristics of Components and Properties(Static data in Configuration DB, e.g. units, ranges, default values) • ABeans ALMA Common Software course

  15. 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 object 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 course

  16. Configuration Database: DO Schemas ALMA Common Software course

  17. Abeans and visual editing ALMA Common Software course

  18. ACS sample Mount Control Panel ALMA Common Software course

  19. Data Channel • Implementation of Observer Design Pattern • Asynchronously pass information between data suppliers and data consumers in a many-to-many relationship • Based on CORBA Notification Channel • An ACS API provides simplified client and server API ALMA Common Software course

  20. Centralized Logging Host Web Client XSLT HTTP request/reply HTTP Server SELECT Relational Database SELECT UPDATE Database query Client Logger Client push Event XML push Client Channels Parser push Filtering logic Centralized Logging write_records Logs Publisher Implements Log interface Out of scope of this document Logging System • To publish any kind of status and diagnostic information for interested clients and archival. • Based on CORBA Telecom Logging Service. C++ API  ACE Logging Java API -> java.util.logging ACS Log Service -> IDL XML logs follow pre-defined schema ALMA Common Software course

  21. Monitor Archiving system ALMA Common Software course

  22. ACS Documentation:http://www.eso.org/projects/alma/develop/acs ALMA Common Software course

  23. Conclusion • Developed based on the experience of both astronomical and accelerator control projects • Can easily run on many platforms • Open source (LGPL license) • 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 course

  24. ALMA SitesChajnantor www.eso.org/projects/alma www.alma.nrao.edu/development/computing http://www.eso.org/projects/alma/develop/acs http://kgb.ijs.si/KGB/ ALMA Common Software course

  25. Questions (& Answers) ALMA Common Software course

More Related