74 resultados para Diversas aplicações
em Lume - Repositório Digital da Universidade Federal do Rio Grande do Sul
Resumo:
Neste trabalho são descritas a arquitetura e as propriedades características do protocolo PROFIBUS, nome dado a um entre os diversos protocolos existentes na área industrial. Utilizando uma versão do protocolo PROFIBUS desenvolvida no Laboratório de Instrumentação Eletro-Eletrônica da Universidade Federal do Rio Grande do Sul foi implementada uma rede composta por uma estação mestre e até 96 estações escravas. A fim de analisar o Tempo de Ciclo de Mensagem e o Tempo de Reação do Sistema foram realizados diversos testes, variando a taxa de comunicação utilizada, o tamanho dos quadros de comunicação e a quantidade de estações escravas que compunham a rede. No final foi feita uma comparação entre os valores práticos obtidos e valores calculados a partir de fórmulas teóricas. Os valores práticos obtidos possibilitam determinar a viabilidade da utilização desta rede em diversas aplicações reais.
Resumo:
Esta dissertação analisa potencialidades de uso da ferramenta de simulação computacional em atividades de um Armazém Geral. Para tanto, foi realizado um estudo de caso em um Armazém Geral onde se aplicou a ferramenta segundo o método de desenvolvimento de projetos de simulação computacional proposto por Barrônio (2000). O desenvolvimento do projeto de simulação foi, então, focado na atividade de apanha separação, integrante do sub-processo de separação de pedidos. O substrato teórico utilizado envolve uma abordagem sobre a logística e caracterização de armazém geral, bem como uma revisão dos conceitos principais da ferramenta de simulação computacional. No desenvolvimento da pesquisa, identificaram-se diversas aplicações da simulação tanto no armazém geral e terminais de cargas da empresa, quanto na análise da malha de rotas da empresa. A partir da análise dos resultados da simulação, em diversos cenários desenvolvidos e do entendimento sistêmico da situação em estudo, identificou-se como oportunidade de melhoria a definição de horários fixos de parada para descanso ao longo da jornada de trabalho na atividade de apanha separação O desenvolvimento do projeto de simulação computacional contribuiu como instrumento de aprendizagem e tomada de decisões sobre a realidade organizacional. Através de experimentação no modelo computacional o grupo de trabalho pôde testar e mudar seus pressupostos e sua compreensão do mundo real, aprimorando a aprendizagem. Identificou-se ainda, que os armazéns gerais dotados de sistema de gerenciamento automatizado apresentam um grande potencial para desenvolvimento de projetos de simulação, principalmente, devido à disponibilidade de dados característicos destas organizações.
Resumo:
Um dos requisitos naturais na modelagem de diversas aplicações na área de banco de dados é a utilização de um mecanismo para controle de versões. Esse mecanismo fornece suporte a um processo evolutivo. Tal suporte permite armazenar os diferentes estágios de uma entidade em tempos distintos, ou sob diferentes pontos de vista. Estudos recentes nessa área mostram a importância de incorporar ao modelo conceitual de banco de dados, um mecanismo para auxiliar no controle da evolução de versões. A evolução de versões apresenta problemas principalmente quando ocorre em uma hierarquia de composição. Por exemplo, se existem objetos compostos fazendo referência à objetos componentes que representam versões, então modificações nos componentes podem causar alterações nos objetos que os referenciam. Normalmente as ações relativas a essas modificações são a notificação ou a propagação de mudanças. Algumas propostas adicionam mecanismos de notificação e propagação ao modelo conceitual utilizado por aplicações não convencionais. Isso é importante porque mecanismos deste tipo auxiliam no controle da integridade de dados e na divulgação de informações sobre as mudanças realizadas no banco de dados. O objetivo do trabalho aqui descrito é apresentar um mecanismo de notificação e propagação, que trata da evolução de dados, para um modelo de versões. É definido um modelo de classes com propriedades e operações que permitem manter e manipular subscrições de eventos referentes à evolução de objetos e versões e reagir diante da ocorrência destes eventos. Para atender os requisitos das diferentes aplicações, esta proposta especifica três estratégias. Cada uma delas apresenta diferentes funcionalidades: notificação ativa (enviar mensagens sobre mudanças ocorridas); notificação passiva (armazenar informações sobre mudanças ocorridas) e propagação (alterar o conteúdo do banco de dados automaticamente). Para validar o mecanismo proposto, uma implementação é apresentada para o sistema Oracle 8.
Resumo:
A filtragem de imagens visando a redução do ruído é uma tarefa muito importante em processamento de imagens, e encontra diversas aplicações. Para que a filtração seja eficiente, ela deve atenuar apenas o ruído na imagem, sem afetar estruturas importantes, como as bordas. Há na literatura uma grande variedade de técnicas propostas para filçtragem de imagens com preservação de bordas, com as mais variadas abordagens, deentrte as quais podem ser citadas a convolução com máscaras, modelos probabilísticos, redes neurais, minimização de funcionais e equações diferenciais parciais. A transformada wavelet é uma ferramenta matemática que permite a decomposição de sinais e imagens em múltiplas resoluções. Essa decomposição é chamada de representação em wavelets, e pode ser calculada atrravés de um algorítmo piramidal baseado em convoluções com filtros passa-bandas e passa-baixas. Com essa transformada, as bordas podem ser calculadas em múltiplas resoluções. Além disso, como filtros passa-baixas são utilizados na decomposição, a atenuação do ruído é um processo intrínseco à transformada. Várias técnicas baseadas na transformada wavelet têm sido propostas nos últimos anos, com resultados promissores. Essas técnicas exploram várias características da transformada wavelet, tais como a magnitude de coeficientes e sua evolução ao longo das escalas. Neste trabalho, essas características da transformada wavelet são exploradas para a obtenção de novas técnicas de filtragem com preservação das bordas.
Resumo:
Este trabalho descreve o protocolo de adaptação ATM do tipo 2 (AAL2), e expõe as mudanças que foram realizadas no simulador de rede ATM com a finalidade de estudá-lo. É proposto que se conheça melhor este novo padrão, planejado para baixa taixa de transferência e multiplexação de usuários e pode contribuir nos serviços de tráfego de voz, quando ocorre a integração de diversas aplicações que é o objetivo da B-ISDN. Após algumas explanações sobre o ATM em geral, é descrita de forma detalhada a recomendação I.362 que padroniza o novo AAL. É explicado o comportamento da máquina de estados de transmissão, e como ocorre a temporização para carregar diversos pacotes de voz numa mesma célula. Como foi idealizado para a classe de serviços do tipo VBR em tempo real, comentam-se alguns mecanismos próprios do AAL2 para controle de tráfego e sua influência. Descreve-se a subcamada SSCS proposta para pacotes longos, recentemente padronizada. São apresentados alguns artigos e estudos realizados sobre o AAL2 que descreve quantitativamente o ganho esperado pelo protocolo e levanta algumas questões comparando-o ao AAL1. Por ter sido inicialmente uma necessidade da telefonia celular, realiza-se um breve comentário de estudos dirigidos para a área. Com o intuito de realizar a simulação do protocolo, foi utilizado o simulador de redes ATM, desenvolvido pelo NIST, que possui certas qualidades desejadas para este trabalho, porém, foram necessárias realizar modificações para implementar a camada AAL que não estava prevista na arquitetura original dele. Para se criar um ambiente de testes propício, e com a preocupação de não corromper o funcionamento padrão, foram criadas estruturas semelhantes às existentes e realizadas mudanças sutis, reconhecidas normalmente pelo simulador original. A partir destas simulações, pretende-se deixar uma ferramenta para fazer análises deste protocolo; utilizando modelos de tráfego de voz, a fim de obter informações do seu comportamento. No entanto, este estudo limitou-se somente a demonstrar a verificação e validação do simulador a partir dos resultados gerados. Para verificar a integridade do código fonte original foram utilizados os exemplos do próprio NIST e assim garantir que nada foi alterado. Além disso, o novo módulo foi comparado a norma através de um "debug". Na validação, devido ao fato de não existir uma rede real montada e disponível para testes, foram empregados artigos para comparar os resultados e demonstrar a boa aproximação obtida. Acredita-se que desta forma obteve-se o resultado desejado de um ambiente para estudo e compreensão do AAL2 e que, futuramente, pode ser usado para todos os protocolos da camada AAL.
Resumo:
A comunicação é essencial para a vida em grupo, e se dá através da linguagem. Existem diversas formas de linguagem, porém a linguagem matemática vai além das demais, pois é universal. O advento dos aparelhos eletrônicos e, em especial, do computador, tornou possível o desenvolvimento de padrões e aplicativos que pudessem manipular símbolos matemáticos eletronicamente. A Web trouxe consigo a linguagem HTML para visualização de textos e, mais atualmente, o padrão de linguagem de marcação XML e seus aplicativos, que têm características melhores que o HTML quanto à estruturação, armazenamento e indexação de dados. Uma das aplicações advindas do XML foi a linguagem de marcação matemática MathML, que contribui para a manipulação e visualização de formalismos matemáticos na Web, e vem se tornando um padrão no meio acadêmico, educacional e comercial. As diversas aplicações matemáticas (editores, ambientes matemáticos) desenvolvidas para o computador geralmente não permitem a discussão em linguagem matemática de forma síncrona pela rede de computadores. Sabe-se que na Internet a conexão de pessoas num mesmo momento através de ferramentas síncronas é muito difundida, como é o caso de aplicativos do tipo bate-papo; no entanto, esses aplicativos não possuem funcionalidades que permitam a troca de textos matemáticos. Há, portanto, uma limitação em relação a ferramentas de comunicação síncrona para matemática na Web. Este trabalho quer oferecer uma alternativa ao público que deseje trocar formalismos matemáticos de forma síncrona pela Web, a fim de verificar se esse tipo de ferramenta é efetivamente usável para discussões matemáticas. Para isso, foi desenvolvido um protótipo que reúne as características de uma ferramenta típica de bate-papo com as vantagens advindas das linguagens de marcação: o ChatMath. O trabalho também aponta características de aplicativos matemáticos e de ferramentas síncronas textuais e descreve as linguagens de marcação matemática. Para fins de avaliação do protótipo desenvolvido, fez-se uma pesquisa a fim de verificar sua efetiva utilidade para troca de formalismos matemáticos, dentro do contexto educacional. Os resultados dessa pesquisa confirmam a hipótese levantada, embora identifiquem modificações funcionais e de uso da ferramenta, havendo necessidade de reaplicação da avaliação, para se obter resultados mais detalhados.
Resumo:
A utilização de versões tem sido essencial em diversas aplicações de banco dados, por permitir o armazenamento e a manipulação de diferentes estados da base de dados. Durante a evolução de um esquema, o versionamento preserva todas as versões de esquemas e de seus dados associados. Por outro lado, os conceitos de bancos de dados bitemporais, que incorporam tanto tempo de transação quanto tempo de validade, provêm flexibilidade ao mecanismo de evolução de esquemas, não somente por permitir acesso a informações presentes, passadas e futuras, mas também por permitir atualizações e consultas entre as diversas versões de esquemas existentes. O objetivo principal desta tese é definir um modelo que utilize os conceitos de tempo e de versão para permitir o gerenciamento da evolução dinâmica de esquemas em bancos de dados orientados a objetos. O resultado, o Modelo Temporal de Versionamento com suporte à Evolução de Esquemas (TVSE - Temporal and Versioning Model to Schema Evolution), é capaz de gerenciar o processo de evolução de esquemas em todos os seus aspectos: versionamento e modificação de esquemas, propagação de mudanças e manipulação de dados. Esse modelo difere de outros modelos de evolução de esquemas por permitir o gerenciamento homogêneo e simultâneo do histórico da evolução do banco de dados intencional e extensional. Com o objetivo de complementar a definição deste modelo é apresentado um ambiente para gerenciar o versionamento temporal da evolução de esquemas. Desse ambiente foi implementado um protótipo da ferramenta de apoio ao gerenciamento de evolução de esquemas. Por fim, enriquecendo o universo da tese e com o intuito de prover uma maior fundamentação teórica e matemática para descrever as políticas de evolução de esquemas, é especificada uma semântica operacional para um subconjunto do modelo proposto.
Resumo:
A utilização de conceitos de representação temporal tem sido essencial em diversas aplicações de banco de dados, por permitir o armazenamento e a manipulação dos diferentes estados assumidos pela base de dados ao longo do tempo. Durante a evolução da base de dados, através do conceito de bitemporalidade, obtém-se acesso a informações presentes, passadas e futuras. Já o conceito de versionamento permite a existência de diversas alternativas para a evolução da base de dados, possibilitando um processo de evolução ramificada, em oposição ao usual mecanismo de evolução linear do conteúdo da base. Com a migração de tais aplicações para um ambiente Web, estas passam cada vez mais a utilizar a linguagem XML como formato de representação e intercâmbio de seus dados. Tornam-se necessários, dessa forma, mecanismos para a representação e manipulação da história do conteúdo de um documento XML que sofre modificações com o passar do tempo. Apesar da existência de propostas de extensão temporal de modelos de dados convencionais e de estratégias para o armazenamento de documentos XML em modelos convencionais, a natureza semi-estruturada dos documentos XML faz com que seja necessário definir um novo modelo de dados temporal, capaz de lidar com os conceitos de bitemporalidade e versionamento em um documento semiestruturado. O objetivo deste trabalho é definir um modelo que, ao contrário das demais propostas existentes, combine os conceitos de bitemporalidade e de versionamento em uma única abordagem capaz de permitir o tratamento da evolução do conteúdo de documentos XML. O uso conjunto desses dois recursos visa combinar o poder de expressão de cada um, garantindo uma maior flexibilidade na representação do histórico dos documentos XML. O modelo resultante recebeu o nome de Tempo e Versões em XML, ou simplesmente TVX, composto por três partes: um modelo para a organização lógica dos dados, uma linguagem de consulta e uma linguagem para promover alterações ao conteúdo dos documentos XML.
Resumo:
Um Sistema gerenciador de Bancos de Dados (SGBD) possui como principal característica a capacidade de gerenciar bases de dados que representam parte do mundo real. Para que essa representação seja fiel, os dados presentes em uma base de dados devem obedecer a diversas regras conhecidas como restrições de integridade. Estas podem ser provenientes da realidade modelada, da implementação ou do modelo de dados utilizado. O suporte oferecido por sistemas gerenciadores de bancos de dados tradicionais não é suficientemente adequado a certas aplicações com necessidades que vão além das convencionais. Diversas aplicações necessitam armazenar dados históricos em conjunto com seus períodos de validade. Outras precisam armazenar versões de conjuntos de dados, gerenciando suas agregações e formas de representação. Através do suporte aos conceitos de tempo e de versão, provido por um SGBD, grande parte dessas necessidades é suprida. Este tipo de banco de dados usa o conceito de tempo para armazenar e controlar dados históricos enquanto o conceito de versão permite a gerência de alternativas de projeto. Existem atualmente diversos trabalhos e implementações relacionados à manutenção de restrições de integridade sobre bancos de dados tradicionais. Entretanto, restrições que consideram a gerência de tempo e de versões sobre dados ainda representam uma área de pesquisa praticamente inexplorada. De acordo com essa realidade, o primeiro objetivo do presente trabalho consiste em definir uma classificação de restrições de integridade para bases de dados com suporte a tempo e versões, a fim de prover uma base para o desenvolvimento de pesquisas relacionadas à sua especificação e manutenção. O segundo objetivo consiste em agregar ao Modelo Temporal de Versões (TVM), que suporta os conceitos de tempo e de versão, uma linguagem que permita a especificação de restrições de integridade. Esta linguagem considera características relacionadas à temporalidade e ao versionamento dos dados e das próprias restrições.
Resumo:
Atualmente, pesquisadores das mais diversas áreas, tais como: Geologia, Física, Cartografia, Oceanografia, entre outras, utilizam imagens de satélite como uma fonte valiosa para a extração de informações sobre a superfície terrestre. Muitas vezes, a análise (classificação) destas imagens é realizada por métodos tradicionais sejam eles supervisionados (como o Método de Máxima Verossimilhança Gaussiana) ou nãosupervisionados (como o Método de Seleção pelo Pico do Histograma). Entretanto, pode-se utilizar as Redes Neurais Artificiais como uma alternativa para o aumento da acurácia em classificações digitais. Neste trabalho, utilizou-se imagens multi-espectrais do satélite LANDSAT 5-TM para a identificação de espécies vegetais (Mata Nativa, Eucalyptus e Acácia) em uma região próxima aos municípios de General Câmara, Santo Amaro e Taquari, no Estado do Rio Grande do Sul, Brasil. Comparou-se qualitativamente e quantitativamente os resultados obtidos pelo método de Máxima Verossimilhança Gaussiana e por uma Rede Neural Artificial Multinível com BackPropagation na classificação da área de estudo. Para tanto, parte desta área foi mapeada através de uma verificação de campo e com o auxílio de classificadores nãosupervisionados (Kohonen, que é uma Rede Neural, e o método de Seleção pelo Pico do Histograma). Com isto, foi possível coletar dois conjuntos de amostras, sendo que um deles foi utilizado para o treinamento dos métodos e o outro (conjunto de reconhecimento) serviu para a avaliação das classificações obtidas. Após o treinamento, parte da área de estudo foi classificada por ambos os métodos. Em seguida, os resultados obtidos foram avaliados através do uso de Tabelas de Contingência, considerando um nível de significância de 5%. Por fim, na maior parte dos testes realizados, a Rede Neural Artificial Multinível com BackPropagation apresentou valores de acurácia superiores ao Método de Máxima Verossimilhança Gaussiana. Assim, com este trabalho observou-se que não há diferença significativa de classificação para as espécies vegetais, ao nível de 5%, para a área de estudo considerada, na época de aquisição da imagem, para o conjunto de reconhecimento.
Resumo:
As redes de computadores experimentam um grande crescimento não apenas em tamanho, mas também no número de serviços oferecidos e no número de protocolos de alto nível e aplicações que são executados sobre elas. Boa parte desses software (ex.: ICQ e Napster), em geral, não está diretamente ligada a aplicações críticas, mas o seu uso não controlado pode degradar o desempenho da rede. Para que se possa medir o impacto dos mesmos sobre a infra-estrutura, mecanismos de gerência ligados à contabilização e caracterização de tráfego são desejáveis. Por outro lado, alguns protocolos, serviços e aplicações (ex. servidores DNS e Web) suportam aplicações e precisam ser monitorados e gerenciados com maior atenção. Para essa classe de software de rede, a simples contabilização e caracterização de tráfego não é suficiente; tarefas de gerência como teste de serviços, detecção e manipulação de falhas, medição de desempenho e detecção de intrusão são importantes para garantir alta disponibilidade e eficiência da rede e aplicações. As ferramentas existentes para essa finalidade são, entre aspectos, (a) não integradas (necessidade de uma ferramenta para monitorar cada aplicação), (b) centralizadas (não oferecem suporte à distribuição de tarefas de gerenciamento) e (c) pouco flexíveis (dificuldade em gerenciar novos protocolos, serviços e aplicações). Nesse contexto, a tese propõe uma arquitetura, centrada na monitoração passiva em temporal do tráfego de rede, para gerenciamento distribuído de protocolos de alto nível, serviços e aplicações em rede. Baseada da MIB (Management Information Base) Script do IETF (Internet Engineering Task Force), a arquitetura Trace oferece mecanismos para a delegação de tarefas de gerenciamento a gerentes intermediários, que interagem com agentes de monitoração e agentes de ação para executá-las. A tese propõe também PTSL (Protocol Trace Specification Language), uma linguagem gráfica/textual criada para permitir que gerentes de rede especificam as interações de protocolos (traços) que lhes interessam monitorar. As especificações são usadas pelso gerentes intermediários para programar os agentes de monitoração. Uma vez programadas, esses agentes passam a monitorar a ocorrência dos traços.As informações obtidas são analisadas pelos agentes intermediários, que podem requisitar de ação a execução de procedimentos (ex: scripts Perl), possibilitando a automação de diversas tarefas de gerenciamento. A arquitetura proposta é validada por um protótipo: a plataforma de gerenciamento Trace.
Resumo:
A linguagem de programação Java vem sendo uma das escolhidas para a implementação de aplicações compostas por objetos distribuídos. Estas aplicações caracterizam-se por possuir comportamento complexo e, portanto, são mais difíceis de depurar e refinar para obter melhores desempenhos. Considerando a necessidade do desenvolvimento de uma ferramenta de monitoração para o modelo de objetos distribuídos, que colete informações mais detalhadas sobre a execução da aplicação, é apresentado neste trabalho um ambiente de monitoração de aplicações distribuídas escritas em Java, o DOMonitor. Um dos objetivos do DOMonitor é obter o comportamento que a aplicação apresenta durante a execução, possibilitando a detecção de comportamentos equivocados e seu respectivo refinamento. O DOMonitor é voltado para aplicações compostas por objetos distribuídos e caracteriza-se por identificar principalmente: (i) o comportamento dinâmico das threads; (ii) a utilização dos métodos de sincronização; e (iii) a comunicação entre os entes distribuídos da aplicação. O DOMonitor está fundamentado em quatro premissas: (i) ser transparente para o usuário, não exigindo anotações no código fonte; (ii) apresentar uma organização modular, e por isto ser flexível e expansível; (iii) ser portável, não exigindo nenhuma alteração na Maquina Virtual Java; e (iv) operar de forma a garantir a ordem dos eventos previstos pelo programa. Os dados produzidos pelo DOMonitor podem ser utilizados com diversas finalidades tais como visualização da execução, escalonamento e como suporte à execução de aplicações móveis. Para comprovar esta versatilidade, foi proposta a integração do sistema a dois outros projetos, o Pajé e o ISAM. O projeto ISAM utilizará os dados monitorados para tomadas de decisão durante o curso da execução e o projeto Pajé permite a visualização gráfica das características dinâmicas de uma aplicação Java.
Resumo:
Vários métodos analíticos, numéricos e híbridos podem ser utilizados na solução de problemas de difusão e difusão-advecção. O objetivo deste trabalho é apresentar dois métodos analíticos para obtenção de soluções em forma fechada da equação advectivo-difusiva em coordenadas cartesianas que descreve problemas de dispersão de poluentes na água e na atmosfera. Um deles é baseado em regras de manipulação de exponenciais de operadores diferenciais, e o outro consiste na aplicação de simetrias de Lie admitidas por uma equação diferencial parcial linear. Desenvolvem-se regras para manipulação de exponenciais de operadores diferenciais de segunda ordem com coeficientes constantes e para operadores advectivo-difusivos. Nos casos em que essas regras não podem ser aplicadas utiliza-se uma formulação para a obtenção de simetrias de Lie, admitidas por uma equação diferencial, via mapeamento. Define-se um operador diferencial com a propriedade de transformar soluções analíticas de uma dada equação diferencial em novas soluções analíticas da mesma equação. Nas aplicações referentes à dispersão de poluentes na água, resolve-se a equação advectivo-difusiva bidimensional com coeficientes variáveis, realizando uma mudança de variáveis de modo a reescrevê-la em termos do potencial velocidade e da função corrente correspondentes ao respectivo escoamento potencial, estendendo a solução para domínios de contornos arbitrários Na aplicação referente ao problema de dispersão de poluentes na atmosfera, realiza-se uma mudança de variáveis de modo a obter uma equação diferencial parcial com coeficientes constantes na qual se possam aplicar as regras de manipulação de exponenciais de operadores diferenciais. Os resultados numéricos obtidos são comparados com dados disponíveis na literatura. Diversas vantagens da aplicação das formulações apresentadas podem ser citadas, a saber, o aumento da velocidade de processamento, permitindo a obtenção de solução em tempo real; a redução da quantidade de memória requerida na realização de operações necessárias para a obtenção da solução analítica; a possibilidade de dispensar a discretização do domínio em algumas situações.
Resumo:
O conceito de parcialidade e importante em diversas áreas como a Matemática e a Ciência da Computação; ele pode ser utilizado, por exemplo, para expressar computações que não terminam e para definir funções recursivas parciais. Com rela cão a grafos, categorias de homomorfismos parciais são comuns (por exemplo, em gramáticas de grafos com a técnica de single-pushout). Este trabalho propõe uma abordagem diferente: a parcialidade é usada na estrutura interna dos objetos (não nos morfismos).Istoéfeito utilizando uma extensão do conceito de Categoria das Setas, chamada de Categoria das Setas Parciais. E definida entãoa categoria Grp de grafos parciais(tais que arcos podem possuir ou não vértices de origem e/ou destino) e homomorfismos totais.A generalização deste modelo resulta em categorias de grafos parciais internos.Émostrado que Grp é bicompleta e, se C é um topos, a categoria dos grafos parciais internos a C é cocompleta. Grafos parciais podem ser utilizados para definir modelos computacionais tais como autômatos. Uma categoria de Autômatos Parciais, denominada Autp, é construída a partir da categoria de Grafos Parciais. Usando uma extensão de composição de spans de grafos para autômatos, chamada de Composição de Transições, e possível definir as computações de autômatos. Brevemente, uma composição de transi cões de dois autômatos parciais resulta em um autômato parcial onde cada transição representa um caminho de tamanho dois (entre vértices), tal que a primeira metade é uma transição do primeiro autômato e a segunda metade é uma transição do segundo. É possível compor um autômato consigo mesmo diversas vezes; no caso de n sucessivas composições de transições, pode-se obter as palavras da linguagem aceita pelo autômato que necessitam de n+1 passos de computação nos arcos que não possuem origem e nem destino definidos do autômato parcial resultante.
Resumo:
Esta dissertação apresenta duas implementações de algoritmos para gerência dinâmica de memória em software, as quais foram desenvolvidas utilizando como alvo uma plataforma embarcada Java. Uma vez que a plataforma utilizada pertence a uma metodologia para geração semi-automática de hardware e software para sistemas embarcados, os dois algoritmos implementados foram projetados para serem integrados ao contexto desta mesma metodologia. Como forma de estabelecer comparações detalhadas entre as duas implementações desenvolvidas, foram realizadas diversas estimativas em desempenho, uso de memória, potência e energia para cada implementação, utilizando para isto duas versões existentes da plataforma adotada. Através da análise dos resultados obtidos, observou-se que um dos algoritmos desenvolvidos obteve um desempenho melhor para realização da gerência dinâmica da memória. Em contrapartida, o outro algoritmo possui características de projeto que possibilitam sua utilização com aplicações de tempo-real. De um modo geral, os custos adicionais resultantes da utilização do algoritmo de tempo-real, em relação ao outro algoritmo também implementado, são de aproximadamente 2% para a potência média dissipada, 16% para o número de ciclos executados, 18% para a energia consumida e 10% sobre a quantidade de total memória utilizada. Isto mostra que o custo extra necessário para utilização do algoritmo de tempo real é razoavelmente baixo se comparado aos benefícios proporcionados pela sua utilização. Como impactos finais produzidos por este trabalho, obteve-se um acréscimo de 35% sobre o número total de instruções suportadas pela arquitetura utilizada. Adicionalmente, 12% das instruções que já existiam no conjunto desta arquitetura foram modificadas para se adaptarem aos novos mecanismos implementados. Com isto, o conjunto atual da arquitetura passa a corresponder a 44% do total de instruções existentes na arquitetura da máquina virtual Java. Por último, além das estimativas desenvolvidas, foram também realizadas algumas sugestões para melhoria global dos algoritmos implementados. Em síntese, alguns pontos cobertos por estas sugestões incluem: a migração de elementos do processamento do escopo dinâmico para o estático, o desenvolvimento de mecanismos escaláveis para compactação de memória em tempo-real, a integração de escalonadores ao processo de gerência de memória e a extensão do processo de geração semi-automática de software e hardware para sistemas embarcados.