NIER Ingegneria è diventata Società Benefit →
TORNA AGLI ARTICOLI
10 Febbraio 2023

RAILWAY SIMULATION TOOLS: SIMULAZIONE DELLE COMUNICAZIONI IN AMBITO ERTMS.

Lo sviluppo dei simulatori nel contesto European Rail Traffic Management System (ERTMS) ed European Train Control System (ETCS).

A cura di Francesco Calabria ed Emiliano La Cara
[Software Consultant e Direttore Area Ingegneria del Software]


INTRODUZIONE.

Nel mondo Ferroviario, o dominio Railway, entrano in gioco molti attori che permettono ai convogli di muoversi in sicurezza lungo le tratte.

Lo sviluppo dei simulatori treni di cui parliamo e del software che questi permettono di testare, si posiziona all’interno del quadro di avanzamento tecnologico ERTMS/ETCS – proposto dall’Unione Europea – per una maggiore interoperabilità ferroviaria tra gli stati membri.

Come abbiamo visto in questo articolo, l’ERTMS/ETCS – European Rail Traffic Management System/European Train Control System – rappresenta il sistema europeo standardizzato di gestione del traffico ferroviario.

Simulatori e attività di Test.

Nel processo di sviluppo software ci sono varie fasi dove può essere necessario testare e valutare la correttezza del codice.

Questo viene tipicamente fatto con diverse tipologie di test: ad esempio, sono presenti test ad hoc per la verifica di funzioni specifiche oppure sono presenti test che con l’utilizzo di strumenti di simulazione vanno a verificare specifiche funzionalità di sistema. La prima tipologia di test, a cui appartengono anche Unit Test e Test di Integrazione, permettono di verificare:

  • Singoli metodi e funzioni,
  • Vari componenti utilizzati nel software,
  • Corretto funzionamento e integrazione tra i diversi moduli utilizzati nel software.

Viene svolta tramite strumenti general purpose (come VectorCast, o IBM RTRT) che permettono di entrare nel dettaglio del codice.

La seconda tipologia test è definita di “test funzionali” e si concentra sui requisiti di un’applicazione. Uno dei loro compiti è verificare l’output di una determinata azione senza necessariamente verificare gli stati intermedi del sistema. I cosiddetti test ai morsetti del sistema, che richiedono spesso strumenti ad hoc per provare le funzionalità o gli specifici comportamenti complessi dell’Equipment Under Test (EUT).

Proprio per verificare l’aderenza dello sviluppo ai requisiti e il comportamento funzionale, sono stati sviluppati i simulatori che ti descriviamo.

L’utilizzo di strumenti di simulazione treni permette di testare quelle funzioni che non si potrebbero verificare prima del rilascio del software in Gold Master. Di conseguenza, consente agli sviluppatori di avere un codice più robusto e più aderente ai requisiti del cliente.

Come accennato, i simulatori sono strumenti sviluppati ad hoc nel contesto dell’applicazione e delle funzionalità da testare. Quindi, è necessario descrivere brevemente il software in questione prima di passare alla descrizione del simulatore stesso.

ERTMS – CONTESTO APPLICATIVO.

Il Radio Block Centre (acronimo RBC) è uno dei componenti basilari di un sistema ERTMS/ETCS di 2º e 3° livello: è situato in un posto centrale, dal quale viene tenuta sotto controllo e gestita la circolazione dei treni. Attraverso la trasmissione di messaggi radio con sistema GSM-R dedicato, ciascun treno riceve tutti i parametri da rispettare come velocità, vincoli relativi al percorso, possibili rallentamenti temporanei e tutto quello che è necessario a mantenere il corretto distanziamento tra i treni in circolazione. Contemporaneamente lo stesso RBC raccoglie le informazioni inviate dai treni.

L’insieme delle informazioni sul posizionamento dei convogli sulla tratta ferroviaria e sulle infrastrutture consente di trasmettere al treno la cosiddetta Autorizzazione al Movimento concessa dal sistema (MA, Movement Authority), cioè la libertà di circolazione rispetto a uno specifico punto in una specifica tratta ferroviaria. Le informazioni che arrivano dal Radio Block Centre verranno visualizzate sul cruscotto della locomotrice, la quale indicherà la velocità obiettivo, la distanza libera avanti e una serie di informazioni tra cui la velocità massima consentita.

