Introdução aos Sistemas de Tempo Real

Objetivos

1. Saber:

a) Conceitos fundamentais de sistemas de tempo real e programação concorrente.

b) Conceber e analisar sistemas embutidos discretos.

2. Fazer:

a) Capacidade de modelação de problemas de tempo real e sistemas embutidos.

b) Capacidade de programar sistemas concorrentes e interfaciar sistemas físicos.

c) Criatividade face a problemas de tempo real e sistemas distribuídos.

3. Competências não-técnicas:

a) Capacidade de trabalho em equipa.

b) Capacidade de gestão de tempo e cumprimento de prazos.

Caracterização geral

Código

13190

Créditos

6.0

Professor responsável

Filipa Alexandra Moreira Ferrada, Luís Manuel Camarinha de Matos

Horas

Semanais - 5

Totais - 72

Idioma de ensino

Português

Pré-requisitos

Conhecimentos básicos de programação.

Bibliografia

Sistemas de Tempo Real – sumário das aulas (Notas de curso)

Artigos seleccionados.

Método de ensino

Componente teórica: A componente teórica da unidade curricular é lecionada através de aulas expositivas, complementadas por metodologias ativas que promovem a participação e o pensamento crítico dos estudantes. Para esse efeito, são utilizados questionamentos dirigidos durante as sessões e a realização de quizzes interativos, recorrendo a ferramentas como o Slido e o Moodle, que permitem consolidar conhecimentos e monitorizar a aprendizagem de forma contínua.

Componente prática: A componente prática da unidade curricular assenta em metodologias de ensino ativas, nomeadamente a aprendizagem baseada em projetos (project-based learning) e a aprendizagem colaborativa. Os estudantes desenvolvem trabalhos laboratoriais em pequenos grupos, que envolvem a conceção, implementação e validação de projetos práticos, com recurso a simulação. Esta abordagem promove o desenvolvimento de competências técnicas, de trabalho em equipa e de resolução de problemas em contexto aplicado.

Método de avaliação

Componente Teórica (50% da classificação final)

A componente teórica (50% da classificação final) pode ser realizada através de avaliação contínua ou por exame final:

  1. Avaliação Contínua (50%) – composta por:

    • Quizzes – 5%

    • Teste 1 – 22,5%

    • Teste 2 – 22,5%

  2. Exame Final (50%) – exame único de avaliação global, com peso de 50% na classificação final (realizado em substituição da avaliação contínua).

(Estes elementos totalizam 50% da classificação final.)

 

Componente Prática (50% da classificação final)

A componente prática (os restantes 50% da classificação final) é avaliada através dos seguintes elementos:

  • Fichas de Trabalho (trabalhos práticos) – 10%

  • Trabalho de Grupo 1 – 20%

  • Trabalho de Grupo 2 – 20%

(Estas atividades práticas perfazem 50% da classificação final.)

 

Nota Mínima

É exigida uma classificação mínima de 9,5 valores (em 20) em cada uma das componentes (teórica e prática) para aprovação na unidade curricular.

Conteúdo

1. Conceitos fundamentais e motivação: processos, eventos, concorrência, sincronização, exclusividade, comunicação.

2. Mecanismos de suporte: semáforos, caixas de correio, portas, chamadas de procedimentos remotos, etc..

3. Núcleos e sistemas embebidos.

4. Modelação e análise de sistemas concorrentes.

5. Redes de Petri: conceitos fundamentais, métodos de análise, tipos de redes - com capacidades e pesos, limitadas, com arco inibidor, temporizadas, coloridas, contínuas e híbridas.

6. Linguagens de programação concorrentes (Python).

Cursos

Cursos onde a unidade curricular é leccionada: