MATHEUS COSTA LEITE. Um Modelo de Computação para Circuitos de Objetos

Documentos relacionados
João Paulo de Freitas Araujo. Algoritmos para acelerar a computação de Árvores de corte de Gomory e Hu. Dissertação de Mestrado

Bruno Siqueira Silva. Workflows dinâmicos em gerência de projetos ágeis. Dissertação de Mestrado

Geração semi-automática de massas de testes funcionais a partir da composição de casos de uso e tabelas de decisão

Bruno Loureiro Rezende. Um Framework para a Automação de Testes com Linguagens de Especificação Configuráveis DISSERTAÇÃO DE MESTRADO

Elicitação de requisitos de software através da utilização de questionários

Iam Vita Jabour. O Impacto de Atributos Estruturais na Identificação de Tabelas e Listas em Documentos HTML. Dissertação de Mestrado

Utilização de uma estratégia para identificação de fontes de informação na fase de elicitação

Um ambiente de suporte para uma linguagem de modelagem de sistemas multi-agentes

Renato Figueiró Maia. Um Framework para Sistemas Baseados em Componentes Distribuídos. Informática DEPARTAMENTO DE INFORMÁTICA

Um Estudo Sobre Middlewares Adaptáveis

Ricardo Fukasawa. Resolução de problemas de logística ferroviária utilizando programação inteira DISSERTAÇÃO DE MESTRADO

Integração de Ontologia com Modelagem de Processo: Um Método para Facilitar a Elicitação de Requisitos

Uma meta-ferramenta de geração de diagramas utilizada na engenharia reversa de sistemas legados.

Comparação de estratégias de construção de poços marítimos incorporando incertezas

Marcelo de Mattos Bezerra. Interações no Ensino e na Prática do Design e da Arquitetura. Dissertação de Mestrado

Davi Romero de Vasconcelos. Análise de Estratégias Utilizando Verificação Formal de Modelos. Dissertação de Mestrado

Adriano Medeiros dos Santos. Suporte a Componentes Compostos Para o Middleware SCS. Dissertação de Mestrado

Estudo Comparativo de Estratégias de Classificação de Páginas Web

Framework para coordenação e mediação de Web Services modelados como Learning Objects para ambientes de aprendizado na Web

Uma Avaliação Empírica de um Ambiente Favorável para o Desenvolvimento Dirigido por Testes

Bruno de Figueiredo Melo e Souza. Modelos de fatoração matricial para recomendação de vídeos. Dissertação de Mestrado

Controle da Execução e Disponibilização de Dados para Aplicativos sobre Seqüências Biológicas: o Caso BLAST

Jessica Quintanilha Kubrusly. Métodos Estatísticos para Cálculo de Reservas DEPARTAMENTO DE MATEMÁTICA

Avaliação Preliminar dos Movimentos Aéreos no Aeroporto Internacional Antônio Carlos Jobim Galeão

Marcos Borges Pessoa. Geração e execução automática de scripts de teste para aplicações web a partir de casos de uso direcionados por comportamento

Da sublimação à idealização: implicações psíquicas das transformações no mundo do trabalho

Variação semântica nas construções adverbiais temporais introduzidas por quando na língua portuguesa

QEEF-G: Execução Paralela Adaptativa de Consultas Iterativas

Usando a abordagem MDA no desenvolvimento de sistemas multi-agentes

Realce de Imagens no Domínio da Transformada

MAURICIO LANE ESCOAMENTO DE FLUIDOS NÃO NEWTONIANOS ATRAVÉS DE CANAIS CONVERGENTES-DIVERGENTES DISSERTAÇÃO DE MESTRADO

SQLLOMining: Obtenção de Objetos de Aprendizagem utilizando técnicas de Aprendizado de Máquina

Tatiana Waintraub. Modelagem da calçada de Copacabana. Dissertação de Mestrado

Sistema de recomendação de segundo nível para suporte à produção de matérias jornalísticas

Guilherme Ayres da Silva Lucas. Risco de Base e Demanda por Derivativos Agropecuários no Brasil. Dissertação de Mestrado

Mauricio Kreczmarsky Guimarães Meinicke. Opacidade 3D na Visualização Volumétrica de Dados Sísmicos

Guilherme de Sousa Neves. Previsão de estoque de peças eletrônicas sobressalentes. Dissertação de Mestrado

Uma abordagem baseada em SPH para animação interativa de águas rasas em jogos

Gerenciamento de projetos no âmbito da Economia Criativa Um estudo de caso das Incubadoras Rio Criativo

Metáforas para linguagem no Curso de Saussure

Geraldo da Silva Rocha Netto. Escalonamento Flexível de Workflows com Restrições Temporais. Dissertação de Mestrado

