Teoria das Linguagens de Programação
[Fechado]
Descrição da Oportunidade
Sistemas híbridos combinam processos físicos contínuos, como temperatura, tempo e velocidade, com comportamentos discretos baseados em eventos, como atribuições, condicionais e simples mudanças de estado. Exemplos destes sistemas não só são abundantes como podem ser encontrados em diversos domínios críticos, incluindo condução autónoma, modelação de sistemas biológicos e engenharia médica e industrial. Assim, é crucial sermos capazes de simular a sua execução de forma precisa e eficaz. No entanto, a simulação de tais sistemas ainda enfrenta grandes desafios. Um dos mais proeminentes é o uso ubíquo da aritmética de vírgula flutuante: esta introduz erros e pode levar a simulações que diferem completamente do comportamento real do sistema híbrido. Consequentemente, o engenheiro pode tirar conclusões erradas (por exemplo, que o sistema de condução é seguro), o que, por sua vez, causa potencialmente falhas catastróficas. O objetivo geral deste projeto é simular sistemas híbridos via aritmética real exata. Mais concretamente, a ideia é ajudar na implementação de um simulador de sistemas híbridos, implementando bibliotecas para aritmética real exata, “plotting”, visualização, e análise de equações diferenciais. Esperamos que o desempenho deste simulador seja inferior ao da abordagem padrão (i.e aritmética de vírgula flutuante); contudo, em princípio, terá uma fidelidade muito maior, o que é de crucial importância nos domínios críticos supramencionados. A linguagem para especificar sistemas híbridos será baseada numa linguagem “while” com operações diferenciais (para descrever como um processo físico se deve comportar no contexto em causa). A justificação para esta escolha é que a linguagem é ao mesmo tempo simples e expressiva, e possui uma semântica bem definida que pode ser usada como guia de implementação. A implementação será feita na linguagem de programação Haskell, devido ao seu sistema de avaliação “lazy” e funcionalidades de ordem superior (que são particularmente úteis no contexto da aritmética real exata).
Habilitações Académicas
Estudante de mestrado em engenharia informática ou área afim.
Requisitos Mínimos
- Experiência com programação funcional (Haskell) e sistemas híbridos;- Licenciatura concluída com média maior ou igual a 16;- Média actual mestrado maior ou igual a 16.
Fatores de Preferência
- Experiência com programação funcional (Haskell) e sistemas híbridos; - Mestrado com foco nos dois tópicos previamente mencionados; - Média actual de mestrado elevada.
Período de candidatura
Desde 29 Nov 2024 a 12 Dec 2024
[Fechado]
Centro
Laboratório de Software Confiável