Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

COURS RT Etu

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

Prof : Khaldi Naoufel Année universitaire 2022/2023

1
Plan du cours
 Partie I: Concepts généraux
 Partie II: Specification SART
 Partie III: Conception DARTS
 Partie IV: Ordonnancement

2
Partie I: Concepts généraux
 Un système qui surveille et gère son environnement. Le
temps de réaction est critique. Il est liée en général avec
certain matériel:

Représentation schématique d’un


système de contrôle-commande. 3
Représentation schématique de l’interaction
du procédé physique piloté et du système de contrôle-
commande

4
Définition du système temps Réel

- Les systèmes temps réel se différencient des autres systèmes


informatiques par la prise en compte de contraintes temporelles
dont le respect est aussi important que l'exactitude du résultat
- Un Système TR ne doit pas simplement délivrer des résultats
exacts, il doit les délivrer dans des délais imposés

5
Définition du système temps Réel

6
Types des système temps Réel
1. Temps réel mou (Soft Real Time) :
Les applications temps réel mou ont des contraintes
d’échéances, mais elles peuvent « tolérer » des «
fluctuations » dans la puissance de calcul qui leur est
accordé.

2. Temps réel dur (Hard Real Time) :


Les applications temps réel dur doivent retourner des
réponses pour une échéance fixée à l’avance. Pour cela elles
doivent disposer d’une certaine puissance de calcul qui ne
doit pas pouvoir être remise en cause.

7
Domaines d’utilisations
Les systèmes informatiques temps réel sont aujourd'hui
présents dans de nombreux secteurs d'activités
 Industrie de production par exemple, au travers des
systèmes de contrôle de procédé (usines, centrales
nucléaires),
 Marché Boursier au travers du traitement des données
boursières en « temps réel »
 Aéronautique au travers des systèmes de pilotage
embarqués (avions, satellites),
 Médecine --→ Robots

8
Principales caractéristiques des systèmes de contrôle-
commande

Exemple d’une application de contrôle-commande


d’un moteur à combustion

9
Principales caractéristiques des systèmes de contrôle-
commande
 Grande diversité des dispositifs d’entrées/sorties
 prise en compte des comportements concurrents
 respect des contraintes temporelles
 sûreté de fonctionnement

10
Architecture des applications de contrôle-commande
Le comportement concurrent des événements et grandeurs
physiques externes amène à décrire l’environnement
comme un système fortement parallèle.

Architecture logicielle d’une application de


contrôle-commande multitâche. 11
➢ Système multitâche
 Les notions liées aux systèmes multitâches sont:
 Programmation simultanée
 Partage de ressources
 Exclusion mutuelle
 Notions de priorités
 Synchronisation
 Communication interprocessus

12
➢ Système multitâche : synchronisation des processus
 Exemple : Semaphore

Problème de section critique

13
➢ Modèles d’exécution et Ordonnancement
L’ordonnancement va déterminer les caractéristiques
temporelles et être le garant du respect des contraintes de
temps imposées à l’exécution de l’application.
 Il existe deux modèles d’exécution de ces systèmes de contrôle
commande :
- Synchrone
- Asynchrone

14
➢ Modèles d’exécution et Ordonnancement

Modèle d’exécution synchrone


d’une application de contrôle-
commande.
15
➢ Modèles d’exécution et Ordonnancement

Modèle d’exécution asynchrone


d’une application de contrôle-
commande..
16
➢ Modèles d’exécution et Ordonnancement
Classification des ordonnancements

- Instant ou l’ordre d’exécution est décidé : hors ligne


/en ligne
- Possibilité d’interruption d’une tâche par une autre:
préemptif / non préemptif
- Optimalité : quel est le « meilleur » ordonnancement

17
➢ Exécutif ou noyau temps réel

Les principales fonctions d’un noyau temps réel peuvent être


scindées en trois groupes :

1. Gestion des entrées/sorties (gestion des interruptions, gestion


des interfaces d’entrées/sorties, gestion des réseaux de communications
…) ;

