999 resultados para Programação paralela (Computação)


Relevância:

20.00% 20.00%

Publicador:

Resumo:

O desenvolvimento de software complexo de grande porte é muitas vezes dificultado pela carência de ferramentas adequadas para a clara expressão das idéias dos programadores em todos os aspectos técnicos do projeto. Isto é particularmente verdadeiro quando se lida com o poder de expressão de linguagens de programação. Como os grandes programas se compõem usualmente de segmentos com características técnicas diversificadas, parece natural disponibilizar ferramentas específicas para os programadores, de forma que uma boa expressividade seja obtida no código correspondente. Para que a interface entre estes diferentes segmentos seja efetivada, torna-se viável o emprego de esquemas que facilitem a interação entre os mesmos. O artigo apresenta uma proposta de implementação de um mecanismo de troca de dados entre módulos de linguagens que compõem uma aplicação multilinguagem. O mecanismo pode também ser aplicado a linguagens oriundas de diferentes paradigmas de programação. O artigo também apresenta um pequeno exemplo completo de implementação que exercita parcialmente o ambiente proposto.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

An adaptive device is made up of an underlying mechanism, for instance, an automaton, a grammar, a decision tree, etc., to which is added an adaptive mechanism, responsible for allowing a dynamic modification in the structure of the underlying mechanism. This article aims to investigate if a programming language can be used as an underlying mechanism of an adaptive device, resulting in an adaptive language.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Dispositivos adaptativos apresentam a característica de se modificarem dinamicamente em resposta a estímulos de entrada, sem interferência de agentes externos. Eventuais necessidades de modificação de comportamento são automaticamente detectadas por estes dispositivos para, em seguida, reagirem a elas de forma espontânea. Historicamente tais dispositivos emergiram das pesquisas na área de linguagens formais e autômatos. No entanto, o formalismo suscitou aplicações em diversas outras áreas. Programas com código auto-modificável, que perderam terreno em conseqüência do advento da Engenharia de Software nos anos 70, voltaram à vida recentemente em aplicações diversas. Uma das formas de programação de código auto-modificável é a utilização de linguagens de programação especificamente projetadas para isso. Linguagens adaptativas de programação são dispositivos adaptativos que empregam uma linguagem de programação convencional como mecanismo subjacente. Com o correr de sua execução, um programa escrito em uma linguagem adaptativa exibirá um comportamento auto-modificável em decorrência da ativação de suas ações adaptativas. O artigo apresenta aspectos do projeto e implementação de um ambiente para gerenciar a execução de uma linguagem adaptativa. Com o emprego de linguagem adaptiva, um novo estilo de programação é concebido, uma vez que o seu comportamento está diretamente associado ao conjunto de regras que o define, o qual se altera à medida que o código é executado.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

An adaptive device is made up of an underlying mechanism, for instance, an automaton, a grammar, etc., to which is added an adaptive mechanism that is responsible for allowing a dynamic modification in the structure of the underlying mechanism. Adaptive languages have the basic feature of allowing the development of programs that self-modify through adaptive actions at runtime. The conception of such languages calls for a new programming style, since the application of adaptive technology suggests a new way of thinking. The adaptive programming style may be a feasible alternate way to obtain selfmodifying consistent codes, which allow its use in modern applications for self-modifying.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Este trabalho apresenta uma técnica de programação e controle da construção repetitiva denominada Linha de Balanço. E uma técnica, surgida na indústria fabril, onde a produção em série e em grande escala exige a organização dos métodos de produção e a racionalização do trabalho. O estudo, inicialmente, modela o trabalho de construção de unidades repetitivas, salientando os problemas de organização e administração destes empreendimentos. Num segundo momento, são apresentados os princípios teóricos da técnica com aplicações práticas da programação. Por fim, é analisada a metodologia usual de construção de conjuntos habitacionais através de um estudo de caso e, observadas as condições de aplicação da técnica da Linha de Balanço, não exigindo mudificações muito profundas na atual ação gerencial neste tipo de obra. As conclusões esboçadas confirmam as vantagens da técnica da Linha de Balanço para estes empreendimentos e propõem a sua utilização na organização do trabalho nos canteiros repetitivos.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

