NIER Ingegneria è diventata Società Benefit →

EmuXP: un simulatore Multiprotocollo che valorizza l’esperienza.

SERVIZIO MERCATO CLIENTE Multinazionale del settore ferroviario ANNO 2022-2023

Brief

NIER, nei suoi anni di esperienza operativa sul campo (ferroviario, biomedicale, automotive, industriale) ha maturato competenze nell’utilizzo di molteplici software di simulazione tali da far apprendere quali sono le caratteristiche utili a un tester o ad uno sviluppatore e quali possono essere le funzionalità più efficaci nella fruibilità di uno strumento di simulazione.

Forti di queste competenze NIER ha deciso, stanziando un budget R&D, di avviare un progetto di innovazione interno al fine di sviluppare un proprio simulatore di protocolli di comunicazione che prende il nome di EmuXP: Emulator For Protocols.

 

 

Sfide di progetto

I software di simulazione delle comunicazioni sono uno strumento fondamentale nello sviluppo di sistemi per i quali lo scambio di informazioni è al centro del funzionamento del sistema stesso. Questi strumenti sono cruciali in tutti i settori: dal Ferroviario, all’ Automotive, all’Aerospace e anche al Biomedicale, ovvero tutti quegli ambiti in cui vengono utilizzati protocolli di comunicazione su rete ethernet – e non solo – per mettere in comunicazione dispositivi o sottosistemi. Infatti, occorre testare e validare i protocolli di comunicazione, valutare le prestazioni della rete e garantire che la trasmissione dei dati avvenga in maniera sicura ed affidabile, sia in modalità di funzionamento nominale che in situazioni critiche di malfunzionamento. E’ auspicabile che queste attività siano svolte prima che il sistema finale sia messo in esercizio, in modo tale da intercettare situazioni che potrebbero portare ad interruzioni di servizio e poter così introdurre le opportune correzioni per evitare conseguenze costose e potenzialmente pericolose.

Soluzione

EmuXP è stato progettato con tecnologie moderne, WEB oriented, che si discostano da quelle più datate StandAlone. Il motivo principale è che la User eXperience (UX) è un fattore fondamentale nella fruibilità di strumenti di questo tipo che prevedono una massiccia interazione con l’utente finale. Infatti, uno tra i maggiori vantaggi di questo approccio è l’accessibilità: i simulatori basati sul web possono essere resi facilmente accessibili da qualsiasi dispositivo dotato di connessione di rete, senza la necessità di installare software specifici sul dispositivo locale. Inoltre, con questa soluzione si garantisce la portabilità del codice, poiché la distribuzione del software diventa platform-independent, ovvero lo stesso codice può funzionare su diversi sistemi operativi senza necessità di porting specifico.

EmuXP è stato progettato per essere un simulatore di protocolli di comunicazione modulare e scalabile, in grado di gestire, come in un Juke Box, un insieme di librerie (anche già sviluppate) ognuna specifica per il particolare protocollo. L’integrazione di una nuova libreria di protocollo prevede infatti modifiche minime al codice di sorgente.

EmuXP è composto fondamentalmente da due entità software: un Front-End (FE, tecnologie Web Oriented) ed un Back-End (BE, tecnologie che garantiscono efficienza computazionale e sono tipicamente utilizzate anche in ambito embedded) che rappresentano, rispettivamente, il cockpit di comando e il suo motore di esecuzione.

EmuXP è stato dotato di uno Sniffer contestuale in grado di catturare tutto il traffico generato e ricevuto, che può anche essere visionato a runtime ed opportunamente salvato per successive analisi di post processing. Tramite questa funzionalità è possibile ritagliare, per ciascun protocollo simulato, i cosiddetti dissector che possono essere definiti tramite GUI senza la necessità di procedere per via programmatica.

È inoltre provvisto di una delle funzionalità classiche di tutti gli strumenti di simulazione: l’error injection ovvero la possibilità di introdurre intenzionalmente degli errori, delle anomalie o delle condizioni avverse nelle simulazioni.

Nell’ottica di poter automatizzare e rendere ripetibili task o intere sessioni di test, sono state infine create due librerie di scripting che consentono all’utente di poter eseguire, programmaticamente, le medesime azioni eseguibili manualmente tramite interfaccia grafica. Avere a disposizione una interfaccia programmatica permette all’utente di creare una completa sessione di test per uno specifico protocollo. La sessione di test, una volta creata, può essere esportata e riutilizzata per eseguire nuovamente la batteria di test (sul medesimo protocollo): il risparmio di tempo è garantito.

EmuXP è corredato di un tool di configurazione che permette di progettare la rete di simulazione per poi generare i file di configurazione utilizzati allo startup di EmuXP.

Fasi di esecuzione

FASE 1

Analisi degli User Needs del progetto EmuXP.

FASE 2

Scelta delle tecnologie da utilizzare e design delle funzionalità di Base.

 

FASE 3

Implementazione e test della configurazione e funzionamento nominale.

FASE 4

Integrazione protocolli ER e PVS.

 

FASE 5

Implementazione funzionalità di Sniffer ed Error injection.

FASE 6

Implementazione funzionalità di scripting.

 

FASE 7

Validazione finale.

Risultati ottenuti

Il progetto EmuXP ha permesso di mettere a terra le esperienze maturate in anni di attività continuativa nell’utilizzo dei simulatori di protocollo. Si è cercato di superare i limiti cronici sperimentati su tali strumenti e dotare, allo stesso tempo, il nuovo progetto di tutte quelle caratteristiche ritenute un valore aggiunto “sul campo”.

Sono state impiegate tecnologie software innovative scalate ed efficientate ai casi d’uso reali per mettere a disposizione del team di test interno e dei clienti uno strumento dinamico, efficace ed affidabile.

Infine, ha permesso di estendere quelle competenze di sviluppo dedicate agli strumenti di simulazione utili sia nel mondo embedded che applicativo.

 

 

Iscriviti alla Newsletter .