2. Ordonnancement des tâches (orchestration du fonctionnement normal


surveillance, changements de mode, traitement des surcharges…) ;

3. Relations entre les tâches (synchronisation, communication, accès


à une ressource critique en exclusion mutuelle, gestion du temps…).

18
➢ Exécutif ou noyau temps réel

le noyau temps réel n’est actif que lors de son appel

Interaction entre les tâches et le


noyau temps réel.

19
➢ Exécutif ou noyau temps réel
Nous pouvons donc décrire schématiquement le contexte
complet d’exécution d’une application temps réel avec les deux
parties : tâches et noyau temps réel

Architecture de l’application : tâches et noyau


temps réel.
20
Partie II: Specification et conception
➢ Système temps réel

21
Partie II: Specification et conception TR
➢ Cycle de vie d’un Système temps réel

22
Spécification et conception TR
Méthode SA-RT

La méthode SA-RT (Structured Analysis for Real Time) est


une méthode d'analyse fonctionnelle et opérationnelle des
applications temps réel (TR).
Il permet de réaliser une description graphique et textuelle
de l'application en termes de besoins.
- un outil de communication.
- un langage simple combinant graphiques et textes pour
décrire le système.
23
Spécification et conception TR
Principes de base de SA-RT.

SA-RT considère la spécification des systèmes temps réel selon 3


points de vue orthogonaux:

24
Spécification et conception TR
Principes de base de SA-RT.

Dans SA-RT, la définition d’un système est la donnée de 2


descriptions:
• La description des fonctions du système et du contrôle du flux
informationnel.
• La description de l’architecture matérielle du système.

25
Spécification et conception TR
Principes de base de SA-RT.
SA-RT est une méthode de spécification adaptée à la classe des
systèmes temps réels. Ceux-ci se caractérisent par:

• la complexité.
• la nécessité de la simulation.
• le parallélisme dans les traitements de données.
• le contrôle et la communication inter-processus.

26
Spécification et conception TR
Principes de base de SA-RT.
La stratégie de modélisation repose sur 2 étapes:

• Construction hiérarchisée du modèle du système


• Complétion du modèle par le besoin de contrôle.

D’où les 4 points clefs de SA-RT:


• Clarification par la séparation entre les différents modèles.
• Compréhensibilité par la combinaison de graphiques et de textes.
• Hiérarchisation de la description
• Contrôle de la cohérence par des contraintes de décomposition
entre les niveaux d’abstraction.

27
Spécification et conception TR
Conception par SA-RT.
Le modèle essentiel de la syntaxe graphique est composé deux
aspects :

- Aspect fonctionnel
➢ Syntaxe graphique du processus fonctionnel
➢ Syntaxe graphique du flot de données
➢ Syntaxe graphique du stockage de données
➢ Syntaxe graphique de la Terminaison
- Aspect contrôle
➢ Processus de contrôle
➢ Flot de contrôle
28
Spécification et conception TR
Conception par SA-RT.
- Aspect fonctionnel
➢ Syntaxe graphique du processus fonctionnel

29
Spécification et conception TR
Conception par SA-RT.
- Aspect fonctionnel
➢ Syntaxe graphique du flot de données

30
Spécification et conception TR
Conception par SA-RT.
- Aspect fonctionnel
➢ Syntaxe graphique du stockage de données

31
Spécification et conception TR
Conception par SA-RT.
- Aspect fonctionnel
Exemple

32
Spécification et conception TR
Conception par SA-RT.
- Aspect fonctionnel
➢ Syntaxe graphique de la Terminaison

33
Spécification et conception TR
Conception par SA-RT.
- Aspect de contrôle

34
Spécification et conception TR
Conception par SA-RT.
- Aspect de contrôle
➢ Processus de contrôle

Processus de contrôle de la
méthode SA-RT.
35
Spécification et conception TR
Conception par SA-RT.
- Aspect de contrôle
➢ Flot de Contrôle

