ALMA Common Software Basic Track Component implementation guidelines.

Slides:



Advertisements
Similar presentations
ESO - Tokyo July, 2005 ALMA Common Software Training- Course Session 1b Distributed Systems G.Chiozzi.
Advertisements

ALMA Cycle 2 Capability Jongsoo Kim ALMA EA Korea node.
Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array The March to Early.
Atacama Large Millimeter/ submillimeter Array - ALMA Charge 2 Al Wootten JAO Interim Project Scientist.
Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array.
ALMA: The March to Early Science Al Wootten, ALMA/NA Project Scientist Cometary Radio Astronomy.
ALMA TACand the proposal process Lister Staveley-Smith Member, ALMA Review Panel.
7 th ACS Workshop 2010 Antofagasta, Chile ACS Project Lifecycle Matias Mora (based on presentation by G. Chiozzi and J. Ibsen)
Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array.
The North America ALMA Science Center (NAASC) John Hibbard NA ARC Manager (NRAO/NAASC) National Research Council Canada ESO ALMA Community Meeting, Garching,
2008 Decmeber 5 ALMA-JT Science Meeting 1 ALMA Project News Koh-Ichiro Morita ALMAJ Project Scientist.
ALMA During Early Science
Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array.
December 2007Chile Observatories Earthquake Preparedness Workshop1 Atacama Large Millimeter/submillimeter Array ALMA Eduardo Donoso.
Copyright © 2003 ProsoftTraining. All rights reserved. Distributed Object Computing Using Java and CORBA.
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.
Descripción y Areas del Dpto. de Computación de ALMA (ADC) Tzu-Chiang Shen Gerente del Grupo de Software Departamento de Computación ALMA Joint ALMA Observatory.
ALMA Common Software Basic Track Introduction to the ACS Framework.
ALMA Common Software Basic Track Software Engineering Basics.
Workshop in ALMA Logs Prepared by Juan Pablo Gil – Arturo Hoffstadt
ACS Error System Using it in JAVA Sohaila Lucero NRAO.
Integrating the CERN laser alarm system with the ALMA common Software SPIE, Orlando, May 2006 Integrating the CERN LASER Alarm System with the ALMA Common.
NAASC Status and NSF Proposal Review & Recommendations Carol Lonsdale Head, North American ALMA Science Center ANASAC Sept 2010.
ICT Coordination and Planning Meeting #1 (17-19 April 2013) ALMA Dashboard 1.0 Giorgio Filippi The Atacama Large Millimeter/submillimeter Array.
EA ARC Ken Tatematsu East-Asian ARC Manager. ARC organization Difference between ARCS: NA: concentrated in Charlottesville Europe: distributed in different.
A Search for Hydroxlyamine (NH 2 OH) Towards IRC+10216, Orion-S, Orion(KL), SgrB2(N), SgrB2(OH), W512M, W3(IRS5) R. L. Pulliam NRAO / North American ALMA.
The ALMA Software and Release Management Ruben Soto Software Operations Group & Release Manager Joint ALMA Observatory.
Data Distribution Service as an alternative to CORBA Notification Service for the Alma Common Software Jorge A. Avarias Alfaro (ALMA UTFSM group/NRAO)
Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array The ALMA Observing.
Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array The ALMA Observing.
ALMA Common Software Basic Track Test Driven Development Unit testing and TAT.
ALMA Common Software Basic Track Logging and Error Systems.
ACS Error System APIs: C++ Bogdan Jeram European Southern Observatory July 2005ESO.
AtacamaLargeMillimeterArray ACS Training Developing Python Components.
ALMA Common Software Basic Track A walk through ACS functionality.
ESO - Garching 23 June – 02 July, 2003 ACS Course JUnit for Java Unit Testing H. Sommer.
The North American ALMA Science Center Interim Director, Paul A. van den Bout.
ICALEPCS’ GenevaACS in ALMA1 Allen Farris National Radio Astronomy Observatory Lead, ALMA Control System.
ESO - Garching 23 June – 02 July, 2003 ACS Course Transparent XML De-/Serialization in Java H. Sommer.
Atacama Large Millimeter/ submillimeter Array - ALMA ASAC Charge 3 For Oct 31 ASAC Report to ALMA Board Al Wootten JAO Interim Project Scientist.
ALMA Polarization Commissioning and Verification Status Kouichiro Nakanishi (Joint ALMA Observatory/NAOJ) on behalf of ALMA Polarization Commissioning.
Early Science Specification and Expected Array Evolution Masao Saito EA ALMA Project Scientist EA PS Report1 2nd ALMA Users Meeting 2011/1/13.
Computing ALMA Board Meeting November 2015 Jorge Ibsen Head of ADC, ICT Lead Contributions from: ADC Management (JAO): Achermann, Parra, Saldias, Shen,
Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array.
ALMA and the Call for Early Science The Atacama Large (Sub)Millimeter Array (ALMA) is now under construction on the Chajnantor plain of the Chilean Andes.
ICALEPCS 2005 Geneva, Oct. 12 The ALMA Telescope Control SystemA. Farris The ALMA Telescope Control System Allen Farris Ralph Marson Jeff Kern National.
Atacama Large Millimeter/ submillimeter Array - ALMA ASAC Charges For Oct 31 ASAC Report to ALMA Board Al Wootten JAO Interim Project Scientist.
AtacamaLargeMillimeterArray ACS Training Using the Python Error System.
ALMA Town Meeting Introduction K. Y. Lo Director of NRAO.
ALMA Common Software Basic Track Project Lifecycle.
ALMA Common Software Basic Track Configuration Database.
ALMA Common Software Basic Track Component/Container Model and Lifecycle Management.
Charlottesville, November ALMA CSV Update Alison Peck Current status.
ACS on VxWorks B.Gustafsson European Southern Observatory ESO Feb ESO.
Dashboard upcoming features A Hales, ALMA and M Chavan, ESO
ALMA ANTENNA KEY SPECIFICATIONS
ACA TP Spectrometer Manabu Watanabe (NAOJ)
ALMA Common Software Basic Track
ALMA Software Scheduling subsystem Planning for cycle5 onwards
PRTS & KPI Nick Whyborn – Vasco Cortez
Shift Log Tool Refactoring
Obsprep Planning, 2017 Alan Bridger
Upgrade to Oracle12c in February 2017 José Parra
ATACAMA LARGE MILLIMETER ARRAY
Outline Welcome: K.Y. Lo ALMA Project Status: Adrian Russell
ACS ALMA Common software Demo Setup
Welcome K. Y. Lo Director, NRAO
Atacama Large Millimeter Array Science IPT Review
ALMA Town Meeting Introduction
Presentation transcript:

ALMA Common Software Basic Track Component implementation guidelines

Purpose  Explanation to quickly implement a component in java and C++

IDL example  HelloDemo stripped example from ACS/LGPL/CommonSoftware/jcontexmpl #include #pragma prefix "alma" module demo { interface HelloDemo : ACS::ACSComponent { string sayHello(); }; IDL HelloDemo.idl

Makefile example Makefile tags:  #common tag for all three programming languages:  IDL_FILES = HelloDemo  # + programming languages specific tags  make all generates stubs and skeletons from HelloDemo.idl :  java: HelloDemo.jar  C++: libHelloDemoStubs.so/a and HelloDemoC/S.h/inl  Python: HelloDemo_idl.py

Java example Makefile Java specific makefile tags:  #Java specific makefile tags:  DEBUG = on  COMPONENT_HELPER = On  COMPONENTS_JARFILES = jcontexmplComp  jcontexmplComp_DIRS = alma/demo/HelloDemoImpl  User defined implementation in jcontexmplComp.jar

Java example: from IDL to implementation # pragma prefix "alma" module demo { // a very simple component interface HelloDemo : ACS::ACSComponent { string sayHello(); alma.demo.HelloDemo.java alma..demo.HelloDemoHelper.java alma..demo.HelloDemoHolder.java alma..demo.HelloDemoOperations.java.... java.lang.String sayHello(); make all alma.demo.HelloDemoHelper.java alma..demo.HelloDemoImpl.java

