129 resultados para Programação Paralela


Relevância:

10.00% 10.00%

Publicador:

Resumo:

O avanço tecnológico no projeto de microprocessadores, nos recentes anos, tem seguido duas tendências principais. A primeira tenta aumentar a freqüência do relógio dos mesmos usando componentes digitais e técnicas VLSI mais eficientes. A segunda tenta explorar paralelismo no nível de instrução através da reorganização dos seus componentes internos. Dentro desta segunda abordagem estão as arquiteturas multi-tarefas simultâneas, que são capazes de extrair o paralelismo existente entre e dentro de diferentes tarefas das aplicações, executando instruções de vários fluxos simultaneamente e maximizando assim a utilização do hardware. Apesar do alto custo da implementação em hardware, acredita-se no potencial destas arquiteturas para o futuro próximo, pois é previsto que em breve haverá a disponibilidade de bilhões de transistores para o desenvolvimento de circuitos integrados. Assim, a questão principal a ser encarada talvez seja: como prover instruções paralelas para uma arquitetura deste tipo? Sabe-se que a maioria das aplicações é seqüencial pois os problemas nem sempre possuem uma solução paralela e quando a solução existe os programadores nem sempre têm habilidade para ver a solução paralela. Pensando nestas questões a arquitetura SEMPRE foi projetada. Esta arquitetura executa múltiplos processos, ao invés de múltiplas tarefas, aproveitando assim o paralelismo existente entre diferentes aplicações. Este paralelismo é mais expressivo do que aquele que existe entre tarefas dentro de uma mesma aplicação devido a não existência de sincronismo ou comunicação entre elas. Portanto, a arquitetura SEMPRE aproveita a grande quantidade de processos existentes nas estações de trabalho compartilhadas e servidores de rede. Além disso, esta arquitetura provê suporte de hardware para o escalonamento de processos e instruções especiais para o sistema operacional gerenciar processos com mínimo esforço. Assim, os tempos perdidos com o escalonamento de processos e as trocas de contextos são insignificantes nesta arquitetura, provendo ainda maior desempenho durante a execução das aplicações. Outra característica inovadora desta arquitetura é a existência de um mecanismo de prébusca de processos que, trabalhando em cooperação com o escalonamento de processos, permite reduzir faltas na cache de instruções. Também, devido a essa rápida troca de contexto, a arquitetura permite a definição de uma fatia de tempo (fatia de tempo) menor do que aquela praticada pelo sistema operacional, provendo maior dinâmica na execução das aplicações. A arquitetura SEMPRE foi analisada e avaliada usando modelagem analítica e simulação dirigida por execução de programas do SPEC95. A modelagem mostrou que o escalonamento por hardware reduz os efeitos colaterais causados pela presença de processos na cache de instruções e a simulação comprovou que as diferentes características desta arquitetura podem, juntas, prover ganho de desempenho razoável sobre outras arquiteturas multi-tarefas simultâneas equivalentes, com um pequeno acréscimo de hardware, melhor aproveitando as fatias de tempo atribuídas aos processos.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Independentemente do modelo de programação adotado, no projeto e implementação de aplicações de alta disponibilidade, faz-se necessário usar procedimentos de tolerância a falhas. Dentre as atividades que trazem consigo interesse de pesquisa na área de Tolerância a Falhas, estão os mecanismos de recuperação em um sistema computacional. Do ponto de vista prático, estes mecanismos buscam manter próximo do mínimo o tempo total de execução de aplicações computacionais de longa duração, ao mesmo tempo em que as preparam para não sofrerem perdas significativas de desempenho, em caso de falhas. Paralelamente à evolução dos sistemas computacionais, foi possível observar também a evolução das linguagens de programação, principalmente as que utilizam o paradigma orientado a objetos. O advento da área de tolerância a falhas na orientação a objetos resultou em novos problemas na atividade de recuperação quanto aos mecanismos de salvamento de estados e retomada da execução, principalmente no que se refere às dificuldades de gerenciamento e controle sobre a alocação de objetos. Entretanto, observa-se que a complexidade de implementação dos mecanismos de recuperação, por parte dos programadores, exige deles conhecimentos mais especializados para o salvamento dos estados da aplicação e para a retomada da execução. Portanto, a simplificação do trabalho do programador, através do uso de uma biblioteca de checkpointing que implemente os mecanismos de salvamento de estados e recuperação é o ponto focal deste trabalho. Diante do contexto exposto, nesta dissertação, são definidas e implementadas as classes de uma biblioteca que provê mecanismos de checkpointing e recuperação. Esta biblioteca, denominada de Libcjp, visa aprimorar o processo de recuperação de aplicações orientadas a objetos escritas na linguagem de programação Java. Esta linguagem foi escolhida para implementação devido à presença dos recursos de persistência e serialização. Para a concepção do trabalho, são considerados ambos os cenários no paradigma orientado a objetos: objetos centralizados e distribuídos. São utilizados os recursos da API de serialização Java e a tecnologia Java RMI para objetos distribuídos. Conclui-se o trabalho com a ilustração de casos de uso através de diversos exemplos desenvolvidos a partir de seus algoritmos originais inicialmente, e incrementados posteriormente com os mecanismos de checkpointing e recuperação. Os componentes desenvolvidos foram testados quanto ao cumprimento dos seus requisitos funcionais. Adicionalmente, foi realizada uma análise preliminar sobre a influência das ações de checkpointing nas características de desempenho das aplicações.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Quantificação de incerteza e risco tem aplicação direta no projeto de limites de cava e na programação de produção. Pequenas variações nas condições de contorno de um projeto podem ter impacto significativo sobre o retorno final do mesmo na ordem de milhões de dólares. Preço de mercado do bem mineral, o custo de capital, taxas de atratividade, etc, são fatores usualmente testados para analisar a viabilidade de um empreendimento, porém, raramente é considerada a incerteza relacionada ao atributo geológico em questão. O propósito de um planejamento de lavra tem sido prover subsidio para o engenheiro de minas decidir sobre a capacidade de minerar determinadas unidades de lavra do depósito a partir de teores estimados. Salienta-se porém que existe, a partir dos dados amostrais, incertezas a respeito do modelo geológico que devem ser consideradas ao se projetar uma cava e desenvolver a lavra. A simulação geoestatistica tem a capacidade de produzir múltiplos modelos equiprováveis, os quais podem ser avaliados independentementecomo possíveis cenários do depósito mineral. Simulação condicional, ao contrário de técnicas de interpolação e estimativa, provê respostas para questões associadas a risco devido à variações nos teores do modelo geológico. Ao gerar múltiplos cenários tem-se acesso à probabilidade e conseqüentemente às variações de retorno financeiro e rotas de extração de minério de um projeto. o presente trabalho tem como objetivo a investigação de novas metodologias que contribuam para a construção de cenários de planejamento de lavra e avaliação do impacto provocado nestes pela incerteza fornecida a partir de modelos simulados. As respostas buscadas dentro da abordagem sugerida por esse trabalho, compreendem a definição de uma metodologia para controle e planejamento de lavra a médio e longo prazo por incorporação da flutuabilidade local associada ao minério, avaliando a sensibilidade do retorno financeiro e o traçado de lavra em relação ao método de geração do modelo geológico de teores. Para solucionar o problema em questão, sugere-se a geração de modelos estocásticos e a alimentação de múltiplos modelos selecionados por critérios considerados relevantes para a delimitação do espaço de incerteza. A aplicação de funções de transferência tais como mudança de suporte e seqüenciamento de produção sobre os modelos simulados é a chave para a obtenção de respostas a respeito do impacto sobre a lucratividade de um projeto. Ao alimentar à essas funções modelos equiprováveis que preservam as características estatísticas e a conectividade espacial dos dados amostrais mas que invariavelmente possuem diferentes distribuições de teores tem-se a dimensão em termos econômicos do risco associado à incerteza geológica. Foi confrontado o retorno financeiro produzido por modelos simulados e verificou-se para o caso especifico que os métodos de simulação geoestatistica empregados não produziram diferenças significativas quando comparados casos selecionados segundo os mesmos critérios. Porém, entre cenários extremos gerados pelo mesmo algoritmo de simulação foram verificadas desigualdades relevantes. Verificou-se também a transferência de minério entre diferentes classes de qualidade ao proceder-se com variações nas dimensões dos blocos de lavra.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

