999 resultados para Programação paralela
Resumo:
A programming style can be seen as a particular model of shaping thought or a special way of codifying language to solve a problem. Adaptive languages have the basic feature of allowing the expression of programs which self-modifying through adaptive actions at runtime. The conception of such languages calls for a new programming style, since the application of adaptive technology in the field of programming languages suggests a new way of thinking. With the adaptive style, programming language codes can be structured in such a way that the codified program therein modifies or adapts itself towards the needs of the problem. The adaptive programming style may be a feasible alternate way to obtain self-modifying consistent codes, which allow its use in modern applications for self-modifying code.
Resumo:
In this paper the architecture of an experimental multiparadigmatic programming environment is sketched, showing how its parts combine together with application modules in order to perform the integration of program modules written in different programming languages and paradigms. Adaptive automata are special self-modifying formal state machines used as a design and implementation tool in the representation of complex systems. Adaptive automata have been proven to have the same formal power as Turing Machines. Therefore, at least in theory, arbitrarily complex systems may be modeled with adaptive automata. The present work briefly introduces such formal tool and presents case studies showing how to use them in two very different situations: the first one, in the name management module of a multi-paradigmatic and multi-language programming environment, and the second one, in an application program implementing an adaptive automaton that accepts a context-sensitive language.
Resumo:
Este trabalho busca a implementação da replicação de objetos através da linguagem Java e de seu sistema de invocação remota de métodos (Remote Method Invocation - RMI). A partir deste sistema, define-se uma classe de replicação - a máquina de replicação – onde a implementação de grupos de objetos é estruturada de acordo com a arquitetura cliente/servidor, sendo o cliente o representante (a interface) de um grupo de objetos e os servidores representam os demais componentes do grupo. A classe de replicação atende a uma necessidade importante dos sistemas distribuídos - o desenvolvimento de aplicações tolerantes a falhas. Fundamentalmente, a tolerância a falhas é obtida por redundância e, no caso de mecanismos de tolerância a falhas por software, esta redundância significa basicamente replicação de dados, processos ou objetos. A tolerância a falhas para tal tipo de sistema é importante para garantir a transparência do mesmo, visto que, assim como um sistema distribuído pode auxiliar muito o usuário pelas facilidades oferecidas, o não cumprimento de suas atividades de acordo com o esperado pode, em algumas situações, causar-lhe transtornos e erros irrecuperáveis nas aplicações. Finalmente, como principal contribuição, este trabalho descreve e implementa a solução completa para a construção de uma biblioteca de classes que oferece a replicação de forma totalmente transparente para o usuário.
Resumo:
Por que não aprendem certas crianças? Este é um estudo exploratório, no qual buscam-se respostas a esta interrogação. O problema de aprendizagem é baseado no domínio da Psicologia do Desenvolvimento. Para abordá-lo, demonstra-se o interesse na utilização do referencial piagetiano, o ambiente informático e a linguagem LOGO de programação. Desse referencial "cognitivo", surge outra dimensão, a da "afetividade". Do histórico da interrelação entre ambos na teoria piagetiana, surge a psicanálise como disciplina que poderia contribuir. Fundamenta-se a utilização desta útlima em pesquisa, relacionando, ainda, hipóteses que a psicanálise possui sobre o desenvolvimento e seus distúrbios. Escolhemos o estudo de caso como delineamento metodológico desta investigação. Nos resultados, destacam-se situações em que interfiriam elementos "afetivos" a ele vinculados. Verificou-se que o computador oferece possibilidades e recursos específicos para essa expressão, que, combinados com a necessidade do raciocínio para sua utilização, permitiram aos sujeitos a superação das situações que intreferiam no seu desenvolvimento. Conclui-se pelo interesse no prosseguimento da investigação, no ambiente informatizado, desta zona de fronteira entre a "cognição" e o "afeto".
Resumo:
A presente pesquisa tem por objetivo propor e estruturar uma ferramenta de apoio gerencial que efetive a Gerência do processo Construção Civil ao nível da Obra. Para tanto, analisou-se como se desenvolve a Gerência: Planejamento, Programação e Controle. A partir daí modelou-se o processo Construção Civil como processo produtivo. A consideração, no contexto da Construção civil, das citadas três etapas da Gerência, juntamente com a consideração de conceitos atualizados sobre Sistemas de Informações Gerenciais nortearam a proposição, o projeto e a implementação de um Sistema de Informações para o Gerenciamento de Obras - SIGOB. O sistema proposto é apresentado em detalhes neste trabalho.
Resumo:
O modelo de objetos apresenta-se como um modelo promissor para o desenvolvimento de software tolerante a falhas em virtude de características inerentes ao próprio modelo de objetos, tais como abstração de dados, encapsulamento, herança e reutilização de objetos (componentes). O uso de técnicas orientadas a objetos facilita o controle da complexidade do sistema porque promove uma melhor estruturação de seus componentes e também permite que componentes já validados sejam reutilizados [LIS96]. Técnicas básicas para tolerância a falhas em software baseiam-se na diversidade de projeto e de implementação de componentes considerados críticos. Os componentes diversitários são gerenciados através de alguma técnica que tenha por objetivo assegurar o fornecimento do serviço solicitado, como, por exemplo, a conhecida técnica de blocos de recuperação. Reflexão Computacional é a capacidade que um sistema tem de fazer computações para se auto analisar. Ela é obtida quando o programa pára sua execução por um período de tempo para fazer computações sobre si próprio; analisa seu estado, se o processamento está correto, se pode prosseguir com a execução e atingir o objetivo satisfatoriamente; se não precisa mudar de estratégia ou algoritmo de execução, fazendo, ainda, processamentos necessários para o sucesso da execução. Um sistema de programação distribuída consiste basicamente em vários aplicativos executados em diferentes computadores, os quais realizam troca de mensagens para solucionar um problema comum. A comunicação entre os computadores é realizada através da rede que os interliga. As Redes que controlam sistemas críticos são normalmente de pequena escala pois redes de grandes dimensões podem apresentar atrasos e baixa confiabilidade. Portanto, a abordagem aqui proposta consiste em utilizar, em um ambiente distribuído, uma arquitetura reflexiva aliada a técnicas do domínio da tolerância a falhas para promover a separação entre as atividades de controle, salvamento, recuperação, distribuição e validação de componentes e as funcionalidades executadas pelo próprio componente, a fim de que falhas não venham a prejudicar a disponibilidade, confiabilidade e clareza de determinadas computações. A proposta apóia-se num estudo de caso, implementado na linguagem de programação Java, com seus protocolos de reflexão computacional e de comunicação.
Resumo:
A complexidade das ações no plano decisório da Gestão das Águas e a necessidade do atendimento simultâneo das exigências que visam à obtenção do desenvolvimento sustentável, impõem uma abordagem multiobjetivo. O uso múltiplo das águas, o caráter multidisciplinar e subjetivo dos agentes envolvidos no processo, a aleatoriedade dos eventos hidrológicos, a incerteza dos processos econômicos, sociais e ambientais, a necessária consideração de aspectos de difícil mensuração, como o bem estar social, a preservação do ambiente e as questões culturais e estéticas, além da tradicional eficiência econômica, caracterizam o contexto presente. Este trabalho apresenta, descreve e compara algumas técnicas de análise multiobjetivo como importante meio de apoio à tomada de decisões diante dos problemas de Gestão das Águas. Três métodos são aplicados e comparados em um estudo de caso, para suporte à decisão em um Comitê de Gerenciamento, tendo como objetivo estratégico o desenvolvimento sustentável em uma Bacia Hidrográfica, com um cenário configurado a partir da experiência acumulada na última década no Rio Grande do Sul e à luz da legislação vigente para a Política de Recursos Hídricos. Na análise desenvolvida através dos métodos ELECTRE I e II, Programação de Compromisso e Analítico Hierárquico, consideram-se a participação de múltiplos decisores, a questão da subjetividade e o reconhecimento da incerteza como inerente ao processo.
Resumo:
A crescente demanda por produtos de melhor qualidade, diferenciados e com custos competitivos tem forçado as manufaturas a se tornarem flexíveis, capacitando-as a responder às mudanças impostas pelo mercado. A flexibilidade permite que as empresas alcancem a customização desejada através da capacitação do sistema de responder e atuar em tempo real, mesmo em um ambiente de incertezas. Para atuar em tempo real, os sistemas de manufatura precisam de representações eficientes dos planos de produção. Muitas vezes, a atuação em tempo real torna-se inviável devido ao crescimento exponencial no número de planos de produção para cada máquina ou operação adicionada ao sistema. Uma possível solução para este problema é uso de representações adequadas para o espaço de estados. A escolha de uma representação adequada para o espaço de estados influencia na capacidade de reposta em tempo real, pois determina o desempenho computacional do sistema através da utilidade e eficiência dos algoritmos desenvolvidos, tornando possível explorar problemas clássicos de flexibilidade, tais como, seqüenciamento, otimização, etc. Entretanto, a geração de uma representação que trabalhe com o espaço de estados completo de uma manufatura é considerada um problema não polinomial (NP). Esta particularidade dificulta o desenvolvimento de algoritmos que trabalhem com uma manufatura flexível. Assim, a geração de uma representação, que trabalhe com pouca memória computacional e permita o desenvolvimento de heurísticas eficientes, é um importante desafio para uma avaliação efetiva da flexibilidade. Este trabalho objetiva o desenvolvimento de uma representação para o espaço de estados de uma manufatura com flexibilidade de seqüência. Na construção desta representação são aplicadas técnicas de modelagem baseadas na teoria dos grafos e nos princípios de álgebra booleana. Inicialmente, os grafos são utilizados para representar todas as seqüências de operações de uma manufatura, posteriormente estas seqüências são convertidas em formas normais disjuntivas (FND). Por fim, é apresentada uma possível aplicação da representação na FND em modelos de programação linear.
Resumo:
Este trabalho tem o objetivo de criar cenários com propostas tecnológicas para Região Noroeste do Rio Grande do Sul, sub-região Celeiro. Avaliar o impacto das tecnologias sobre a renda regional e sobre a ocupação da mão-de-obra rural, testando as orientações técnicas quanto ao direcionamento dos beneficiários, visto que a proposta de melhorar o nível sócio-econômico dos pequenos estabelecimentos rurais é preconizada pela Extensão Rural e Assistência Técnica regional. Para tal, a metodologia adotada foi a montagem de um modelo de programação linear, estratificando os estabelecimentos rurais por área e submetendo-os às técnicas propostas e comparando-as com a realidade regional. Ao final do trabalho, verificou-se que as técnicas propostas elevam a renda regional e reduzem o nível de ocupação da mão-de-obra rural. As grandes propriedades são favorecidas com a implementação das tecnologias em detrimento das pequenas, que passam a ter uma participação menor na formação da Renda Regional. O nível de ocupação da mão-de-obra nos estratos menores diminui, o que contrapõe as políticas regionais e nacionais quanto à redução do êxodo rural.