Software Group
03 May 2011



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.




​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.
  • SKA (Square Kilometre Array)
    Leading an international team desiging the Observation Management part of the Telescope Manager for the SKA, covering all aspects of the science observing domain, from proposing to data collection.
  • 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.
    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.

Head of Group

Group domain / skills

  • developing the astronomer's interface to the system with 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 from instrumental effects;
  • the monitoring of the whole system, summarising status to the observers;
  • efficient handling of large data volumes


  • 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.