O Resource Description Framework (RDF) é uma infra-estrutura, que possibilita a codificação, troca e reuso de metadata estruturado. Metadata é dados sobre dados. O termo refere a qualquer dado usado para ajudar a identificação, descrição e localização de recursos eletrônicos na rede. O RDF permite adicionar declarações, sinônimos e palavras que não estão presentes nos recursos, mas que são pertinentes a eles. Uma declaração RDF pode ser desenhada usando diagramas de arcos e nodos, onde os nodos representam os recursos e os arcos representam as propriedades nomeadas. O modelo básico consiste em recursos, propriedades e objetos. Todas as coisas sendo descritas pelas declarações RDF são chamadas de recursos. Um recurso pode ser uma página da Web inteira ou um elemento específico HTML ou XML dentro de um documento fonte. Uma propriedade é um aspecto específico, característica, atributo, ou relação usada para descrever um recurso. O objeto pode ser um outro recurso ou um literal. Estas três partes, juntas, formam uma declaração RDF. O resultado do parser para recursos com metadata RDF, é um conjunto de declarações referentes aquele recurso. A declaração destas propriedades e a semântica correspondente delas estão definidas no contexto do RDF como um RDF schema. Um esquema não só define as propriedades do recurso (por exemplo, título, autor, assunto, tamanho, cor, etc.), mas também pode definir os tipos de recursos sendo descritos (livros, páginas Web, pessoas, companhias, etc.). O RDF schema, provê um sistema básico de tipos necessários para descrever tais elementos e definir as classes de recursos. Assim, os recursos constituindo este sistema de tipos se tornam parte do modelo RDF de qualquer descrição que os usa. A geração de modelos RDF pode ser conseguida através de algoritmos implementados com linguagens de programação tradicionais e podem ser embutidos em páginas HTML, documentos XML e até mesmo em imagens. Com relação a modelos em imagens, servidores Web específicos são usados para simular dois recursos sobre o mesmo URI, servindo ora a imagem ora a descrição RDF. Uma alternativa para armazenar e manipular grande quantidade de declarações RDF é usar a tecnologia de banco de dados relacional. Abordagens para armazenar declarações RDF em banco de dados relacional foram propostas, mas todas elas mantêm modelos diversos de diferentes fontes. Critérios de avaliação como tempo de carga, proliferação de tabelas, espaço, dados mantidos e custo de instruções SQL foram definidos. Duas abordagens apresentaram resultados satisfatórios. Com uma nova abordagem proposta por este trabalho se obteve melhores resultados principalmente no aspecto de consultas. A nova proposta provê mecanismos para que o usuário faça seu próprio modelo relacional e crie suas consultas. O conhecimento necessário pelo usuário se limita em parte aos modelos mantidos e ao esquema RDF.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

