MFP

Logo

Índice

Métodos Formais em Engenharia de Software
Cálculo de Sistemas de Informação
Programação Ciber-física
Verificação Formal
Projecto em MFP
Anos anteriores
Calendário | Sumários
Alumni

PMFP/2025-26

Projecto em Métodos Formais de Programação

Aviso:

Assunto: Temas UC “Projecto em Métodos Formais de Programação”

Caros alunos,

No 2º semestre terá lugar esta unidade curricular, onde poderão consolidar, coordenar, e aplicar os conhecimentos adquiridos no perfil de MFP. Cada grupo, composto por 2 a 3 elementos, desenvolverá um projeto com um tema próprio ao longo do semestre, sob orientação de um docente próximo à área a ser explorada.

Com o objectivo de garantir que os temas desta UC sejam motivadores e estejam alinhados com os interesses dos alunos, apresentamos duas possibilidades no que toca à sua escolha:

Proposta pelos alunos: Cada grupo poderá sugerir um tema de particular interesse (por ex, ligado a outro perfil ou algo que já tenham vindo a trabalhar), que deverá ser discutido e ajustado antecipadamente com a equipa docente (para assegurar a sua pertinência no âmbito da UC);

Proposta pela equipa docente: No início do 2º semestre será disponibilizada também uma lista de temas diversos sugeridos pela equipa docente, vindo tanto do contexto académico como do empresarial.

Notem que a opção 1 requer preparação prévia para que se façam os ajustes devidos. Assim, os grupos que pretendem seguir esta opção devem contactar o coordenador da unidade (nevrenato@di.uminho.pt) logo que possivel, de forma a que tais ajustes sejam feitos antecipadamente e que a UC se inicie com tudo devidamente preparado.

A equipa docente de MFP

Objetivos de ensino

Nesta unidade curricular pretende-se que os alunos apliquem as técnicas e ferramentas lecionadas no perfil no desenvolvimento de um projeto de média dimensão na área dos métodos formais.

O programa propõe integrar no desenvolvimento de um projeto de média dimensão quer ferramentas modernas de métodos formais, quer ferramentas de gestão de projetos. Ao envolver os alunos em projetos reais obtidos de parceiros industriais e outros perfis de especialização, o programa garante a aplicação prática de métodos formais na engenharia de software. As metas planeadas - desde a análise de requisitos até a apresentação pública final - promovem o desenvolvimento abrangente de capacidades de planificação, execução e avaliação de projetos. A utilização de sistemas de rastreamento, controle de versão, wikis e ferramentas colaborativas assegura transparência e promove a eficácia no trabalho em equipa, a comunicação e uma melhor gestão de projetos. Esta abordagem não só está alinhada com os resultados de aprendizagem, mas também capacita os alunos com capacidades e metodologias essenciais e relevantes para a indústria.

Resultados de aprendizagem

No final da unidade curricular os alunos deverão ser capazes de:

Programa sucinto

As propostas de projetos serão captadas pela equipa da UC junto de parceiros industriais e, caso não sejam obtidas propostas suficientes, junto de colegas de outros perfis de especialização. A cada grupo de trabalho será atribuída uma proposta diferente, ficando como orientadores do mesmo os proponentes externos e um ou mais membros da equipa docente. Os orientadores definirão um conjunto de metas a serem atingidas por cada grupo, incluindo: análise de requisitos e trabalho relacionado; modelação, prototipagem e validação do modelo; apresentação intercalar; avaliação crítica, testes, provas e medidas de desempenho: escrita do relatório final e apresentação pública. A gestão do projeto deverá ser, por cada grupo, transparente para os orientadores. Para este efeito deverá usar-se um sistema de tracking para registar a divisão em tarefas, time-cards, etc. e um sistema de controlo de versões para registo do código fonte e documentação.

Bibliografia essencial

Marieke Huisman, Anton Wijs. Concise Guide to Software Verification: From Model Checking to Annotation Checking. Springer, 2023.

Gerard O’Regan. Concise Guide to Formal Methods: Theory, Fundamentals and Industry Applications. Springer, 2017.

Métodos de ensino

Aos estudantes serão propostos vários projetos de média dimensão com origem em parceiros industriais ou em colegas de outras especializações, devendo cada grupo de trabalho escolher um destes projetos e desenvolvê-lo com a orientação de professores e dos proponentes numa filosofia de Problem Based Learning. A equipa docente poderá, quando adequado lançar desafios que ajudem os estudantes em equipa a adquirir conhecimentos necessários à resolução do problema/implementação do projeto.

Métodos de avaliação

Sendo uma unidade curricular de projeto a avaliação será feita mediante a apresentação de um relatório escrito do trabalho desenvolvido (50%) e apresentações públicas periódicas e uma apresentação final do projeto (50%). Em cada uma destas componentes a nota será dada pelo proponente do projeto e pela equipa da UC, tendo ambas um peso idêntico.