Verification & Integration Test Environment (VITE)
Der Aviotech Testsystemansatz VITE deckt mit seiner Architektur drei unterschiedliche Phasen des Entwicklungsprozesses ab:
- Sehr frühzeitig im Entwicklungsprozess erlauben Model-/ bzw. Software-in-the-Loop-Ansätze die Ausführung von funktionalen Tests in simulierter Umgebung.
- Für die Laborintegration und -verifikation komplexer Embeddedsysteme sind Echtzeittestsysteme mit Hardware-in-the-Loop Simulationsfähigkeit unverzichtbar.
- In der Fahrzeugintegration und -erprobung ermöglichen mobile Testumgebungen die Datenaufzeichnung und -visualisierung.
In allen drei Phasen kommt dieselbe Software zum Einsatz, alleine die Hardwareumgebung variiert. Dies sichert eine durchgängige Bedienung, insbesondere aber auch die direkte Übertragbarkeit von Tests etwa aus der SiL-Phase in die HiL-Umgebung. In jedem Fall besteht eine VITE-Testumgebung aus einem Host-System zur Steuerung und Visualisierung (GVITE), dem eigentlichen Testsystem-Runtime SVITE sowie - bei Verwendung der SPY-Technologie - einem minimalen targetseitigem Softwarestack.
Anwendungsmatrix
| | SiL | HiL | Fahrzeug |
GVITE (GUI) | | | | |
SVITE (Runtime) | | Virtuelle Maschine | | |
SPY- Server (Debugger) | | API-Simulator | | |
Individuelle Anpassbarkeit
VITE Testsysteme sind im Hardwareaufbau modular konzipiert und werden anwendungsspezifisch zusammengestellt. Auf Seiten der Software erfolgt die Anpassung durch Konfiguration. Dies kann entweder einmalig durch die Aviotech erfolgen, oder - falls gewünscht - kundenseitig vorgenommen werden. Dem Kunden ist es derart möglich, das Testsystem selbstständig dem Projektfortschritt entsprechend anzupassen oder auf neue Anwendungen hin zu adaptieren.
Kernfunktionalität
- Zentrales, konfigurierbares Echtzeitdatenmodell
- Echtzeit-Logging mit beliebigem Horizont
- Ereignisbasierte Aktivierung des Loggings
- Möglichkeit zur Integration von HiL-Modellen
- Restbus- und HiL-Simulation: Unterstützung für verschiedene IO-Typen verfügbar, per Konfiguration anpassbar (Discretes, CAN, Ethernet, AFDX, LVDT)
- Unterstützung für verteiltes Echtzeitdebugging (SPY-Technologie)
- C- und Python-API zum Zugriff auf die Testsystemfunktionalität (Datenmodell, Logging, ...)
- Testskriptdialekt (Python-Syntax) zur einfachen und prägnanten Implementierung von Testfällen in zyklusorientiert arbeitenden Systemen. Automatisierte Ausführung und Auswertung inklusive Reporting.
- Schnittstelle zur Steuerung der Verarbeitung (Modellausführung, IO-Verarbeitung, ...)
GUI-Funktionalität
- Java-Anwendung für Windows/Linux, 32/64bit
- Strukturierung der Testsystemdaten per Konfiguration frei festlegbar
- Nahtlose Integration von SPY- und IO-Funktionalität, live-Darstellung des Target-Zustands bei Verwendung der SPY-Technologie
- Live-Darstellung von Testsystemdaten in textueller und graphischer Darstellung
- Darstellung von aufgezeichneten Daten in textueller und graphischer Darstellung, Unterstützung für die gängigen Datentypen, Bitfelddarstellung, „Enumerators“
- Graphische Steuerung und Überwachung der Testsystemverarbeitung
- Ad-hoc Implementierung von Testskripten, Funktionsgeneratoren, Monitoren, … (Python Syntax)
GREATEN
Den Kern der VITE-Architektur bildet das zentrale, echtzeitfähige Datenmodell GREATEN. Es wird unter Verwendung von XML-Dateien anwendungsspezifisch konfiguriert und in einer Echtzeit-Linuxumgebung ausgeführt. Eine Umkonfiguration ist dynamisch, d.h. zur Laufzeit möglich. GREATEN bietet die Basisfunktionalität (Datenablage mit Zeitstempel, Logging, POSIX-Signale bei datenbezogenen Ereignissen/Änderungen), auf der jegliche weitere Testsystemfunktionalität beruht:
- Sogenannte IO-Daemons übernehmen zum Zwecke der Restbussimulation die Bedienung der IO-Schnittstellen und lesen/schreiben ihren Daten von/in GREATEN.
- Eventuelle HiL-Modelle lesen/schreiben ihren Daten von/in GREATEN.
- Die SPY-Debugging-Lösung kommuniziert über das GREATEN-Datenmodell.
- Testskripte greifen über das GREATEN-Modell auf die Daten zu und verwenden dessen Ereignis- und Loggingfunktionalität.
GUI
Die Kommunikation zur GVITE-GUI, übernimmt ein spezieller Communication-Daemon, der letztliche die GREATEN-Funktionalität über eine Netzwerkverbindung für die GUI-Bereitstellt. Auf diesem Wege werden etwa die Übertragung von Echtzeitdaten zur Live-Visualisierung gesteuert oder das Starten der Loggingfunktionalität ausgehend von der GUI. Eine zweite Kommunikationsverbindung zwischen GUI und Echtzeittestsystem ("supervisor") ermöglicht die GUI-basierte Steuerung und Überwachung jeglicher Verarbeitung auf dem Testsystem.