No projeto de arquiteturas computacionais, a partir da evolução do modelo cliente-servidor, surgiram os sistemas distribuídos com a finalidade de oferecer características tais como: disponibilidade, distribuição, compartilhamento de recursos e tolerância a falhas. Estas características, entretanto, não são obtidas de forma simples. As aplicações distribuídas e as aplicações centralizadas possuem requisitos funcionais distintos; aplicações distribuídas são mais difíceis quanto ao projeto e implementação. A complexidade de implementação é decorrente principalmente da dificuldade de tratamento e de gerência dos mecanismos de comunicação, exigindo equipe de programadores experientes. Assim, tem sido realizada muita pesquisa para obter mecanismos que facilitem a programação de aplicações distribuídas. Observa-se que, em aplicações distribuídas reais, mecanismos de tolerância a falhas constituem-se em uma necessidade. Neste contexto, a comunicação confiável constitui-se em um dos blocos básicos de construção. Paralelamente à evolução tanto dos sistemas distribuídos como da área de tolerância a falhas, foi possível observar também a evolução das linguagens de programação. O sucesso do paradigma de orientação a objetos deve-se, provavelmente, à habilidade em modelar o domínio da aplicação ao invés da arquitetura da máquina em questão (enfoque imperativo) ou mapear conceitos matemáticos (conforme o enfoque funcional). Pesquisadores demonstraram que a orientação a objetos apresenta-se como um modelo atraente ao desenvolvimento de aplicações distribuídas modulares e tolerantes a falhas. Diante do contexto exposto, duas constatações estimularam basicamente a definição desta dissertação: a necessidade latente de mecanismos que facilitem a programação de aplicações distribuídas tolerantes a falhas; e o fato de que a orientação a objetos tem-se mostrado um modelo promissor ao desenvolvimento deste tipo de aplicação. Desta forma, nesta dissertação definem-se classes para a comunicação do tipo unicast e multicast, nas modalidades de envio confiável e não-confiável. Além destes serviços de comunicação básicos, foram desenvolvidas classes que permitem referenciar os participantes da comunicação através de nomes. As classes estão organizadas na forma de um pacote, compondo um framework. Sua implementação foi desenvolvida usando Java. Embora não tivessem sido requisitos básicos, as opções de projeto visaram assegurar resultados aceitáveis de desempenho e possibilidade de reuso das classes. Foram implementados pequenos trechos de código utilizando e testando a funcionalidade de cada uma das classes de comunicação propostas.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Problemas de escalonamento ocorrem com freqüência, principalmente em empresas de manufatura. Entretanto, na maioria das vezes, ferramentas matemáticas de apoio à decisão são pouco utilizadas, pois requerem profissionais capacitados, softwares caros e computadores muito potentes. Esta dissertação tem como objetivo mostrar uma heurística capaz de reduzir a quantidade de fôrmas na indústria calçadista. Inicialmente, foram comparadas as soluções fornecidas pela heurística com as soluções obtidas a partir do modelo matemático de programação linear, com a finalidade de verificar o quão próximas estão ambas as respostas. Em seguida, foram comparadas a solução fornecida pela heurística e a solução presentemente adotada por uma empresa de calçados denominada de Empresa de Calçados X. Os principais resultados obtidos foram: a) o resultado fornecido pela heurística apresenta menos de 10% de acréscimo no número de pares de fôrmas em relação ao resultado fornecido pelo modelo matemático de programação linear inteira tipo 0/1; b) a solução fornecida pela heurística reduz, em média, 23,4% a quantidade de fôrmas necessárias, podendo chegar próximo a 40%. Isto pode trazer uma estimativa de redução anual na ordem de R$ 288.100,00; c) o percentual de redução na quantidade de pares de fôrmas é variável, dependendo de cada caso.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Neste estudo são discutidos alguns aspectos relacionados à escolha da primeira linguagem de programação em currículos de ciência da computação, com interesse especial em Pascal e Java. A primeira linguagem é amplamente adotada para ensinar programação aos novatos, enquanto a segunda está ganhando popularidade como uma linguagem moderna e abrangente, que pode ser usada em muitas disicplinas ao longo de um curso degraduação em computação como ferramenta para ensinar desde recursos básicos de programação até tópicos mais avançados. Embora vários problemas quanto ao ensino de Java, com a primeira linguagem de programação, possam ser apontadas, consideramosque Java é uma boa escolha, visto que (a) oferece apoio a importantes questões conceituais e tecnológicos e, (b) é possível contornar algumas complexidades da linguagem e da plataforma Java para torná-las mais adequadas à alunos iniciantes. Além disso, considerando a grande popularidade de Pascal nos currículos de cursos de computação, uma eventual adoção de Java conduz à outro problema: a falta de professores aptos a lecionar programação orientada a objetos. Sugerimos que este problema de migração de Pascal para Java seja enfrentado através de smplificação do ambiente de desenvolvimento de programas, uso de um pacote com classes que facilitam a entrada e saída, e o desenvolvimento de um catálogo comparativo de programas implementados em ambas as linguagens. Neste estudo também é apresentado o JEduc, um IDE muito simples com o objetivo de dar suporte ao ensino da linguagem de programação orientada a objetos Java aos novatos. Oferece componentes desenvolvidos em Java que integram edição, compilação e execução de programas Java. Além das funcionalidades comuns a um IDE, JEduc foi desenvolvido para gir como uma ferramente pedagógica: simplifica a maioria das mensagens do compilador e erros da JRE, permite a inserção de esqueletos de comandos, e incorpora pacotes especiais para esconder alguns detalhes sintáticos e semânticos indesejáveis.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

