Logo do repositório
 
A carregar...
Miniatura
Publicação

Optimizações numa linguagem para desenvolvimento de aplicações web

Utilize este identificador para referenciar este registo.
Nome:Descrição:Tamanho:Formato: 
Dolores_2009.pdf2.52 MBAdobe PDF Ver/Abrir

Resumo(s)

O desenvolvimento de sistemas para gestão de informação baseada na Web pode ser acelerado através do uso de ferramentas de programação adequadas, permitindo que equipas de programadores rapidamente desenvolvam e disponibilizem soluções eficientes. Aproximações bem sucedidas assentam no uso de linguagens de domínio especifico (DSL), para a construção de algumas camadas dos sistemas. Tipicamente, a lógica aplicacional interage com os dados nos repositórios por meio de queries e comandos SQL. Depois, o código SQL gerado pelo compilador ou interpretador da DSL a partir das descrições fornecidas pelo programador ou utilizador, vai estar geralmente mal estruturado ou sub-optimizado se não houver cuidado da parte do optimizador. Esta dissertação endereça o desenho e validação de um processo de optimização em tempo de compilação para queries SQL embutidas numa linguagem de domínio especifico, usando a DSL da OutSystems como um exemplo motivador. O objectivo não é optimizar a execução de cada query, porque esta tarefa já é bem executada pelo motor da base de dados: a aproximação seguida neste projecto assenta na identificação e análise de padrões sub-optimizados causados pela coexistência entre instruções e comandos SQL e os típicos operadores das linguagens imperativas. De forma a atingir este objectivo utilizamos transformações de código SQL, envolvendo junções e reestruturações de queries; análise de fluxo de dados para lidar com o controlo de dependências entre operações; transformações de programas e técnicas de avaliação parcial, como movimentação de código e pré-cálculo. Depois, escolhemos um destes padrões para ser completamente implementado no compilador da linguagem OutSystems. Esta optimização considera a informação recolhida em tempo de compilação e execução sobre os atributos alterados nas entidades e propaga essa informação para as novas operações de update parcial. Esta dissertação apresenta a implementação e validação, através da análise de aplicações reais, desta optimização, que foi integrada com sucesso e entrará em produção na próxima versão do compilador OutSystems.

Descrição

Trabalho apresentado no âmbito do Mestrado em Engenharia Informática, como requisito parcial para obtenção do grau de Mestre em Engenharia Informática

Palavras-chave

Optimização de compiladores Análise de fluxo de dados OutSystems Update parcial Optimização de múltiplas queries Movimentação de código

Contexto Educativo

Citação

Projetos de investigação

Unidades organizacionais

Fascículo

Editora

Faculdade de Ciências e Tecnologia

Licença CC