As técnicas que formam o campo da Descoberta de Conhecimento em Bases de Dados (DCBD) surgiram devido à necessidade de se tratar grandes volumes de dados. O processo completo de DCBD envolve um elevado grau de subjetividade e de trabalho não totalmente automatizado. Podemos dizer que a fase mais automatizada é a de Mineração de Dados (MD). Uma importante técnica para extração de conhecimentosa partir de dados é a Programação Lógica Indutiva (PLI), que se aplica a tarefas de classificação, induzindo conhecimento na forma da lógica de primeira ordem. A PLI tem demonstrado as vantagens de seu aparato de aprendizado em relação a outras abordagens, como por exemplo, aquelas baseadas em aprendizado proposicional Os seus algorítmos de aprendizado apresentam alta expressividade, porém sofrem com a grande complexidade de seus processos, principalmente o teste de corbertura das variáveis. Por outro lado, as Redes Neurais Artificiais (RNs) introduzem um ótimo desempenho devido à sua natureza paralela. às RNs é que geralmente são "caixas pretas", o que torna difícil a obtenção de um interpretação razoável da estrutura geral da rede na forma de construções lógicas de fácil compreensão Várias abordagens híbridas simbólico-conexionistas (por exemplo, o MNC MAC 890 , KBANN SHA 94 , TOW 94 e o sistema INSS OSO 98 têm sido apresentadas para lidar com este problema, permitindo o aprendizado de conhecimento simbólico através d euma RN. Entretanto, estas abordagens ainda lidam com representações atributo-valor. Neste trabalho é apresentado um modelo que combina a expressividade obtida pela PLI com o desempenho de uma rede neural: A FOLONET (First Order Neural Network).

Relevância:

20.00% 20.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:

20.00% 20.00%

Publicador:

Resumo:

O processo de programação de recursos é parte do planejamento e controle da produção e possui grande importância para o desempenho de empreendimentos de construção. Constitui-se numa atividade multifuncional, envolvendo a direção da empresa e seus departamentos de marketing, finanças, recursos humanos e suprimentos. Sua ineficácia tem sido identificada como responsável por muitos dos problemas relacionados à dilatação do prazo de execução do empreendimento, ao desperdício de recursos e à baixa produtividade da mão-de-obra. Considerando que o desempenho da programação de recursos está fortemente relacionado à quantidade e qualidade das informações que a suportam, o presente trabalho tem como objetivo a proposição de um método de intervenção direcionado ao sistema de informação deste processo. O método proposto divide-se em duas etapas: o diagnóstico inicial do sistema de informações e, posteriormente, o planejamento e implantação de ações de melhoria. O método foi aplicado em estudos de caso realizados em empresas de pequeno porte, nas quais foi implementada a programação formal de recursos, sendo constatada a mudança de atitude dos funcionários frente aos processos de planejamento da produção e programação de recursos.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Este trabalho realiza um estudo sobre a criação de sistemas tempo-real usando orientação a objetos, com enfoque no mapeamento de especificações para linguagens de programação. O paradigma de orientação a objetos tem sido usado nas diferentes fases relacionadas com o desenvolvimento de sistemas tempo-real, variando desde a modelagem até o ambiente de programação e execução, mas atualmente estas iniciativas ainda focam etapas isoladas do ciclo de desenvolvimento. O objetivo deste trabalho é o de preencher esta lacuna, propondo um mapeamento entre uma metodologia ou ferramenta de análise e projeto de sistemas tempo-real orientados a objetos e uma linguagem ou ambiente de desenvolvimento baseado no paradigma de orientação a objetos que possua suporte para atender às restrições temporais especificadas. O mapeamento proposto foi desenvolvido utilizando estudos de caso clássicos em aplicações tempo-real que foram baseados em dois recentes padrões. O primeiro é o emergente padrão Real-Time UML, que visa realizar a especificação de requisitos temporais utilizando diagramas UML com extensões que os representem. O outro padrão é o Real-Time Specification for Java, que consiste de uma interface de programação (API) para desenvolvimento de aplicações tempo-real com a linguagem Java. O relacionamento entre stereotypes e tags usados para representar restrições temporais em diagramas UML e o código Java correspondente é explicado e um sumário da estratégia de mapeamento é discutido.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

O objetivo deste trabalho é desenvolver um programa computacional, baseado no método dos elementos finitos, para simular situações de reforço e recuperação de peças de concreto armado. A linguagem Matlab é a ferramenta utilizada para a elaboração do programa. É uma linguagem de alta performance para computação técnica. Integra computação, visualização e programação em um fácil ambiente para uso, onde problemas e soluções são expressos em familiar notação matemática. A característica principal deste programa é de permitir alterações na modelagem numérica durante a análise do problema, podendo-se retirar ou acrescentar elementos da estrutura, aumentar ou diminuir rigidezes, alterar materiais, etc, viabilizando-se, assim, uma avaliação das diversas etapas ou hipóteses dos procedimentos de recuperação ou reforço de estruturas. O programa permite a mudança de vinculações do elemento estrutural, durante a análise. Além disto, é permitido não só incrementos de forças como incrementos de deslocamentos impostos à estrutura. O programa computacional utiliza duas etapas distintas, baseadas em um modelo elasto-viscoplástico. Na primeira etapa, faz-se a determinação da resposta da estrutura ao longo do tempo. Considera-se, nesta etapa, que o material possui comportamento viscoelástico. Na segunda, busca-se determinar a resposta da estrutura para um carregamento instantâneo, considerando-se o material com comportamento elastoplástico Para melhor representar o comportamento do concreto, quando submetido a carregamento de longa duração, utilizou-se um modelo de camadas superpostas. A armadura é introduzida no modelo como uma linha de material mais rígido dentro do elemento de concreto. Considera-se aderência perfeita entre o concreto e o aço. Assim, os deslocamentos ao longo das barras de aço são determinados a partir dos deslocamentos nodais dos elementos de concreto. Para verificar a precisão do programa computacional desenvolvido, comparam-se os resultados numéricos com resultados experimentais, cujos ensaios foram realizados no Laboratório de Ensaios e Modelos Estruturais do Programa de Pós-Graduação em Engenharia Civil da Escola de Engenharia da Universidade Federal do Rio Grande do Sul, e no Laboratório de Estruturas da Escola de Engenharia de São Carlos- USP. Nessas comparações, obtiveram-se ótimas aproximações entre os resultados numéricos e experimentais.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Nos últimos 70 anos têm sido apresentadas várias propostas para caracteriza ção da noção intuitiva de computabilidade. O modelo de Computação mais conhecido para expressar a noção intuitiva de algoritmo é a Máquina de Turing. Esse trabalho apresenta máquinas abstratas que representam diferentes formas de comportamento computacional, sendo possível abordar a diversidade entre a Teoria da Computação Clássica (Máquina de Turing) e a Teoria da Computa- ção Interativa (Máquina de Turing Persistente). Com a evolução dos sistemas de computação, surgiu a necessidade de estender a de nição de Máquina de Turing para tratar uma diversidade de novas situações, esses problemas conduziram a uma mudança de paradigma. Neste contexto foi desenvolvido a Máquina de Turing Persistente, que é capaz de fundamentar a Teoria da Computação Interativa. Máquinas de Turing Persistentes (PeTM) são modelos que expressam comportamento interativo, esse modelo é uma extensão da Máquina de Turing. O presente trabalho tem como objetivo explorar paralelismo na Máquina de Turing Persistente, através da formalização de uma extensão paralela da PeTM e o estudo dos efeitos sobre essa extensão, variando o número de tas de trabalho. Contribui- ções desse trabalho incluem a de nição de uma máquina de Turing Persistente Paralela para modelar computação interativa e uma exposição de conceitos fundamentais e necessários para o entendimento desse novo paradigma. Os métodos e conceitos apresentados para formalização da computação na Máquina de Turing Persistente Paralela desenvolvidos nessa dissertação, podem servir como base para uma melhor compreensão da Teoria da Computação Interativa e da forma como o paralelismo pode ser especi cado em modelos teóricos.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Muitos problemas de Dinâmica em Economia se encaixam dentro de uma estrutura de modelos de decisão seqüencial, sendo resolvidos recursivamente. Programação Dinâmica uma técnica de otimização condicionada que se encarrega de solucionar problemas desse tipo. Esse trabalho tem como objetivo apresentar uma resenha dos principais resultados teóricos em Programação Dinâmica. Os métodos da Programação Dinâmica são válidos tanto para problemas determinísticos como para os que incorporam variável incerteza. esperada objetividade de uma dissertação de Mestrado, no entanto, nos impediu de extender análise, deixando assim de considerar explicitamente neste trabalho modelos estocásticos, que teria enriquecido bastante parte destinada aplicações Teor ia Econômica. No capítulo desenvolvemos instrumental matemático, introduzindo uma série de conceitos resultados sobre os quais se constrói análise nos capítulos subsequentes. Ilustramos tais conceitos com exemplos que seguem um certo encadeamento. Nas seções 1.1 1.2 apresentamos as idéias propriedades de espaços métricos espaços vetoriais. Na seção 1.3, prosseguimos com tópicos em análise funcional, introduzindo noção de norma de um vetor de espaços de Banach. seção 1.4 entra com idéia de contração, Teor ema do Ponto Fixo de Banach e o teor ema de Blackwell. O Teorema de Hahn-Banach, tanto na sua forma de extensão quanto na sua forma geométrica, preocupação na seção 1.5. Em particular, forma geométrica desse teorema seus corolários são importantes para análise conduzida no terceiro capítulo. Por fim, na seção 6, apresentamos Teorema do Máximo. Ao final deste capítulo, como também dos demais, procuramos sempre citar as fontes consultadas bem como extensões ou tratamentos alternativos ao contido no texto. No capítulo II apresentamos os resultados métodos da Programação Dinâmica em si seção 2.1 cuida da base da teoria, com Princípio da Otimal idade de Eellman e a derivação de um algoritmo de Programação Dinâmica. Na seção 2.2 mostramos que esse algoritmo converge para função valor ótima de um problema de horizonte infinito, sendo que esta última satisfaz chamada Equação de Bellman. seção seguinte se preocupa em fornecer caracterizaçBes para função valor mencionada acima, mostrando-se propriedades acerca de sua monotonicidade concavidade. seção 2.4 trata da questão da diferenciabi idade da função valor, que permite se obter alguns resultados de estática Cou dinâmica} comparativa partir da Equação de Bellman. Finalmente, na seção 2.5 apresentamos uma primeira aplicação Teoria Econômica, através de um modelo de crescimento econômico ótimo. No capítulo III introduzimos uma outra técnica de otimização Programação Convexa- mostramos dificuldade em se tentar estabelecer alguma relação de dominância entre Programação Dinâmica Programação Convexa. Na seção 3.2 "apresentamos os Teoremas de Separação, dos quais nos utilizamos na seção seguinte para demonstrar existência de Multiplicadores de Lagrange no problema geral da Programação Convexa. No final desta seção dizemos porque não podemos inferir que em espaços de dimensão infinita Programação Convexa não pode ser aplicada, ao contrário da Programação Dinâmica, que evidenciaria uma dominancia dessa última técnica nesses espaços. Finalmente, capítulo IV destinado uma aplicação imediata das técnicas desenvolvidas principalmente no segundo capítulo. Com auxílio dessas técnicas resolve-se um problema de maximização intertemporal, faz-se uma comparação dos resultados obtidos através de uma solução cooperativa de uma solução não-cooperativa.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Neste início de década, observa-se a transformação das áreas de Computação em Grade (Grid Computing) e Computação Móvel (Mobile Computing) de uma conotação de interesse emergente para outra caracterizada por uma demanda real e qualificada de produtos, serviços e pesquisas. Esta tese tem como pressuposto a identificação de que os problemas hoje abordados isoladamente nas pesquisas relativas às computações em grade, consciente do contexto e móvel, estão presentes quando da disponibilização de uma infra-estrutura de software para o cenário da Computação Pervasiva. Neste sentido, como aspecto central da sua contribuição, propõe uma solução integrada para suporte à Computação Pervasiva, implementada na forma de um middleware que visa criar e gerenciar um ambiente pervasivo, bem como promover a execução, sob este ambiente, das aplicações que expressam a semântica siga-me. Estas aplicações são, por natureza, distribuídas, móveis e adaptativas ao contexto em que seu processamento ocorre, estando disponíveis a partir de qualquer lugar, todo o tempo. O middleware proposto, denominado EXEHDA (Execution Environment for Highly Distributed Applications), é adaptativo ao contexto e baseado em serviços, sendo chamado de ISAMpe o ambiente por este disponibilizado. O EXEHDA faz parte dos esforços de pesquisa do Projeto ISAM (Infra-Estrutura de Suporte às Aplicações Móveis Distribuídas), em andamento na UFRGS. Para atender a elevada flutuação na disponibilidade dos recursos, inerente à Computação Pervasiva, o EXEHDA é estruturado em um núcleo mínimo e em serviços carregados sob demanda. Os principais serviços fornecidos estão organizados em subsistemas que gerenciam: (a) a execução distribuída; (b) a comunicação; (c) o reconhecimento do contexto; (d) a adaptação; (e) o acesso pervasivo aos recursos e serviços; (f) a descoberta e (g) o gerenciamento de recursos No EXEHDA, as condições de contexto são pró-ativamente monitoradas e o suporte à execução deve permitir que tanto a aplicação como ele próprio utilizem essas informações na gerência da adaptação de seus aspectos funcionais e não-funcionais. O mecanismo de adaptação proposto para o EXEHDA emprega uma estratégia colaborativa entre aplicação e ambiente de execução, através da qual é facultado ao programador individualizar políticas de adaptação para reger o comportamento de cada um dos componentes que constituem o software da aplicação. Aplicações tanto do domínio da Computação em Grade, quanto da Computação Pervasiva podem ser programadas e executadas sob gerenciamento do middleware proposto.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Apresenta as bases conceituais e as técnicas propostas por alguns métodos de análise e projeto orientados por objeto. Avalia a aplicabilidade e a eficácia destes métodos, no desenvolvimento de sistemas de informações, através de um estudo de caso. Inicialmente, são avaliados os métodos propostos por Peter Coad-Edward Yordon é Grady Booch. Em seguidaI são desenvolvidos métodos combinados, integrando conceitos básicos da orientação por objetos, com métodos estruturados convencionais. Finalmente, é apresentado um estudo de caso, baseado no projeto de um sistema de informações gerenciais, desenvolvido junto a uma instituição financeira