[en] UPMSat-2 is an experimental mission aimed at designing, launching and operating a mini-satellite on orbit. Its main objetive is to develop a technological demonstration platform that can be used to carry out several experiments and as a teaching aid. The STRAST group is in charge of developing de software system for both the ight and ground segments, Communication between the flight and ground segments is performed by means of a radio link that enables telecommand and telemetry messages to be exchanged. The ground segment must manage the communications with the satellite, exchange the required messages, and operate the satellite based on them. An important feature of the ground segment is to develop a user interface that allows operators to manage all the messages exchanged during the lifetime of the satellite. This article is aimed at describing the most important aspects of the development of the ground segment software. The main objetives of this development are complying with the identified requirements and exploring the use of state-of-the-art techniques related to important characteristics, such as availability and fault tolerance. The system architecture is based on these requirements. It consists of a set of components that can run on a distributed platform, and are compatible with deployment on a cloud environment. There is a devoted subsystem for interacting with communication antenna for data exchange. Data storage is based on a Cassandra database, which provides for data replication for fault tolerance. There is a web-oriented user interface based on Django and Zeppelin, designe din a way allowing replicated instances. The system has been developed using Ada and Python as programming languages.

[es] UPMSat-2 es una misión experimental consiste en el diseño, lanzamiento y operación de un minisatélite en órbita. Su principal objetivo es servir de plataforma de demostración tecnológica para la ejecución de diversos experimentos y para fines didácticos. El grupo STRAST se encarga de desarrollar el software del segmento de tierra y del segmento de vuelo. La comunicación entre el satélite y el segmento de tierra se lleva a cabo mediante un enlace que permite intercambiar mensajes de telecomandos y de telemetría. El segmento de tierra debe gestionar la conexión con el satélite, intercambiar mensaje y operar con el satélite. Un aspecto importante en este segmento es una interfaz de usuario que permite gestionar los mensajes generados durante toda la vida del satélite. En este artículo se describen los aspectos más relevantes del desarrollo del segmento de tierra. Los objetivos del desarrollo han sido, obviamente, satisfacer los requisitos identificados y explorar técnicas actuales relacionados con aspectos importantes como disponibilidad o tolerancia de fallos. La arquitectura de sistema está basada en los requisitos mencionados. Esta compuesta de un conjunto de componentes que se pueden ejecutar en un sistema distribuido y compatible su despliegue en la computación en la nube. Un subsistema interacciona con la antena de comunicación para actualizar los datos. El almacenamiento se basa en una base de datos Cassandra, que permite la replicación de los datos para tolerar fallos. La interfaz web está basada en Django y Zeppelin, y su diseño permite disponer de instancias replicadas. El sistema se ha desarrollado en Ada y Python.