A área de gerência de rede cresce à medida que redes mais seguras e menos vulneráveis são necessárias, e as aplicações que concorrem pelo seu uso, necessitam de alta disponibilidade e qualidade de serviço. Quando estamos focando a gerência da infra-estrutura física das redes de computadores, por exemplo, a taxa de uso de um segmento de rede, podemos dizer que esse tipo de gerenciamento encontra-se em um patamar bastante sedimentado e testado. Por outro lado, há ainda lacunas para pesquisar na área de gerenciamento de protocolos de alto nível. Entender o comportamento da rede como um todo, conhecer quais hosts mais se comunicam, quais aplicações geram mais tráfego e, baseado nessas estatísticas, gerar uma política para a distribuição de recursos levando em consideração as aplicações críticas é um dever nas redes atuais. O grupo de trabalho IETF RMON padronizou, em 1997, a MIB RMON2. Ela foi criada para permitir a monitoração de protocolos das camadas superiores (rede, transporte e aplicação), a qual é uma boa alternativa para realizar as tarefas de gerenciamento recém mencionadas. Outro problema para os gerentes de rede é a proliferação dos protocolos de alto nível e aplicações corporativas distribuídas. Devido a crescente quantidade de protocolos e aplicações sendo executados sobre as redes de computadores, os softwares de gerenciamento necessitam ser adaptados para serem capazes de gerenciá-los. Isso, atualmente, não é fácil porque é necessário usar linguagens de programação de baixo nível ou atualizar o firmware dos equipamentos de monitoração, como ocorre com os probes RMON2. Considerando este contexto, esse trabalho propõe o desenvolvimento de um agente RMON2 que contemple alguns grupos dessa MIB. O agente baseia-se na monitoração protocolos de alto nível e aplicações que são executados sobre o IP (Internet Protocol) e Ethernet (na camada de enlace). Além da implementação do agente, o trabalho apresenta um estudo de como obter estatísticas do agente RMON2 e usá-las efetivamente para gerenciar protocolos de alto nível e aplicações.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

O presente trabalho é uma análise experimental que procura investigar os efeitos dos fatores carga por eixo, pressão de inflação e tipo de pneu sobre o desempenho de pavimentos. Os dados e informações existentes sobre o quadro de cargas por eixo praticada pela frota de veículos pesados é razoável. A ação conjunta dos referidos fatores é ainda uma questão pouco explorada. Assim, para compensar a escassez de dados sobre pressão de inflação e tipo de construção de pneus utilizados na frota de carga, programou-se uma pesquisa de campo na rodovia estadual RS/240. As informações oriundas da pesquisa demonstram que há um acréscimo generalizado no valor da pressão dos pneus e um aumento de uso dos pneus de fabricação radial em relação aos pneus convencionais. Os dados de campo subsidiaram a programação de um experimento fatorial cruzado executado na Área de Pesquisas e Testes de Pavimentos da UFRGS/DAER. A variação dos níveis dos fatores deu-se através de um simulador linear de tráfego atuando sobre uma pista experimental com 20 m de comprimento por 3,5 m de largura. Tendo como resposta estrutural do pavimento a máxima deflexão superficial recuperável medida com uma viga Benkelmam, determinou-se como significantes os efeitos dos fatores carga por eixo e pressão de enchimento dos pneus. Os cálculos estatísticos indicam também que não há diferenças significativas entre os pneus tipo 9.00R20 e 9.00x20 e que todas interações não exercem efeitos significativos sobre a variável de resposta. Em seqüência, determinaram-se as áreas de contato do rodado duplo do simulador de tráfego com a superfície do pavimento ensaiado para as combinações dos níveis dos fatores. Pode-se, então, comparar área de contato medida com área circular calculada, considerada em muitos modelos de dimensionamento de pavimentos. Relacionou-se a variação da pressão de contato com a deflexão recuperável e procedeu-se uma comparação da mesma com a pressão de inflação nominal dos pneus. Apresenta-se um modelo de análise do desempenho do pavimento em função da carga por eixo e da pressão de inflação, nos limites do experimento. Os dados decorrentes do experimento viabilizaram a determinação dos Fatores de Equivalência de Cargas para os níveis dos fatores, considerando-se o pavimento ensaiado. Avaliou-se, via evolução das deflexões e dos Fatores de Equivalência de Cargas, a redução da vida do pavimento, obtendo-se, para a combinação de níveis mais críticos de carregamento, resultados significativos de até 88 % de redução. Propõe-se, por último, uma formulação para o Fator de Equivalência de Cargas que considere também a ação da pressão de inflação.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Tolerância a falhas é um dos aspectos mais importantes a serem considerados no desenvolvimento de aplicações, especialmente com a participação cada vez maior de sistemas computacionais em áreas vitais da atividade humana. Dentro deste cenário, um dos fatores a serem considerados na persecução deste objetivo é o gerenciamento de atomicidade. Esta propriedade, por sua vez, apresenta duas vertentes principais: o controle de concorrência e a recuperação de estados. Considerando-se a tolerância a falhas e, particularmente, a atomicidade como requisitos com alto grau de recorrência em aplicações, verifica-se a importância de sua reutilização de forma simples e transparente e do estudo de meios de prover tal capacidade. O presente trabalho procurou pesquisar e aplicar meios de produzir soluções reutilizáveis para implementação de programas tolerantes a falhas, mais especificamente de técnicas de controle de atomicidade, utilizando vários paradigmas computacionais. Neste intuito, foram pesquisados mecanismos de introdução de atomicidade em aplicações e suas respectivas demandas, para então extrair critérios de análise dos paradigmas a serem utilizados na implementações das soluções. Buscou-se suporte nestes paradigmas às demandas previamente pesquisadas nos mecanismos de gerenciamento de atomicidade e procurou-se chegar a soluções reutilizáveis mantendo simplicidade de uso, possibilidade de alteração dinâmica, transparência, adaptabilidade e velocidade de desenvolvimento. Devido à existência de uma grande diversidade de situações que requerem diferentes implementações de atomicidade, alguns cenários típicos foram selecionados para aplicação e avaliação das técnicas aqui sugeridas, procurando abranger o maior número possível de possibilidades. Desta maneira, este trabalho comparou situações opostas quanto à concorrência pelos dados, implementando cenários onde ocorrem tanto acesso cooperativo quanto competitivo aos dados. Dentro de cada um dos cenários estudados, buscaram-se situações propícias ao emprego das características dos paradigmas e analisou-se o resultado de sua aplicação quanto aos critérios definidos anteriormente. Várias soluções foram analisadas e comparadas. Além dos mecanismos de gerenciamento de atomicidade, também foram estudados vários paradigmas que pudessem ser empregados na implementação de soluções com alto grau de reutilização e adaptabilidade. As análises e sugestões posteriores às implementações serviram como substrato para conclusões e sugestões sobre a melhor maneira de empregar tais soluções nos cenários atômicos estudados. Com isso, foi possível relacionar características e capacidades de cada paradigma com a melhor situação de demanda de atomicidade na qual os mesmos são aplicáveis, moldando uma linha de soluções que favoreçam sua reutilização. Um dos objetivos mais importantes do trabalho foi, entretanto, observar o funcionamento conjunto destes paradigmas, estudando como os mesmos podem atuar de forma simbiótica e de que forma os conceitos de um paradigma podem complementar os de outro.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Este texto apresenta um novo modelo multiparadigma orientado ao desenvolvimento de software distribuído, denominado Holoparadigma. O Holoparadigma possui uma semântica simples e distribuída. Sendo assim, estimula a modelagem subliminar da distribuição e sua exploração automática. A proposta é baseada em estudos relacionados com modelos multiparadigma, arquitetura de software, sistemas blackboard, sistemas distribuídos, mobilidade e grupos. Inicialmente, o texto descreve o modelo. Logo após, é apresentada a Hololinguagem, uma linguagem de programação que implementa os conceitos propostos pelo Holoparadigma. A linguagem integra os paradigmas em lógica, imperativo e orientado a objetos. Além disso, utiliza um modelo de coordenação que suporta invocações implícitas (blackboard) e explícitas (mensagens). A Hololinguagem suporta ainda, concorrência, modularidade, mobilidade e encapsulamento de blackboards em tipos abstratos de dados. Finalmente, o texto descreve a implementação da Holoplataforma, ou seja, uma plataforma de desenvolvimento e execução para a Hololinguagem. A Holoplataforma é composta de três partes: uma ferramenta de conversão de programas da Hololinguagem para Java (ferramenta HoloJava), um ambiente de desenvolvimento integrado (ambiente HoloEnv) e um plataforma de execução distribuída (plataforma DHolo).

