ASCET-DEVELOPER - Développement sur la base de modèles et génération de code automatique pour les systèmes embarqués

L’ASCET-DEVELOPER IDE (Integrated Development Environment) permet un travail efficace grâce à des modèles graphiques et textuels, des navigateurs de modèles et des éditeurs sous forme de tableaux.

ASCET-DEVELOPER permet aux ingénieurs logiciels de développer des logiciels embarqués sûrs, faciles à entretenir et performants au moindre coût. ASCET-DEVELOPER a été spécialement conçu pour la fabrication de produits en grandes quantités et à faibles coûts, dans le respect des normes industrielles et de sécurité les plus strictes.

Les modèles ASCET-DEVELOPER peuvent être créés facilement à l’aide d’un éditeur graphique ou textuel grâce à l’Embedded Software Development Language (ESDL).

Une efficacité prouvée au quotidien

La technologie de génération de code d’ASCET-DEVELOPER est utilisée depuis plus de 20 ans dans des projets en série et compte plus de 450 millions de calculateurs à son actif. Le code généré répond aux exigences de sécurité et de portabilité les plus hautes.

Parmi les exemples d’applications de dispositifs de contrôle programmées avec ASCET-DEVELOPER, on peut citer : les systèmes de freinage (ABS/ESP), les motorisations classiques et électriques, les commandes de freinage pour les trains à grande vitesse, les systèmes de contrôle de la transmission et les systèmes d’assistance au conducteur.

ASCET-DEVELOPER supporte les normes établies dans l’industrie telles que MISRA, OSEK, ASAM, AUTOSAR et FMI.

Convient au développement de logiciels où la sécurité est essentielle

ASCET-DEVELOPER permet le développement de logiciels répondant à toutes les normes de sécurité importantes.

  • Génération de code certifiée TÜV pour les applications ISO26262-ASIL-D et IEC61508-SIL3
  • Conformité à la norme MISRA-C:2012
  • Correction d’erreurs potentielles par l’exécution automatique de contrôles du code défensif

Caractéristiques

Modélisation

ASCET-DEVELOPER permet de combiner des textes et des graphiques en toute simplicité afin de répondre aux exigences de programmation individuelles. Il propose aussi efficacement que possible différentes possibilités de modélisation des circuits logiques. Quatre options de spécification sont disponibles :

  • Une spécification graphique avec un schéma synoptique
  • Une spécification graphique avec une machine d'état
  • Une spécification textuelle avec un éditeur ESDL
  • Une spécification textuelle avec un éditeur de code C

ASCET-DEVELOPER dispose en outre de caractéristiques essentielles qui améliorent la qualité du modèle et du code, et augmentent son efficacité :

  • Une analyse statique à la volée permettant de vérifier que les modèles ne comportent pas d’erreurs pendant le traitement
  • Des métriques de qualité intégrées améliorant les modèles

La sémantique des modèles ASCET-DEVELOPER est enregistrée en langage ESDL, ce qui présente les avantages suivants :

  • La structuration des fonctions en classes permet un encapsulage orienté objet et une réutilisation systématique
  • Il est possible de générer des types abstraits pour enregistrer des plages de valeurs physiques, et les quantifier et réutiliser de manière systématique
  • Les corrélations fonctionnelles sont présentées distinctement et donc faciles à vérifier
  • Les versions peuvent être comparées les unes avec les autres de façon transparente
  • Sûreté du typage

Éditeur de schéma synoptique

  • L’éditeur de schéma synoptique simplifie la modélisation et la visualisation des données ainsi que le contrôle du flux de données

 

  • Une séquence d’exécution entièrement déterministe par un séquençage explicite des calculs

Éditeur de machine à état

  • La programmation et la visualisation de la logique de décision sont basées sur des notations pour les machines à état

 

  • Les actions et les conditions peuvent être écrites directement sous forme de code ESDL ou encapsulées dans une méthode séparée programmée dans un éditeur de schéma synoptique

Éditeur ESDL

  • Un éditeur ESDL est disponible pour la spécification textuelle et propose un assistant de contenu et la mise en évidence de la syntaxe

 

  • Une prise en main facile grâce à des constructions de programmation orientées objet bien connues ayant été développées pour les logiciels embarqués où la sécurité est essentielle

Validation en direct

  • La validation de modèle à la volée permet d’identifier les erreurs très tôt

 

  • Les problèmes sont affichés en surimpression dans les éditeurs et groupés dans l’affichage des problèmes

 

  • Des corrections rapides astucieuses aident les utilisateurs à trouver automatiquement la solution adéquate

Métriques de qualité

  • Les métriques de qualité intégrées réduisent la difficulté technique et permettent de développer un code facile à entretenir

 

  • Choisissez les métriques adaptées à vos processus individuels et définissez une valeur de seuil propre

