Chapitre 2

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 32

Cycle de développement d’un système

embarqué
Chapitre 2

1
Cycle de développement d’un système
embarqué
▪ Désigne toutes les étapes du développement d'un système
embarqué (logiciel et matériel) , de la conception à la
commercialisation.
▪ Objectif : permettre de définir des jalons intermédiaires
pour :
– Valider le développement logiciel et son intégration au
matériel cible, en assurant la conformité avec les besoins
exprimés
– Vérifier durant chaque étape du cycle, le processus de
développement (adéquation des méthodes mises en œuvre )

2
Modèle de développement en Cycle Cascade
Spécification

•validation
Conception
générale
•vérification
Conception
détaillée

▪ Waterfall model •vérification


Codage
▪ Hérité du bâtiment •tests unitaires

▪ Problème en informatique : Intégration

•tests d'intégration
▪ Incapacité de l’utilisateur final
Mise en
de valider les étapes production
intermédiaires

3
Modèle de développement en Cycle V
Produit
Expression des
besoins
Validation, certification
Cahier des charges Test opérationnel

Spécification Validation système Test d’intégration


système système

Spécification des Vérification performances Test


Spécification performances de performances
Vérification
Fonctionnalités
Conception Test Intégration
préliminaire d’intégration

Conception Tests
Conception détaillée unitaires

Implémentation
Corrections
Codage
par retours
arrière

4
Activités du Cycle en V
Expressions des besoins : Consiste à définir les objectifs, la
finalité du projet et son inscription dans une stratégie globale.
▪ Une description précise de ce que veut l’utilisateur (client)
et de ce qu’il espère obtenir
▪ Besoins fonctionnels :
✓ Sorties en fonction des entrées et des paramètres.
▪ Besoins non fonctionnels :
✓ temps nécessaire pour calculer la sortie,
✓ taille, poids, etc.,
✓ consommation,
✓ fiabilité,
✓ etc.
Comprendre le besoin du client et savoir aussi l’identifier !
5
Activités du Cycle en V
▪ Spécification : c-à-d , l'expression, le recueil, l’analyse et la
formalisation des besoins du demandeur (le client) et de l'ensemble
des contraintes.

▪ Conception générale : Il s'agit de l'élaboration des spécifications de


l'architecture générale du logiciel et du matériel.

▪ Conception détaillée : consistant à définir précisément chaque sous-


ensemble du logiciel et matériel.

▪ Codage : (Implémentation ou programmation), soit la traduction dans


un langage de programmation des fonctionnalités définies lors des
phases de conception.

6
Activités du Cycle en V
▪ Tests unitaires : permettant de vérifier individuellement que chaque
sous-ensemble du logiciel est implémenté conformément aux
spécifications.

▪ Intégration : dont l'objectif est de s'assurer de l'interfaçage des


différents éléments (modules) du logiciel. Elle fait l'objet de tests
d'intégration consignés dans un document.

▪ Qualification (ou recette): c'est-à-dire la vérification de la conformité du


logiciel aux spécifications initiales.

▪ Documentation: visant à produire les informations nécessaires pour


l'utilisation des ressources pour des développements ultérieurs.

7
Activités du Cycle en V
▪ Mise en production : déploiement du matériels et logiciels en masse, en
vue d’une va industrialisation . Les mises en production se font de
manière industrielle, précédées de batteries de tests

▪ Test et validation
✓ Tests unitaires : interviennent au niveau modules ou sous-systèmes de
chaque brique logicielle modélisée puis codée durant les étapes
précédentes. Ces tests assurent que ces briques respectent de manière
individuelle leur cahier des charges.

✓ Les tests d’intégration : vérifient l’intégralité du produit et le valide


techniquement.

8
Méthodologie de Conception : Conception
basée sur modèle
Recherche Modélisation et simulation Exigences
2
1
3

Prototypage
Test et
5 4 rapide
vérification
continus

Production de résultats
6

▪ Code de production
▪ Rapports
▪ Certification
9
Conception basée sur le modèle
▪ La conception basée sur le modèle est une
approche axée sur le modèle pour les systèmes
de contrôle, de traitement du signal, des
communications et d'autres systèmes dynamiques.

▪ Plutôt que de s'appuyer sur des prototypes


physiques et des spécifications textuelles, La
conception basée sur le modèle utilise un modèle
tout au long du cycle de développement.

10
Conception basée sur le modèle
▪ Le modèle comprend tous les composants pertinents pour
le comportement du système :
✓ Algorithmes,
✓ logique de contrôle,
✓ composants physiques et propriété intellectuelle (IP).