Caracterização do Canal de Propagação GPS em Ambientes Urbanos

João Paulo da Fonseca Parracho Sant Anna

As provas da existência de Deus nas Meditações Metafísicas de René Descartes

Fabian David Backx. Detecção Multiusuário Ótima por Grupos em Sistemas DS/CDMA M-PSK com Codificação Convolucional. Dissertação de Mestrado

Adriano Francisco Branco. Um modelo de programação para RSSF com. Dissertação de Mestrado

O Planejamento e Controle de Produção para uma Fábrica de Vacinas.

Sistema para Consultas sobre Banco de Dados Relacional Baseado em Palavras-Chave

Relação entre Governança Corporativa e Remuneração de Executivos no Brasil

Isabela Maria Lyra Zyro

Minimização de custos de produção via programação inteira mista: estudo de caso de planejamento de produção de luminárias

Efeitos de Intervenções Esterilizadas do Banco Central do Brasil sobre a Taxa de Câmbio

Bruno Baère Pederassi Lomba de Araujo. Um estudo sobre adaptatividade dinâmica de dificuldade em jogos. Dissertação de Mestrado

Uma Aplicação de Algoritmos de Colônias de Formigas em Problemas de Roteirização de Veículos com Janelas de Tempo

Crime e Poupança: Teoria e Evidências para o Brasil

Laura Gonçalves Carvalho

Debora Carvalho Capella. Um estudo descritivo do vocativo em linguagem oral para Português L2. Dissertação de Mestrado

APLICAÇÃO DE CONCEITOS DE ENGENHARIA DE FATORES HUMANOS: UM ESTUDO DE CASO EM UMA EMPRESA DE OPERAÇÕES LOGÍSTICAS

Aplicação da Análise de Sistemas à Definição de Processos de Desenvolvimento de Software

Augusto Seibel Machado. A questão das embalagens e sua relação com a sustentabilidade. Dissertação de Mestrado

Comercialização do Serviço de Venda de Seguro: Ampla Energia e Serviços S.A. Um estudo de caso

Criação Automática de Visões Materializadas em SGBDs Relacionais

Gerenciando Conflitos em Reuniões: Uma Estratégia para a Elicitação de Requisitos de Software

Teresa Robichez de Carvalho

Rodrigo Pereira David. Técnica de Estimação de Canal Utilizando Símbolos Pilotos em Sistemas OFDM. Dissertação de Mestrado

Otávio de Pinho Forin Braga. Uma Arquitetura para Síntese de Imagens Fotorrealistas baseada em Técnicas de Monte Carlo DISSERTAÇÃO DE MESTRADO

Matchmaking Uma infraestrutura para alinhamento de esquemas

Coordenação entre pequenos fundos de investimento em um mercado relativamente ilíquido: efeitos sobre volume e preços

Matemática e Conhecimento na República de Platão

Project Finance no Setor Elétrico Brasileiro:

PUC RIO. Ana Beatriz Favero. OS DESTINOS DA SEDUÇÃO EM PSICANÁLISE Estudo sobre a sedução em Freud, Ferenczi e Laplanche DISSERTAÇÃO DE MESTRADO

Carla Jardim Dias. Um modelo estocástico para o fluxo de caixa de um plano de previdência de um indivíduo. Dissertação de Mestrado

Márcia Araújo Almeida

Gheisa Roberta Telles Esteves. Modelos de Previsão de Carga de Curto Prazo. Dissertação de Mestrado

Influência de Avaliações Online Negativas na Atitude e na Intenção de Compra

Mariana Mostardeiro. Métodos de Planejamento de Sistemas Celulares WCDMA. Dissertação de Mestrado

Luís Fernando Crocco Afonso. Representações de Grupos Triangulares em Geometria Hiperbólica Complexa TESE DE DOUTORADO

Pedro Tiago Barbosa do Couto. Resolução de problemas de transporte rodoviário de cargas utilizando programação inteira DISSERTAÇÃO DE MESTRADO

Juliano Diniz de Oliveira

Marcio Guilherme Veronesi Nicolay. Uma Demonstração do Efeito Distorcivo da Política Tributária Brasileira na Atividade Logística: Estudo de Casos

Compras de itens não críticos: implementação no nível operacional e práticas em uma empresa de petróleo

Capital Requerido via Simulação Estocástica aplicado ao Seguro de Vida e Fundo de Pensão

Avaliação Probabilística de Reservas de Óleo e Gás Considerando o Efeito da Variação do Preço do Óleo

Gilda Alves Batista. Relações Raciais e Educação: Uma análise do Programa Políticas da Cor na Educação Brasileira (PPCOR) Dissertação de Mestrado

Entropia de Rényi e Informação Mútua de Cauchy-Schwartz Aplicadas ao Algoritmo de Seleção de Variáveis MIFS-U: Um Estudo Comparativo

