Title: | Um Estudo sobre a Automatização da Geração de Proxy para Sistemas Autodistribuídos |
Author: | Duarte, Pedro Otávio Furtado |
Abstract: |
A complexidade dos sistemas atuais vem aumentando de forma gradativa, com isso, algumas soluções como o conceito de sistemas autonômicos foram propostas. Um exemplo importante da aplicação de computação autonômica na tentativa de gerenciar a complexidade na gerência e criação de sistemas são os chamados sistemas autodistribuídos, que surgiram para permitir o desenvolvimento de sistemas locais (i.e., que executam em um único processo) capazes de distribuir seus módulos internos à medida que se vê necessária a utilização de mais recursos computacionais para atender as necessidades dos usuários. Entretanto, o desenvolvimento de sistemas autodistribuídos ainda apresenta certa complexidade, à medida que é necessário o desenvolvimento manual de proxies (i.e., componentes de software) que são injetados na arquitetura local do software e que permite a autodistribuição. Dessa forma, este trabalho propõe uma abordagem de automatizar o processo de geração de proxies. A solução proposta utiliza uma Linguagem de Definição de Interface (IDL), que descreve as informações necessárias para a criação dos proxies de maneira automatizada, ou seja, com o mínimo de interferência humana no processo de implementação dos proxies. A partir dessa linguagem, foi desenvolvido o ProxyGenerator, um artefato em Python que analisa a interface indicada e informações complementares fornecidas pela IDL para gerar proxies que atendam diferentes padrões de interação, como fragmentação (sharding), e replicação propagate e alternate. O trabalho conclui que a automatização da geração de proxies facilita o desenvolvimento de sistemas autodistribuídos, reduzindo a complexidade no desenvolvimento de componentes fundamentais para a implementação de sistemas autodistribuídos, promovendo um maior número de possibilidades de distribuição que podem ser exploradas em tempo de execução para localizar a melhor composição do sistemas distribuídos. The complexity of current systems has been gradually increasing, and as a result, solutions such as autonomic systems have been proposed. An important example of applying autonomic computing to manage complexity in the design and management of systems is the so-called self-distributing systems. These systems emerged to enable the development of local systems (i.e., software executing in a single process) capable of distributing their internal modules as more computational resources are demanded to meet user needs. However, the development of self-distributing systems still presents some complexity, as it requires a human-led development of proxies (i.e., software components) that are injected into the software’s local architecture and enable self-distribution. Therefore, this work proposes an approach to automate the proxy generation process. The proposed solution uses an Interface Definition Language (IDL) to describe the necessary information for automatically creating proxies, minimizing human intervention in the proxy implementation process. Based on this language, ProxyGenerator was developed, a Python artifact that analyzes the specified interface and additional information provided by the IDL to generate proxies that support different interaction patterns, such as sharding and the propagate and alternate replication strategies. The study concludes that automating proxy generation facilitates the development of self-distributing systems by reducing the complexity involved in creating essential components. This promotes a broader range of distribution possibilities that can be explored at runtime to identify the best composition for the distributed system |
Description: | TCC (graduação) - Universidade Federal de Santa Catarina, Campus Araranguá, Tecnologias da Informação e Comunicação. |
URI: | https://repositorio.ufsc.br/handle/123456789/262470 |
Date: | 2024-12-10 |
Files | Size | Format | View |
---|---|---|---|
monografia_pedroDuarte.pdf | 1.633Mb |
View/ |