▪ Une fois que le modèle est développé (élaboré), il devient la


source de nombreuses sorties, y compris les rapports et le
code généré (code C ou HDL).
▪ La conception basée sur le modèle permet la conception, la
simulation au niveau du système et des composants, la
génération automatique de code, le test et la vérification en
continu,
11
Pourquoi la conception basée sur un modèle ?
La conception basée sur un modèle permet de rationaliser de
nombreux aspects du développement, par exemple:
▪ Gérer les systèmes complexes.
▪ Automatiser les tâches fastidieuses et faibles.
▪ Explorer rapidement de nouvelles idées.
▪ Créer une langue commune qui favorise la communication et
collaboration.
▪ Capturez et conservez la propriété intellectuelle
▪ Augmenter la qualité du produit.
▪ Réduire le risque.

12
Concepts fondamentaux de la conception
basée sur modèle
La conception basée sur modèle repose sur huit
concepts fondamentaux :
1. Spécification exécutable.
2. Simulation au niveau du système.
3. Analyse Quoi-si ?.
4. Elaboration du modèle.
5. Prototypage virtuel.
6. Test et vérification continus.
7. Automatisation.
8. Capture et gestion des connaissances.

13
Spécification exécutable
▪ Une spécification exécutable est un modèle qui encapsule
toutes les informations de conception, y compris :
– Les exigences,
– Les composants du système,
– L'IP (Intellectuelle Propriété) et
– Les scénarios de test.
▪ Il peut s'agir d'un:
– Modèle de l'environnement avec des cas d'utilisation que le logiciel
embarqué doit gérer.
– Modèle d'algorithme de haut niveau qui spécifie le comportement
exact de l'implémentation

14
Simulation au niveau du système.
▪ Utilisée au niveau du système pour valider les exigences, vérifier la
faisabilité d'un projet et effectuer des tests et des vérifications
anticipées.
▪ L’ensemble du modèle du système est simulé pour étudier les
performances du système et les interactions des composants.
▪ La simulation fournit un moyen de vérifier les systèmes multi -domaines
qui sont plus complexes à comprendre et à maitriser.
▪ Les problèmes de conception et les incertitudes peuvent faire l'objet
d'une enquête précoce, bien avant de créer un matériel coûteux.
▪ Les simulations sont sécurisées : il n'y a aucun dommage sur le
matériel ou d'autres dangers si la conception ne fonctionne pas.

15
Analyse : Quoi si (What-If)
▪ L'analyse (what-if) est une méthode de simulation utilisée
pour tester des idées et connaître le système.
▪ On peut effectuer une analyse (what-if) pour tester un
composant unique ou pour étudier les interactions de tous
les composants du système.
▪ L'analyse (what-if) apporte les mêmes avantages que la
simulation au niveau du système.
▪ En outre, elle permet de :
✓ Explorer rapidement et évaluer de multiples idées de conception
✓ Générer de nouvelles connaissances sur le système

16
Elaboration du modèle

▪ C’est un processus itératif qui utilise la simulation pour transformer


un modèle de système de faible fidélité en une implémentation de
haute fidélité.

▪ L'élaboration du modèle commence après avoir simulé le modèle


haut niveau du système pour vérifier les exigences.

▪ Lorsque le modèle donne les résultats souhaités, les détails et les


raffinements sont ajoutés, et le modèle est à nouveau simulé.

17
Elaboration du modèle
▪ Les améliorations communes du modèle incluent :
✓ la conversion l’arithmétique virgule flottante à
l’arithmétique virgule fixe.

✓ la conversion du temps continu en temps discret.

✓ le remplacement d'un modèle d'actionneur


comportemental par un modèle d'actionneur détaillé et
l'ajout de signaux pour le diagnostic.

18
Elaboration du modèle
▪ L'élaboration du modèle permet de tester en permanence
l'ensemble du système.

▪ Lorsqu'il y a un niveau de détail adéquat, les parties


décrivant le contenu du logiciel intégré , peut t être utilisé
pour générer des codes pour le prototypage rapide et les
tests de Hardware-In-the-Loop.

▪ Avec encore plus de détails, le modèle peut être utilisé pour


la génération de code de production.

19
Prototypage virtuel
▪ C’est une technique qui utilise la simulation pour valider
une conception avant que le matériel soit disponible.
▪ Dans les cas où l’environnement n'est pas encore
pleinement connu ou compris, comme une construction
mécanique, il peut être nécessaire d'utiliser un prototype
de matériel pour des expériences afin de construire le
modèle.
▪ Les connaissances acquises à partir de ces expériences
sont ensuite stockées dans le modèle, où elles peuvent
être transférées vers d'autres développeurs,
départements, fournisseurs et clients