Marcelo Ribeiro de Carvalho. Modelagem da Operação de um Recinto Especial para Despacho Aduaneiro de Exportação (Redex) Dissertação de Mestrado

Gabriela Fagundes Dunhofer. A Origem da Obra de Arte. Heidegger e a crítica da representação. Dissertação de Mestrado

Bernardo de Mendonça G. Ferreira. Valoração de uma opção sobre um contrato futuro. Dissertação de Mestrado

A Organização dos Estados Americanos e o compromisso coletivo com a democracia representativa

Regysane Botelho Cutrim Alves. A crítica de traduções na teoria e na prática: o caso da Versão Brasileira. Dissertação de mestrado

Alexandra de Almeida. A noção de sublime em Kant e a questão da comoção na arte. Dissertação de Mestrado

Estudo de Viabilidade da Implementação de Software de Roteamento para Transporte de Funcionários de Refinaria da Petrobras

Alexandre Roberto Rentería ESTIMAÇÃO DE PROBABILIDADE FUZZY A PARTIR DE DADOS IMPRECISOS. Tese de Doutorado

Douglas Soares Cirino. Agentes Sociais e Políticas Públicas Habitacionais em Muriaé Minas Gerais. Dissertação de Mestrado

Vinci Pegoretti Amorim. Uma Arquitetura Flexível para Replicação de Bases Distribuídas Heterogêneas. Dissertação de Mestrado

Considerações sobre o Afeto em Psicanálise

A POESIA ARCANGÉLICA DE GEORGES BATAILLE

Atos de fala, atos falhos: uma aproximação entre as teorias linguísticas de Austin e de Wittgenstein e a psicanálise de Freud e Lacan

Transcrição:

MATHEUS COSTA LEITE Um Modelo de Computação para Circuitos de Objetos DISSERTAÇÃO DE MESTRADO DEPARTAMENTO DE INFORMÁTICA Pontifícia Universidade Católica do Rio de Janeiro Rio de Janeiro, abril de 2003

Matheus Costa Leite Um Modelo de Computação para Circuitos de Objetos Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo Programa de Pósgraduação em Informática do Departamento de Informática da PUC-Rio. Orientador: Prof. Carlos José Pereira de Lucena Rio de Janeiro Abril de 2003

Matheus Costa Leite Um Modelo de Computação para Circuitos de Objetos Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo Programa de Pósgraduação em Informática do Departamento de Informática da PUC-Rio. Prof. Carlos José Pereira de Lucena Orientador Departamento de Informática PUC-Rio Prof. Arndt Von Staa Departamento de Informática PUC-Rio Prof. Ruy Luiz Milidiú Departamento de Informática PUC-Rio Prof. Ney Dumont Coordenador Setorial do Centro Técnico Científico PUC-Rio Rio de Janeiro, 11 de abril de 2003

Todos os direitos reservados. É proibida a reprodução total ou parcial do trabalho sem autorização da universidade, do autor e do orientador. Matheus Costa Leite Engenheiro de Computação formado pela PUC-Rio em 2000. Cursou Matemática na UFRJ em 1993. É pesquisador do TecComm, grupo de comércio eletrônico do Laboratório de Engenharia de Software da PUC-Rio. Leite, Matheus Costa Ficha Catalográfica Um modelo de computação para circuitos de objetos / Matheus Costa Leite; orientador: Carlos José Pereira de Lucena. Rio de Janeiro : PUC, Departamento de Informática, 2003. [10], 58 f. : il. ; 30 cm Dissertação (mestrado) Pontifícia Universidade Católica do Rio de Janeiro, Departamento de Informática. Inclui referências bibliográficas. 1. Informática Teses. 2. Circuito. 3. Objeto. 4. Modelo de computação. 5. Componente. 6. Paralelismo. I. Lucena, Carlos José Pereira de. II. Pontifícia Universidade Católica do Rio de Janeiro. Departamento de Informática. III. Título.

Agradecimentos À CAPES e à PUC-Rio, pelos auxílios concedidos, sem os quais este trabalho não poderia ter sido realizado. Ao meu amigo, João Alfredo, por estar sempre por perto para ajudar e consertar minhas mancadas. À minha família. Eles me aturam. À Alan Kay, Kristen Nygaard e Grady Booch, pais da Orientação a Objeto, e Benjamin Franklin, Michael Faraday e Thomas Edison, pais da eletricidade, sem os quais este trabalho não poderia ter sido realizado. E, por fim, ao meu orientador, Prof. Lucena, que ao tomar conhecimento da minha proposta, deixou-me realmente surpreso ao dizer que via nela um tema para uma tese de doutorado, enquanto eu tinha sérias dúvidas se era digna de uma dissertação de mestrado. Seu apoio desde então tem sido inestimável.

