2   Software Architecture Document for the Aouda.X Tango Server

Author:Mario Tambos

2.1   Change Record

2015.08.07 - Document created.

2.2   Introduction

2.2.1   Purpose

This Tango device server acts as a proxy between the Tango Bus and the electronics in the actual Aouda.X suit. The suit provides a Java API, bundled in the libmarvin-java.jar file, with which this device server interfaces to get sensor’s readings and set the electronics parameters.

2.2.3   Glossary

European Mars Analog Station
Italian Mars Society
Extra-Vehicular Activity
To Be Defined
To Be confirmed

2.4   Implementation View

The Aouda.X Tango device server implements two classes, AoudaOBDHJava and AoudaOBDHJavaClass. The first one is in charge of initializing and running the server, as well as answering requests made through the Tango Bus. The second class, AoudaOBDHJavaClass, is in charge of providing all the meta-information about the device, i.e., commands and attributes available, and their characteristics. A class diagram with the interactions between these two classes and the ones defined in the libmarvin-java package is shown below.


2.5   Sequence Diagrams

2.5.1   Tango Device Server Initialization

The following sequence diagram illustrates the process of starting the Aouda.X Tango Device Server from the command line.


2.5.2   Aouda.X Data Acquisition

The diagram below explains how the sensor data is obtained from the Aouda.X suit. At the moment of the device’s initialization, both a telemetry client and a data cache are created. The telemetry client concurrently polls the physical sensors on the suit, and stores the telemetry read into the data cache.


2.5.3   Request for Sensor’s Data

This sequence diagram shows how a request for data made through the Tango Bus is processed. The immediate source of the data returned is not the physical sensors on the Aouda.X suit, but rather the internal data cache.


2.7   Development and Test Factors

2.7.1   Standards Compliance

The guidelines defined in [2] should be followed.