Présentation

L’interface onboardapi version 9.10.0, mise à disposition par Rheinmetall, constitue le cœur logiciel du système d’armes connecté Battlesuite. La documentation indique que la bibliothèque est distribuée sous licence EPL v2.0, avec les runtimes soumis à une licence propriétaire (EULA‑RME‑SDK‑1.0). Le projet est hébergé sur GitHub et propose un SDK complet destiné à la communication entre capteurs embarqués et composants logiciels.

Architecture technique

onboardapi repose sur le Data Distribution Service (DDS) de l’Object Management Group, un standard de messagerie data‑centric publish‑subscribe. Le choix de DDS garantit un échange de données fiable et à faible latence, requis pour les applications de commandement et de contrôle. Le middleware utilise les extensions DDS XTypes et le format d’encodage XCDR2, assurant la compatibilité ascendante : les versions antérieures du modèle de données peuvent coexister avec les nouvelles sans rupture de communication.

Le SDK sous‑jacent, nommé ddkit, fournit les primitives DDS et les abstractions de sérialisation. La couche d’application est implémentée en C++, ce qui permet un accès direct aux performances du matériel embarqué. Des wrappers sont fournis pour Java, C#/.NET et Python, ce qui étend la portée du middleware aux environnements de développement les plus courants dans les systèmes de défense.

Compatibilité et interopérabilité

Le modèle de données standardisé d’onboardapi facilite l’interopérabilité entre différents capteurs (radar, lidar, caméras) et les systèmes de décision. Grâce à XTypes, chaque type de donnée possède un identifiant unique et une description de schéma, ce qui évite les conflits de version lors de mises à jour logicielles. L’encodage XCDR2, plus compact que son prédécesseur, réduit la bande passante consommée sur les bus de données critiques, tout en conservant la précision des mesures.

Les wrappers multilingues traduisent les appels DDS natifs en API idiomatiques pour chaque langage. Par exemple, l’interface Python expose les mêmes topics et QoS (Quality of Service) que la version C++, mais via des classes Pythonic. Cette approche minimise le coût de formation pour les équipes de développement qui ne maîtrisent pas le C++.

Implications et limites

La mise à disposition du code source ouvre la porte à des audits de sécurité indépendants, un point sensible pour les systèmes d’armes. Cependant, la licence propriétaire des runtimes signifie que les déploiements sur des plateformes non‑certifiées restent soumis à l’accord de Rheinmetall, limitant la liberté d’utilisation complète. De plus, la dépendance à DDS implique que les performances finales restent fonction du middleware DDS choisi (ex. RTI Connext, OpenDDS), chaque implémentation ayant ses propres exigences de configuration.

Enfin, la documentation ne fournit pas de benchmarks quantitatifs (latence, débit) pour les différents langages. Sans ces mesures, les intégrateurs doivent réaliser leurs propres tests pour valider que les exigences de temps réel du système Battlesuite sont respectées.