Presentation is loading. Please wait.

Presentation is loading. Please wait.

NRAO/ESO videocon, Feb.12, 2004 ACS ALMA Common software G.Chiozzi and the ACS team.

Similar presentations


Presentation on theme: "NRAO/ESO videocon, Feb.12, 2004 ACS ALMA Common software G.Chiozzi and the ACS team."— Presentation transcript:

1 NRAO/ESO videocon, Feb.12, 2004 ACS ALMA Common software G.Chiozzi and the ACS team

2 ALMA Project 2G.Chiozzi Feb, 12 2004 ALMA Common Software Contents ACS Purpose and Scope ACS Packages Main ACS concepts and patterns Overview of some important ACS Services Conclusions Questions & Answers

3 ALMA Project 3G.Chiozzi Feb, 12 2004 ALMA Common Software Purpose and scope of ACS 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 common development environment and tools

4 ALMA Project 4G.Chiozzi Feb, 12 2004 ALMA Common Software ACS Packages Applications CORBA MiddlewareACEDevelopm ent tools 1 - Base tools Astro libraries (from Commercial/Shared packages) FITS libraries (from Commercial/Shared packages) Device Drivers 5 - Integrated APIs and tools Error System Logging System Time System Data channel 2 - Core components ACS ComponentConfiguration Database Command System Alarm System SamplingArchiving System 3 - Services ACS ContainerSerializati on Plugs UIF libraries Scripting 4 - Hi-level APIs and tools...more to come... ACS Installer ACS Application Framework

5 ALMA Project 5G.Chiozzi Feb, 12 2004 ALMA Common Software CORBA + Container/Component lifecycle interface: init() run() restart() functional interface: observe() container service interface: getComponent(other) Logger getLogger() container Comp CORBA ORBs Services other ACS services Manager deployment configurations

6 ALMA Project 6G.Chiozzi Feb, 12 2004 ALMA Common Software Component/Container: buy vs. build Same idea as.NET, EJB, CCM –.NET binds to Microsoft platform –EJB binds to Java programming language –CCM is still immature and there are no reliable free implementations Off-the-shelf Component Container implementations are complex and require a wholesale commitment from developers to use the languages and tools supplied. Focus for these Component/Container implementations are big enterprise business systems We aim at staying as much a possible compatible with CMM concepts to allow adopting an implementation, when available.

7 ALMA Project 7G.Chiozzi Feb, 12 2004 ALMA Common Software Component’s client view Comp IDL functional interface: observe() Client (a component) ACS Manager 1 -Ask for reference to component IDL stub 2a – invoke c.observe() Interface repository 2b.1 - Retrieve interface 2b.2 - Dynamic invocation

8 ALMA Project 8G.Chiozzi Feb, 12 2004 ALMA Common Software Object Explorer

9 ALMA Project 9G.Chiozzi Feb, 12 2004 ALMA Common Software 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 CDB Manager (domain A) Cont 1Cont 2Cont 3 Manager (domain B) federation Administrator Client Abeans GUI for Control DO 1 DO 2 DO 3 DO 2 DO 4 DO 5 Device

10 ALMA Project 10G.Chiozzi Feb, 12 2004 ALMA Common Software Administrator Client

11 ALMA Project 11G.Chiozzi Feb, 12 2004 ALMA Common Software ACS Command Center

12 ALMA Project 12G.Chiozzi Feb, 12 2004 ALMA Common Software 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

13 ALMA Project 13G.Chiozzi Feb, 12 2004 ALMA Common Software Component-Property-Characteristics full model

14 ALMA Project 14G.Chiozzi Feb, 12 2004 ALMA Common Software Property Servant implementation The DevIO bridge pattern decouples Properties from HW. DevIO implementations available: Memory location (ACS defaults implementation) CAN bus access (ALMA) Socket generic interface (APEX) RS232 (OAN) PC Joystick (HPT) Webcam (HPT) CCD cameras (FBIG, Finger Lake) (HPT) Heidenan Encoder board IK220 (HPT) Motor Control Board (HPT) CCS Real time database (VLT)

15 ALMA Project 15G.Chiozzi Feb, 12 2004 ALMA 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 object 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

16 ALMA Project 16G.Chiozzi Feb, 12 2004 ALMA Common Software Configuration Database: DO Schemas