Resumo Leite, Matheus; Lucena, Carlos José Pereira de. Um Modelo de Computação para Circuitos de Objetos. Rio de Janeiro, 2003. 68p. Dissertação de Mestrado - Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro. Programação Orientada a Objetos é uma técnica de modelagem de software madura e bem estabelecida. Entretanto, a importância do seu papel tem a mesma medida do consenso em relação às suas fraquezas e limitações. OO não é uma panacéia, e, caso falhe, alternativas devem ser buscadas algumas delas híbridas, outras inteiramente novas. Neste trabalho, argumentamos que o paralelo entre OO e circuitos elétricos é uma solução híbrida interessante, pois algumas das características básicas destes circuitos são as mesmas perseguidas como o Santo Gral da Engenharia de Software concorrência, modularidade, robustez, escalabilidade, etc. e que nem sempre são alcançadas somente com a abordagem OO tradicional. Sendo assim, nossa proposta é o estabelecimento de uma correlação entre circuitos elétricos e programas orientados a objeto. Do primeiro, vem o circuito: percurso fechado por onde informação trafega e é processada. Do segundo, vem o objeto: entidade abstrata que constitui a informação que trafega no circuito. Finalmente, da união de ambos, surge um novo modelo de computação o circuito de objetos onde se supõe que os benefícios trazidos pelas partes que o compõem sejam complementares. Motivamos nossa discussão com uma série de exemplos simples, porém elucidativos, seguida de um estudo de caso na área de simulação. De modo a ratificar o funcionamento destes circuitos, foi construída uma implementação de circuitos de objetos utilizando a linguagem de programação Java. Palavras-chave circuito;objeto;modelo de computação;componente;paralelismo.

Abstract Leite, Matheus; Lucena Carlos José Pereira de. A Model of Computation for Object Circuits. Rio de Janeiro, 2003. 68p. Dissertação de Mestrado - Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro. Object Oriented Programming is a mature, well established software modeling technique. Nevertheless, the importance of its role has the same magnitude as the consensus in respect to its weakness and limitations. OO is not a panacea, and, should it fail, alternatives must be found some hybrid, while others entirely new. In this work, we argue that the parallel between OO and electric circuits is an interesting hybrid solution, for some of the basic features found in such circuits are the same as the ones sought after as the Holy Grail of Software Engineering concurrency, modularity, robustness, scalability, etc. and that are not always achieved only with the traditional OO approach. Hence, our proposal is the establishment of a correlation between electric circuits and object oriented programming. From the former, comes the circuit: closed path where information flows and is processed. From the second, comes the object: abstract entity that constitutes the information flowing within the circuit. Finally, from their union, arises a new model of computation the object circuit where it is supposed the benefits brought by each part are complementary. We motivate our discussion with a collection of simple albeit elucidative examples, followed by a case study in the simulation field. In order to ratify the functioning of these circuits, an object circuit s implementation was built on top of the Java programming language. Keywords circuit;object;model of computation;component,parallelism.

Sumário 1. Introdução 11 2. Circuitos de objetos numa casca de noz 13 2.1. Sincronização de leitura e escrita 17 2.2. O legado de Von Neumann 18 2.3. Evolução dinâmica 20 2.4. Composição 21 3. Circuitos de objetos e simulação 23 3.1. Modos de tempo 23 3.2. Modelos de computação 26 3.2.1. Dataflows 26 4. Java Objet Circuits Architecture 29 4.1. Nós e ramos 31 4.2. Dispositivos 31 4.2.1. Canais de dispositivo 31 4.2.2. Agentes 33 4.3. Barramentos 34 4.4. Gerenciamento de recursos 35 5. Exemplos de circuitos 37 5.1. Função fatorial 37 5.1.1. Temporização 42 5.2. Função de Fibonacci 42 5.3. Jogo da Vida 46 5.4. Conversor de temperatura 48 5.5. Estudo de caso: Mundo dos Besouros 51 6. Trabalhos Relacionados 57 6.1. Visual Circuit Board 57

6.2. Ptolemy 58 7. Conclusões 59 8. Trabalhos futuros 62 8.1. Um modelo de objetos para circuitos de objetos 62 8.2. Catálogos de dispositivos 63 8.3. Cartas temporais 63 8.4. Linhas de tempo 64 8.5. Esquemas 64 8.6. Checagem de tipos 65 8.7. Ferramentas de desenvolvimento 65 8.8. JOCA e agentes de software 66 8.9. Outros trabalhos 66 9. Referências bibliográficas 67

. Se tiveres uma idéia e ela, à primeira vista, não te parecer completamente absurda, então não há salvação para ela. Albert Einstein