Relevância:

10.00% 10.00%

Publicador:

Resumo:

A tecnologia de produção agrícola convencional está baseada no alto consumo de energia fóssil – o petróleo –, devido, principalmente, ao uso intensivo de fertilizantes químicos, agrotóxicos, maquinaria pesada e combustíveis. Este modelo agrícola não é viável no longo prazo por dois motivos: além de ser de baixa eficiência energética, os aumentos crescentes do preço da energia, devido à perspectiva de escassez (recurso finito), afetam cada vez mais os custos de produção agrícola, tornando os preços dos produtos agrícolas proibitivos para a maioria das populações. Em segundo lugar, este modelo tem contribuído para a depauperização do solo (capital básico), através do desequilíbrio biológico e desestruturação física, além da contaminação ambiental e dos produtos produzidos. Dentro deste contexto, este trabalho procura mostrar a importância da análise da eficiência energética na empresa rural, ao lado da análise econômica. Através da programação linear, analisa a máxima eficiência energética e máxima eficiência econômica na empresa e respectivas estruturas de produção e consumo de recursos, considerando as variações no preço da energia. As principais conclusões foram: com a tecnologia hora em uso na agricultura, à uma eficiência econômica máxima da empresa rural, está associada uma eficiência energética mínima; a eficiência energética varia em sentido inverso à eficiência econômica; a medida que o preço da energia aumenta, a eficiência energética aumenta, a eficiência econômica cai, os recursos produtivos mais intensivos energeticamente (principalmente fertilizantes químicos), tornam-se menos competitivos, cedendo lugar aos menos intensivos energeticamente, como os adubos orgânicos Por fim, relaciona-se algumas sugestões para futuros trabalhos, enfocando principalmente o uso de tecnologias alternativas de produção, como: adubos orgânicos, tração animal, rotação e diversificação de culturas, adubação verde, energias alternativas, etc, com o intuito de: aumentar a eficiência energética, buscando a independência energética da empresa; melhorar o equilíbrio biodinâmico do solo, para garantir a produtividade no longo prazo; evitar a contaminação ambiental e do próprio homem, procurando produzir produtos biologicamente sadios, livres de resíduos tóxicos e, assim, garantir uma agricultura verdadeiramente autosustentável.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Este trabalho, consiste em um estudo para avaliar os níveis de vibrações do corpo humano, do segmento mão-braço, e a transmissibilidade a que estão sujeitos os motoristas de ônibus urbanos. As medições foram realizadas, no eixo vertical, de acordo com as recomendações das normas ISO 2631 (1974 e 1997) e ISO 5349 (1986), utilizando-se acelerômetros uni-axiais, um computador com placa conversora analógica para digital (A/D), e programas desenvolvidos na plataforma de programação gráfica HPVee para aquisição e avaliação dos níveis de vibrações. A vibração vertical do corpo humano (direção z – ISO 2631) foi simultaneamente medida no assento do motorista e no suporte do banco junto ao piso do veículo. A vibração no segmento mão-braço (direção x – ISO 5349) foi medida no terceiro metacarpal, no triquetrum carpal e no ombro dos motoristas. Diferentes modelos de ônibus foram utilizados em uma rota de 18km que interliga as zonas norte e sul da cidade. Quatro acelerômetros uni-axiais (Endevco Isotron 2250A/AM1-10) foram usados para medir os níveis de vibração na mão, pulso, ombro do motorista e no assento; enquanto que, no piso, foi utilizado um acelerômetro uni-axial da Brüel & Kjaer 4338. Os resultados indicaram que, para o segmento mão-braço, os níveis de vibrações equivalentes a 4 horas de exposição são menores do que 2,0 m/s2, na maioria dos modelos, o que determina que os motoristas expostos até 25 anos possivelmente não apresentarão problemas relacionados à vibração. Porém, na análise em freqüência, os níveis de vibrações, nas faixas de freqüência de 6,3 a 50Hz, no terceiro metacarpal e no triquetrum carpal são superiores a 2,0 m/s2 podendo ocasionar danos a partir de 15 anos de exposição. Os níveis de vibrações do corpo humano e a transmissibilidade mostraram que os motoristas estão expostos a níveis perigosos de vibrações principalmente na área da ressonância da coluna vertebral.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Este trabalho descreve uma implementação de um modelo de escalonamento para a linguagem de programação DPC++. Esta linguagem, desenvolvida no Instituto de Informática da UFRGS, possibilita que uma aplicação orientada a objetos seja distribuída entre vários processadores através de objetos distribuídos. Muito mais que uma simples biblioteca de comunicação, o DPC ++ torna a troca de mensagens totalmente transparente aos objetos. A integração do DPC++ com o DECK, também em desenvolvimento, trará grandes inovações ao DPC++, principalmente pelo uso de theads. O escalonador proposto para este modelo utiliza estes recursos para implantar os chamados processos espiões, que monitoram a carga de uma máquina, enviando seus resultados ao escalonador. O escalonador implementado possui, desta forma, dois módulos: objetos espiões implementados como um serviço do DECK e o escalonador propriamente dito, incluído no objeto Diretório, parte integrante do DPC++.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