20
Prototypage virtuel
▪ Permet d'économiser le temps de développement car la
construction d'un modèle est habituellement beaucoup
plus rapide que la construction d'un prototype physique.
▪ Réduit également les coûts et augmentent l'innovation car
il permet à une équipe d'expérimenter rapidement et en
toute sécurité de nouveaux concepts.
▪ Dans de nombreuses situations, un modèle peut
remplacer une plate-forme d'essai.
Les plates-formes d'essai sont souvent une ressource rare et
couteuse.

21
Test et vérification continus
▪ Consistent à simuler une conception à chaque étape du
développement.

▪ Utilisés pour identifier les défauts dès leur introduction


dans la conception.

▪ Peuvent prendre différentes formes et peuvent être


effectués à différents niveaux, en fonction de la
complexité du système et du stade de développement.
Par exemple, il peut être l'un des éléments suivants :

22
Test et vérification continus
Ces tests peuvent être l'un des éléments suivants :
▪ Test en boucle ouverte - test d'un seul composant avec des entrées
prédéfinies et des vérifications spécifiées pour les sorties.

▪ Essais en boucle fermée - test d'un composant ou d'un système avec


un modèle de l'environnement et un modèle d'usine (Modèle d'usine :
modèle de la partie du système qui doit être contrôlée).

▪ Prototypage rapide -Générer le code du modèle de contrôleur et tester


de la partie logicielle du système embarqué dans son environnement
réelle.

23
Test et vérification continus
Les avantages d'un test et d'une vérification
continus comprennent :
▪ Identification précoce des erreurs, réduction du coût et
du temps de développement,
▪ Réduction des erreurs, augmentation de la qualité du
logiciel,
▪ Risques réduits, fournissant un moyen rentable et
sécurisé de tester des scénarios pouvant endommager
un matériel coûteux.
▪ Meilleure compréhension du système.

24
Automatisation
▪ Consiste à utiliser des scripts et des outils pour exécuter
des tâches ou des tâches répétitives qui sont sujettes à
l'erreur lorsqu'elles sont effectuées manuellement.

▪ Comprennent les éléments suivants :


✓ Génération du code de production.
✓ Développer des cibles pour personnaliser le code généré
pour le matériel cible spécifique.
✓ Générer des rapports, tels que les descriptions de
conception et les résultats des tests.

25
Automatisation
▪ Comprennent les éléments suivants :
✓ Effectuer des contrôles de modèle pour s'assurer que le
modèle est conforme aux directives.

✓ Connexion aux bases de données du système pour les


vérifications et la configuration de l'interface.

✓ Prouver formellement les propriétés du système.

✓ Création et test automatique du système entier, y compris


des tests de composants.

26
Automatisation
Apporte les avantages suivants :
▪ L'équipe peut se concentrer sur la conception au lieu
des détails d'implémentation.

▪ Des cycles de développement plus rapides facilitent la


gestion des changements d'exigences.

▪ Les systèmes complexes sont plus faciles à gérer.

27
Capture et gestion des connaissances
▪ Dans la conception basée sur modèles, les modèles sont
la principale source d'information sur le projet.
▪ Cette connaissance comprend non seulement les
spécifications de conception et les détails sur le système
en cours de développement, mais aussi :
✓ La connaissance des produits,

✓ L'expertise de conception des membres de l'équipe,

✓ L'expérience passée

✓ Les meilleures pratiques de conception.

28
Capture et gestion des connaissances
▪ Les modèles deviennent une langue commune pour le
transfert d'informations :
✓ au sein des équipes de recherche et développement
✓ auprès des clients et des fournisseurs.

▪ Puisque les modèles peuvent être exécutés ou simulés, la


connaissance qu'ils contiennent augmente à mesure que
la compréhension du système augmente.

29
Résumé : Conception basée sur modèle
Recherche Modélisation et simulation Exigences
2
1
3

Prototypage
Test et
5 4 rapide
vérification
continus

Production de résultats
6

▪ Code de production
▪ Rapports
▪ Certification
30
Etape de Conception basée sur modèle :
Modèle en V
Analyse des Test
Exigences d’admission

Conception Test du
du Système Système

Architecture
du Système Test d’ integration

Conception des Test des sous -


sous-systèmes systèmes

Implémentation

31
Etape de Conception basée sur modèle :
cycle en Spiral :
Chaque révolution = 1 cycle en V

32

Vous aimerez peut-être aussi