Skip to content

nmsa/tma-framework

Repository files navigation

Trustworthiness Monitoring & Assessment Framework

To implement the ATMOSPHERE methodology, it is necessary to define a modular and scalable architecture able to integrate the components to be developed throughout the project.

The figure below presents a high-level architecture of the solution in the form of an UML Component Diagram, including the trustworthiness monitoring and assessment platform key components and the way they will interact with the remaining layers of the ecosystem.

High level architecture of TMA FrameworkHigh-level architecture for the ATMOSPHERE solution for trustworthiness monitoring and assessment.

The applications deployed in the ATMOSPHERE cloud platform should be embedded in containers that will be managed by the Cloud & Container Services Management Layer. Also, those applications may rely on TDPS and DTDMS layers for data processing and management.

The TMA_Monitor component provides a generic interface that can be used by the probes installed in the different layers of the system to send data about the collected measurements and events. These data are then stored in the TMA_Knowledge component, where it will be available to be used in by the TMA_Analyze, TMA_Planning, and TMA_Execute components.

The TMA_Planning exposes an interface that allow the TMA_Analyze component to notify it about the need for adaptations. Similarly, the TMA_Execute component provides an interface through which the TMA_Planning component can submit an adaptation plan to be performed. Finally, the components of the remaining ecosystem layers provide an interface with predefined adaptations that can be activated by the TMA_Execute component.

TMA Platform Architecture

The platform architecture is presented in the figure below. In practice, the platform is a special-purpose ATMOSPHERE application, also deployed over the container services layer, and internally designed in a microservices architecture, where each component represents one MAPE-K step.

High level architecture of TMA Framework Architecture and interfaces of the trustworthiness platform.

The TMA_Monitor component follows a passive strategy (push mode) in which the other layers provide trustworthiness-related information through the ReceiveData RESTful interface. In every layer of the ATMOSPHERE platform, the deployed probes are responsible for the active monitoring tasks. Every information the probes push through the ReceiveData is enqueued in a FaultTolerantQueue to assure that it will be handled in a reliable way and will be stored in the TMA_Knowledge component.

The platform also receives the results of the design-time assessment tasks, in which the performance and scalability requirements are not so stringent. The tools used to perform these assessment tasks are able to push data through the ReceiveData interface. When this not possible, adapters are used to transform the output of the tools and submit it to the platform. In some cases these results may have to be added manually, through a supporting tool.

The TMA_Knowledge component stores measurements data, and stores and manages information about the application architecture, resources and assets available and their possible adaptations.

The TMA_Analyze component is responsible for continuously listening to the TMA_Knowledge microservice, calculate the trustworthiness scores and, if such scores fall below a threshold, the TMA_Planning microservice is activated throughActivatePlanning. It provides a Dashboard to the user, which allows him to analyse information at runtime and adjust the parameters of the quality models and thresholds used.

The TMA_Planning microservice is responsible for executing the verification rules that will produce a set of adaptations that will be consolidated in an “adaptation plan” to achieve the required goals, or to recover the desired levels of trustworthiness.

Finally, the TMA_Execute microservice runs the adaptation plan received through SubmitPlan interface using the deployed actuators on the target layers.

TMA Platform Components

More details can be found in the documentation of each of these components.

TMA_Monitor

Main repository available here.

TMA_Analyze

Main repository available here.

TMA_Planning

Main repository available here.

TMA_Execute

Main repository available here.

TMA_Knowledge

Main repository available here.