A simulação é uma das ferramentas mais utilizadas para a aplicação da análise sistêmica nos mais diversos estudos. Ao longo do tempo, vários modelos foram desenvolvidos para representar sistemas de recursos hídricos, utilizando a simulação. Dentre esses modelos, está o Propagar MOO, que simula a propagação de vazões em uma bacia hidrográfica, submetida à decisões operacionais de suprimento de demandas e de operação de reservatórios, introduzidas pelo usuário através de rotinas escritas na linguagem de programação Pascal Script. A utilização eficiente dessas rotinas permite ao usuário ampliar a capacidade e flexibilidade do modelo na representação de um sistema hídrico. Com o objetivo de contribuir na ampliação da flexibilidade do modelo Propagar MOO e de sua aplicabilidade à modelagem de sistemas de recursos hídricos em geral, bem como facilitar o estudo da linguagem de programação Pascal Script e motivar os profissionais da área no desenvolvimento de novas rotinas aplicadas ao modelo, foram implementadas, através do presente trabalho, rotinas genéricas contendo estratégias de planejamento do uso da água e de operação de reservatórios, bem como ferramentas para analisar seus resultados. Para ampliar essa contribuição, foi aprimorada a possibilidade de simulação da geração de energia hidrelétrica em pontos de uma rede hidrográfica, com a criação de novas ferramentas para esse fim, na estrutura interna do modelo. Por fim, para que o próprio usuário pudesse construir ferramentas para auxiliar na verificação dos resultados obtidos nas simulações, esse estudo apresenta a implementação de rotinas de uso geral para servir como exemplos de ferramentas de análise de dados.