[pt] Sistemas de software normalmente são descritos por sua arquitetura. Esta descrição fornece uma visão abstrata, demonstrando como o sistema é composto por módulos e interações entre estes módulos. Usando-se a arquitetura como uma especificação executável do sistema, consegue-se maior compromisso entre os requisitos do sistema e sua implementação. Tal compromisso simplifica o desenvolvimento e manutenção de sistemas complexos. Este trabalho define conceitos úteis para a construção, execução e gerenciamento de aplicações distribuídas, usando especificações arquiteturais. A metodologia apresentada distingue a construção de módulos através de programação, da efetiva construção da aplicação, através de configuração (ou especificação da arquitetura). Desta forma, pode-se adotar soluções específicas (e.g. linguagens e metodologias) para módulos particulares, mantendo-se o encapsulamento necessário para seu uso de forma transparente. Para validar os conceitos e permitir sua aplicação em um ambiente de execução real, foi criada uma Linguagem de Configuração chamada BABEL. No decorrer da dissertação, são apresentados os conceitos envolvidos e BABEL. Com o suporte do ambiente RIO, BABEL oferece simplicidade, transparência e flexibilidade para a construção de aplicações distribuídas complexas, possuindo conceitos básicos que viabilizam a elaboração de mecanismos avançados como contratos, herança e polimorfismo. Adicionalmente, são demonstradas experiências decorrentes da implementação de um Interpretador e um Servidor de Nomes para a linguagem. Finalmente, os conhecimentos obtidos com esta pesquisa são apresentados, sugerindo-se trabalhos futuros para continuidade do projeto BABEL. / [en] Software systems are usually described from their architecture. This description provides an abstract vision showing how the system is composed with modules and module interactions. Consistency between the system requirements and implementation may be achieved by using the architecture as a system executable specification. This guarantee of consistency simplifies the development and maintenance of complex systems. This study defines concepts useful to distributed application contructions, execution and management. The presented methodology distinguishes the builiding of modules, throught programming, from the effective application buiding through configuration (or architectural specification). Thus, specific solutions (e.g languages and methodologies) may be adopted for particular modules, preserving the necessary encapsulation for transparent use. A Configuration Language called BABEL was developed to validate these the concepts and apply them in a real execution environment. In the dissertation BABEL ans its related concepts are presented. Along with RIO Environment support, BABEL offers simplicity, transparency and flexibility for complex distributed application construction. It has concepts that allow advanced mechanisms such as contracts, inheritance and polymorphism. Additionally, a language Interpreter and a Name Server implementation for BABEL are presented. Finally, the knowledge gained from this study is presented, along with recommendations for future directions for the BABEL project.
Identifer | oai:union.ndltd.org:puc-rio.br/oai:MAXWELL.puc-rio.br:14265 |
Date | 30 September 2009 |
Creators | VINICIUS VENDRAMINI MALUCELLI |
Contributors | ORLANDO GOMES LOQUES FILHO |
Publisher | MAXWELL |
Source Sets | PUC Rio |
Language | Portuguese |
Detected Language | Portuguese |
Type | TEXTO |
Page generated in 0.0022 seconds