Utilize este identificador para referenciar este registo:
http://hdl.handle.net/10362/10426Registo completo
| Campo DC | Valor | Idioma |
|---|---|---|
| dc.contributor.advisor | Caires, Luís | - |
| dc.contributor.advisor | Ferrão, Lúcio | - |
| dc.contributor.author | Dolores, Hélio | - |
| dc.date.accessioned | 2013-09-26T08:56:52Z | - |
| dc.date.available | 2013-09-26T08:56:52Z | - |
| dc.date.issued | 2009 | - |
| dc.identifier.uri | http://hdl.handle.net/10362/10426 | - |
| dc.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 | por |
| dc.description.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. | por |
| dc.language.iso | por | por |
| dc.publisher | Faculdade de Ciências e Tecnologia | por |
| dc.rights | openAccess | por |
| dc.subject | Optimização de compiladores | por |
| dc.subject | Análise de fluxo de dados | por |
| dc.subject | OutSystems | por |
| dc.subject | Update parcial | por |
| dc.subject | Optimização de múltiplas queries | por |
| dc.subject | Movimentação de código | por |
| dc.title | Optimizações numa linguagem para desenvolvimento de aplicações web | por |
| dc.type | masterThesis | por |
| Aparece nas colecções: | FCT: DI - Dissertações de Mestrado | |
Ficheiros deste registo:
| Ficheiro | Descrição | Tamanho | Formato | |
|---|---|---|---|---|
| Dolores_2009.pdf | 2,58 MB | Adobe PDF | Ver/Abrir |
Todos os registos no repositório estão protegidos por leis de copyright, com todos os direitos reservados.











