Utilize este identificador para referenciar este registo: http://hdl.handle.net/10362/10426
Título: Optimizações numa linguagem para desenvolvimento de aplicações web
Autor: Dolores, Hélio
Orientador: Caires, Luís
Ferrão, Lúcio
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
Data de Defesa: 2009
Editora: Faculdade de Ciências e Tecnologia
Resumo: 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
URI: http://hdl.handle.net/10362/10426
Aparece nas colecções:FCT: DI - Dissertações de Mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Dolores_2009.pdf2,58 MBAdobe PDFVer/Abrir


FacebookTwitterDeliciousLinkedInDiggGoogle BookmarksMySpace
Formato BibTex MendeleyEndnote 

Todos os registos no repositório estão protegidos por leis de copyright, com todos os direitos reservados.