Software Group
Not surprisingly, efficient software is essential to all parts of observational astronomy, from the control of the telescope/observatory and instruments to the preparation and planning of observations to the extraction, analysis and storage of the data output. The UK ATC Software Engineering Group, consisting of about a dozen staff, has experience in all these areas and is well versed in working on multi-disciplinary or software only projects, in collaborative / distributed teams and in managing such projects. Because of their broad experience, our Software engineers tend to have also developed excellent systems analysis and trouble-shooting skills.
Recent and Current Key projects include:
ALMA (Atacama Large Millimeter Array):Software for Proposal and Observing Preparation. A key aim is to provide science-goal based interfaces for those inexperienced with aperture synthesis telescopes, but to also support experts in the area who develop new observing modes. Also a large contribution to the online pipeline reduction system.
VISTA and VISTA-IR Camera: Applying the ESO VLT software system to a new survey telescope and instrument.
SCUBA2:A challenging sub-millimetre bolometer array for the JCMT, providing software covering the whole observing lifecycle.
JWST MIRI: Instrument modeling producing simulated datasets for this exciting instrument;
Ultracam: A novel approach to detector acquisition making use of industry standards and creating a flexible acquisition system already re-used in a number of different instruments.
Gemini Phase 2 Instrument Studies: For both PRVS and WFMOS we have key roles on the Data Pipeline design.
Head of Group
Alan Bridger
Group Domain/Skills
- developing the astronomer's interface to the system, tools that prepare proposals and observing descriptions, via an efficient, friendly, graphical interface that emphasises the science goals;
- modeling instrument and system performance, and production of simulated data;
- the observer's interface to the system, used to execute the observing descriptions, again, user friendly and designed for efficient observing;
- the automatic co-ordination, at a high level, of other software sub-systems;
- the control of instrument mechanisms, via motors, switches and electronic sub-systems;
- software to perform rapid data acquisition from custom or standard input/output controllers;
- complex processing of acquired data, often in an online pipeline, to present datasets free of instrumental effects;
- the monitoring of the whole system, summarising status to the observers;
- efficient handling of large data volumes
Deployment
- Unix-based host computers (mostly Linux);
- real-time operating systems, e.g. Windriver's VxWorks or a real-time Linux variant.
- Portable user-interfaces, with Windows and MacOS X also supported.
Key Technical Skills
- Objected-oriented analysis and design, tempered by appropriate use of structured techniques where sensible
- Unified Modelling Language
- Extensive concurrent software experience
- C/C++ for control and data acquisition
- Java for high level software and user interfaces
- Tcl/Tk, perl and Python for scripting and user interfaces
- "Software environments", or framework software to build the large complex systems needed for astronomical applications. Key frameworks in use are EPICS, Drama, ESO CCS, ALMA Common software, CORBA.
- XML is used extensively for data exchange
- Industry standard protocols such as HTTP for communications, as well as a number of bespoke protocols.
- wide systems knowledge acquired through much experience working on multi-disciplinary projects. This skill is used throughout the project lifecycle and is of key importance in troubleshooting the integration and test phase.