Engineers, astronomers, and project specialists are working together to build the highly anticipated, next-generation observatory for the astronomical community, the Thirty Meter Telescope (TMT). With TMT, we will be able to study the universe as never before, finding answers to many of the grand challenges of science such as the origin of galaxies, birth and death of stars, probe turbulent regions surrounding black holes, discover planets orbiting distant stars and the possibility of life in the alien worlds.
Thoughtworks in association with Indian Institute of Astrophysics is collaborating with the TMT team to build the following systems:
1.) Common Software (CSW) are part of Level 2 TMT subsystems that provide TMT software technical architecture and infrastructure, required to integrate all of TMT software.
2.) Data Management System (DMS) is the system that provides the software and hardware mechanisms, and infrastructure to capture, time-stamp, describe, store, transmit and access all science and engineering data flowing through the TMT system.
3.) Executive Software System (ESW) provides core functionality for synchronized operation of all TMT subsystems apart from observing and monitoring user interfaces.
3.a) The Observatory Control System (OCS):The centre that implements data sequencing to support the observation data acquisition, and shares the execution information across systems.
The experience of the TMT Project Observatory Software team with the Thoughtworks team has been outstanding. The development of our Common Software subsystem has just successfully concluded, and we are very happy with the results. It’s hard to imagine a better long-distance relationship. Everyone on the team is knowledgeable, engaged, and committed to producing a high quality product that meets TMT’s functional and performance requirements. The word “team” accurately describes our relationship. TMT Observatory Software is looking forward to a continuing long-term relationship with Thoughtworks.
TMT SOFTWARE ARCHITECTURE
TECH STACK
India-TMT and the TMT project office have been working with Thoughtworks (TW) for more than two years, as part of the project aimed at developing a crucial component of the Observatory Software for TMT. The development of the common software is completed and went extremely well. This has been appreciated within the project, as well as by all the stakeholders. All the three parties (ITCC, PO and TW) have been working together as a single team, though they were distributed across 5 different locations, in different parts of the world. The TW team feels like an extension of the India-TMT software team. I look forward to working with the TW team in the coming years for the development of the Observatory software.
TMT COMMON SOFTWARE INTEGRATION FRAMEWORK
The TMT Software System is a distributed software system. Software within TMT subsystems is built using a TMT-specific software development framework called Common Software Integration Framework, a deliverable of Thoughtworks. The integration framework provides software that assists in proper use of the services and software that assists in providing best practices for structuring components.
From a software communications and integration viewpoint, TMT consists of a set of software components interacting with each other through a communications backbone and software infrastructure (middleware). The middleware infrastructure is a collection of various channels corresponding to different command, configuration, or data transfer services required for the integration task. The connections shown in the architecture diagram (black lines between TMT subsystems) correspond to one or more such channels.
TMT COMMON SOFTWARE SERVICES
Locate, register and track changes for a component’s connection information.
Support receiving, sending and completion of commands in the form of configurations.
View, capture and store local and distributed logging information.
Templates for various software components defined by TMT as well as service access interfaces.
A centralized persistent store for any configuration file used in the TMT Software System, with versioning system to provide a historical record of each configuration file.
Centrally manage user authentication/access control.
Publish/ subscribe system for component status and telemetry.
Support component alarms, and component and subsystem health.
Standards-based, precision time access for synchronization.
Publish/subscribe system for demands and other transient events.
Access to a shared, centralized, relational database.