17 ALMA Project 17G.Chiozzi Feb, 12 2004 ALMA Common Software Abeans and visual editing

18 ALMA Project 18G.Chiozzi Feb, 12 2004 ALMA Common Software Configuration Logging Exception handling … Abeans Application Abeans Model (e.g. BACI) Antenna RA DEC Power Supply Current Readback Status on(), reset(), … Abeans Plug (e.g. ACS CORBA) ABeans widgets Abeans Engine ABeans architecture

19 ALMA Project 19G.Chiozzi Feb, 12 2004 ALMA Common Software ACS sample Mount Control Panel

20 ALMA Project 20G.Chiozzi Feb, 12 2004 ALMA Common Software 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

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

22 ALMA Project 22G.Chiozzi Feb, 12 2004 ALMA Common Software Monitor Archiving system

23 ALMA Project 23G.Chiozzi Feb, 12 2004 ALMA Common Software ACS Documentation: http://www.eso.org/projects/alma/develop/acs http://www.eso.org/projects/alma/develop/acs

24 ALMA Project 24G.Chiozzi Feb, 12 2004 ALMA Common Software ACS Documentation: http://www.eso.org/projects/alma/develop/acs http://www.eso.org/projects/alma/develop/acs

25 ALMA Project 25G.Chiozzi Feb, 12 2004 ALMA Common Software Supported Platforms Operating system: Linux, SUN OS, (MS- Windows) Real-time: VME,VxWorks, RTAI, CAN bus Languages: C++, JAVA, Python CORBA middleware: TAO (& ACE) (C++), JacORB (Java), Omniorb (Python), CORBA services.

26 ALMA Project 26G.Chiozzi Feb, 12 2004 ALMA Common Software ACS installations and projects

27 ALMA Project 27G.Chiozzi Feb, 12 2004 ALMA Common Software 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 http://www.eso.org/~almamgr/AlmaAcs/Plan/ACSDevelopmentPlan_2.0.pdf 6-months cycle. Driven by ALMA Subsystem’s requirements ALMA using ACS 3.0 (the 6 th release) Content of each release discussed with user’s community

28 ALMA Project 28G.Chiozzi Feb, 12 2004 ALMA Common Software ACS 3.1 and after Objective until ACS 2.1: –support Control SW Development (TICS) Objective for ACS 3.0: –Support Pipeline, OT and high level software requirements ACS 3.1 and after: –Bulk data transfer, HTTP and email protocols, Alarm System and other planned packages –Optimization, scalability, performances, security –New trends: IDL generic simulator, code generation from UML –Backward compatibility!

29 ALMA Project 29G.Chiozzi Feb, 12 2004 ALMA Common Software ALMA Sites Chajnantor www.alma.nrao.edu/development/computing http://www.eso.org/projects/alma/develop/acs http://kgb.ijs.si/KGB/ www.eso.org/projects/alma

30 ALMA Project 30G.Chiozzi Feb, 12 2004 ALMA Common Software 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

31 ALMA Project 31G.Chiozzi Feb, 12 2004 ALMA Common Software Questions (& Answers)

32 ALMA Project 32G.Chiozzi Feb, 12 2004 ALMA Common Software Extra slides What follow are extra slides, in case of questions

33 ALMA Project 33G.Chiozzi Feb, 12 2004 ALMA Common Software Entity data: XML value objects Why Value Objects? Less remote calls -> Better performance Run-time independence between subsystems increases reliability Subsystem2 Logic obj.getFoo() Subsystem1 obj.getFoo() Transport by value value object remote object

34 ALMA Project 34G.Chiozzi Feb, 12 2004 ALMA Common Software container Comp Transparent XML Integration container Comp XML Comp Flat-XML API seen from outside Transparent-XML API implemented by component Mapping code layer XML

35 ALMA Project 35G.Chiozzi Feb, 12 2004 ALMA Common Software Transparent XML Integration “IDL-XML” code generator XML-Java binding: “ObsProject” -> alma.data.ObsProject Transparent-XML IF... alma.data.ObsProject getObsProject() IDL compiler typedef xmlstring ObsProject; … ObsProject getObsProject() IDL IF Flat-XML IF... getObsProject() mapping code return getObsProject.marshal()


Download ppt "NRAO/ESO videocon, Feb.12, 2004 ACS ALMA Common software G.Chiozzi and the ACS team."

Similar presentations


Ads by Google