Un RBC, insieme ad altri sistemi come Interlocking e Human Machine Interface (HMI), realizza l’ecosistema che fornisce informazioni sullo spiegamento dei treni e aiuta a ottenere dati precisi sul loro funzionamento in tempo reale:

  • L’Interlocking è responsabile del controllo dei diversi elementi nel percorso, come segnali, deviatoi, circuiti di binario, passaggi a livello e molti altri;
  • La HMI di RBC è un sistema che interagisce con i diversi operatori e che rende possibile la gestione della circolazione ferroviaria e la conoscenza dello stato dei diversi elementi e sistemi che compongono il tratto ferroviario supervisionato.

LINGUAGGI E STRUMENTI.

I simulatori treni presentati sono stati sviluppati con 2 linguaggi di programmazione:

  • Linguaggio C;
  • Linguaggio C#.

Il primo è stato utilizzato per realizzare una dll (dynamic-link library) che l’applicazione utilizza per verificare la bontà dei messaggi scambiati tra gli attori coinvolti nella simulazione.

Il secondo linguaggio, invece, è stato utilizzato per gestire:

  • Comunicazione e scambio di messaggi da e verso gli attori coinvolti;
  • Logica del simulatore;
  • Interfaccia grafica (GUI, Graphical User Interface) che l’utente utilizza per popolare i messaggi, eseguire script, visualizzare aggiornamenti di stato e, in generale, interagire con il simulatore;
  • Salvataggio e aggiornamento dei dati, sia i dati di input inseriti dall’utente che i dati ricevuti da RBC.

L’ambiente di sviluppo principale per la creazione dei simulatori è stato Visual Studio, ed è stata scelta la versione .NET Framework 4.7 per C#, realizzando l’interfaccia grafica in WPF.

Tutti i simulatori sono stati realizzati per far fronte alle esigenze specifiche da parte del team di sviluppo, con un lavoro a stretto contatto con il team per mantenere un buon livello di usabilità ma, allo stesso tempo, per fornire tutti gli strumenti necessari per eseguire i test.

I simulatori sono stati realizzati con un occhio sulla manutenibilità e con la possibilità di integrare in futuro nuove funzionalità. La verifica del completamento di una funzionalità è necessaria al team di sviluppo per poterla considerare completata e proseguire nell’implementazione di quelle nuove.

Simulatore Comunicazione Treno-RBC.

Il primo dei simulatori presentati è quello per il Treno-RBC.

Tipicamente posizionato alla testa del treno, è presente l’European Vital Computer (EVC), che gestisce il movimento e l’avanzamento del rotabile. Questo sistema è il “cervello” che permette l’avanzamento, il calcolo delle distanze di frenatura e che si occupa dello scambio di messaggi tra il treno stesso ed RBC.

Con questo simulatore è possibile riprodurre completamente una comunicazione tra RBC e il Treno,  in particolare scenari come:

  • Richiesta di collegamento del treno verso RBC e accettazione/rifiuto da parte di quest’ultimo;
  • Richiesta di Autorizzazione al movimento;
  • Completamento del percorso autorizzato e disconnessione del treno da RBC;
  • Ingresso e uscita del treno dall’area supervisionata da RBC.

Ad ogni scenario corrisponde un flusso specifico di messaggi; RBC a seguito della ricezione di un dato messaggio dovrà rispondere a sua volta con uno specifico messaggio, elaborato in accordo con la propria logica interna e aggiornando, se necessario, il proprio database.

Il simulatore permette quindi di verificare il contenuto dei messaggi scambiati, verificare che i dati inviati da RBC siano coerenti, come la sequenza di messaggi (sequence dei dati), che la marcatura temporale del messaggio sia aggiornata e non ci sia il rischio di leggere un messaggio “vecchio” (freshness dei dati).

Questo simulatore permette – inoltre – di eseguire test di Error Injection verso RBC e di verificare la resistenza agli errori. Con Error Injection si intende l’iniezione di una corruzione all’interno del pacchetto dati trasmesso, per esempio sporcando byte con valori diversi da quelli funzionalmente accettabili.

Verificare il comportamento di RBC a seguito della ricezione di una sequenza di messaggi sbagliata o incoerente fa parte del processo di irrobustimento del sistema, ed è particolarmente importante per tutti quei sistemi safety-critical.

ERTMS - Interfaccia Simulatore Treno-RBC

