Professional Documents
Culture Documents
Sommaire Sommaire
1. 2. 3. 4. 5. 6. 7. 8.
Dfinitions Exemples dapplications temps rel Caractristiques dune application temps rel Cycle de vie dune application temps rel Mthodes de spcification et de conception Langages pour le temps rel Le choix dun excutif temps rel Conclusion
Dfinitions Dfinitions
Un systme temps rel est un systme (application ou ensemble dapplications) informatique dont le fonctionnement est assujetti lvolution dynamique dun procd extrieur qui lui est connect et dont il doit contrler le comportement. La correction dun systme temps rel dpend non seulement de la justesse des calculs mais aussi du temps auquel les rsultats sont produits [Stankovic 1988] (contraintes temporelles). Un systme temps rel nest pas un systme qui va vite / rapide mais un systme qui satisfait des contraintes temporelles (les contraintes de temps dpendent de lapplication et de lenvironnement alors que la rapidit dpend de la technologie utilise, celle du processeur par exemple).
Dfinitions Dfinitions
Un systme embarqu (embedded system ou systme enfoui) est un systme informatique dans lequel le processeur/calculateur est englob dans un systme plus large et o le logiciel est entirement ddi une application donne. Ex. sonde spatiale, terminal GSM, carte puce Les ressources utilises pour mener bien les calculs sont en nombre limit (contraintes matrielles). Intervention humaine directe difficile voire impossible.
-La milliseconde pour les systmes de radar -La seconde pour les systmes de visualisation humaine -Quelques heures pour le contrle de production impliquant des ractions chimiques -24 heures pour les prvisions mto. -Plusieurs mois ou annes pour les systmes de navigation de sonde spatiale.
Classification Classification
Temps rel dur ou critique (hard real-time): le non respect des contraintes temporelles entrane la faute du systme. Ex.: contrle de trafic arien, systme de conduite de missile, etc. Temps rel souple (soft real-time): le respect des chances est important mais le non respect des chances ne peut occasionner de graves consquences. Ex.: projection vido (dcalage entre le son et limage). Ex.: un robot qui capte des infos sur des objets dfilant sur un convoyeur [Duvallet et al. 1999]. Temps rel ferme (firm real-time): temps rel souple avec le manquement occasionnel des chances. Ex.: projection vido (perte de quelques trames dimages).
Commandes oprateurs
Traitements
Points de consigne
Programme de contrle
donnes
commandes
capteurs
actionneurs Automate
Taille et complexit -Un systme temps rel interagit avec un environnement extrieur souvent complexe et en volution -Il doit respecter des chances temporelles, garantir une fiabilit permanente -Il doit pouvoir interagir avec diffrents types dlments matriels. Implmentation efficace: restrictions dans lutilisation des constructions du langage Certification: garantir un fonctionnement conforme aux spcifications Simulation, prototypage: vrification a priori de la conception Plate-formes dessai: vrification a posteriori du bon fonctionnement
10
console
interface
11
a ffic h a g e s
A c tio n s
12
13
14
processeur
rseau
processeur
15
16
-Transports (mtro, arospatiale, automobiles, etc.). -Mdias (dcodeurs numriques). -Services tlphoniques (terminal GSM, auto-commutateur). -Supervision mdicale. -Systmes de production industrielle : centrale nuclaire, chane de montage, usine chimique, etc. -Robotique (ex. PathFinder: sonde lance par la NASA en mars 1996, compose d'une station
au sol et d'un robot mobile Sojourner ).
17
18
Au sein d'une application ou d'un systme temps rel, il faut pouvoir manipuler le temps concret (horloge) Le temps rel (ou temps concret) sera utilis de plusieurs faons: Soit en dfinissant la date laquelle une action doit tre commence Soit en dfinissant la date laquelle une action doit tre finie Il peut tre ncessaire de pouvoir modifier ces paramtres en cours d'excution et de pouvoir prciser les actions prendre en cas de faute temporelle
19
Dans le monde rel, l'environnement du systme temps rel peut consister en plusieurs actions qui voluent simultanment (en parallle ou en concurrence). Pour rduire la complexit de conception et calquer fidlement la ralit, il faut utiliser la programmation concurrente : utiliser un modle de tches ou processus concurrents. utiliser des moyens de communication et de synchronisation inter-tches ou inter-process (mmoire partage, botes aux lettres, files de messages, moniteurs, etc.).
20
La limitation des ressources (en particulier du processeur) conduit bloquer des processus (ils ne peuvent progresser du fait du manque de ressource) Afin de respecter en permanence les chances, il faut grer efficacement la pnurie et tenter de favoriser les processus dont l'avancement est le plus urgent Un ordonnancement consiste dfinir un ordre sur l'utilisation des ressources du systme afin de respecter les chances.
21
Ordonnancement Ordonnancement
On appelle ordonnanceur (scheduler), le processus systme qui gre l'ordonnancement des processus (tches) Un algorithme d'ordonnancement est une mthode ou stratgie utilise pour ordonnancer les processus (tches) Un tel algorithme s'appuie sur la connaissance de certaines caractristiques des processus (tches) ou du systme processus (tches) priodiques ou apriodiques; premption possible ou non; chance et pire temps d'excution des processus (tches) systme priorit fixe ou chance etc.
22
Deux algorithmes classiques d'ordonnancement RM (Rate Monotonic) : algorithme priorit fixe pour tches priodiques (la tche la plus prioritaire est celle de plus petite priode) EDF (Earlest Deadline First) : algorithme priorit dynamique pour tches priodiques (la tche la plus prioritaire est celle de plus petite chance)
Au sein d'une mme classe de priorit, le choix peut se faire par temps partag (Round Robin) ou par anciennet (gestion FIFO)
23
24
Gnie logiciel = mthodes, modles et ateliers pour la conception mais aussi pour matriser la qualit des produits, leur cot et le respect des dlais. Spcificits des applications temps rel Concurrentes et synchronises Manipulation du temps Cot de dveloppement trs lourd (validation temporelle et logique, applications peu flexibles) Maintenance souvent impossible (terminal GSM, sonde spatiale) Consquences tragiques (vies humaines, faillites conomiques) Utilisation de mthodes, outils (adapts aux spcificits du temps rel) qui facilitent la conception et le dveloppement.
25
Spcification du logiciel
Validation du logiciel
Conception du logiciel
Spcification=quoi faire? Conception= comment faire? Notions de mthodes, modles et outils Couverture partielle ou totale du cycle. Cela dpend du domaine applicatif
26
Mthodes fonctionnelles structures - SA_RT : Structured Analysis Real Time [Pirbhai-Hatley 1986] - DARTS : Design Approach for Real-Time Systems [Gomaa 1984) ] - SDL : Specification and Description Language [CCITT 1988] etc. Mthodes orientes objet - UML : Unified Modeling Language [OMG 1995] - HOOD : Hierarchical Object Oriented Design [CRI-Cisi 1987] Mthodes orientes composant - KOALA : technologie composant dveloppe par Philips pour la conception de composants lectroniques grand public [Ommering et al. 2002]
27
Validation du logiciel
DARTS HOOD
28
Programme Spot4 (Matra Marconi Space/CNES) - satellite destin lobservation de la terre (mtorologie, environnement, etc.) - Spcification et conception: HOOD - langages : Ada, Assembleur Programme SENIT8 (Dassault lectronique /DCN-Ingnierie) - quipements de gestion et contrle commande du porte-avions Charles de Gaulle - Spcification et conception: SART et Ada-Buhr (proche de DARTS) - langages : Ada, C Programme Rafale (Dassault lectronique): avion militaire - Spcification et conception: SART et OMT - langages : Ada
29
30
Une spcification est constitue de : Dictionnaire de donnes Graphes de flots de donnes tendus par la notion dvnements Diagrammes tat-transition pour laspect dynamique du systme
31
HOOD = Hierarchical Object Oriented Design (projet ESA (europen) vise dfinir une mthode de conception pour des applications spatiales ) - spcification prliminaire et dtaille du logiciel - 1987: CRI,CISI Ingnirie, MATRA => HOOD 2.0 Reference Manual - 1989 : HOOD 3.0 ref. manual Exemple : STOOD de la socit TNI
33
Objets passifs - fournissent des oprations squentielles, le flot de contrle de l'utilisateur est transfr l'opration demande
Objets actifs - ont un tat interne propre - ont leur propre comportement - fournissent leurs utilisateurs des oprations "contraintes"
34
UML = Unified Model Language Profile temps rel [OMG 2000] - strotypes pour la gestion du temps - strotypes pour lanalyse dordonnanabilit et la gestion des ressources
35
Modle composant temps rel - composant, interface offerte, interface requise, oprations, contraintes de temps, etc. - Types de composants: actif, passif, connecteur, composite - vnements extrieurs/communication
Exemples : - KOALA : technologie composant dveloppe par Philips pour la conception de composants lectroniques grand public [Ommering et al. 2002] - SAVEComp est une technologie base sur le modle SAVECCM destin au dveloppement du logiciel pour automobiles [Hansson et al. 2004]. - TinyOS: systme non temps rel mais embarqu dans les rseaux de capteur, utilise le modle composant.
36 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -
Focaliser vers
Modlisation et analyse du comportement dynamique des systmes concurrents Systmes massivement distribus Modlisation et simulations du comportement dynamique des architectures Gnration de code de liaison pour linterconnexion de composants prexistants Conception, validation et gnration dapplications temps rel embarques (avionique)
Origine
CMU ICL Stanford CMU Honeywell
MetaH
37
38
CIM Analysis
CIM
1 PIM PIM
2 3
CODE Deployment
39
40
41
Simulation
Objectifs 42
Spcifier et/ou concevoir formellement un systme Valider des proprits (ex. temporelles) Gnration de code pour effectuer des simulations Dans le futur, tre capable dembarquer le logiciel
samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -
Fin de production
Fin de consommation
Production
Places occupes
Prt consommer
Place, jeton, transition. Modle tats Validation logique, ventuellement temporelle tude du graphe dtats: vivacit (interblocage), respect dinvariant (ex. exclusion mutuelle)
43
44
Trois sortes de langages peuvent tre identifis dans le contexte du dveloppement d'applications temps rel les langages assembleurs les langages squentiels lis des librairies systme les langages concurrents de haut niveau
45
Historiquement, ces langages furent longtemps les seuls tre utiliss dans ce contexte Dpendant par nature de l'architecture cible (matriel et systme)
Aucune abstraction possible et grande difficult de dveloppement, de maintenance et d'volution -> Langages proscrire sauf pour l'implmentation de petites fonctionnalits trs spcifiques et apportant une grande amlioration des performances
46
Introduits pour remdier aux problmes dus au codage en assembleur Les plus connus sont le C, le C++ ou encore le Fortran
Apporte un plus grand pouvoir d'abstraction et une certaine indpendance du matriel Mais, doit faire appel des librairies systmes spcifiques pour la manipulation des processus -> Ces langages posent le problme de la standardisation des appels systmes mais sont quelques fois le seul choix possible cause de la spcificit d'une cible et des outils de dveloppement sur celle-ci
47
Langages gnralistes incluant de plus la notion de tches et des primitives de synchronisation Haut pouvoir d'abstraction, indpendance des architectures et des systmes cibles (ou trs peu dpendants) Parmi ces langages, Ada et Java temps rel sont des langages qui peuvent tre utiliss profit dans le dveloppement d'applications/systmes temps rel -> Langages privilgier lorsque d'autres contraintes (manque de formation, reprise de code existant, coopration inter-quipes/ ou inter entreprises, ...) ne rendent pas la chose impossible
48
Java comme exemple de langage concurrent de haut niveau C avec l'utilisation de bibliothques systme Java temps rel (jRate une implmentation de RTSJ :Real-Time Specification for Java, sous Linux)
49
50
Caractristiques d'un systme d'exploitation approche gnraliste supporte gnralement plusieurs types dapplications simultanment interaction par appels systme peu dpendant du domaine d'applications vis
51
Caractristiques d'un excutif temps rel systme spcialis ddi une application spcifique (ex. contrle de trafic arien) collection de primitives -> plus spcialis qu'un systme d'exploitation, code de taille plus petite qu'un systme classique
52
Actionneurs
Capteurs
Systme de contrle
tches
Conclusion Conclusion
Les systmes ou applications temps rel sont complexes font intimement intervenir le temps dans leur conception ont des besoins de fiabilit importants gnralement dcomposs en sous-systmes avec des tches ou des processus qui interagissent doivent tre implments avec des langages appropris doivent tre excuts sur des systmes ou des excutifs adapts
56
Rfrences Rfrences
[ CRI-Cisi 1987]: HOOD Manual, CRI-Cisi Matra, Toulouse. [Boniol 1998]: Frdric Bonio, Une approche synchrone multi-formalismes pour la conception de systmes temps-rel distribus , TSI 1998. [Cottet & Grolleau 2005]: F. Cottet & E. Grolleau, systmes temps rel de contrle-commande : conception et implmnetation , Ed. Dunod, 2005, ISBN:2 10 007893 3. [Dorseuil & Pillot 1991] : Dorseuil A. et Pillot P., le temps rel en milieu industriel , dition Dunod, collection informatique industrielle, 1991. [Duvallet et al. 1999]: C. Duvallet, Z. Mammeri et B. Sadeg, Analyse des protocoles de contrle de concurrence et des proprits ACID dans les SGBD temps rel , Revue TSI, 1999. [Gomaa 1984) ]: Gomaa, Hassan, A Software Design Method for Real-Time Systems, Communications of the ACM, Sept., 1984 [Hansson et al. 2004]: H. Hansson, M. Akerholm, I. Crnkovic & M. Trngren, "SaveCCM: a component model for safety-critical real-time systems", EuroMicro Conference, Special Session Component Models for Dependable Systems, Rennes, France, Sept. 2004. [Jaulent 1994]: P. Jaulent, Gnie Logiciel: les mthodes , Armand Colin, 1994. Jean-Franois Peyre, supports de cours sur linformatique industrielle-systmes temps rel, CNAM(Paris). Frank Singhoff, supports de cours sur le temps rel, dpartement informatique, universit de Bretagne Occidentale (http://beru.univ-brest.fr/~singhoff/supports.html). [Ommering et al. 2000]: R. Van Ommering, F. Van der Linden & J. Kramer, "The Koala component model for consumer electronics software", IEEE Computer, Vol. 33, N 3, pp. 78-85, March 2000. [Pirbhai-Hatley 1987]: D. J. Hatley, I. A. Pirbhai: Strategies for Real-Time System Specification; Dorset House, New York, 1987. RTSJ: http://www.rtsj.org/ [Stankovic 1988]: John Stankovic, Misconceptions about real-time computing , IEEE Computer, oct. 1988.
57 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -