Please use this identifier to cite or link to this item:
http://hdl.handle.net/10362/10426| Title: | Optimizações numa linguagem para desenvolvimento de aplicações web |
| Author: | Dolores, Hélio |
| Advisor: | Caires, Luís Ferrão, Lúcio |
| Keywords: | Optimização de compiladores Análise de fluxo de dados OutSystems Update parcial Optimização de múltiplas queries Movimentação de código |
| Defense Date: | 2009 |
| Publisher: | Faculdade de Ciências e Tecnologia |
| Abstract: | 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. |
| Description: | 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 |
| Appears in Collections: | FCT: DI - Dissertações de Mestrado |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| Dolores_2009.pdf | 2,58 MB | Adobe PDF | View/Open |
Items in Repository are protected by copyright, with all rights reserved, unless otherwise indicated.











