ENGINYERIA EN AUTOMÀTICA I ELECTRÒNICA INDUSTRIAL Sistemes Informàtics Temps Real en Guia de l’assignatura ENGINYERIA EN AUTOMÀTICA I ELECTRÒNICA INDUSTRIAL 29508 Sistemes Informàtics en Temps Real. Guia de l’assignatura Aprovada en C.A.A de data 8/06/05 1 Crèdits: NÚMERO ( 4,5 teoria + 1,5 pràctiques) Crèdits ECTS: 4,8 Tipus: Troncal Coordinador: Ramon Sarrate Estruch (ramon.sarrate@upc.edu) Altres Professors: Ari Ingimundarson (ari.ingimundarson@upc.edu) Departament: Enginyeria de Sistemes, Automàtica i Informàtica Industrial Presentació Coneixements previs Per cursar aquesta assignatura serien desitjables certs coneixements en electrònica digital, microprocessadors, regulació automàtica, comunicacions industrials i informàtica a nivell de programació i de sistemes operatius. Camps professionals Aquesta assignatura proporciona els coneixements que permetran programar sistemes de control i supervisió de processos industrials. Relació amb altres assignatures En una part d’aquesta assignatura es destacaran els aspectes de temps real associats a les xarxes de comunicacions industrials, establint un vincle clar amb l’assignatura Comunicacions Industrials. D’altra banda, permetran a diverses assignatures d’automàtica de la titulació disposar dels coneixements necessaris que permetin implementar els seus algorismes de control. Objectius generals L’assignatura Sistemes Informàtics en Temps Real pretén: 1. Conscienciar sobre les problemàtiques involucrades en el disseny de sistemes informàtics que han de satisfer unes especificacions temporals imposades per l’entorn. 2. Proporcionar els coneixements bàsics sobre les tècniques de disseny i implementació d’aquest tipus de sistemes, i sobre les metodologies d’anàlisi de les seves prestacions de temps real. 3. Familiaritzar amb la programació d’aplicacions de control i supervisió de processos mitjançant un sistema operatiu en temps real. ENGINYERIA EN AUTOMÀTICA I ELECTRÒNICA INDUSTRIAL 29508 Sistemes Informàtics en Temps Real. Guia de l’assignatura Aprovada en C.A.A de data 8/06/05 2 Temari 1. Introducció als SITR (4 hores) 1.1. Objectius de l’assignatura 1.2. Definicions i conceptes 1.3. Característiques d’un SITR 1.4. Programació d’un SITR: sistemes operatius i llenguatges 2. Interacció amb el procés: programació de perifèrics (2 hores) 2.1. Tipus de perifèrics 2.2. Organització interna: registres de programació 2.3. Transferència de dads: enquesta i interrupció 3. La noció de temps (3 hores) 3.1. Definicions i conceptes 3.2. Sistemes de mesura de temps: per calibratge i amb temporitzador 4. Sistemes multitasca (18 hores) 4.1. Introducció 4.2. Programació d’executius cíclics 4.3. Exemples de programació de sistemes multitasca 4.4. Protecció de recursos en sistemes apropiatius 4.5. Mecanismes de sincronització 4.6. Comunicació mitjançant missatges 4.7. Gestió apropiativa basada en prioritats 5. Planificació d’un SITR (14 hores) 5.1. Conceptes i metodologia 5.2. Avaluació del temps de còmput 5.3. Estudi de planificabilitat d’un sistema basat en co-rutines: nomenclatura i metodologia 5.4. Estudi de planificabilitat d’un sistema multitasca apropiatiu 5.5. Criteris d’assignació de prioritats 6. Sistemes distribuïts (4 hores) 6.1. aspectes desl sistemes distribuïts en temps real: conceptes i definicions 6.2. Xarxes de comunicació en temps real: CAN Objectius específics dels mòduls n Tema 1 D’una banda, s’introdueixen els objectius, el programa i la metodologia d’avaluació de l’assignatura. D’altra banda, es defineixen i es caracteritzen els sistemes informàtics en temps real. Finalment, des d’un punt de vista tecnològic, es descriuen les eines que ens permeten programar SITR: els sistemes operatius de temps real i els llenguatges de programació concurrent. Al finalitzar aquest tema, per tal d’assolir els objectius generals, l’estudiant hauria de ser capaç de, n Recordar els objectius generals de l’assignatura i saber com seran avaluats. n Reconèixer les aplicacions que requereixen la programació en temps real, i les seves principals característiques. n Identificar els beneficis que aporten els sistemes operatius en temps real i els llenguatges concurrents a la programació de SITR. ENGINYERIA EN AUTOMÀTICA I ELECTRÒNICA INDUSTRIAL 29508 Sistemes Informàtics en Temps Real. Guia de l’assignatura Aprovada en C.A.A de data 8/06/05 n 3 Tema 2 Tot sistema de temps real es caracteritza per interactuar activament amb el procés que controla i supervisa. En aquest apartat s’il·lustra com es pot programar aquesta interacció, destacant l’accés a baix nivell i les interrupcions. Al finalitzar aquest tema, per tal d’assolir els objectius generals, l’estudiant hauria de ser capaç de, n Programar una aplicació que interactui amb un procés mitjançant un perifèric. n Tema 3 Poder manipular el temps de diverses formes és un requisit per a un SITR. En aquest apartat es defineix i caracteritza un sistema de mesura en general i s’il·lustren dues implementacions: una que s’implementa íntegrament amb programari i una altra que necessita d’un maquinari específic. Al finalitzar aquest tema, per tal d’assolir els objectius generals, l’estudiant hauria de ser capaç de, n Identificar les característiques de qualsevol sistema de mesura de temps. n Implementar i manipular un sistema de mesura de temps per calibratge. n Configurar i manipular un sistema de mesura de temps d’un SOTR. n Programar activitats periòdiques. n Tema 4 A l’hora de controlar i supervisar un procés, els SITR han d’implementar un conjunt de funcionalitats diverses. La forma més coherent i natural de fer-ho és organitzant l’aplicació en múltiples tasques concurrents. En aquest apartat es proporcionen les bases per a la comprensió i programació dels sistemes multitasques. Al finalitzar aquest tema, per tal d’assolir els objectius generals, l’estudiant hauria de ser capaç de, n Identificar les diverses modalitats de gestió de sistemes multitasques. n Organitzar una aplicació en diverses tasques. n Escollir i implementar mecanismes d’interacció entre tasques. n Reconèixer les necessitats de protecció en l’accés a recursos compartits. n Dissenyar i implementar executius cíclics. n Dissenyar i implementar un sistema multitasca basat en co-rutines. n Dissenyar i implementar un sistema multitasca amb gestió apropiativa basada en prioritats. n Tema 5 Un SITR ha d’interactuar amb el procés d’acord amb unes especificaions temporals estrictes. En aquest apartat es proporcionen les bases conceptuals i teòriques necessàries per a la comprensió de les metodologies que permeten determinar si un SITR acomplirà aquestes especificacions temporals un cop en funcionament. ENGINYERIA EN AUTOMÀTICA I ELECTRÒNICA INDUSTRIAL 29508 Sistemes Informàtics en Temps Real. Guia de l’assignatura Aprovada en C.A.A de data 8/06/05 4 Al finalitzar aquest tema, per tal d’assolir els objectius generals, l’estudiant hauria de ser capaç de, n Descriure i aplicar la metodologia d’anàlisi de planificabilitat d’un sistema multitasca programat amb co-rutines. n Descriure i aplicar la metodologia d’anàlisi de planificabilitat d’un sistema multitasca apropiatiu basat en prioritats n Descriure la metodologia d’avaluació del temps de còmput d’un fragment de codi. n Recordar i aplicar els diferents criteris d’assignació de prioritats. n Tema 6 En aquest apartat es tracten alguns aspectes de temps real que caracteritzen les aplicacions distribuïdes. En concret es descriu un algorisme d’ordenació d’esdeveniments, un algorisme per garantir l’exclusió mútua distribuïda, i s’enumeren les característiques d’un xarxa CAN i es proporciona una metodologia per a determinar el retard màxim dels missatges CAN. Al finalitzar aquest tema, per tal d’assolir els objectius generals, l’estudiant hauria de ser capaç de, n Identificar les característiques i necessitats de temps real dels sistemes distribuïts. Metodologia de treball L’assignatura s’organitza en classes a l’aula i al laboratori. Els continguts teòrics es proporcionaran mitjançant classes magistrals a l’aula, fent ús de pissarra i transparències. Els continguts pràctics es proporcionaran mitjançant classes de problemes a l’aula i sessions de laboratori. Es proposaran, també, diversos problemes i treballs que l’estudiant haurà de desenvolupar fora de l’horari de classes. Pràctiques, laboratoris En les sessions de laboratori es posen en pràctica els conceptes i les tècniques de programació de SITR vistos a les classes de teoria. L’objectiu final és dissenyar i programar una aplicació encastada de control i supervisió remota mitjançant un SOTR. Les pràctiques s’organitzen en 6 sessions. n Pràctica 1: Introducció a QNX. n Pràctica 2: Programació d’una llibreria per una targeta d’adquisició. n Pràctica 3: Programació d’una aplicació de control amb co-rutines. n Pràctica 4: Programació d’una aplicació encastada de control amb un gestor apropiatiu basat en prioritats (2 sessions). n Pràctica 5: Programació d’una aplicació de supervisió remota. ENGINYERIA EN AUTOMÀTICA I ELECTRÒNICA INDUSTRIAL 29508 Sistemes Informàtics en Temps Real. Guia de l’assignatura Aprovada en C.A.A de data 8/06/05 5 Materials Bibliografia bàsica Alan Burns, Andy Wellings, Sistemas de Tiempo Real y Lenguajes de Programación, Addison Wesley (2003). Rob Krten, Getting Started with QNX Neutrino 2. A Guide for Realtime Programmers, PARSE Software Devices (2001). Ramon Sarrate, Transparències de Sistemes Informàtics en Temps Real (2003). Bibliografia complementària Ch. Bonnet, I. Demeure, Introdution aux Systèmes Temps Réel, Hermes Science Publications (1999). Ph. A. Laplante, Real-time Systems Design an Analysis. An Engineer’s Handbook, IEEE Press (1993). A. Burns, G. Davies, Concurrent Programming, Addison Wesley (1993). D. M. Auslander, Mechatronics: A Design and Implementation Methodology for Real Time Control Software, http://www.me.berkeley.edu/faculty/auslander (1997). Avaluació Els objectius específics s’avaluaran en base a dos examens, les pràctiques i uns exercicis amb els següents pesos: n Examen parcial de l’assignatura: 30 % n Examen final de l’assignatura: 40 % n Sessions de laboratori: 20 % n Exercicis, problemes i treballs: 10%