Programa de disciplina:

 - Sistemas de Tempo Real, o que são?

Sistemas de tempo real hard

Sistemas de tempo real soft

 O porquê do amplo uso dos Sistemas de Tempo Real

         Sistemas de Tempo Real Reactivos

         Sistemas de Tempo Real Incrustados

         Características de um Sistema de Tempo Real

         Modularidade

         Diversidade

         Manutenção

         Extensibilidade

         Manipulação de Números Reais

         Fiabilidade e Segurança

         Controlo de Processos Concorrentes

         Facilidades de Tempo Real

         Interface com Hardware

         Implementação eficiente

         Determinismo

         Pior caso

         Aquisição de Informação - A validação dos dados

         Ciclo de produção de um programa

         As Linguagens de Programação para Tempo Real

         Programação em pequena escala e programação em grande escala.

         Panorâmica sobre Ada, Modula-2, occam2 e C++

         Convenções lexicais

         Tipos de dados

         Estruturas de controlo

         Subprogramas

         Encapsulamento

         Compilação por módulos

         Tipos de dados abstractos

         Reusabilidade

         Ambientes de suporte

         Tolerância a Faltas

         Fiabilidade, Falhas e Faltas

         Prevenção de Faltas e Tolerância a faltas

         Programação N versões

         Redundância de SW e de HW

         Blocos de recuperação em SW

         Medição da fiabilidade

         Confiança no funcionamento

         Excepções e sua manipulação

         Programação concorrente

         Representação de processos ao nível da linguagem

         Utilização de primitivas de sincronização

         Monitores

         Rendez-vous

         Espera selectiva

         Acções atómicas

         Recuperação

         Gestão de Recursos Partilhados

         Utilização

         Interblocagem

         Facilidades de Tempo Real

         Acesso ao Relógio

         Temporizadores

         Metas e Escalonamento

         Sistemas Operativos e Núcleos de Tempo Real

         Noção de Sistemas Operativos

         Núcleos multi-tarefa

         Introdução aos sistemas operativos

         Noções básicas de Arquitectura

         Motivação

         Funcionalidade dos Sistemas Operativos

         Tipos de sistemas operativos

         Gestão de processos

         Escalonamento

         Sistemas Distribuídos

         Noções básicas

         Suporte de linguagem á distribuição

         Nós virtuais em Ada

         Algoritmos distribuídos

         Comunicação em sistemas distribuídos

         Comportamento no tempo de protocolos de comunicação

         Processamento de faltas

         Técnicas de mascaramento de falhas

         Noção de sincronização de relógios

         Sincronização interna

         Sincronização externa

         Erro de leitura

         Exemplos

         Técnicas de tolerância a faltas em sistemas distribuídos

         Replicação activa

         A máquina de estados distribuída

         Arquitecturas MARS e Delta-4