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:
-
Avaliação Contínua (50%) – composta por:
-
Quizzes – 5%
-
Teste 1 – 22,5%
-
Teste 2 – 22,5%
-
-
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).