Java example: HelloDemoHelper  extends alma.acs.container.ComponentHelper  instantiate the implementation: HelloDemoImpl  A template (*tpl) can be generated by setting the Makefile tag COMPONENT_HELPER = ON

Java example: HelloDemoImpl  Implementation of the IDL methods: public class HelloDemoImpl implements ComponentLifecycle, HelloDemoOperations{ private ContainerServices m_containerServices; private Logger m_logger; public void initialize(ContainerServices containerServices) {... } public void execute() {... } public void cleanUp() {... } public void aboutToAbort() {... } public String sayHello() { return "hello"; }

C++ example Makefile C++ Makefile tags:  # … in addition to common tags …  # C++ specific makefile tags for the implementation  # C++ component “lives” as a shared library:  LIBRARIES = HelloDemoImpl  # compiling the implementation …  HelloDemoImpl_OBJECTS = HelloDemoImpl  # … and linking against generated stubs library:  HelloDemoImpl_LIBS = HelloDemoStubs  component user’s implementation in: libHelloDemoImpl.so/a

C++ example: from IDL to implementation module demo { // a very simple component interface HelloDemo : ACS::ACSComponent { string sayHello(); HelloDemoS.h: namespace POA_demo {.. class HelloDemo { … char *sayHello(); …. Base class for the implementation make all HelloDemo.h HelloDemoImpl.cpp Genereted from IDL To be implemented by user

C++ example: HelloDemoImpl  Implementation of the IDL method: HelloDemoImpl.h: #ifndef _HELLO_DEMO_H_ #define _HELLO_DEMO_H_ #include “acscomponentImpl.h” #include “HelloDemoS.h” class HelloDemoImpl : public acscomponent::ACSComponentImpl, public POA_demo::HelloDemo { public: HelloDemoImpl(const ACE_CString &name, maci::ContainerSrvices *cs); ~HelloDemoImpl(); // lifecycle methods char* sayHello(); // implementation of IDL method } #endif HelloDemoImpl.cpp: #include “HelloDemoImpl.h” HelloDemoImpl::HelloDemoImpl(const ACE_CString &name, maci::ContainerSrvices *cs) : ACSComponentImpl(name, cs) {…} char *HelloDemoImpl::sayHello(){ std::cout << “Hello World” << std::endl; return “HelloWorld”; } #include MACI_DLL_SUPPORT_FUNCTIONS(HelloDemoImpl)

Questions? Acknowledgements ACS presentations were originally developed by the ALMA Common Software development team and has been used in many instances of training courses since Main contributors are (listed in alphabetical order): Jorge Avarias, Alessandro Caproni, Gianluca Chiozzi, Jorge Ibsen, Thomas Jürgens, Matias Mora, Joseph Schwarz, Heiko Sommer. The Atacama Large Millimeter/submillimeter Array (ALMA), an international astronomy facility, is a partnership of Europe, North America and East Asia in cooperation with the Republic of Chile. ALMA is funded in Europe by the European Organization for Astronomical Research in the Southern Hemisphere (ESO), in North America by the U.S. National Science Foundation (NSF) in cooperation with the National Research Council of Canada (NRC) and the National Science Council of Taiwan (NSC) and in East Asia by the National Institutes of Natural Sciences (NINS) of Japan in cooperation with the Academia Sinica (AS) in Taiwan. ALMA construction and operations are led on behalf of Europe by ESO, on behalf of North America by the National Radio Astronomy Observatory (NRAO), which is managed by Associated Universities, Inc. (AUI) and on behalf of East Asia by the National Astronomical Observatory of Japan (NAOJ). The Joint ALMA Observatory (JAO) provides the unified leadership and management of the construction, commissioning and operation of ALMA.