Exemple simple d’une partie contrôle liée à une


partie fonctionnelle de la méthode SA-RT
36
Spécification et conception TR
Conception par SA-RT.
- Aspect de contrôle
➢ Flot de Contrôle
Les événements, fournis par le processus de contrôle , sont
généralement liés à l’activation ou à la désactivation des
processus fonctionnels. Aussi, ces événements spécifiques ont
été formalisés et prédéfinis :
– E pour Enable (activation) ;
– D pour Disable (désactivation) ;
– T pour Trigger (déclenchement).

37
Spécification et conception TR
Diagramme de flot de données .

EXP : SYSTÈME DE FREINAGE AUTOMOBILE

38
Spécification et conception TR
Diagramme de flot de données .
La spécification fonctionnelle de cette application à l’aide de la
méthode SA-RT va s’effectuer en plusieurs étapes :

- diagramme de contexte ;
- diagramme préliminaire ;
- diagrammes de décomposition.

39
Spécification et conception TR
Diagramme de flot de données .
. Diagramme de contexte
Le diagramme de contexte est une première étape extrêmement
importante puisqu’elle va définir le contexte et l’environnement
extérieur du système piloté

40
Spécification et conception TR
Diagramme de flot de données .
. Diagramme de contexte(EXP)
le diagramme de contexte est constitué du processus fonctionnel
« Contrôler système freinage 0 » et de cinq bords de modèles

41
Spécification et conception TR
Diagramme de flot de données .
. Diagramme préliminaire ;
Le premier niveau d’analyse est représenté par le diagramme
préliminaire. Ce diagramme préliminaire est la première
décomposition du processus à réaliser présenté dans le
diagramme de contexte.

Décomposition fonctionnelle générique. 42


Spécification et conception TR
Diagramme de flot de données .
. Diagramme préliminaire (EXP) ;
le diagramme préliminaire est constitué de cinq processus
fonctionnels

43
Spécification et conception TR
Diagramme de flot de données .
Diagramme
.
décomposition ;

44
Spécification et conception TR
L’aspect contrôle de la méthode SA-RT.
Le processus de contrôle va permettre de spécifier
.
l’enchaînement des différents processus fonctionnels de
l’application
Diagramme de contexte(EXP)

45
Spécification et conception TR
L’aspect contrôle de la méthode SA-RT.
Nous allons donc implanter un processus de contrôle dans le
.
diagramme préliminaire afin de coordonner l’exécution des
différents processus fonctionnels.
Diagramme préliminaire

Schéma générique de l’interaction entre le processus de contrôle et les processus


fonctionnels. 46
Spécification et conception TR
L’aspect contrôle de la méthode SA-RT.
Diagramme préliminaire(EXP)

47
Spécification et conception TR
Diagramme état/transition.
La représentation diagramme état-transition est composée de
quatre éléments :

Représentation de base
d’une cellule élémentaire d’un diagramme état/transition

48
Spécification et conception TR
Diagramme état/transition.

Représentation du diagramme état/transition


Schéma générique du processus de contrôle du diagramme
préliminaire
49
Spécification et conception TR
Diagramme état/transition (EXP).
Spécifier à l’aide d’un diagramme état/transition le processus de
contrôle ci-dessous :

50
Spécification et conception TR
Diagramme état/transition (EXP-solution).

51
Spécification et conception TR
Diagramme état/transition (EXP-solution).

52
Spécification et conception TR
Spécification des processus primitifs
Lorsque le processus fonctionnel est suffisamment simple, c’est un
processus primitif ; il doit être décrit par une spécification sous forme
textuelle (spécification procédurale, par précondition et postcondition),
tabulaire ou graphique.

