Container-component model and XML in ALMA ACS

ALMA software, from high-level data flow applications down to instrument control, is built using the ACS framework. To meet the challenges of developing distributed software in distributed teams, ACS offers a container/component model that integrates the use of XML transfer objects. ACS containers are built on top of CORBA and are available for C++, Java, and Python, so that ALMA software can be written as components in any of these languages. The containers perform technical aspects of the software system, while components can focus on the implementation of functional requirements. Like Web services, components can use XML to exchange structured data by value. For Java components, the container seamlessly integrates the use of XML binding classes, which are Java classes that encapsulate access to XML data through type-safe methods. Binding classes are generated from XML schemas, allowing the Java compiler to enforce compliance of application code with the XML schemas. This presentation will explain the capabilities of the ACS container/component model, and how it relates to other middleware technologies that are popular in industry.

[1]  Gianni Raffi,et al.  ALMA software architecture , 2002, SPIE Astronomical Telescopes + Instrumentation.

[2]  Gasper Tkacik,et al.  CORBA-based Common Software for the ALMA project , 2002, SPIE Astronomical Telescopes + Instrumentation.

[3]  Roberto Cirami,et al.  The ALMA common software: a developer-friendly CORBA-based framework , 2004, SPIE Astronomical Telescopes + Instrumentation.

[4]  David W. Fugate A CORBA event system for ALMA common software , 2004, SPIE Astronomical Telescopes + Instrumentation.