Made available in DSpace on 2014-06-12T15:58:29Z (GMT). No. of bitstreams: 2
arquivo4579_1.pdf: 1011460 bytes, checksum: 01e8646fc6f336c9eb54adf769b7baf0 (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2004 / A criação de uma linguagem de programação pode ser comparada ao desenvolvimento de
um sistema computacional. Sendo assim, o projeto e a implementação da linguagem devem
atender a um conjunto de requisitos. Alguns deles estão relacionados às propriedades que a
linguagem desenvolvida deve apresentar, como expressividade, capacidade de aprendizagem
e produtividade. Outro grupo de requisitos compreende aqueles comuns ao desenvolvimento
da maioria dos softwares, como extensibilidade, modularidade e reuso de código.
Este segundo grupo de requisitos pode ser obtido através do uso de técnicas modernas de
engenharia de software. Neste trabalho, apresentamos o desenvolvimento de uma linguagem
multiparadigma modular que faz uso de programação Orientada a Objetos, design patterns e
um paradigma de programação mais recente chamado Programação Orientada a Aspectos.
A linguagem, que também pode ser vista como um conjunto de linguagens, é desenvolvida
de maneira incremental, partindo de uma simples linguagem de expressões até linguagens
mais complexas representando alguns dos mais representativos paradigmas de programação,
finalizando com o desenvolvimento de linguagens multiparadigmas. Esta família de
linguagens é criada através da integração de componentes que representam conceitos de
programação. A modularidade obtida através do design proposto possibilita o reuso destes
componentes na criação de diferentes linguagens, mesmo que pertencentes a diferentes
paradigmas. Adicionalmente, é possível a evolução ortogonal das linguagens, já que a
inclusão de novos conceitos é obtida através da simples inclusão dos componentes
correspondentes, sem comprometer o funcionamento dos componentes já utilizados.
A abordagem proposta para o design e implementação da linguagem também se mostrou
bastante útil no ensino de conceitos de programação, já que oferece um ambiente uniforme e
extensível para a prática e exploração dos conceitos pelos estudantes. Dessa forma, os
estudantes não precisam lidar com diferentes notações e ambientes de desenvolvimento ao
abordarem conceitos relacionados a diversos paradigmas
Identifer | oai:union.ndltd.org:IBICT/oai:repositorio.ufpe.br:123456789/2468 |
Date | January 2004 |
Creators | MARANHÃO, Antonio Augusto Rodrigues de Albuquerque |
Contributors | SAMPAIO, Augusto Cezar Alves |
Publisher | Universidade Federal de Pernambuco |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | Portuguese |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Source | reponame:Repositório Institucional da UFPE, instname:Universidade Federal de Pernambuco, instacron:UFPE |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0023 seconds