Titulo Estágio
Versionamento eficiente de metamodelos
Áreas de especialidade
Engenharia de Software
Local do Estágio
Lisboa
Enquadramento
O Genio é uma plataforma MDD (Model Drive Development) de desenvolvimento de software. Os modelos geridos nesta plataforma descrevem por completo a funcionalidade do sistema final. Os objectos de negócio são geridos nestes modelos e são estabelecidas relações entre eles.
Este tipo de modelação relacional gera fontes fundamentalmente distintas de tradicionais ficheiros de código. As ferramentas estado-da-arte de versionamento de código (Git, Tsf, Mercurial) estão adaptadas a resolver conflitos e ramificações neste contexto: ficheiros isolados e linhas de código isoladas.
Objetivo
O objectivo deste projecto é fazer convergir o actual modelo de gestão de versionamento de modelos usado na plataforma Genio, baseado em diferenciação de bases de dados, para um sistema eficiente de Model2Text e Text2Model, que permita tirar partido das ferramentas tradicionais de versionamento de código. Em seguida construir uma interface de navegação das diferenças e de gestão de conflitos que seja capaz de recuperar a visão de modelo a partir da visão textual.
Componentes a realizar
- Análise do modelo do Genio e dos mecanismos de versionamento deste.
- Prototipagem de soluções Model2Text e Text2Model.
- Benchmarking e optimização de formatos e mecanismos.
- Integração dos mecanismos nas ferramentas actuais de versionamento
- Opcional: Melhoria da detecção e resolução de conflitos na interface.
- Opcional: Integração das ferramentas nos mecanismos de continuous integration
Plano de Trabalhos - Semestre 1
Fases do projeto
- Entrar em contacto com a metodologia de criação de aplicação através da plataforma Genio. Conhecer como o trabalho em equipa e versionamento deste é gerido.
- Investigar e avaliar eficiência de formatos de Model2Text e Text2Model
Plano de Trabalhos - Semestre 2
Fases do projeto
- Adaptar as ferramentas existentes aos novos formatos e interfaces
- Padronizar os mecanismos criados e integrar solução na plataforma de modelação Genio.
- Testes de verificação e validação da funcionalidade.
Condições
Estágio presencial, bolsa de estágio, formação
Orientador
Rodrigo Serafim
rserafim@quidgest.pt 📩