– « E/ données : Nom_flots_de_données… » :
– « E/ événements : Nom_flots_d’événements… »
– « S/ données : Nom_flots_de_données… » :
– « S/ événements : Nom_flots_d’événements… » :
– « Nécessite : »
– « Entraîne : »
53
Spécification et conception TR
Spécification des processus primitifs
EXP : spécifier la description procédurale le processus primitifs pour
l’application « système de freinage automobile »

54
Spécification et conception TR
Spécification des données
Les données et les événements, qui interviennent à tous les stades du
modèle, sont alors réunis dans un dictionnaire de données.

Notation B.N.F. permettant de spécifier les


données.
55
Spécification et conception TR
Spécification des données
Ainsi, nous pouvons proposer une description de chaque donnée ou
événement de la façon suivante :
– Donnée ou événement à spécifier désignation.
– Rôle : description fonctionnelle de la donnée ou de l’événement.
– Type : description du codage, domaine de valeurs, etc.

EXP : spécifiez le dictionnaire de données pour


« système de freinage automobile »

56
Spécification et conception TR
Spécification des données
Solution :

57
Spécification et conception TR
Spécification des données
Solution :

58
Spécification et conception TR
Organisation générale de la méthode SA-RT

59
Spécification et conception TR
EXP 2 : gestion de la sécurité d’une mine

60
Spécification et conception TR
EXP 2_solution : gestion de la sécurité d’une mine
Diagramme de contexte

61
Spécification et conception TR
EXP 2_solution : gestion de la sécurité d’une mine
Diagramme préliminaire

62
Spécification et conception TR
EXP 2_solution : gestion de la sécurité d’une mine
Diagramme Etat/transition

63
Spécification et conception TR
EXP 3 : Pilotage d’un four à verre

64
Spécification et conception TR
EXP 3_solution : Pilotage d’un four à verre
Diagramme de contexte

65
Spécification et conception TR
EXP 3_solution : Pilotage d’un four à verre
Diagramme préliminaire

66
Spécification et conception TR
EXP 3_solution : Pilotage d’un four à verre
Diagramme Etat/transition

67
Spécification et conception TR
Méthode DARTS
La méthode DARTS (Design Approach for Real-Time Systems) va
permettre de passer d’un modèle de spécification aux programmes
codés dans un langage exécutable

68
Spécification et conception TR
Méthode DARTS
la conception doit pouvoir exprimer cette architecture donnée, c’est-à-
dire les différentes tâches, les relations entre les tâches et la
possibilité d ’accès à des ressources critiques.

Architecture multitâche à décrire avec la méthode de


conception DARTS. 69
Spécification et conception TR
Méthode DARTS
Présentation de la méthode DARTS
Règles à respecter :
– Nombre fixé de tâches au démarrage de l’application.
– Un seul événement de déclenchement par tâche : signal temporel,
synchronisation avec une autre tâche.
– Interaction entre les tâches qui doit être réalisée uniquement par
données partagées gérées de manière atomique.
– Possibilité d’analyse fonctionnelle des tâches de façon individuelle.

70
Spécification et conception TR
Méthode DARTS
Syntaxe graphique de la méthode DARTS
Modélisation des tâches et modules

Les tâches sont modélisées par un parallélogramme qui comporte une


étiquette ou label explicite formé de :
Étiquette_Tâche verbe (+ un ou plusieurs compléments d’objets)

71
Spécification et conception TR
Méthode DARTS
Syntaxe graphique de la méthode DARTS
Modélisation des tâches et modules

Exemple des deux types de tâches


matérielles et logicielles.
72
Spécification et conception TR
Méthode DARTS
Syntaxe graphique de la méthode DARTS
Modélisation des synchronisations et des communications

EXP

73
Spécification et conception TR
Méthode DARTS
Syntaxe graphique de la méthode DARTS
Modélisation des synchronisations et des communications

EXP : Sémaphore ( Exclusion mutuelle)

74
Spécification et conception TR
Méthode DARTS
Syntaxe graphique de la méthode DARTS
Modélisation des synchronisations et des communications

