18
Systèmes en temps réel Introduction Aux Systèmes en temps réel

Systèmes en temps réel Introduction Aux Systèmes en temps réel

Embed Size (px)

Citation preview

Page 1: Systèmes en temps réel Introduction Aux Systèmes en temps réel

Systèmes en temps réel

Introduction Aux

Systèmes en temps réel

Page 2: Systèmes en temps réel Introduction Aux Systèmes en temps réel

Introduction - 2

Synopsis

Définitions

Applications des systèmes d’ordinateur en

temps réel

Cycles de vie

Méthodologies

Outils

Page 3: Systèmes en temps réel Introduction Aux Systèmes en temps réel

Introduction - 3

Définitions

Systèmes en temps réel:

“Un système en temps réel est un système logiciel qui maintient une interaction constante et ponctuelle avec son environnement”

Bran Selic

Page 4: Systèmes en temps réel Introduction Aux Systèmes en temps réel

Introduction - 4

Définitions (continue)

Systèmes en temps réel:“Nous pouvons penser aux systèmes

en temps réel comme ceux qui réagissent aux entrées externes et qui de façon ponctuelle affectent l’environnement dans laquelle ils opèrent”

Page 5: Systèmes en temps réel Introduction Aux Systèmes en temps réel

Introduction - 5

Définitions (continue)

Systèmes en temps réel:“ …tout système dont le temps

auquel les sorties sont produites est significatif. Ceci est habituellement due au fait que les entrées correspondent à quelques mouvements dans le monde physique, et les sorties doivent relater à ces mêmes mouvements.”The Oxford Dictionary of Computing

Page 6: Systèmes en temps réel Introduction Aux Systèmes en temps réel

Introduction - 6

Définitions (continue)

Caractéristiques communes à toutes ces définitions

ponctualité ponctualité = véracité

interaction avec l’environnement interfaces matériels

Page 7: Systèmes en temps réel Introduction Aux Systèmes en temps réel

Introduction - 7

Définitions (continue)

Est-ce que tout les systèmes d’ordinateur sont des systèmes à temps réel

bien que tout les logiciels interfacent avec le matériel, la programmation Windows, Icônes, Menus et Pointeurs (WIMP) n’est pas considérée comme en temps réel

?

Page 8: Systèmes en temps réel Introduction Aux Systèmes en temps réel

Introduction - 8

Définitions (continue)

Temps réel dure versus mou Les systèmes en temps réel dure exigent que des

échéanciers stricts soient atteints; les plus stricts exigent qu’un événement se produise au temps x, pas seulement par le temps x.

Dans les systèmes en temps réel mou la ponctualité dans les événements est importante, mais pas nécessairement critique.

Souvent exprimé comme: x de y événements à temps, ou

par le temps x ± variance

Page 9: Systèmes en temps réel Introduction Aux Systèmes en temps réel

Introduction - 9

Définitions (continue)

Temps réel versus logiciel embarqué La majorité du logiciel en temps réel est

“embarqué” à l’intérieur d’un système, et est habituellement de facto le système nerveux central.

Donc bien souvent, temps réel et embarqué sont souvent utilisés comme synonymes lorsque l’on réfère au logiciel en temps réel.

Page 10: Systèmes en temps réel Introduction Aux Systèmes en temps réel

Introduction - 10

Applications of real-time systems

Contrôle de processus Centrale nucléaire

Contrôle de production Ligne de production d’automobile

Communication, commandement & contrôle Système de contrôle de l’espace aérien

Systèmes embarqués Receveur d’ondes satellite TV

Page 11: Systèmes en temps réel Introduction Aux Systèmes en temps réel

Introduction - 11

Cycles de vie des systèmes en temps réel

Petites applications commerciales embarquées Typiquement appelées ‘one-shot’

Déploie et (espère d’) oublier

Grand multiples Requis d’efficacité poussé par les coûts

Page 12: Systèmes en temps réel Introduction Aux Systèmes en temps réel

Introduction - 12

Cycles de vie (continue) Les systèmes en temps réel à grande

envergure * inclus la majorité des systèmes militaires médical

Généralement sujet aux changements constants

Très long cycle de vie Dispendieux à entretenir Les design robustes est critique

* Le sujet de ce cours

Page 13: Systèmes en temps réel Introduction Aux Systèmes en temps réel

Introduction - 13

Méthodologies

Un historique (très) simplifié Organigrammes (flowcharts) Sous-routines (fonctions & procédures) Programmation structurée OOAD / UML 1.x ROOM / RT-UML UML 2.0

Page 14: Systèmes en temps réel Introduction Aux Systèmes en temps réel

Introduction - 14

Méthodologies (continue)

Modélisation en temps réel orientée object Real-time Object-Oriented Modeling (ROOM) Une méthode pour modéliser et exécuter des

systèmes en temps réel à grande échelle Origine de Nortel pour la spécification et le

design des systèmes d’aiguillage téléphonique ROOM + UML => UML 1.3 (sémantique temps-

réel) UML 2.0

Disponible avec outils CASE maintenant

Incorpore beaucoup du ROOM

Page 15: Systèmes en temps réel Introduction Aux Systèmes en temps réel

Introduction - 15

Outils

ObjecTime Developer Basé sur ROOM (pas UML) Modèles basés sur les objects actifs - “actors” Supporte l’exécution du modèle à tous les stages

simulation exécutable (Rapid Prototyping Language (RPL)) cible exécutable (C, C++)

Avec “ l’achat ” d’ObjecTime par Rational Développeur devient RoseRT

Avec “ l’achat ” de Rational par IBM RoseRT devient Rational Technical Developer

Page 16: Systèmes en temps réel Introduction Aux Systèmes en temps réel

Introduction - 16

Outils(continue)

RoseRT* Basé sur UML Utilise les stéréotypes pour la sémantique

spécifique au domaine Supporte le processus Unified

(développement du logiciel) Encourage la rapidité des versions

exécutables “micro-cycle”

Translation versus élaboration* La version courante au CMR est encore RoseRT et non Technical Developer

Page 17: Systèmes en temps réel Introduction Aux Systèmes en temps réel

Introduction - 17

Outils(continue)

Rhapsody par I-Logix Tau Developer par Telelogic Real-Time Studio par Artisan Visual Paradigm

Tous basés sur la norme UML Tous encourage la rapidité des versions exécutables Presque tous translatifs (vs élaboration)

Il y a des alternatives!! Le CMR n’est pas dans la business de

“vendre” des outils spécifiques

Page 18: Systèmes en temps réel Introduction Aux Systèmes en temps réel

Introduction - 18

Sommaire

“Le design des application distribuées en temps réel s’est avéré à être un des problèmes les plus compliqués et difficiles à résoudre. Ceci est due à prime abord à la complexité du monde réel où ces systèmes évoluent. Leurs environnements peuvent être incroyablement diverse, dynamique et imprédictible – les composantes faillissent aléatoirement, les communications sont corrompus, les interruptions se produisent au moments les moins opportuns, et ainsi de suite.”

livre sur ROOM