STR - Sistemas de Tempo-Real

 2005/2006 - 1º Semestre

Universidade de Aveiro
Disciplina opcional do 5º ano das Lic. em
    Engª de Electrónica e Telecomunicações
    Engª de Computadores e Telemática
Código da disciplina: 11475

(de volta a Aulas...)

STR no ano lectivo 2003/2004

STR no ano lectivo 2004/2005

 Tópicos nesta página

    Dúvidas, sugestões, questões?

Docentes

Horário e salas

Enquadramento, objectivos e organização

Os sistemas de tempo-real desempenham um papel crucial nas sociedades modernas, suportando áreas aplicacionais tais como controlo de centrais nucleares, controlo de indústrias químicas, sistemas aviónicos, sistemas de controlo de tracção, motor e travagem em automóveis, controlo de tráfego aéreo, marítimo, ferroviário e rodoviário, sistemas de telecomunicações, automação industrial, robótica, sistemas de defesa militar, missões espaciais, etc..

Embora o leque de aplicações seja vasto, muitas das quais são aplicações críticas em termos de segurança, as abordagens tipicamente usadas no desenvolvimento de sistemas de tempo-real baseiam-se em técnicas de programação empíricas e de baixo nível, sem o suporte de uma metodologia científica precisa. A consequência desse facto é uma menor fiabilidade que, em tais aplicações críticas, pode causar sérios danos a equipamento, ambiente e até mesmo a vidas humanas.

Por outro lado, a recente grande difusão de aplicações interactivas, como os sistemas de realidade virtual ou genericamente os sistemas multimedia, veio alargar substancialmente o leque de aplicabilidade dos sistemas de tempo-real. Emboras estas aplicações não sejam críticas em termos de segurança, o cumprimento das respectivas restrições temporais tem um impacto directo no respectivo desempenho.

Esta proliferação de aplicações com restrições temporais veio aumentar significativamente o interesse nos sistemas operativos de tempo-real, sendo hoje comum encontrar referências por exemplo a sistemas como Real-Time Linux.

A disciplina que se propõe foca quatro aspectos essenciais:

  • a origem e caracterização das restrições impostas pelo ambiente ao comportamento temporal do sistema computacional;
  • a forma como o sistema computacional mantém o conhecimento do estado do ambiente que o rodeia;
  • a teoria de escalonamento de actividades concorrentes associadas a processos de tempo-real;
  • e a constituição e construção de sistemas operativos / executivos de tempo-real.

A organização proposta está baseada em duas componentes, teórica e prática. A primeira será essencialmente expositiva mas recorrendo a exemplos práticos e momentos de discussão. A segunda fará uso de vários sistemas operativos e/ou executivos tempo-real de domínio público ou disponíveis para ensino (e.g. RT-Linux, RTAI, KURT, RT-Mach, SHaRK, SMX, ReTMiK) bem como de um conjunto de plataformas para sistemas embutidos (baseadas no uC 80C188, 68HC11, 80C51, PIC16F876) e incluirá uma primeira série de trabalhos práticos essencialmente ilustrativos, sendo seguida pelo desenvolvimento de um pequeno projecto.

Topo

Tópicos, planificação e slides das aulas teóricas

  • 0- (05/09/12) Apresentação. Funcionamento da disciplina. Outras informações.

  • 1- (05/09/19) Restrições temporais: origem e caracterização (slides/pdf-149KB)

    • 1.1- O conceito de tempo-real e a origem das restrições temporais

    • 1.2- Caracterização de restrições temporais

    • 1.3- Requisitos dos sistemas de tempo-real

  • 2- (05/09/26) Modelos computacionais (slides/pdf-74KB)

    • 2.1- Modelos de tarefas com restrições temporais explícitas

    • 2.2- Questões de implementação

    • 2.3- Controlo lógico versus controlo temporal

    • 2.4- Caracterização dos paradigmas de controlo por eventos (ET) e por tempo (TT)

  • 3- (05/10/3) Executivos de tempo-real (slides/pdf-59KB)

    • 3.1- Os estados de uma tarefa

    • 3.2- Arquitectura genérica de um executivo (kernel) de tempo-real

    • 3.3- Estruturas e funções típicas do executivo

  • 4- (05/10/10) Conceitos básicos de escalonamento (slides/pdf-59KB)

    • 4.1- Escalonamento de tarefas, taxonomia básica

    • 4.2- Alguns métodos básicos de escalonamento

    • 4.3- Escalonamento estático cíclico

  • 5- (05/10/17) Escalonamento de tarefas periódicas (slides/pdf-60KB)

    • 5.1- Escalonamento baseado em prioridades fixas (RM, DM, outros)

    • 5.2- Análises de escalonabilidade baseadas em utilização e tempo de resposta

  • 6- (05/10/24) Escalonamento de tarefas periódicas, cont. (slides/pdf-65KB)

    • 6.1- Escalonamento baseado em prioridades dinâmicas (EDF, LSF, outros)

    • 6.2- Análises de escalonabilidade baseadas em utilização e carga de CPU

    • 6.3- Comparação entre prioridades fixas e dinâmicas

  • 7- (05/10/31+05/11/07) Acesso a recursos partilhados (slides/pdf-64KB)

    • 7.1- O problema da inversão de prioridades

    • 7.2- Herança de prioridades

    • 7.3- Protocolo de tecto de prioridades (Priority-Ceiling Protocol)

    • 7.4- Protocolo de pilha de recursos (Stack Resource Protocol)

  • 8- (05/11/14+05/11/21) Processamento de tarefas aperiódicas (slides/pdf-74KB)

    • 8.1- Servidores de prioridades fixas

    • 8.2- Servidores de prioridades dinâmicas

  • 9- (05/11/28) Outras aspectos do escalonamento tempo-real (slides/pdf-47KB)

    • 9.1- Escalonamento sem preempção

    • 9.2- Aspectos de implementação prática

  • 10- (05/12/05) Revisão dos conceitos e técnicas fundamentais

  • 11- (??/??/??) Perspectivas de investigação actual sobre sistemas de tempo-real

Exercícios sobre a matéria das aulas teóricas

Topo

Avaliação

  • Época normal
  • Época de recurso
    • téorica: 50% (teste único, conta a melhor nota em relação à época normal)
    • prática: 50% (nota correspondente da época normal ou teste prático)
  • NOTA MÍNIMA: 7 valores em qualquer das duas componentes.
  • A nota final será calculada usando a nota prática sem arredondamento.

Topo

Bibliografia

(Todos estes livros existem na biblioteca da UA)

referências preferenciais:

  • Buttazzo, G.C. (2004). Hard Real-Time Computing Systems (2nd ed.). Springer.
  • Buttazzo, G.C. (1997). Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications. Kluwer Academic Publishers.
  • Kopetz, H. (1997). Real-Time Systems Design Principles for Distributed Embedded Applications. Kluwer Academic Publishers.

outras referências:

  • Veríssimo, P. and L. Rodrigues (2001). Distributed Systems for System Architects. Kluwer Academic Publishers.
  • Liu, J.W.S. (2000). Real-Time Systems. Prentice Hall.
  • Briand, L. and D.M. Roy (1999). Meeting Deadlines in Hard Real-Time Systems: the Rate-Monotonic Approach . IEEE Computer Society Press, Los Alamitos (CA), USA.
  • Stankovic, J. et al. (1998). Deadline Scheduling for Real-Time Systems: EDF and Related Algorithms. Kluwer Academic Publishers.
  • Krishna, C.M. and K. Shin (1997). Real-Time Systems. McGraw-Hill.
  • Laplante, P.A. (1997). Real-Time Systems Design and Analysis - An Engineer’s Handbook (2nd ed.). IEEE Press.
  • Nissanke, N. (1997). Real-Time Systems. Prentice Hall.
  • Welling, A. and A. Burns (1996). Real-Time Systems and Their Programming Languages (2nd ed.). Int. Computer Science Series, Addison-Wesley.
  • Motus, L. and M.G. Rodd (1994). Timing Analysis of Real-Time Software. IEEE Press.
  • Klein, M. et al. (1993). A Practitioner’s Handbook for Real-Time Analysis: Guide to Rate-Monotonic Analysis for Real-Time Systems. Kluwer Academic Publishers.

artigos do grupo, relevantes para os mini-projectos

Topo

Temas / artigos para discussão nas aulas teóricas

Topo

Materiais para as aulas práticas

Topo

Indicações para a apresentação dos trabalhos práticos e relatório

As apresentações dos trabalhos práticos decorrerão na última aula prática e serão organizadas em blocos de 10 min por grupo. Durante esse tempo, cada grupo deverá efectuar uma breve apresentação, cerca de 5 min., seguida de demonstração. A apresentação não poderá ter mais de 4 a 5 slides ou transparências sobre: 1-objectivo/problema, 2-aspectos específicos (e.g. dinâmica do processo, técnica de controlo), 3-abordagem (e.g. organização em tarefas, tipos, períodos), 4-resultados, 5-ponto da situação.

O relatório deverá ser entregue até ao dia 10 de Janeiro de 2005 e está limitado a 10 páginas, excluíndo eventuais anexos técnicos. O respectivo formato deverá obedecer às seguintes indicações: folha de capa com nome da disciplina, do docente, do ano lectivo, do trabalho e dos autores, texto em coluna simples, espaçamento simples entre linhas, tipo de letra TimesNewRoman tamanho 11 ou 12, margens laterais de 2,5cm e indicação do número de página no rodapé. A respectiva estrutura deverá seguir os pontos acima referidos para organizar a apresentação. O objectivo do relatório é o de explicar a abordagem usada na resolução do problema proposto bem como os resultados obtidos. Será também o sítio indicado para salientar os detalhes considerados relevantes e que poderiam ter passado despercebidos na apresentação. 

No caso do trabalho não estar concluído na data da apresentação, esta deverá mostrar o estado actual podendo haver uma nova apresentação a realizar perto da data da entrega do relatório.

Conforme prometido (ver regras de avaliação), haverá uma verificação dos livros de registo!

Topo

Links relacionados

    Instituições / Grupos de Investigação

    Kernels / Sistemas Operativos

    Eventos científicos

Topo

De volta a Aulas...