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

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
Status Enterprise System Overview. What is Status Enterprise? Status is an HMI/SCADA system with live and historical data, trending, alarming, web and.
COM vs. CORBA.
SPIE 2002 Aug , 2002 ACS CORBA-based Common Software for the ALMA project G. Chiozzi, B. Gustafsson, B. Jeram – ESO M. Plesko, M. Sekoranja,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
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*
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Next Generation Node (NGN) Technical Overview April 2007.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
1st ACS Workshop UTFSM ALMA Common Software Training- Course ACS Characteristic Components 1st ACS Workshop UTFSM, Valparaiso, Chile G.Chiozzi, …..
Component Based Systems Analysis Introduction. Why Components? t Development alternatives: –In-house software –Standard packages –Components 60% of the.
ACS Workshop UCN BACI properties Atacama Large Millimeter Array Alessandro Caproni European Southern Observatory BACI properties.
OpenCCM: The Open CORBA Components Platform OSMOSE WP3 CCM Meeting 14th November 2003, LIFL, Lille, France Philippe Merle Jacquard Project.
ACS Logging System Concepts and Example H.Sommer (Restructured, based on slides from previous years) UTFSM Valparaiso, Chile, Nov ACS Logging System.
Java Pet Store Application. Outline Introduction Introduction Information Layer Information Layer Application Layer Application Layer Infrastructure Layer.
ESB Guidance 2.0 Kevin Gock
ADASS XI Sept30-Oct3, 2001 The ALMA Common Software (ACS) as a basis for a distributed software development G.Raffi, G.Chiozzi (ESO), B.Glendenning (NRAO)
Container-component model and XML in ALMA ACS Heiko Sommer (ESO), Gianluca Chiozzi (ESO), Klemen Zagar (Cosylab) and Markus Völter.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
The ALMA Common Software: a developer friendly CORBA-based framework G.Chiozzi d, B.Jeram a, H.Sommer a, A.Caproni e, M.Pesko bc, M.Sekoranja b, K.Zagar.
ALMA Common Software Basic Track Introduction to the ACS Framework.
6st ACS Workshop UTFSM ACS Course Component, Container, Lifecycle Management 6st ACS Workshop UTFSM, Valparaiso, Chile H. Sommer, G. Chiozzi.
50mm Telescope ACS Course Garching, 15 th to 19 th January 2007 January 2007Garching.
第十四章 J2EE 入门 Introduction What is J2EE ?
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
The Role of Cosylab and the J. Stefan Institute in ACS Presented at 1st ACS Workshop, March 3rd, 2004 by Mark Pleško.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Tokyo July, 2005 ACS Characteristic Components B. Jeram, …..
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
ICALEPCS 2001 Nov , 2001 ACS Common Software for the ALMA Project G.Chiozzi, B.Gustafsson, B.Jeram, P.Sivera – ESO M.Plesko, M.Sekiranja, G.Tkacik,
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
OpenCCM MdC Philippe Merle LIFL - INRIA (soon)
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
ALMA Common Software Basic Track A walk through ACS functionality.
©Kabira Technologies Inc, 2001 May 7-9, 2001 Westward Look Resort Tucson, Arizona SMUG 2001 Execution in UML.
Developing the control system for the 40m OAN radiotelescope with ACS Observatorio Astronómico Nacional P. de VicenteOctober 2005.
ICALEPCS’ GenevaACS in ALMA1 Allen Farris National Radio Astronomy Observatory Lead, ALMA Control System.
XML and Web Services (II/2546)
ESO - Garching 23 June – 02 July, 2003 ACS Course Transparent XML De-/Serialization in Java H. Sommer.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
Property interfacing to Hardware: DevIO ACS Development Team.
ICALEPCS WE2.4-6I ALMA Common Software Status and Development G.Chiozzi a, A.Caproni a e, R.Cirami e,P.Di Marcantonio e,D.W.Fugate d, S.Harrington.
5-Oct-051 Tango collaboration status ICALEPCS 2005 Geneva (October 2005)
Medicina, 07/10/ NURAGHE/ESCS: Telescope driving subsystem Andrea Orlati.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
OpenCCM: Status and Work plan Dr. Philippe Merle LIFL - INRIA ObjectWeb Architecture Meeting, Grenoble, 21 – 22.
Garching - 15th - 19th January, 2007 ACS: status and latest development The ACS Team.
NAOJ, Tokyo – July 04-08, 2005 ACS Configuration Database Bogdan Jeram European Southern Observatory.
ICALEPCS Archamp 08 – 09 October, 2005 ACS Configuration Database G.Chiozzi, B.Jeram European Southern Observatory.
1st ACS Workshop UTFSM, Valparaiso, Chile ACS Course The Big Picture of ACS H. Sommer, G.Chiozzi.
ESO - Garching 08 – 09 March, st ALMA Common Software Workshop ACS Container/Component Model.
ESO - G.Chiozzi ESO Instrumentation Software Workshop VLT Control Software …and beyond.
ESO - Garching 08 – 09 March, st ALMA Common Software Workshop XML « Data by Value » Transport.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 15 System Architecture III.
Chapter 13 Web Application Infrastructure
Building Enterprise Applications Using Visual Studio®
Platform as a Service.
Hierarchical Architecture
ALMA Common Software Training-Course Session 4 - ACS Docs
Inventory of Distributed Computing Concepts and Web services
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Interpreter Style Examples
ACS ALMA Common software Demo Setup
Tango in a Nutshell 31/12/2018.
Presentation transcript:

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

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

ALMA Project 3G.Chiozzi Feb, 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

ALMA Project 4G.Chiozzi Feb, 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

ALMA Project 5G.Chiozzi Feb, 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

ALMA Project 6G.Chiozzi Feb, 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.

ALMA Project 7G.Chiozzi Feb, 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

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

ALMA Project 9G.Chiozzi Feb, 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

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

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

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

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

ALMA Project 14G.Chiozzi Feb, 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)

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

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

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

ALMA Project 18G.Chiozzi Feb, 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

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

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

ALMA Project 21G.Chiozzi Feb, 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

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

ALMA Project 23G.Chiozzi Feb, ALMA Common Software ACS Documentation:

ALMA Project 24G.Chiozzi Feb, ALMA Common Software ACS Documentation:

ALMA Project 25G.Chiozzi Feb, 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.

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

ALMA Project 27G.Chiozzi Feb, ALMA Common Software ACS Development Plan ACS long term development is specified in the ACS SW Development Plan: 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

ALMA Project 28G.Chiozzi Feb, 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 protocols, Alarm System and other planned packages –Optimization, scalability, performances, security –New trends: IDL generic simulator, code generation from UML –Backward compatibility!

ALMA Project 29G.Chiozzi Feb, ALMA Common Software ALMA Sites Chajnantor

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

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

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

ALMA Project 33G.Chiozzi Feb, 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

ALMA Project 34G.Chiozzi Feb, 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

ALMA Project 35G.Chiozzi Feb, 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()