Validation

ASCET-DEVELOPER offre différentes possibilités pour valider de manière efficace et complète les différents modèles à chaque étape de développement :

  • La séparation des propriétés des modèles et des propriétés d’affichage permet une vérification simple des modèles. Dans un premier temps, l’accent est mis sur le comportement physique alors que les contraintes plus spécifiques à la cible seront testées plus tard dans le processus.
  • Un framework de test intégré
  • Une simulation open-loop sur PC avec l’ETAS Experiment Environment
  • La couverture et l’analyse des modèles à partir de l’exécution des tests à l'aide de métriques comme Statement, Branch, State, Transition et Couverture des conditions/décisions modifiée (MC/DC)
  • Les modèles ASCET-DEVELOPER peuvent être simulés avec d’autres modèles dans des outils externes prenant en charge la norme FMI. La connexion est réalisée via une exportation au format FMU ou via une exportation en tant que fonction S dans MATLAB/Simulink.
  • Le prototypage de fonction sur un matériel en temps réel permet, au travers de la solution de prototypage d’ETAS, une validation précoce et réaliste sur le banc d’essai ou dans le véhicule.

Test des unités

  • Test systématique des unités du logiciel à l’aide du ESDL Unit Testing Framework

 

  • Utilisation des classes de test ESDL pour tester les unités indépendantes du logiciel et visualiser les résultats après l’exécution

Simulation sur PC

  • Une validation précoce du projet grâce à une simulation sur PC avec mesure en direct et étalonnage des données

 

  • Un environnement d’expérimentation sophistiqué avec transmetteur de signal, archivage des données et widgets

Couverture des tests

  • Une couverture des tests interactive grâce à une simulation sur PC continue ou à l’exécution de tests des unités

 

  • La « Coverage View » propose un récapitulatif de la couverture des tests pour toutes les unités du logiciel participant à l’exécution

 

  • La visualisation de la couverture dans des éditeurs textuels ou graphiques permet d’identifier les parties de modèle qui ont été testées

Génération de code automatique

La génération de code manuelle nécessite un effort supplémentaire pour empêcher les erreurs d’exécution et respecter les normes ainsi que les principes de codage. Grâce à ASCET-DEVELOPER, vous pouvez vous concentrer pleinement sur la résolution de votre problème et laisser le reste au générateur de code, qui présente les caractéristiques suivantes :

  • Un code C de grande qualité, adapté à la production en série et conforme à la norme MISRA
  • Une bonne lisibilité pour l’utilisateur
  • La traçabilité du code du modèle ASCET-DEVELOPER correspondant
  • L’insertion automatique de code défensif. On peut citer comme exemple la protection contre la division par zéro, les plages de valeur autorisées basées sur les caractéristiques du type ainsi que la protection contre le dépassement des limites d’index pour les tableaux.
  • Génération du code en virgule fixe
  • La génération de code AUTOSAR grâce à la représentation du modèle ASCET-DEVELOPER dans la structure AUTOSAR
  • Une réutilisation rapide des modèles ASCET-DEVELOPER existants et la génération de code pour différentes cibles grâce à des options de personnalisation
    • Des rappels définis par l’utilisateur à des bibliothèques d’arithmétique, d’interpolation ou de service spécifiques à l’appareil
    • Des instructions d’enregistrement pour le compilateur
    • Des structures de code et de données conditionnées pouvant être déclenchées au moment de la compilation ou de la génération
    • De nombreuses stratégies d’optimisation pour les ressources et la performance de l’exécution

Intégration dans des chaînes de compilation existantes

ASCET-DEVELOPER met à disposition différentes interfaces ainsi qu’un format d’échange standardisé et peut ainsi être intégré en toute simplicité dans des processus de développement ou des chaînes de compilation correspondantes. L’intégration est facilitée par les caractéristiques d’ASCET-DEVELOPER suivantes :

  • ASCET-DEVELOPER s’appuie sur la plate-forme Eclipse pour permettre une intégration fluide des outils de processus dans le même IDE.
    • Connexion à JIRA, Bitbucket, Git, SVN, IBM RTC avec des plugins Eclipse natifs
    • Installation sur une interface utilisateur Eclipse existant de différents prestataires comme STM, ARM
    • Modélisation et génération de code pour plusieurs cibles ; développement et débogage dans le même IDE
  • Le suivi des exigences avec Yakindu Traceability permet de relier les objets du processus avec les modèles ASCET (notamment DOORS pour la gestion des exigences)
  • La création d’objets de processus supplémentaires comme A2L, ARXML, MDX à partir des modèles ASCET
  • Extension via le SDK ASCET fourni pour votre processus (par ex. pour insérer vos propres principes de codage dans le moteur d’analyse statique d’ASCET)
  • Automatisation de l'interface utilisateur pour une intégration continue