Prototypage rapide d'applications pour les calculateurs embarqués (ECU) à microprocesseur
Flexibilité et gain de temps
Le prototypage rapide consiste à transformer des idées en systèmes opérationnels en quelques minutes, sans perdre de vue les étapes suivantes. Le Vector Application Framework offre une configuration simple via GitHub, une intégration à VS Code et une image Docker prête à l'emploi, ce qui facilite la prise en main.
Son approche entièrement textuelle et indépendante des middlewares garantit la cohérence et l’accessibilité des flux de travail, tandis que les abstractions intégrées permettent aux prototypes d’évoluer vers des architectures prêtes pour la production. Ainsi, les premiers résultats restent exploitables, bien au-delà du premier prototype.
Le défi
Le prototypage rapide d’un système embarqué et distribué peut être décrit comme la transformation d’une idée de projet en un programme exécutable et en un prototype fonctionnel en quelques minutes. Pour que cela soit possible, un environnement dédié à cet effet doit répondre à certaines exigences. Il s’agit avant tout d’une bonne accessibilité, de faibles barrières à l’entrée et d’une grande facilité d’utilisation.
Seuls les frameworks présentant ces caractéristiques permettent de donner vie aux idées et contribuent à accélérer les projets, par exemple dans le cadre d’un hackathon ou lors de la création d’un nœud de test.


Malheureusement, cette création initiale et rapide d’un programme exécutable ne représente qu’une partie du processus. Si un prototype s’avère satisfaisant, il est nécessaire de mettre en place un plan de migration vers un processus de développement adapté aux systèmes de production. Le développement piloté par les spécifications est l’une des méthodes permettant de créer des logiciels de qualité production ; il s’agit d’une pratique courante dans l’industrie automobile.
Selon ce modèle, la modélisation du système logiciel vient en premier lieu. Cette méthode de travail contraste toutefois avec le prototypage, où la partie implémentation occupe la première place. Cependant, pour permettre la migration, les artefacts de conception et d’implémentation existants issus de la phase de prototypage doivent permettre la dérivation vers une spécification. Sinon, le développement du prototype se retrouve dans une impasse.
La solution
Le lancement d’un nouveau projet de prototypage doit être aussi simple que possible. C’est pourquoi le Vector Application Framework est disponible gratuitement à des fins d’évaluation et de prototypage. Cette édition « Community Edition » est soumise à des conditions d’utilisation spécifiques et est accessible au public au sein de l’organisation GitHub « Vector Group » (vectorgrp).
La solution complète, y compris toutes les dépendances, est regroupée sous forme d’image Docker et est donc prête à l’emploi. Une extension dédiée assure en outre une intégration directe avec l’environnement de développement couramment utilisé, Microsoft Visual Studio Code (VS Code).

Les deux principales fonctionnalités de cette extension sont, d’une part, une navigation simple dans les projets et l’exécution des tâches, et, d’autre part, une représentation graphique des exécutables et des modules sous la forme d’un graphe interactif d’architecture logicielle.
De plus, l’ensemble des outils et tous les artefacts de travail du framework sont basés sur du texte. Cela signifie qu’il n’est plus nécessaire de basculer entre différents outils ou fenêtres, puisque l’intégralité du flux de travail peut être réalisée dans VS Code. Les environnements de développement hébergés dans le cloud, tels que GitHub Codespaces, permettent d’utiliser le framework même dans un navigateur web.
Afin de faciliter encore davantage l’utilisation du framework, les détails relatifs au middleware sont masqués et la terminologie spécifique au domaine des logiciels automobiles est évitée. Cette approche privilégie les termes et modèles généraux établis en informatique, afin de rendre le framework compréhensible pour tous les publics cibles et non pas uniquement pour les experts. En substance, il existe deux principes de communication fondamentaux : les éléments de données et les opérations. Les premiers correspondent à la messagerie de type « pub/sub » ainsi qu’à la communication événementielle et peuvent en outre être utilisés pour le stockage persistant des données dans une base de données clé-valeur. Les seconds correspondent au modèle des appels de procédure à distance. Les interfaces permettent de regrouper n’importe quelle combinaison de ces éléments.
La promesse fondamentale du développement d’applications indépendantes est concrétisée par ce que l’on appelle des « modules d’abstraction ». C’est là qu’intervient la mise en correspondance de l’interface orientée application avec une solution de middleware et une API concrètes. Il existe des implémentations de ces modules de différents niveaux de qualité, notamment pour le Vector SIL Kit, le DDS, MICROSAR Adaptive ou le module de communication Eclipse S-CORE. Cette séparation claire entre le code applicatif et la solution middleware offre la flexibilité nécessaire aux projets qui débutent par un prototypage avant de migrer ultérieurement vers un environnement de production. Lors des premières phases d’évaluation, le Vector SIL Kit peut par exemple être utilisé pour des tests d’intégration et d’exécution. Cette bibliothèque destinée à la connexion d’environnements Software-in-the-Loop (SIL) est disponible en open source et ne nécessite qu’un effort de configuration minime. Les artefacts nécessaires à l’intégration sont entièrement fournis par le framework. En d’autres termes, cela fonctionne tout simplement. Le système de production qui en résulte peut ensuite migrer vers le middleware MICROSAR Adaptive, qui a fait ses preuves sur le terrain. Si nécessaire, le framework peut générer des artefacts de modèle AUTOSAR (ARXML) servant de spécification de départ, à modifier et à adapter de manière itérative. La fusion avec des artefacts de spécification existants peut également être réalisée au sein du framework. Les fichiers ARXML, divers formats IDL ou la spécification VSS (Vehicle Signal Specification) sont pris en charge en tant que fichiers d’entrée.
Dans l’ensemble, le Vector Application Framework est parfaitement adapté à l’ensemble du processus, du prototypage à la production d’applications distribuées et de systèmes basés sur des microprocesseurs. Essayez-le et lancez votre propre projet. Vous serez surpris de la rapidité avec laquelle une idée peut être transformée en un programme exécutable.
Les avantages
- Ouvert et transparent. L'API et les composants principaux du framework sont disponibles en open source dans le cadre du projet Eclipse.SDV.
- Facilité d'accès. Une version d'évaluation gratuite du Vector Application Framework est disponible sur GitHub.
- Facilité d’utilisation. L’intégration à VS Code et la mise à disposition sous forme d’image Docker prête à l’emploi permettent une utilisation sans prérequis.
- Faibles barrières à l’entrée. La terminologie spécifique au domaine est évitée. À la place, le framework s’appuie sur des termes et des modèles bien établis issus du domaine de l’informatique.
- Entièrement textuel. Tous les éléments liés à la conception, à la mise en œuvre et aux tests sont stockés sous forme textuelle. Toutes les étapes du workflow peuvent être réalisées au sein d’un seul IDE. De plus, cette caractéristique est parfaitement adaptée à la collaboration via Git et aux agents d’IA.
- Indépendance vis-à-vis du middleware. Le développement d’applications est possible sans connaissance du middleware sous-jacent, ce qui favorise la séparation des préoccupations et, par là même, une véritable portabilité et réutilisabilité.
- Migration vers la production. Les artefacts du modèle de middleware sont générés par le framework et permettent la migration vers un mode de travail axé sur les spécifications ainsi que vers un environnement de production.

