Skip to content

Control Panels (CP)

Control Panels (CP) icon
  • Category: Monitoring & Analytics
  • Primary environment: MaaS Consumer, MaaS Provider
  • Documentation focus: Design reference
  • Maturity: TRL 4–5 (first release, M18)
  • Related architecture docs: Reference Architecture Guide, Environments

The Control Panels (CP) component allows users to collect both batch and real-time streaming data to create visualizations, dashboards, live alerts, and reports. This gives users access to real-time insights and alerts on production processes. CP is composed of the internal components listed below.

The D5.2 usage viewpoint defines roles, permissions, constraints, a role-task matrix, and a use case diagram for this solution.

  • User: Can access and view the simple dashboards created.; constraint: Can only view the available dashboards
  • Dashboard Creator: Responsible for enabling the rest of the processes through data collection and analysis, managing the core data infrastructure, building dashboards and reporting and carrying out extensive data analysis.; constraint: Can create, view, edit and delete dashboards
  • System Administrator: Manages the system and all its components, from the system itself to the users registered in it.

Control Panels use case

Use-case diagram extracted from MaaSAI deliverable D5.2.

CP is structured around authentication, dashboard composition, visualisation management, and data-source querying services. The functional diagram shows how operational users and administrators create dashboards, attach data sources, and publish monitoring views for industrial supervision.

Control Panels functional components

Functional components diagram extracted from MaaSAI deliverable D5.2.

• Data Visualization Engine: The primary component of the solution, it offers the functionalities to perform SQL queries on the datasets, creating visualizations from the datasets or the SQL queries, and creating Dashboards to integrate the created visualizations. It also functions as the user interface of the solution and allows the user to display the created Dashboards and Visualizations.

• Backend: The interface responsible for exchanging data between the Storage and the MQTT Message Broker.

• Storage: The component responsible for the storage of all the data, be it MQTT messages, batch data from files uploaded to the Data Visualization Engine, created Views using SQL queries, Visualizations and Dashboards.

The CP system architecture features a modular containerized approach, which facilitates the scalability and deployment of the solution. The system is divided into the following components:

Data Visualization Engine: The primary component of the solution is containerized and accesses the storage through a direct connection to the database using a connection string or a URL. It is stateless, as all the data is stored in the Storage component.

Control Panels architecture

Architecture diagram extracted from MaaSAI deliverable D5.2.

CP is assembled from established open-source data technologies, deployed as a set of containerised services.

CategoryTechnology
Data ingestionTelegraf 1.38, connecting to relational databases, MQTT brokers, and other sources
Internal databaseInfluxDB 3-core
Alerts & reporting engineInfluxDB Processing Engine (integrated in InfluxDB)
Data visualisation engineApache Superset 5.0
ContainerisationDocker / Docker Compose
Licenceno licence file is currently included in the repository; the underlying technologies use the Apache License 2.0 and/or MIT licence

Within the MaaSAI architecture, CP acts as a visualisation layer that surfaces process-level data as well as higher-level interactions between MaaS Consumer and Provider agents and Cloud MaaS Marketplace metrics, serving both consumers and providers. On the data side, Telegraf allows the ingestion of both batch and streaming data from relational databases and MQTT brokers. The only external dependency declared in D10.1 is NodeJS, required to build the Superset frontend component.

CP exposes REST APIs from its InfluxDB and Superset components.

  • Database management: /api/v3/configure/database — list, create, update, and delete databases
  • Data query: /api/v3/query_influxql and /api/v3/query_sql — retrieve data via InfluxQL or SQL
  • Data write: /api/v3/write_lp — write data through InfluxDB’s line protocol
  • Charts: /api/v1/chart/ — create, list, update, and delete charts
  • Dashboards: /api/v1/dashboard/ — create, list, update, and delete dashboards

The user interface comprises an alerts manager (based on the InfluxDB explorer UI, where anomaly-detection plugins are managed), a query tool for filtering data and creating temporary views, a visualisation creation environment, and an interactive dashboard builder with global filters.

Representative screens of the CP web interface in the first release:

Control Panels alerts manager

Control Panels alerts manager — MaaSAI deliverable D10.1.

Control Panels dashboard

Control Panels dashboard — MaaSAI deliverable D10.1.

CP is distributed as a pre-configured set of containers launched with a single Docker Compose command, with one combined production/development profile (docker-compose.yml), using Docker Engine 29.1.3 and Compose v2.

RequirementMinimumRecommended
CPU2 vCPUs4+ vCPUs
RAM8 GB16 GB
Storage20 GB50–100 GB
OSAny Docker-capable OS64-bit Linux

Data-source connections are currently configured manually through environment files, pending a dedicated configuration UI.