Représentations des
Relations de synchronisation entre les tâches
synchronisations entre les tâches.
75
Spécification et conception TR
Méthode DARTS
Syntaxe graphique de la méthode DARTS
Modélisation des synchronisations et des communications
Modeles de communication

76
Spécification et conception TR
Méthode DARTS
Syntaxe graphique de la méthode DARTS
Modélisation des synchronisations et des communications

EXP : Rendez vous

77
Spécification et conception TR
Méthode DARTS
Syntaxe graphique de la méthode DARTS
Modélisation des synchronisations et des communications
EXP : Boite aux lettres

78
Spécification et conception TR
Méthode DARTS
Syntaxe graphique de la méthode DARTS
Modélisation des synchronisations et des communications

Représentations des
communications entre les tâches..

79
Spécification et conception TR
Méthode DARTS
Syntaxe graphique de la méthode DARTS
Modélisation des synchronisations et des communications

Représentations des communications entre les


tâches avec entrées multiples de type « OU ».

Représentations des
communications entre les tâches..
80
Spécification et conception TR
Méthode DARTS
Syntaxe graphique de la méthode DARTS
Modélisation de l’activation des tâches
Les activations sont donc représentées par un symbole orienté (ligne
brisée) avec une étiquette ou label explicite formé de :

Représentations de l’activation des tâches


matérielles.
81
Spécification et conception TR
Méthode DARTS
Syntaxe graphique de la méthode DARTS
Modélisation de l’activation des tâches
le signal d’activation de ces tâches peut être l’action des éléments
suivants :

Représentations de l’activation des tâches


logicielles.
82
Spécification et conception TR
Méthode DARTS
Syntaxe graphique de la méthode DARTS
Modélisation des stockages de données
Les modules de données sont représentés par un rectangle associé
à des entrées permettant de réaliser une action sur les données
:LIRE,ÉCRIRE, etc.

Représentations d’un module de données


partagé par plusieurs tâches
83
Spécification et conception TR
Méthode DARTS
Mise en œuvre de la méthode DARTS
Passage de SA-RT/DARTS
- Phase 1 : Création des tâches
- Phase 2 : Détermination du typage et de l’activation des tâches.
- Phase 3 : Mise en place des synchronisations et des transferts de
données
- Phase 4 : Regroupement ou rassemblement des tâches.

84
Spécification et conception TR
Méthode DARTS
Exemples simples de traduction de SA-RT vers DARTS

Traduction d’un processus fonctionnel d’acquisition de données


en une tâche périodique

85
Spécification et conception TR
Méthode DARTS
Exemples simples de traduction de SA-RT vers DARTS

Traduction d’un processus fonctionnel d’acquisition de données


en une tâche apériodique.

86
Spécification et conception TR
Méthode DARTS
Exemples simples de traduction de SA-RT vers DARTS

Traduction d’un flot de données direct entre deux processus fonctionnels


par une boîte aux lettres

87
Spécification et conception TR
Méthode DARTS
Exemples simples de traduction de SA-RT vers DARTS

Traduction d’une unité de stockage entre deux processus fonctionnels


par un module de données

88
Spécification et conception TR
Méthode DARTS

EXP : Système De Freinage Automobile

89
Spécification et conception TR
Méthode DARTS
EXP : Système De Freinage Automobile

90
Spécification et conception TR
Méthode DARTS

Première conception du diagramme multitâche DARTS


à partir du diagramme préliminaire 91
Spécification et conception TR
Méthode DARTS

Différentes méthodes de relations


entre deux tâches communicantes d’un diagramme multitâche DARTS 92
Spécification et conception TR
Méthode DARTS

Différentes méthodes de relations


entre deux tâches communicantes d’un diagramme multitâche DARTS 93
Spécification et conception TR
Méthode DARTS
Critère de cohésion temporelle
le regroupement concerne des processus fonctionnels qui
doivent être activés par le même événement ou à la même
période.

Exemple d’un regroupement de tâches d’un diagramme multitâche DARTS


basé sur une cohésion temporelle
94
Spécification et conception TR
Méthode DARTS
Cohésion séquentielle
le regroupement concerne des processus fonctionnels
qui doivent s’exécuter en séquence

Exemple d’un regroupement de tâches d’un diagramme multitâche DARTS


basé sur une cohésion séquentielle
95
Spécification et conception TR
Méthode DARTS
Cohésion de contrôle
Le regroupement concerne des processus fonctionnels
contrôlés par un ou plusieurs événements corrélés

Exemple d’un regroupement de tâches d’un diagramme multitâche DARTS


basé sur une cohésion de contrôle
96
Spécification et conception TR
Méthode DARTS
Cohésion de fonctionnelle
Le regroupement concerne des processus fonctionnels
liés à une fonctionnalité unique.

Exemple d’un regroupement de tâches d’un diagramme multitâche DARTS


basé sur une cohésion fonctionnelle
97
Spécification et conception TR
Méthode DARTS
EXP : Système De Freinage Automobile

Deuxième conception du diagramme multitâche DARTS


obtenue à partir du regroupement de tâches du diagramme DARTS
98
Spécification et conception TR
Méthode DARTS
EXP : Gestion de la sécurité d’une mine

Diagramme multitâche DARTS obtenu à partir du diagramme préliminaire


de l’application « gestion de la sécurité d’une mine » 99
Spécification et conception TR
Méthode DARTS
EXP : Pilotage d’un four à verre

diagramme multitâche DARTS obtenu à partir du diagramme préliminaire


de l’application « pilotage d’un four à verre » 100
Ordonnancement
1er Cas : FCFS (First Come First Served)
On suppose que tous les processus arrivent a t=0, dans cet ordre: P1 , P3 , P2 , P4
Tracer le diagramme de GANTT et Calculer le temps d’attente moyen en utilisant
la table suivante :

Processus Tps d’execution

P1 3
P2 9
P3 5
P4 7
Ordonnancement
2eme Cas : FCFS (First Come First Served)
Tracer le diagramme de GANTT et Calculer le temps d’attente moyen en utilisant la table suivante

Tps Tps
Process d’execution d’arrivé
P1 20 0
P2 12 3
P3 4 2
P4 9 5
Ordonnancement
3eme Cas : SJF (short job first) non-Preemptive
Tracer le diagramme de GANTT et Calculer le temps d’attente moyen en utilisant la table suivante

Process Tps Tps


d’execution d’arrivé
us
P2 12 0
P3 8 3
P4 4 5
P1 10 10
P5 6 12
Ordonnancement
4eme Cas : SJF (short job first)Preemptive
Tracer le diagramme de GANTT et Calculer le temps d’attente moyen en utilisant la table suivante

Tps Tps
Processus d’execution
d’arrivé
P2 12 0
P3 8 3
P4 4 5
P1 10 10
P5 6 12
Ordonnancement
5eme Cas : Priorité non-Preemptive
Tracer le diagramme de GANTT et Calculer le temps d’attente moyen en utilisant la table suivante

Tps Tps
Process
d’executi Priorité d’arrivé
us on
P1 10 3 Tous les
P2 1 1 processu
s arrivent
P3 2 4 en meme
P4 1 5 temps
P5 5 2
Ordonnancement
6eme Cas : Priorité Preemptive
Tracer le diagramme de GANTT et Calculer le temps d’attente moyen en utilisant la table suivante

Tps Tps
Process
d’executi Priorité d’arrivé
us on
P1 10 3 0.0
P2 1 1 1.0
P3 2 4 2.0
P4 1 5 3.0
P5 5 2 4.0
Ordonnancement
7eme Cas : Tourniquet (Round Roubin)
Tracer le diagramme de GANTT et Calculer le temps d’attente moyen, avec Quantum = 5 ms

Processus Tps d’éxecution


P1 12
P2 8
P3 4
P4 10
P5 5

Vous aimerez peut-être aussi