A GENERIC SOFTWARE INTERFACE SIMULATOR FOR ALMA COMMON SOFTWARE

The generic software interface simulator framework for Atacama Large Millimeter Array (ALMA) Common Software (ACS) provides ALMA developers with an easy means to create and configure the behaviour of interfaces that have been defined usin g Common Object Request Broker Architecture (CORBA) Interface Definition Language (IDL). ACS consists of a set of application frameworks built on top of CORBA and provides the glue which binds other ALMA software subsystems together [7]. In short, ACS provides an implementation of the component-container design pattern via CORBA. Using the simulation framework, one can choose to predefine the behaviour of a simulated component by embedding simple Python commands within a section of the XML-based ACS configuration database (CDB). The option to configure simulated components’ behaviour at run-time is also a possibility using a provided graphical user interfa ce (GUI) or application programming interface (API) executed within the context of an interactive Pytho n session. Additionally, if the means above have no t been utilized to setup the components’ behaviour th e framework will dynamically provide an implementation of the entire component with a randomized behaviour. This framework is especially useful to ALMA developers for two reasons. On one side it allows developers to test their own component, which is dependent upon other types of components that have been defined via IDL interfaces, but not yet implemented. On the other s ide this tool has proven itself to be quite valuabl e because it allows developers to connect clients suc h as graphical user interfaces to (simulated) components encapsulating hardware devices. Not only can the physical hardware devices be absent in this type of scenario, but the software representin g the hardware need not be available either. The en d result here is that clients and components can be d eveloped and tested in parallel completely independent of each other. This paper discusses the design, implementation, and current usage of the simulator framework within ALMA software as well as future improvements to be made.

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

[2]  Gianluca Chiozzi,et al.  Container-component model and XML in ALMA ACS , 2004, SPIE Astronomical Telescopes + Instrumentation.

[3]  David M. Beazley,et al.  Python Essential Reference , 1999 .

[4]  Reaz Hoque Corba 3 , 1998 .

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

[6]  B. Jeram,et al.  THE ALMA COMMON SOFTWARE, ACS STATUS AND DEVELOPMENTS , 2003 .