Développement d'applications axé sur les spécifications pour les calculateurs embarqués à microprocesseur

Mettez en place vos projets plus rapidement et plus facilement

Vector Application Framework

Le développement axé sur les spécifications ralentit souvent le processus d’itération, en particulier lorsque la modélisation et la mise en œuvre sont étroitement liées. Le Vector Application Framework rompt cette séquence en introduisant une couche d’abstraction centrée sur les données, ce qui permet de démarrer le développement indépendamment du modèle système.

Grâce à un flux de travail entièrement textuel, à l’automatisation via l’interface de ligne de commande (CLI) et à une intégration transparente avec VS Code, les équipes peuvent travailler avec plus de souplesse tout en restant coordonnées. Les spécifications existantes restent exploitables et l’intégration dans les environnements de production est garantie, sans qu’il soit nécessaire de remanier l’ensemble du processus.

Le défi

Le développement logiciel basé sur des spécifications est une approche courante dans les projets automobiles. Ce processus comporte plusieurs étapes organisées sous la forme d’un flux de travail séquentiel. Tout d’abord, un modèle détaillé du système et de ses composants est créé, soit sous forme de texte, soit à l’aide d’un outil graphique. Dans tous les cas, la spécification obtenue est exportée vers un format textuel, tel que XML ou JSON. Cette base de données est ensuite utilisée par des générateurs pour produire un code source adapté au système modélisé. Enfin, les programmeurs intègrent cette base de code dans leurs projets et accèdent aux fonctionnalités requises à l’aide des classes générées et des interfaces de programmation d’applications (API).

___vector-usecase-specification-first-development.14595496869716319745.png

Bien que des itérations de ce flux de travail soient possibles, l’approche « spécifications d’abord » exige que l’ensemble de la séquence soit réexécutée en cas de mise à jour du modèle système. Cela pose un problème particulier lorsque les responsabilités en matière de modélisation et de développement incombent à des équipes ou à des organisations différentes. Des processus doivent être mis en place pour organiser la coopération, et même des modifications mineures des spécifications entraînent des délais d’exécution considérables. Le travail agile est pratiquement impossible pour les développeurs de logiciels.

La solution

Les projets portant sur des calculateurs embarqués (ECU) basés sur des microcontrôleurs et utilisant le middleware AUTOSAR Adaptive suivent ce modèle et sont donc confrontés au défi susmentionné. Cependant, le Vector Application Framework offre une solution simple. Il réduit la forte dépendance entre le modèle système et le développement logiciel grâce à l’abstraction. Plutôt que de travailler directement avec l’interface du middleware dérivée du modèle système, une couche d’abstraction centrée sur les données sert de point de contact unique pour les développeurs.
L’API correspondante de l’Application Framework couvre deux modèles de base pour la gestion et l’échange de données. Les éléments de données reproduisent le fonctionnement de la messagerie de type publication/abonnement (pub/sub) et permettent le stockage persistant des données. Les opérations représentent des appels de procédure à distance. Ces modèles de base sont regroupés par interfaces, définissant ainsi l’environnement de base pour les utilisateurs du framework.

Cette configuration de base, associée à une architecture logicielle modulaire pour l’exécutable, permet à différentes équipes de travailler de manière indépendante. Néanmoins, le workflow du Vector Application Framework offre une voie d’intégration pour les différents modules. Les artefacts de modèle existants peuvent servir de point de départ au développement d’applications. S’ils ne sont pas disponibles ou s’ils sont incomplets, une solution « Configuration as Code » est fournie pour configurer et modifier le projet en conséquence. Cela apporte une flexibilité considérable en rompant avec le mode de travail séquentiel décrit précédemment. L’outil en ligne de commande fourni automatise toutes les étapes du flux de travail et facilite l’intégration en continu (CI). Les développeurs disposent également d’une extension pour Visual Studio Code. La bonne nouvelle, c’est qu’il n’est plus nécessaire de changer d’outil, puisque l’ensemble du processus de développement est pris en charge au sein de l’IDE.

___vector-application-framework-use-case-specification-first-development.7523851380875804349.png

Les modules d’abstraction de middleware facilitent l’intégration avec un système cible. Ces modules assurent la correspondance entre le middleware et l’API du Vector Application Framework, et inversement. Il est possible de créer des modules d’abstraction pour différentes piles de middleware, et ceux-ci peuvent être combinés dans des projets d’intégration mixtes et des exécutables. Les modules d’application d’origine ne sont pas affectés et n’ont pas besoin d’être modifiés.

Le module de contrôle complète l’architecture logicielle modulaire au niveau de l’exécutable et décharge les équipes de développement logiciel de la mise en œuvre et de la maintenance du code d’intégration, souvent qualifié de « code standard ».

En résumé, le Vector Application Framework est une solution moderne qui permet une collaboration agile dans le cadre de projets logiciels pilotés par des modèles pour les calculateurs embarqués (ECU) basés sur des microcontrôleurs. Son flux de travail global allie indépendance et intégration étroite, répondant ainsi aux besoins des équipementiers et des fournisseurs du secteur automobile.

Les avantages

  • Architecture logicielle modulaire : les modules d'application permettent aux développeurs de se concentrer sur la logique métier.
  • Prototypage rapide. Les modèles de projet et la création de code standardisé facilitent le travail des développeurs et permettent une mise en route rapide.
  • Expérience utilisateur textuelle. Elle dispose d’une interface en ligne de commande (CLI) couvrant l’ensemble du flux de travail et d’une configuration sous forme de code. Elle est prête pour l’intégration en continu (CI) ou les agents d’IA.
  • API complète et centrée sur les données. Exempte de terminologie automobile pour un accès facile et une courbe d’apprentissage réduite.
  • L'open source garantit l'absence de dépendance vis-à-vis d'un fournisseur. Le framework de base est accessible au public dans le cadre du projet « Eclipse Automotive API Framework ».
  • Parcours de test complet : cela inclut les premiers tests unitaires avec des simulacres et des stubs de test générés, ainsi que les tests SIL et les tests de pré-intégration.
  • Il s’agit d’une solution indépendante du middleware. Elle permet un développement hors contexte et prend en charge le concept de logiciels prêts à l’emploi proposés par les fournisseurs.
  • Elle permet une intégration flexible. Cette flexibilité est rendue possible par des modules d’abstraction de middleware. La pré-intégration s’effectue chez le fournisseur et l’intégration finale chez l’équipementier.
Contactez-nous
Embedded Software
Contactez-nous
Que vous soyez en train d'étudier les différentes options ou que vous planifiiez déjà vos prochaines étapes, n'hésitez pas à nous faire part de vos besoins. Nous vous supportons dans votre recherche de la solution qui vous convient.