Titulo Estágio
WikiModels: controlo de versões para modelos de processos bioquímicos
Área Tecnológica
Engenharia de Software
Local do Estágio
Departamento de Química - Universidade de Coimbra
Enquadramento
O que é a plataforma WikiModels?
O WikiModels é uma plataforma web de desenvolvimento colaborativo de modelos matemáticos de processos bioquímicos.
Qual o propósito da plataforma?
A engenharia biológica e a pesquisa de novos fármacos são cada vez mais guiadas por modelos matemáticos dos processos biológicos. O desenvolvimento destes modelos requer a colaboração intensa entre múltiplas equipas de investigação que podem estar geograficamente separadas e a revisão dos modelos por peritos de várias áreas de especialidade. A plataforma WikiModels visa facilitar essa colaboração permitindo a documentação e discussão online dos vários aspectos dos modelos, documentando ainda automaticamente a evolução dos mesmos. Pretende-se que a plataforma seja utilizada tanto em ambiente de investigação académica, através de um servidor centralizado acessível a toda a comunidade científica, como em ambientes industriais de investigação e desenvolvimento (por exemplo indústria, farmacêutica e biotecnológica), através de implementações em domínio privado.
Como foi construído?
Esta plataforma foi desenvolvida em dois módulos distintos. O módulo de servidor tem como propósito disponibilizar toda a informação relacionada com o conteúdo da KnowledgeBase, assim como validar a informação que nela dá entrada. O módulo cliente é uma aplicação Web que permite manipular, pelo utilizador, os modelos bioquímicos. Ambos os módulos comunicam entre si por uma API REST.
Que tecnologias foram empregues?
A plataforma é desenvolvida sobre a JVM em linguagem Scala que mistura os paradigmas funcional e orientado a objectos. A KnowledgeBase é uma triple store pelo que saber usar ou querer aprender tecnologias de Web Semântica é importante.
O que se pretende para o estágio?
Construír um solução de controlo de versões para o WikiModels. O facto de estarmos a usar um KnowledgeBase Semântica implica um conjunto de problemas que outros sistemas de controlo de versões não têm. A solução desenvolvida para o WikiModels poderá também ter aplicações em áreas distintas. Uma área possível é a de sistemas de Informação .
Objetivo
Objectivos do estágio para o WikiModels são:
- idealizar, desenvolver uma solução de controlo de versões para a KnowledgeBase Semântica que está por detrás do projecto WikiModels. Isto implica as seguintes features, já ordenadas por prioridade:
- visualização das alterações feitas ao longo do tempo
- recuperação do estado da KnowledgeBase em qualquer ponto no passado
- criação de “branches” de um modelo bioquímico para que se possa trabalhar isoladamente em determinadas features sem afectar os restantes colaboradores
- merge dos branches de um modelo
- integrar essa solução desenvolvida com o módulo web que interage directamente com o utilizador
Pretende-se que , ao fim do estágio, seja
possível interagir com o sistema de controlo de versões através da plataforma WikiModels.
Plano de Trabalhos - Semestre 1
Etapa 1 – Definição de requisitos
Período – 1 de Setembro a 15 de Outubro
Objectivos: Levantamento das necessidades a que a plataforma deverá responder e planificação do modelo de dados.
Tarefas:
E1.T1 - Análise de requisitos
E1.T2 – Estado de arte
E1.T4 – Definição do modelo de dados
E1.T5 – Encontros com pessoas da área para
discutir o planeado e receber feedback
E1.T7 – Revisão da análise de requisitos
Etapa 2 – Definição da Arquitectura
Período – 16 de Outubro a 30 de Dezembro
Objectivos: Desenho da arquitectura da plataforma
Tarefas:
E2.T1 – Arquitectura e design da plataforma
E2.T2 – Definição dos testes
E2.T3 – Compilação de toda a informação obtida e documentação produzida.
Etapa 3 – Proof of Concept
Período – 1 de Dezembro a 7 de Janeiro
Objectivos: Demonstrar a exequibilidade da do planeado para a arquitectura e design
E3.T1 – Implementação de um primeiro Protótipo Funcional
E3.T2 – Melhorar a arquitectura e design de acordo com a informação reunida nesta etapa
Etapa 4 – Defesa intermédia
Período – 8 de Janeiro a 5 de Fevereiro
Objectivos: Escrever relatório intermédio e preparar a defesa
Resultados: Relatório intermédio de Estágio e apresentação.
Plano de Trabalhos - Semestre 2
Etapa 5 – Implementação do histórico
Período – 6 de Fevereiro a 30 de Março
Objectivos: Implementação do histórico da plataforma WikiModels.
Tarefas:
E5.T1 – Implementação do suporte de dados
E5.T2 – Implementação da recuo no tempo
E5.T3 – Implementação dos branches
E5.T4 – Implementação do algoritmo de merge
E5.T5 – Execução de testes
Etapa 6 – Integração com o WikiModels
Período – 1 de Abril a 31 de Maio
Objectivos: Integração do histórico com o resto da plataforma
Tarefas:
E6.T1 – Implementação da REST API do lado do servidor
E6.T2 – Implementação do Interface Web
E6.T4 – Integração das várias partes
E6.T5 – Execução de testes
Etapa 7 – Defesa final
Período – 1 de Junho a 14 de Junho
Objectivos: Escrever relatório final de estágio e preparar a defesa
Resultados: Relatório final do Estágio, apresentação final e possível escrita de um paperCondições
Oferece-se formação inicial nos aspectos de biologia computacional relevantes para o projecto: Modelos matemáticos, SBML, standards de publicação de modelos.
Remuneração condicional.
Observações
Este projecto apresenta uma boa oportunidade de adquirir formação em Biologia Computacional -- uma área em grande expansão. Uma vez que a WikiModels ficará disponível online para utilização por toda a comunidade científica, o projecto dará grande visibilidade internacional à equipa de desenvolvimento, o que poderá abrir portas ao estagiário para uma carreira fora do país.
Orientador
Armindo Salvador
salvador@cnc.uc.pt 📩