
- Ferenc Schopbarteld
TITEL
Radarontwikkeling in een gedistribueerde, heterogene omgeving
SPREKER
Ferenc Schopbarteld, softwarearchitect, Thales
TAAL
Nederlands
ABSTRACT
De software in moderne radarsystemen moet aan hoge performancecriteria voldoen. De benodigde hoeveelheid rekencapaciteit is zo hoog dat een mix van tientallen high-end processoren verdeeld over meerdere borden nodig is.
Om tijdens de ontwikkeling in een zo vroeg mogelijk stadium de systeemperformance te verifiëren, zetten we een zogenaamd zero application-model op waarbij we de structuur inclusief communicatie geheel in UML modelleren. Door gebruik te maken van de communicatieservices die de MDA-servicelaag aanbiedt, zijn de ontwikkelde softwarecomponenten platformonafhankelijk. Tijdens de integratie worden deze componenten naar behoefte geďnstantieerd en gealloceerd (aan zowel executables als processoren).
Vanuit het UML-model genereren we code voor de gebruikte services plus de componentskeletons. Hiervoor gebruiken we beproefde transformatoren. Met de skeletons verifiëren we alle netwerk- en processorload en lossen we eventuele knelpunten op. De onderliggende MDA-servicelaag biedt tevens services om het exacte gedrag van de applicaties te analyseren (latency, jitter in transport- en scheduletijden, processor- en netwerkload, queuegroottes, FTrace). De afzonderlijke softwarecomponenten integreren we in hetzelfde model zodra de software-engineers ze opleveren.
Om complexere algoritmes te ontwikkelen en te testen, is Simulink geďntegreerd. Vanuit het UML-model genereren we een library waarmee de algoritme-engineer de services van de middlewarelaag kan gebruiken. De vanuit Simulink gegenereerde code sluit naadloos aan bij de vanuit UML gegenereerde code. Hierdoor kunnen we – met vrijwel 100 procent codegeneratie – applicaties ontwikkelen.
Momenteel werken we aan het integratiemodel van Thales’ nieuwste radar, de Seastar. Volledig automatisch genereren we vanuit de UML-modellen niet alleen de code, maar ook de scripts nodig voor de deployment van deze code op de vijftig borden. Hiermee is het mogelijk om op een gecontroleerde manier de ontwikkelde applicaties op het uiteindelijke systeem in bedrijf te stellen.


