120 resultados para Computação paralela
Resumo:
Técnicas de Processamento de Imagens e de Computação Gráfica vêm sendo empregadas há bastante tempo para o diagnóstico por imagens em Medicina. Mais recentemente, aplicações baseadas em modelos anatômicos, tanto extraídos de volumes de imagens como criados com base em estudos de anatomia, despontam com força. Tais modelos visam suportar simulação de movimento e de fisiologia. Porém, para que isso se torne realidade, modelos anatômicos do corpo humano precisam ser construídos e aperfeiçoados. Entre outras funcionalidades, esses modelos devem ser capazes de representar o movimento articulado do corpo humano. O problema de modelagem das articulações já foi considerado em diversos trabalhos, principalmente em Robótica e Animação. Entretanto, esses trabalhos não levaram em conta fidelidade anatômica com profundidade suficiente para que pudessem ser utilizados em aplicações de Medicina. O principal objetivo deste trabalho, portanto, é a criação de uma estratégia de representação de articulações embasada em características anatômicas para modelagem de esqueletos humanos virtuais. Um estudo da anatomia do esqueleto humano é apresentado, destacando os tipos de articulações humanas e aspectos do seu movimento. Também é apresentado um estudo dos modelos de articulações encontrados na literatura de Computação Gráfica, e são comentados alguns sistemas de software comercial que implementam corpos articulados. Com base nesses dois estudos, procurou-se identificar as deficiências dos modelos existentes em termos de fidelidade anatômica e, a partir disso, propor uma estratégia de representação para articulações humanas que permitisse a construção de corpos humanos virtuais anatomicamente realísticos. O modelo de articulações proposto foi projetado com o auxílio de técnicas de projeto orientado a objetos e implementado no âmbito do projeto Virtual Patients. Usando as classes do modelo, foi construído um simulador de movimentos, que recebe a descrição de um corpo articulado através de um arquivo em formato XML e apresenta uma animação desse corpo. A descrição do movimento também é especificada no mesmo arquivo. Esse simulador foi utilizado para gerar resultados para verificar a correção e fidelidade do modelo articular. Para isso, um joelho virtual foi construído, seus movimentos foram simulados e comparados com outros joelhos: o modelo de outro simulador, um modelo plástico anatômico e o joelho real.
Resumo:
Este trabalho apresenta o LIT, uma ferramenta de auxílio ao projeto de circuitos integrados analógicos que utiliza a técnica da associação trapezoidal de transistores (TAT) sobre uma matriz digital pré-difundida. A principal característica é a conversão de cada transistor simples de um circuito analógico em uma associação TAT equivalente, seguido da síntese automática do leiaute da associação séria-paralela de transistores. A ferramenta é baseada na matriz SOT (sea-of-transistors), cuja arquitetura é voltada para o projeto de circuitos digitais. A matriz é formada somente por transistores unitários de canal curto de dimensões fixas. Através da técnica TAT, entretanto, é possível criar associações série-paralelas cujo comportamento DC aproxima-se dos transistores de dimensões diferentes dos unitários. O LIT é capaz de gerar automaticamente o leiaute da matriz SOT e dos TATs, além de células analógicas básicas, como par diferencial e espelho de corrente, respeitando as regras de casamento de transistores. O cálculo dos TATs equivalentes também é realizado pela ferramenta. Ela permite a interação com o usuário no momento da escolha da melhor associação. Uma lista de possíveis associações é fornecida, cabendo ao projetista escolher a melhor. Além disso, foi incluído na ferramenta um ambiente gráfico para posicionamento das células sobre a matriz e um roteador global automático. Com isso, é possível realizar todo o fluxo de projeto de um circuito analógico com TATs dentro do mesmo ambiente, sem a necessidade de migração para outras ferramentas. Foi realizado também um estudo sobre o cálculo do TAT equivalente, sendo que dois métodos foram implementados: aproximação por resistores lineares (válida para transistores unitários de canal longo) e aproximação pelo modelo analítico da corrente de dreno através do modelo BSIM3. Três diferentes critérios para a escolha da melhor associação foram abordados e discutidos: menor diferença de corrente entre o TAT e o transistor simples, menor número de transistores unitários e menor condutância de saída. Como circuito de teste, foi realizado o projeto com TATs de um amplificador operacional de dois estágios (amplificador Miller) e a sua comparação com o mesmo projeto utilizando transistores full-custom. Os resultados demonstram que se pode obter bons resultados usando esta técnica, principalmente em termos de desempenho em freqüência. A contribuição da ferramenta LIT ao projeto de circuitos analógicos reside na redução do tempo de projeto, sendo que as tarefas mais suscetíveis a erro são automatizadas, como a geração do leiaute da matriz e das células e o roteamento global. O ambiente de projeto, totalmente gráfico, permite que mesmo projetistas analógicos menos experientes realizem projetos com rapidez e qualidade. Além disso, a ferramenta também pode ser usada para fins educacionais, já que as facilidades proporcionadas ajudam na compreensão da metodologia de projeto.
Resumo:
A visualização em tempo real de cenas complexas através de ambientes de rede é um dos desafios na computação gráfica. O uso da visibilidade pré-computada associada a regiões do espaço, tal como a abordagem dos Potentially Visible Sets (PVS), pode reduzir a quantidade de dados enviados através da rede. Entretanto, o PVS para algumas regiões pode ainda ser bastante complexo, e portanto uma estratégia diferente para diminuir a quantidade de informações é necessária. Neste trabalho é introduzido o conceito de Smart Visible Set (SVS), que corresponde a uma partição das informações contidas no PVS segundo o ângulo de visão do observador e as distâncias entre as regiões. Dessa forma, o conceito de “visível” ou de “não-visível” encontrado nos PVS é estendido. A informação referente ao conjunto “visível” é ampliada para “dentro do campo de visão” ou “fora do campo de visão” e “longe” ou “perto”. Desta forma a informação referente ao conjunto “visível” é subdividida, permitindo um maior controle sobre cortes ou ajustes nos dados que devem ser feitos para adequar a quantidade de dados a ser transmitida aos limites impostos pela rede. O armazenamento dos SVS como matrizes de bits permite ainda uma interação entre diferentes SVS. Outros SVS podem ser adicionados ou subtraídos entre si com um custo computacional muito pequeno permitindo uma rápida alteração no resultado final. Transmitir apenas a informação dentro de campo de visão do usuário ou não transmitir a informação muito distante são exemplos dos tipos de ajustes que podem ser realizados para se diminuir a quantidade de informações enviadas. Como o cálculo do SVS depende da existência de informação de visibilidade entre regiões foi implementado o algoritmo conhecido como “Dual Ray Space”, que por sua vez depende do particionamento da cena em regiões. Para o particionamento da cena em uma BSP-Tree, foi modificada a aplicação QBSP3. Depois de calculada, a visibilidade é particionada em diferentes conjuntos através da aplicação SVS. Finalmente, diferentes tipos de SVS puderam ser testados em uma aplicação de navegação por um cenário 3D chamada BSPViewer. Essa aplicação também permite comparações entre diferentes tipos de SVS e PVS. Os resultados obtidos apontam o SVS como uma forma de redução da quantidade de polígonos que devem ser renderizados em uma cena, diminuindo a quantidade de informação que deve ser enviada aos usuários. O SVS particionado pela distância entre as regiões permite um corte rápido na informação muito distante do usuário. Outra vantagem do uso dos SVS é que pode ser realizado um ordenamento das informações segundo sua importância para o usuário, desde que uma métrica de importância visual tenha sido definida previamente.
Resumo:
Este trabalho tem como objetivo desenvolver e empregar técnicas e estruturas de dados agrupadas visando paralelizar os métodos do subespaço de Krylov, fazendo-se uso de diversas ferramentas e abordagens. A partir dos resultados é feita uma análise comparativa de desemvpenho destas ferramentas e abordagens. As paralelizações aqui desenvolvidas foram projetadas para serem executadas em um arquitetura formada por um agregado de máquinas indepentes e multiprocessadas (Cluster), ou seja , são considerados o paralelismo e intra-nodos. Para auxiliar a programação paralela em clusters foram, e estão sendo, desenvolvidas diferentes ferramentas (bibliotecas) que visam a exploração dos dois níveis de paralelismo existentes neste tipo de arquitetura. Neste trabalho emprega-se diferentes bibliotecas de troca de mensagens e de criação de threads para a exploração do paralelismo inter-nodos e intra-nodos. As bibliotecas adotadas são o DECK e o MPICH e a Pthread. Um dos itens a serem analisados nestes trabalho é acomparação do desempenho obtido com essas bibliotecas.O outro item é a análise da influência no desemepnho quando quando tulizadas múltiplas threads no paralelismo em clusters multiprocessados. Os métodos paralelizados nesse trabalho são o Gradiente Conjugação (GC) e o Resíduo Mínmo Generalizado (GMRES), quepodem ser adotados, respectivamente, para solução de sistemas de equações lineares sintéticos positivos e definidos e não simétricas. Tais sistemas surgem da discretização, por exemplo, dos modelos da hidrodinâmica e do transporte de massa que estão sendo desenvolvidos no GMCPAD. A utilização desses métodos é justificada pelo fato de serem métodos iterativos, o que os torna adequados à solução de sistemas de equações esparsas e de grande porte. Na solução desses sistemas através desses métodos iterativos paralelizados faz-se necessário o particionamento do domínio do problema, o qual deve ser feito visando um bom balanceamento de carga e minimização das fronteiras entre os sub-domínios. A estrutura de dados desenvolvida para os métodos paralelizados nesse trabalho permite que eles sejam adotados para solução de sistemas de equações gerados a partir de qualquer tipo de particionamento, pois o formato de armazenamento de dados adotado supre qualquer tipo de dependência de dados. Além disso, nesse trabalho são adotadas duas estratégias de ordenação para as comunicações, estratégias essas que podem ser importantes quando se considera a portabilidade das paralelizações para máquinas interligadas por redes de interconexão com buffer de tamanho insuficiente para evitar a ocorrência de dealock. Os resultados obtidos nessa dissertação contribuem nos trabalhos do GMCPAD, pois as paralelizações são adotadas em aplicações que estão sendo desenvolvidas no grupo.
Resumo:
A computação de tempo real é uma das áreas mais desafiadoras e de maior demanda tecnológica da atualidade. Está diretamente ligada a aplicações que envolvem índices críticos de confiabilidade e segurança. Estas características, inerentes a esta área da computação, vêm contribuindo para o aumento da complexidade dos sistemas tempo real e seu conseqüente desenvolvimento. Isto fez com que mecanismos para facilitar especificação, delimitação e solução de problemas passem a ser itens importantes para tais aplicações. Este trabalho propõe mecanismos para atuarem no desenvolvimento de sistemas de tempo real, com o objetivo de serem empregados como ferramenta de apoio no problema da verificação de presença de inconsistências, que podem vir a ocorrer nos vários modelos gerados partir da notação da linguagem de modelagem gráfica para sistemas de tempo real - UML-RT(Unified Modeling Language for Real Time). Estes mecanismos foram projetados através da construção de um metamodelo dos conceitos presentes nos diagramas de classe, de objetos, de seqüência, de colaboração e de estados. Para construir o metamodelo, utiliza-se a notação do diagrama de classes da UML (Unified Modeling Language). Contudo, por intermédio das representações gráficas do diagrama de classes não é possível descrever toda a semântica presente em tais diagramas. Assim, regras descritas em linguagem de modelagem OCL (Object Constraint Language) são utilizadas como um formalismo adicional ao metamodelo. Com estas descrições em OCL será possível a diminuição das possíveis ambigüidades e inconsistências, além de complementar as limitações impostas pelo caráter gráfico da UML. O metamodelo projetado é mapeado para um modelo Entidade&Relacionamento. A partir deste modelo, são gerados os scripts DDL (Data Definition Language) que serão usados na criação do dicionário de dados, no banco de dados Oracle. As descrições semânticas escritas através de regras em OCL são mapeadas para triggers, que disparam no momento em que o dicionário de dados é manipulado. O MET Editor do SiMOO-RT é a ferramenta diagramática que faz o povoamento dos dados no dicionário de dados. SiMOO-RT é uma ferramenta orientada a objetos para a modelagem, simulação e geração automática de código para sistemas de tempo real.
Resumo:
Este estudo visou a utilização direta da análise modal adjunta em sistemas não-clásicos de natureza concentrada e distribuída, explorando o conceitos de biortogonalidade modal e da resposta impulso evolutiva e estacionária. Discutiu-se a natureza do espectro para diversas classes de sistemas, em particular para sistemas com efeitos giroscópicos e com atrito interno. A teoria foi desenvolvida de maneira paralela para sistemas de primeira ordem e de segunda ordem, porém é apresentada de maneira independente, ou seja, para os sistemas de segunda ordem não é utilizada a formulação de espaço de estado, a qual reduz o sistema para primeira ordem. Assim, as relações de biortogonalidade para sistemas de segunda ordem são apresentadas e utilizadas de maneira direta na expansão modal da resposta dos sistemas. A forma dos modos de vibração em variadas aplicações é determinada de maneira exata com o uso da base dinâmica gerada pela resposta impulso espacial. No cálculo dos autovalores foi introduzida uma aproximação polinomial para a resposta impulso espacial Os coeficientes dessa aproximação foram obtidos por recursão, a partir de uma equação em diferenças associada à equação característica do problema modal. Simulações numéricas foram realizadas para obter a resposta impulso evolutiva, respostas forçadas e modos de vibração de sistemas não-clássicos concentrados, formulados através de modelos ou aproximações, e sistemas distribuídos, formulados através de modelos ou incluindo distúrbios e acoplamento através das condições decontorno. Os resultados deste estudo permitiram concluir, através das simulações numéricas realizadas, a importância da base dinâmica no sentido de simplificar os cálculos para obtenção dos autovalores, dos modos de vibração e, consequentemente, da resposta do sistema, seja concentrado, distribuído com ou sem acoplamento das condições de contorno. A utilização da análise modal adjunta, desde que ocorra uma ordenação adequada dos autovalores e modos, mostrou-se um método eficiente na obtenção direta da resposta de sistemas não-clássicos de segunda ordem, ou seja, sem redução ao espaço de estado.
Resumo:
As tarefas de visão computacional incentivam uma significativa parte da pesquisa em todas as áreas científicas e industriais, entre as quais, cita-se a área voltada para o desenvolvimento de arquiteturas de computadores. A visão computacional é considerada um dos problemas mais desafiadores para a computação de alto desempenho, pois esta requer um grande desempenho, bem como um alto grau de flexibilidade. A flexibilidade é necessária pois a visão computacional abrange aplicações em que há diferentes tarefas a serem realizadas com diferentes necessidades de desempenho. Esta flexibilidade é particularmente importante em sistemas destinados a atuar como ambientes experimentais para novas técnicas de processamento visual ou para a prototipação de novas aplicações. Computação configurável tem demonstrado, por meio de exemplos implementados pela comunidade científica, fornecer uma boa relação entre alto desempenho e flexibilidade necessária para a implementação de diferentes técnicas utilizadas na área de visão computacional. Contudo, poucos esforços de pesquisa têm sido realizados na concepção de sistemas completos visando a solução de um problema de visão computacional, incluindo ambos os requisitos de software e de hardware. O principal objetivo deste trabalho é mostrar que as técnicas e tecnologias disponíveis na área de computação configurável podem ser empregadas para a concepção de um sistema capaz de implementar um grande número de aplicações da área de visão computacional na pesquisa e no ambiente industrial. Entretanto, não é escopo deste trabalho implementar um sistema de computação que seja suficiente para abordar os requerimentos necessários para todas as aplicações em visão computacional, mas os métodos aqui introduzidos podem ser utilizados como uma base geral de implementação de várias tarefas de visão computacional. Este trabalho utiliza ambientes que permitem implementações conjuntas de hardware e software, pois os mesmos facilitam a validação das técnicas aqui apresentadas, por meio da implementação de um estudo de caso, sendo parte deste estudo de caso implementado em software e outra parte em hardware.
Resumo:
A análise de um algoritmo tem por finalidade melhorar, quando possível, seu desempenho e dar condições de poder optar pelo melhor, dentre os algoritmos existentes, para resolver o mesmo problema. O cálculo da complexidade de algoritmos é muito dependente da classe dos algoritmos analisados. O cálculo depende da função tamanho e das operações fundamentais. Alguns aspectos do cálculo da complexidade, entretanto, não dependem do tipo de problema que o algoritmo resolve, mas somente das estruturas que o compõem, podendo, desta maneira, ser generalizados. Com base neste princípio, surgiu um método para o cálculo da complexidade de algoritmos no pior caso. Neste método foi definido que cada estrutura algorítmica possui uma equação de complexidade associada. Esse método propiciou a análise automática da complexidade de algoritmos. A análise automática de algoritmos tem como principal objetivo tornar o processo de cálculo da complexidade mais acessível. A união da metodologia para o pior caso, associada com a idéia da análise automática de programas, serviu de motivação para o desenvolvimento do protótipo de sistema ANAC, que é uma ferramenta para análise automática da complexidade de algoritmos não recursivos. O objetivo deste trabalho é implementar esta metodologia de cálculo de complexidade de algoritmos no pior caso, com a utilização de técnicas de construção de compiladores para que este sistema possa analisar algoritmos gerando como resultado final a complexidade do algoritmo dada em ordens assintóticas.
Resumo:
Dentre as principais áreas que constituem a Ciência da Computação, uma das que mais influenciam o mundo atual é a Engenharia de Software, envolvida nos aspectos científicos e tecnológicos do desenvolvimento de software. No desenvolvimento de software, a fase de especificação dos requisitos é uma das mais importantes, visto que erros não detectados nesta são propagados para as fases posteriores. Quanto mais avançado estiver o desenvolvimento, mais caro custa reparar um erro introduzido nas fases iniciais, pois isto envolve reconsiderar vários estágios do desenvolvimento. A prototipação permite que os requisitos do software sejam validados logo no início do desenvolvimento, evitando assim a propagação de erros. Paralelamente, a utilização de métodos formais visa revelar inconsistências, ambigüidades e falhas na especificação do software, que podem caso contrário, não serem detectadas. Usar a prototipação de software juntamente com uma notação formal enfatiza a especificação do problema e expõe o usuário a um sistema “operante” o mais rápido possível, de modo que usuários e desenvolvedores possam executar e validar as especificações dos requisitos funcionais. O objetivo principal deste trabalho é instanciar uma técnica da área de Prototipação de Software que capacite o engenheiro de software gerar automaticamente protótipos executáveis a partir de especificações formais de tipos abstratos de dados, na notação PROSOFT-algébrico, visando a validação dos requisitos funcionais logo no início do desenvolvimento do software. Para tanto foi proposto um mapeamento da linguagem PROSOFT-algébrico para OBJ. Como OBJ possui um eficiente sistema de reescrita de termos implementado, a utilização deste propicia a prototipação de tipos abstratos de dados, especificados em PROSOFT-algébrico. Os componentes envolvidos na definição deste trabalho, assim como o mapeamento entre as linguagens, foram especificados algebricamente e implementados no ambiente de desenvolvimento de software PROSOFT. A implementação serviu para validar o mapeamento proposto através de dois estudos de caso. Por fim, são apresentadas as conclusões alcançadas e as atividades adicionais vislumbradas a partir do trabalho proposto.
Resumo:
Editores diagramáticos possuem aplicabilidade em diferentes áreas da computação, dentre elas ferramentas CASE, editores gráficos, CAD para circuitos eletrônicos, etc. Uma subclasse desse tipo de editores adiciona a funcionalidade de execução aos diagramas manipulados, permitindo ao usuário executar um diagrama através de técnicas de animação. Esta característica, por sua vez, acarreta na inserção de novos problemas para o projetista de software, sendo o principal deles o reuso independente das funcionalidades de edição e de execução de editores construídos. Com vistas a minimizar este problema este trabalho apresenta uma arquitetura que combina uma estrutura de componentes interconectáveis descrita por meio de BML com um mecanismo de interpretação de scripts como uma alternativa para construção de editores de diagramas com funcionalidade de execução.
Resumo:
O solo residual de gnaisse estudado nesta dissertação ocupa uma grande área da cidade de Porto Alegre/RS e região metropolitana. Na região onde foi amostrado, encontrase hoje uma estrutura de contenção em solo grampeado. Rupturas durante a escavação ocasionaram a necessidade de redimensionamento da estrutura, o que na época foi realizado através de retro-análises de rupturas induzidas. Na ocasião a empresa responsável pela execução da obra retirou blocos indeformados de campo, para que posteriormente fossem determinadas as propriedades geomecânicas deste solo residual. O programa experimental desta dissertação envolveu: (a) ensaios de caracterização; (b) caracterização mineralógica através de difratometria de Raio-X, microscopia ótica e microscopia eletrônica;(c) determinação de parâmetros de resistência ao cisalhamento através de ensaios de cisalhamento direto e (d) determinação de parâmetros de resistência ao cisalhamento residual através de ensaios ring shear. Através dos ensaios de cisalhamento direto foi verificado que o intemperismo no local praticamente não apresenta influência nos parâmetros de resistência ao cisalhamento deste solo, pois ambas as profundidades de amostragem mantém a estrutura da rocha de origem. A resistência ao cisalhamento deste material é em grande parte comandada pela sua micro-estrutura, e principalmente pelo bandamento micáceo Em ambas profundidades foi verificada anisotropia de resistência ao cisalhamento, através de ensaios com a orientação de planos de xistosidade paralela e perpendicular à superfície de ruptura imposta pelo ensaio. Este comportamento demonstra a influência que a macro-estrutura herdada da rocha mãe tem sobre a resistência deste material. Os ensaios ring shear realizados neste material apresentaram ângulos de atrito interno residual baixos em relação ao que se espera de materiais predominantemente granulares como é o caso deste solo. Porém estes valores baixos podem ser atribuídos ao alto teor de mica existente.
Resumo:
Estruturas de informações organizadas hierarquicamente estão presentes em muitas áreas. Pode-se citar como exemplos diagramas organizacionais, árvores genealógicas, manuais, estruturas de diretórios, catálogos de bibliotecas, etc. Na última década, várias técnicas têm sido desenvolvidas a fim de permitir a navegação em espaços de informações organizados dessa forma. Essas técnicas buscam proporcionar uma melhor percepção de alguns atributos ou fornecer mecanismos de interação adicionais que vão além da tradicional navegação com barras de rolagem ou câmeras 3D em visualização bi e tridimensional, respectivamente. Dentre as várias alternativas de representação utilizadas nas diversas técnicas para dados hierárquicos destacam-se dois grandes grupos: as que utilizam a abordagem de preenchimento do espaço e as baseadas em diagramas de nodos e arestas. Na primeira o espaço disponível para a representação da estrutura é subdividido recursivamente, de forma que cada subárea representa um nodo da hierarquia. Na segunda, os nodos são representados por figuras geométricas e os relacionamentos, por linhas. Outro critério utilizado para classificá-las é a estratégia que cada uma aplica para exibir os detalhes presentes na estrutura. Algumas técnicas utilizam o método Foco+Contexto de modo a fornecer uma representação visual inteira do espaço de informações, bem como uma visão detalhada de itens selecionados na mesma área de exibição. Outras utilizam a abordagem Visão Geral+Detalhe que possui a característica de exibir essas duas partes (conjunto total e subconjunto de interesse) em áreas separadas. O objetivo do presente trabalho é investigar a integração dessas duas abordagens a partir da proposta da técnica Bifocal Tree. Esta estrutura utiliza um diagrama de nodos e arestas e incorpora os conceitos existentes na abordagem Foco+Contexto guardando, porém uma divisão mais perceptível da visão de contexto e de detalhe. Ela introduz o uso de um segundo foco proporcionando duas áreas de visualização onde são exibidos dois sub-diagramas conectados entre si. Um corresponde à subárvore que contém o trecho da estrutura de interesse do usuário, enquanto o outro representa o contexto da hierarquia visualizada. Possui ainda alguns mecanismos de interação a fim de facilitar a navegação e a obtenção das informações exibidas na estrutura. Experimentos baseados em tarefas realizadas por usuários com a Bifocal Tree, o Microsoft Windows Explorer e o browser MagniFind foram utilizados para a avaliação da técnica demonstrando suas vantagens em algumas situações.
Resumo:
Teoria das Categorias é uma ramificação da Matemática Pura relativamente recente, tendo sua base sido enunciada ao final da primeira metade do século XX. Embora seja Teoria de grande expressividade, sua aplicação efetiva tem encontrado até o momento grandes obstáculos, todos decorrência natural da brevidade de sua História. A baixa oferta de bibliografia (e predominantemente em língua inglesa) e a falta de uniformidade na exposição do que sejam os tópicos introdutórios convergem e potencializam outro grande empecilho à sua propagação - a baixa oferta de cursos com enfoque em Teoria das Categorias. Consegue, a despeito destes obstáculos, arrebanhar admiradores em inúmeros centros de reconhecida excelência técnica e científica. Dentre todas as áreas do conhecimento, atrai em especial a atenção da Ciência da Computação, por características como independência de implementação, dualidade, herança de resultados, possibilidade de comparação da expressividade de outros formalismos, forte embasamento em notação gráfica e, sobretudo, pela expressividade de suas construções [MEN2001]. No Brasil, já conta com o reconhecimento de seu papel no futuro da Ciência da Computação por parte de instituições como SBC e MEC. Os obstáculos aqui descritos, entretanto, ainda necessitam ser transpostos. O presente trabalho foi desenvolvido visando contribuir nesta tarefa. O projeto consiste em uma iniciativa aplicada em Ciência da Computação, a qual visa oportunizar o franco acesso aos conceitos categoriais introdutórios: uma aplicação de computador que faça amplo uso de representação diagramática para apresentar a proposição de conceitos básicos do grupo de pesquisa em Teoria das Categorias do Instituto de Informática da UFRGS. A proposição e implementação de uma ferramenta, embora não constitua iniciativa inédita no mundo, até onde se sabe é a segunda experiência desta natureza. Ademais, vale destacar que os conceitos tratados, assim como os objetivos visados, são atendidos de forma única e exclusiva por esta aplicação. Conjuntamente, vislumbra-se a aplicação desenvolvida desempenhando importante papel de agente catalisador na propagação da visão dos Grupos de Pesquisa em Teoria das Categorias da UFRGS e da PUC/RJ do que sejam os "conceitos categoriais introdutórios".
Resumo:
Esta tese de doutorado apresenta o MEPSOM - Método de Ensino de Programação Sônica de Computadores para Músicos. O MEPSOM consiste em um sistema de computação que disponibiliza um conjunto de atividades para programação de software musical composto de exemplos e exercícios. O método foi idealizado para ser uma ferramenta de auxílio ao professor em cursos de Computação Musical, disponibilizando recursos didáticos para o ensino de programação nas áreas de composição e educação musical. O MEPSOM foi implementado sob a forma de programas de computador e utilizado em cursos de Computação Musical na UFRGS. Nesta Tese de Doutorado apresentamos o projeto e a organização do MESPCM, a implementação do método, relatos de sua aplicação e os resultados obtidos. Também expomos a utilização do método em laboratório, através de estudo de caso, e os resultados da sua avaliação por estudantes que participaram de pesquisas de levantamento. Por fim, a partir da análise dos dados obtidos, sugerimos um conjunto de aspectos considerados relevantes para futuras aplicações do MEPSOM.
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.