Figura 1 – Interfaccia Simulatore Treno-RBC

I messaggi scambiati tra RBC ed EVC sono definiti nella loro struttura a livello europeo tramite UNISIG[1]; l’utente è guidato nel popolamento di messaggi, e dei pacchetti in essi contenuti, tramite l’interfaccia grafica.

ERTMS - Pop-Up per popolamento pacchetto

Figura 2 – Pop-Up per popolamento pacchetto

Il simulatore relativo al treno include anche una schermata intuitiva che mostra l’area supervisionata da RBC, evidenziando i Segnali Virtuali presenti all’interno dell’area ed il loro stato. Tramite questa schermata è possibile aggiornare i messaggi inviati ad RBC, relativi al posizionamento del treno, rilevando ad esempio l’identificativo o la posizione dei Balise Group.

Il simulatore permette inoltre di forzare l’aggiornamento dello stato di un Segnale Virtuale, facendo scattare trigger interni ad RBC che possono scatenare l’aggiornamento dell’Autorizzazione al Movimento, o in generale l’invio di nuovi messaggi verso il treno.

ERTMS - Area Supervisionata RBC con Segnali Virtuali

Figura 3 – Area Supervisionata RBC con Segnali Virtuali


Simulatore Comunicazione VHMI-RBC.

L’Interfaccia Operatore RBC è un sottosistema che permette:

  • Visualizzazione in sicurezza dello stato della linea e dei treni con l’obiettivo di gestire la circolazione, sia in condizioni normali che di degrado;
  • Gestione in sicurezza delle operazioni per l’attivazione dei rallentamenti e delle riduzioni di velocità, legati ad esempio a lavori in corso, per l’attivazione degli arresti di emergenza, per l’invio di messaggi di testo che RBC dovrà inoltrare al treno (visualizzati sullo schermo del macchinista) e altro ancora.

La HMI di RBC svolge fondamentalmente le seguenti funzioni:

  • Attivazione/cessazione dei rallentamenti e di riduzioni di velocità;
  • Aggiornamento dello stato degli enti all’interno dell’area supervisionata;
  • Gestione degli arresti di emergenza;
  • Visualizzazione delle informazioni e dei comandi.

Il simulatore permette l’invio di tutti i comandi verso RBC, il quale dovrà aggiornare il proprio database interno e inviare, se necessario, a uno o più treni specifici messaggi di aggiornamento. Dall’altro lato, RBC dovrà inviare periodicamente messaggi verso l’operatore, in modo che l’operatore possa visualizzare sempre le informazioni più aggiornate e possa verificare la corretta ricezione dei comandi da parte di RBC.

ERTMS - Interfaccia Simulatore VHMI - RBC

Figura 4 – Interfaccia Simulatore VHMI – RBC

CONCLUSIONI.

I simulatori sono ancora in pieno sviluppo, ma sempre rilasciati con una versione stabile. Una delle prossime funzionalità in programma è l’avanzamento del treno all’interno dell’interfaccia HMI e l’aggiornamento dello stato di tutti gli enti che sono nell’area supervisionata.

Questi simulatori sono risultati fondamentali per l’avanzamento dello sviluppo software del prodotto e sono stati realizzati a seguito di specifiche necessità, ma già dal momento in cui è iniziato il loro sviluppo, abbiamo iniziato a pensare al loro futuro, alla loro manutenibilità e alla possibilità di realizzarne altri con l’obiettivo di creare una suite di simulazione completa. Infatti, la suite di simulazione semplificherebbe le varie configurazioni di rete (al momento ogni simulatore deve essere configurato), prefiggendosi l’obiettivo di divenire un singolo sistema per l’avvio di uno o più simulatori e di realizzare così scenari di test complessi.

Un’ulteriore utilità della suite guarda al training di personale ferroviario e agli addetti al segnalamento. Il personale, infatti, deve necessariamente essere formato prima di entrare completamente nell’utilizzo dei sistemi safety critical. Una suite di simulazione permetterebbe di testare, far crescere le conoscenze e misurare le azioni in presenza di scenari comuni oppure inusuali.

[1] – Consorzio industriale per definire a livello europeo le specifiche tecniche ERTMS/ETCS.

DALLE PAROLE AI FATTI .

Contattaci per saperne di più sull’argomento dell’articolo.

    Condividi .