• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 489
  • 24
  • 6
  • 6
  • 6
  • 6
  • 3
  • 3
  • 1
  • 1
  • 1
  • Tagged with
  • 516
  • 516
  • 258
  • 178
  • 172
  • 128
  • 116
  • 83
  • 81
  • 76
  • 60
  • 57
  • 54
  • 51
  • 49
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
51

Implementação de mecanismo de sincronismo virtual: experiência com Java

Silva, Robson Soares January 2002 (has links)
Este trabalho relata as atividades de estudo, projeto e implementação de uma aplicação distribuída que explora mecanismos básicos empregados em comunicação de grupo. O estudo é focado no desenvolvimento e uso dos conceitos de sincronismo virtual e em resultados aplicáveis para tolerância a falhas. O objetivo deste trabalho é o de demonstrar as repercussões práticas das principais características do modelo de sincronismo virtual no suporte à tolerância a falhas. São preceitos básicos os conceitos e primitivas de sistemas distribuídos utilizando troca de mensagens, bem como as alternativas de programação embasadas no conceito de grupos. O resultado final corresponde a um sistema Cliente/Servidor, desenvolvido em Java RMI, para simular um sistema distribuído com visões de grupo atualizadas em função da ocorrência de eventos significativos na composição dos grupos (sincronismo virtual). O sistema apresenta tratamento a falhas para o colapso (crash) de processos, inclusive do servidor (coordenador do grupo), e permite a consulta a dados armazenados em diferentes servidores. Foi projetado e implementado em um ambiente Windows NT, com protocolo TCP/IP. O resultado final corresponde a um conjunto de classes que pode ser utilizado para o controle da composição de grupos (membership). O aplicativo desenvolvido neste trabalho disponibiliza seis serviços, que são: inclusão de novos membros no grupo, onde as visões de todos os membros são atualizadas já com a identificação do novo membro; envio de mensagens em multicast aos membros participantes do grupo; envio de mensagens em unicast para um membro específico do grupo; permite a saída voluntária de membros do grupo, fazendo a atualização da visão a todos os membros do grupo; monitoramento de defeitos; e visualização dos membros participantes do grupo. Um destaque deve ser dado ao tratamento da suspeita de defeito do coordenador do grupo: se o mesmo sofrer um colapso, o membro mais antigo ativo é designado como o novo coordenador, e todos os membros do grupo são atualizados sobre a situação atual quanto à coordenação do grupo.
52

Implementação de mecanismo de sincronismo virtual: experiência com Java

Silva, Robson Soares January 2002 (has links)
Este trabalho relata as atividades de estudo, projeto e implementação de uma aplicação distribuída que explora mecanismos básicos empregados em comunicação de grupo. O estudo é focado no desenvolvimento e uso dos conceitos de sincronismo virtual e em resultados aplicáveis para tolerância a falhas. O objetivo deste trabalho é o de demonstrar as repercussões práticas das principais características do modelo de sincronismo virtual no suporte à tolerância a falhas. São preceitos básicos os conceitos e primitivas de sistemas distribuídos utilizando troca de mensagens, bem como as alternativas de programação embasadas no conceito de grupos. O resultado final corresponde a um sistema Cliente/Servidor, desenvolvido em Java RMI, para simular um sistema distribuído com visões de grupo atualizadas em função da ocorrência de eventos significativos na composição dos grupos (sincronismo virtual). O sistema apresenta tratamento a falhas para o colapso (crash) de processos, inclusive do servidor (coordenador do grupo), e permite a consulta a dados armazenados em diferentes servidores. Foi projetado e implementado em um ambiente Windows NT, com protocolo TCP/IP. O resultado final corresponde a um conjunto de classes que pode ser utilizado para o controle da composição de grupos (membership). O aplicativo desenvolvido neste trabalho disponibiliza seis serviços, que são: inclusão de novos membros no grupo, onde as visões de todos os membros são atualizadas já com a identificação do novo membro; envio de mensagens em multicast aos membros participantes do grupo; envio de mensagens em unicast para um membro específico do grupo; permite a saída voluntária de membros do grupo, fazendo a atualização da visão a todos os membros do grupo; monitoramento de defeitos; e visualização dos membros participantes do grupo. Um destaque deve ser dado ao tratamento da suspeita de defeito do coordenador do grupo: se o mesmo sofrer um colapso, o membro mais antigo ativo é designado como o novo coordenador, e todos os membros do grupo são atualizados sobre a situação atual quanto à coordenação do grupo.
53

Algebraic laws for object oriented programming with references

PALMA, Giovanny Fernando Lucero 16 March 2015 (has links)
Submitted by Isaac Francisco de Souza Dias (isaac.souzadias@ufpe.br) on 2016-01-19T17:04:34Z No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) GIovannyTesis.pdf: 1126817 bytes, checksum: 54a975f083d8ea416057bffa468c281c (MD5) / Made available in DSpace on 2016-01-19T17:04:34Z (GMT). No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) GIovannyTesis.pdf: 1126817 bytes, checksum: 54a975f083d8ea416057bffa468c281c (MD5) Previous issue date: 2015-03-16 / CAPES / CNPq / There are several approaches to defining a formal semantics of a programming language. The main established ones are operational, denotational and axiomatic semantics. The first two rely on defining an explicit model, whereas the latter one is based on postulating relevant properties of the language in terms of axioms. Particularly, in a purely algebraic approach the axioms take the form of conditional equations (typically denoted as programming laws) that relate the language constructs. Without requiring an explicit model, the advantage of the algebraic approach is incrementality: the language can be extended and the laws tend to remain valid, provided the new constructs do not interfere with the behaviour of the original ones. Algebraic laws have been proposed to uncover interesting properties of several programming paradigms: imperative, logic, functional, concurrent and object oriented, among others. As for the other paradigms, there is a comprehensive set of laws for object oriented constructs, but these are restricted to a language with copy semantics; some laws to deal with references have also been proposed, but these are tailored to specific applications, and are far from being comprehensive. In general, formal reasoning with references has been a persistent challenge and algebraic approaches usually have avoided including them in programming languages. We propose a set of algebraic laws for reasoning about object oriented programs with a reference semantics. First we focus on sequential imperative programs that use object references like in Java. The theory is based on previous work by adding laws to cope with object references. The incrementality of the algebraic method is fundamental; with a few exceptions, existing laws for copy semantics are entirely reused, as they are not affected by the reference semantics. As an evidence of relative completeness, we show that any program can be transformed, through the use of our laws, to a normal form which simulates it using an explicit heap with copy semantics. Soundness is addressed by illustrating how some of the laws can be proved in a relational semantics for a subset of the language. We extend the theory of imperative programs for an object oriented language with the usual constructs: additional imperative commands with references, classes with inheritance and subtyping, visibility control, dynamic binding, type tests and downcasts. Algebraic laws are proposed for these new constructs. In order to illustrate the expressiveness of the laws for the object oriented language, we characterize and prove a set of refactorings from Fowler’s catalog. These are contrasted with previous work that formalized refactorings in the context of copy semantics. / Existem várias abordagens para descrever formalmente a semântica de linguagens de programação. As principais são semântica operacional, denotacional e axiomática. As duas primeiras definem modelos semânticos explícitos enquanto a última postula axiomas que descrevem propriedades relevantes da linguagem. Em uma abordagem puramente algébrica, os axiomas são equações (tipicamente denominadas leis de programação) que relacionam os diversos construtores da linguagem. A vantagem da álgebra é a facilidade de extensão: quando uma linguagem é estendida, a tendencia é que as leis já estabelecidas continuem sendo válidas, desde que os novos contrutores não interfiram com o comportamento dos construtores originais da linguagem Leis algébricas tem sido propostas para estudar propriedades interessantes de vários paradigmas de programação: imperativo, lógico, funcional, concorrente e orientado a objetos, entre outros. Em geral, para todos estes paradigmas existe um conjunto representativo de leis. Porém, para programação orientada a objetos, os trabalhos tem se restringido a linguagens com semântica de cópia ou as leis relacionadas com referências tem sido direcionadas somente para aplicações específicas e estão distantes de serem representativas. Em geral, raciocínio formal com referências tem sido um desafio persistente e os trabalhos algébricos usualmente tem evitado a inclusão de referências nas linguagens de programação. Propomos um conjunto de leis algébricas que permitem raciocinar com programas orientados a objetos com uma semântica de referências. Primeiro, focamos em uma linguagem imperativa sequencial que usa referências a objetos como em Java. A teoria é baseada em trabalhos anteriores adicionando leis que lidam com referências. A facilidade de extensão do método algébrico é fundamental; com poucas exeções, as leis anteriores para semântica de cópia são reusadas, pois elas não são afetadas pela semântica de referência. Como uma evidência de completude relativa, mostramos que qualquer programa pode ser transformado, usado as leis, em uma forma normal que simula o programa original usando um heap explícito com semântica de cópia. A consistência (soundness) das leis é abordada ilustrando como algumas das leis podem ser provadas em uma semântica relacional para um subconjunto da linguagem. Estendemos a teoria de programas imperativos para uma linguagem orientada a objetos com os habituais construtores: comandos imperativos adicionais com referências, classes com herança e subtipos, controle de visibilidade, amarração dinâmica, e testes e casts de tipos. Leis são propostas para estes novos construtores. Para ilustrar a expressividade das leis para a linguagem orientada a objetos, caracterizamos e provamos um conjunto de refatorações do catalógo clássico de Fowler. Comparamos nossa apresentação com trabalhos anteriores que formalizaram refatorações em um contexto de semântica de cópia.
54

Test automation from natural language with reusable capture & replay and consistency analysis

ARRUDA, Filipe Marques Chaves de 31 March 2017 (has links)
Submitted by Pedro Barros (pedro.silvabarros@ufpe.br) on 2018-08-01T20:03:01Z No. of bitstreams: 2 license_rdf: 811 bytes, checksum: e39d27027a6cc9cb039ad269a5db8e34 (MD5) DISSERTAÇÃO Filipe Marques Chaves Arruda.pdf: 2317425 bytes, checksum: 0739c60d4cc06fe57fcf2d3611f976cc (MD5) / Approved for entry into archive by Alice Araujo (alice.caraujo@ufpe.br) on 2018-08-02T20:13:13Z (GMT) No. of bitstreams: 2 license_rdf: 811 bytes, checksum: e39d27027a6cc9cb039ad269a5db8e34 (MD5) DISSERTAÇÃO Filipe Marques Chaves Arruda.pdf: 2317425 bytes, checksum: 0739c60d4cc06fe57fcf2d3611f976cc (MD5) / Made available in DSpace on 2018-08-02T20:13:13Z (GMT). No. of bitstreams: 2 license_rdf: 811 bytes, checksum: e39d27027a6cc9cb039ad269a5db8e34 (MD5) DISSERTAÇÃO Filipe Marques Chaves Arruda.pdf: 2317425 bytes, checksum: 0739c60d4cc06fe57fcf2d3611f976cc (MD5) Previous issue date: 2017-03-31 / CNPq / A common scenario when automating tests begins with a test engineer writing test cases with no formal specification or software supervision. Then, there is a developer that tries to understand what an ambiguous test means in order to transform it into code. Finally, there is an experienced tester that is responsible to supervise the execution and to verify whether the failures are indeed bugs, or a mistake from the developer or test engineer, or just a matter of change in the requirements or user interface. To reduce these recurring problems in test automation, we propose a unified process, to write test cases using a controlled natural language to check consistency and dependencies automatically or search for similar test descriptions written in free natural language. The proposed process is applied to a reusable capture & replay strategy, so anyone can automate tests even without previous knowledge about coding, besides mitigating scalability/maintainability issues by reusing actions with granularity ranging from simple commands, such as open an application, to entire test cases or even test suites. The actions are represented by an abstract, framework-free notation. Besides, the implementation covers plugins, including voice recording and image processing; and a proactive traceability for elements in the user interface. The strategy was consolidated through its implementation in a tool, in the context of a partnership with Motorola Mobility. It has been adopted in practice for different test suites, achieving a reuse ratio up to 71% for test cases written with no standard whatsoever, yet presenting time gains similar to traditional C&R approaches when compared to coding. Furthermore, through standardization, it was possible to define a consistency notion and to capture an association graph (whose edges represent dependency and cancellation relations) among test actions. From these associations, it was possible to establish a mechanism to ensure that each test action is preceded by actions on which it depends to be granted to execute. An editor (Kaki) was implemented to mechanize both adherence to the CNL and the dependencies between tests. From the associations informed within the user interface, Kaki generates an Alloy model automatically and uses Alloy Analyzer to verify consistency, besides possibly suggesting the insertion of test actions to satisfy the dependencies, automatically. / Um cenário comum na automação de testes inicia-se a partir da escrita dos casos de testes por um engenheiro de testes, sem alguma especificação formal ou supervisão por software. Então, um desenvolvedor tenta interpretar o que o teste potencialmente ambíguo significa antes de transformá-lo em código executável. Finalmente, um testador é responsável por verificar se as falhas são realmente bugs, ou erros cometidos pelo desenvolvedor, pelo engenheiro de teste ou apenas uma mudança nos requisitos ou na interface de usuário. Para reduzir estes problemas recorrentes na automação de testes, nós propomos um processo unificado de escrita de casos de testes usando linguagem natural controlada que permite a verificação automática de consistência e dependências na escrita de ações de teste, ou usando uma busca por descrições similares de ações quando escritas em linguagem natural livre. O processo proposto é aplicado em uma estratégia de capture & replay reusável, assim permitindo a automação por pessoas sem background em programação, além de mitigar problemas intrínsecos de escalabilidade e manutenabilidade através do reuso de ações de teste com granularidade que pode variar desde comandos simples, como abrir um aplicativo, um caso de teste inteiro, ou mesmo uma suite de testes. As ações são representadas através de uma notação abstrata e framework-agnóstica. Além disso, a implementação ainda abrange plugins que incluem captura de voz e processamento de imagem; e rastreabilidade proativa para os artefatos. A estratégia foi concretizada através de sua implementação em uma ferramenta (Zygon) e avaliada no contexto de uma parceria com a Motorola Mobility, tendo sido adotada na prática em diferentes suítes de testes usando a linguagem natural livre, atingindo um reuso de até 71% com ganho de tempo similar a abordagens de capture & replay quando comparadas à programação. Além disso, através da padronização da linguagem natural controlada, foi possível definir uma noção de consistência e capturar um grafo de associações (dependências e cancelamentos) entre ações de teste. A partir destas associações, foi possível estabelecer mecanismos para garantir que cada ação de um teste devesse ser precedida por ações das quais a mesma depende para ser executada. Um editor (Kaki) foi implementado para mecanizar tanto aderência à CNL, como a dependência entre ações de teste. A partir das associações informadas na interface gráfica, Kaki cria automaticamente um modelo Alloy e usa o Alloy Analyzer para fazer a verificação de consistência, além de possivelmente sugerir a inserção de ações de teste para satisfazer as relações de dependências, automaticamente.
55

Xchart : um modelo de especificação e implementação de gerenciadores de dialogos

Lucena, Fábio Nogueira de 19 December 1997 (has links)
Orientador: Hans Kurt Edmund Liesenberg / Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-07-23T12:23:21Z (GMT). No. of bitstreams: 1 Lucena_FabioNogueirade_D.pdf: 10000400 bytes, checksum: 439a01207296ae1c6e3311386ba751b8 (MD5) Previous issue date: 1997 / Resumo: O gerenciador de diálogo é um dos componentes mais complexos de uma interface e continua, em grande parte, sendo codificado manualmente em linguagens de programação convencionais. Isto contribui para elevar os custos de desenvolvimento e inibir alterações, que são indispensáveis ao desenvolvimento de interfaces. Essa dissertação propõe a linguagem Xchart e um ambiente de apoio voltados para o desenvolvimento de gerenciadores de diálogo. Xchart possui recursos para capturar adequadamente as funções desses componentes de interfaces. Cada gerenciador é especificado através de um conjunto de diagramas. A semântica formal de Xchart permite que esses diagramas sejam automaticamente executados por um interpretador. Em tempo de execução, instâncias desses diagramas podem ser criadas dinamicamente e executadas concorrentemente, possivelmente em um sistema distribuído, apoiadas pelo sistema de execução de Xchart / Abstract: Not informed / Doutorado / Doutor em Ciência da Computação
56

Implantando a tecnologia ATM em redes locais

Gomes, Lalinka de Campos Teixeira 18 February 1998 (has links)
Orientador: Ivanil Sebastião Bonatti / Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica e de Computação / Made available in DSpace on 2018-07-23T16:59:49Z (GMT). No. of bitstreams: 1 Gomes_LalinkadeCamposTeixeira_M.pdf: 6123065 bytes, checksum: 963497223ebf86fcba60e212742746ba (MD5) Previous issue date: 1998 / Resumo: : A evolução tecnológica e a oferta de novos serviços, tais como voz e vídeo interativo e transmissão de dados gráficos, têm gerado uma necessidade de reestruturação das redes locais tradicionais. A topologia que envolve compartilhamento do meio físico é bastante eficiente para transmissão de dados, que embora exijam baixas probabilidades de erros, são bastante tolerantes com relação a atrasos, suportando dessa forma retransmissões e congestionamentos. As aplicações multimídia nas redes locais, no entanto, apresentam restrições severas quanto a atrasos, ocupam grande banda e requerem transmissões a altas taxas, tomando assim a topologia física de acesso múltiplo inadequada e requerendo a migração para outra base tecnológica. Essa base é o ATM (Asyncronous Transfer Mock). Devido ao fato de a tecnologia ATM ser relativamente nova no ambiente das redes locais, representar maior investimento financeiro e ser mais complexa tanto na implantação quanto no gerenciamento, existe a necessidade de planejamento. Nesse contexto se insere este trabalho, no qual são apresentadas as características básicas do ATM, sua aplicabilidade nas redes locais e um aplicativo matemático-computacional destinado à implantação da tecnologia ATM nas redes locais / Abstract: The technological advances and the offer of new services, like voice and interactive video and graphic data transmission, have generated a need of changes in traditional local area networks. The topology that involves shared media is quite efficient for data transmission applications, which require low error probabilities but are very tolerant to delays, supporting retransmissions and congestions. The multimedia applications in local area networks, however, have strong delay constraints, need large bandwidth and require transmission at high rates, making the multiple access topology inadequate and creating a need for another technology. This technology is ATM (Asyncronous Transfer Mode). As ATM is new in the local area networks environment, its implantation and management are more complex and require higher financial investiments, leading to the need of careful planning. This work is inserted in this context, presenting the basic characteristics of ATM, its aplicability in local area networks, and a software designed for suporting ATM-based LANs / Mestrado / Mestre em Engenharia Elétrica
57

Enunciação e discurso : a linguagem de programação Logo no discurso do afasico

Freire, Fernanda Maria Pereira, 1961- 22 December 1999 (has links)
Orientador: Maria Irma Hadler Coudry / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Estudos da Linguagem / Made available in DSpace on 2018-07-26T07:27:37Z (GMT). No. of bitstreams: 1 Freire_FernandaMariaPereira_M.pdf: 6197798 bytes, checksum: 4cc54ee9586564cce4970f880064de59 (MD5) Previous issue date: 1999 / Resumo: O objetivo principal deste estudo é mostrar a pertinência do uso da linguagem de programação Logo Gráfico como protocolo de avaliação e seguimento de sujeitoscom dificuldades lingüístico-cognitivas,tomando como referencial teórico uma concepção enunciativo-discursiva de linguagem. Assim,interessa o trabalho realizado pelo sujeito,o processo que ele desenvolve, por meio da interlocução (com o computador e com o investigador) que se dá na própria avaliação. Subjacente à escolha do referencial teórico e ao tipo de aplicação a que o Logo se destina está o suposto que a linguagem natural tem uma participação fundamental na atividade de programação Logo. Por meio de atividades inter-relacionadas baseadas no uso da linguagem Logo, desenvolve-se uma avaliação com um sujeito com afasia semântica, sintomas de apraxia vísuo-construtiva e vísuo-espacial com o objetivo de analisar a relação entre a linguagem do sujeito e o modo como ele se organiza espacialmente por meio de uma atividade que requer construção. Características importantes do Logo como, comandos pragmaticamente informados (e redefiníveis) ,interatividade (que pressupõe alternância de interlocutores) e aplicação de noções espaciais, foram fundamentais para sua eleição como instrumento de avaliação. Os resultados mostram que o uso discursivo da linguagem Logo, compreendido como uma prática discursivarealizada por interlocutores que relaciona o uso cognitivo e social da linguagem, revela-se um importante espaço de produção de linguagem provocando a emergência de processos verbais e não verbais, bem como de suas relações, dando visibilidade ao trabalho lingüístico-cognitivodo sujeito / Abstract: Themain objective of this study isto show the pertinence of the use of the Graphic Logo programming language as evaluation and longitudinal follow up protocol of subjects with linguistic-cognitive difficulties, taking as theoretical referencial an enunciativodiscursive conception of language. Therefore the study is focused on the work accomplished by the subject, the process that he develops, through the dialogue (with the computer and with the investigator) that takes place in the evaluation. Underlying the choice of the theoretical referencial and the kind of application of Logo used is the supposition that natural language has a fundamental participation in programming activity. Through interrelated activities based on the use of Logo, an evaluation was developded with a subject with semantic aphasia, symptoms of visual-constructive and visual-spatialapraxia with the objective of analyzing the relationship between the subject's language and the way he accomplishes an activity that requiresconstruction using spacial notions. Important characteristics of Logo such as commands informed pragmatically (and that can be redefined), interactivity (that presupposes interlocutor alternation) and application of space notions, were fundamental for its selection as an evaluation instrument. The results show that the discursiveuse of Graphic Logo programming language, understood as a discursive practice accomplished by interlocutors that relate the cognitive and social use of language, can be an important part of language production, provoking the emergence of verbal and non- verbal processes, as well as their relationships,giving visibility to the subject's linguistic-cognitivework / Mestrado / Mestre em Linguística
58

Uma implementação distribuida da Maquina Virtual JAVA visando o compartilhametno do compilador "just-In-Time"

Ferreira, Rodrigo Augusto Barbato 29 March 2001 (has links)
Orientador: Guido Costa Souza de Araujo / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-07-27T17:17:44Z (GMT). No. of bitstreams: 1 Ferreira_RodrigoAugustoBarbato_M.pdf: 7083497 bytes, checksum: e0954b25f044d75d0166d511f5bbe192 (MD5) Previous issue date: 2001 / Resumo: A compilação Just-In- Time (JIT) é uma técnica amplamente utilizada no aperfeiçoamento do desempenho da Máquina Virtual Java (JVM, do inglês Java Virtual Machine). Con­tudo, o tempo gasto internamente pelo compilador JIT degrada, em muitos casos, o tempo de execução das aplicações. Algumas técnicas têm sido usadas com o objetivo de diminuir o impacto negativo do JIT sobre a execução, ainda sim preservando a sua eficácia. Entretanto, sempre haverá uma relação inversa entre o tempo gasto pelo compilador JIT e o tempo de execução do código objeto por ele produzido. Segundo nossa concepção, uma Máquina Virtual Java que visa usuários finais executa o mesmo código a maior parte do seu tempo. Os usuários sempre utilizam os mesmos aplicativos, os quais são tipicamente compostos pelo mesmo conjunto de classes. Por outro lado, em grandes companhias, dezenas ou até mesmo centenas de empregados compartilham a mesma aplicação ou pa­cote de aplicações. Usualmente, eles estão conectados a uma mesma Intranet, rápida e segura. Neste cenário, o esforço do JIT por usuário é repetitivo e bem maior que o estritamente necessário. O objetivo deste trabalho é o de desacoplar atividades de tempo de ligação da JVM para um servidor compartilhado, de maneira distribuída. Desta forma, cada cliente JVM se torna um componente de software muito simples que executa código Java nativamente, dispensando um JIT ou interpretador. Todas as atividades complexas de tempo de ligação - como detecção de erros, verificação do formato binário Java e com­pilação JIT - são efetuadas pelo servidor, que armazena suas respostas em uma cache. Este documento é uma descrição de uma implementação alternativa da Máquina Virtual Java que inova em muitos pontos. Em particular, são contribuições deste trabalho: as técnicas para a detecção e recuperação de contextos repetidos em tempo de ligação; um procedimento alternativo, off-line, para a verificação do bytecode Java; o projeto e a im­plementação de uma representação intermediária específica para Java; a descrição, em detalhes, de diversos aspectos de implementação da JVM / Abstract: Just-In-Time (JIT) compilation is a well-known technique used to improve the execution time in the Java Virtual Machine (JVM). However, the amount of time used by the JIT internals degrades, in many cases, the application execution time. Some techniques have been used to decrease the JIT overhead, while still keeping its effectiveness. However, the trade-off between the JIT running time and its object code execution time will always existo From our observation, an end-user Java Virtual Machine deals with the same code most of its time. Users always launch the same applications, which are typically composed of the same set of classes. On the other hand, in big companies, dozens or even hundreds of employees share the same application or application suite. Usually, they are connected under the same fast and secure Intranet. In this scenario, the per-user JIT effort is repetitive and largely greater than the strictly required. The goal of our work is to detach linking activities from the JVM to a shared server, on a distributed fashion. By doing that, the client JVM turns to be a very simple piece of software that runs Java code natively, not requiring a JIT or interpreter. All complex linking activities - like link-time error checking, class file verification and JIT compilation are done by the server, which caches its responses. This document is a description of an alternate implementation of the Java Virtual Machine that innovates. It covers specially: the techniques for detecting and caching repetitive link-time contexts; an alternate, offline, byte code verification procedure; the design and implementation of a Java specific intermediate representation; the detailed description of many JVM implementation issues / Mestrado / Mestre em Ciência da Computação
59

Geração e vetorização de instruções de multiplicação e acumulação para processadores DSP SIMD

Fargasch, Natalia Viana 01 July 2001 (has links)
Orientador : Guido Costa Souza de Araujo / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-07-27T21:58:37Z (GMT). No. of bitstreams: 1 Fargasch_NataliaViana_M.pdf: 3686476 bytes, checksum: 309fba7a4a0c16dcd92d2ef76510d72b (MD5) Previous issue date: 2000 / Resumo: Processadores que são projetados para executar aplicações específicas - em oposição a processadores de propósito geral- representam uma porcentagem cada vez maior do total de processadores vendidos anualmente. Esses processadores são utilizados em aparelhos eletrônicos como telefones celulares e câmeras digitais, dispositivos médicos de monitoração, modems, sistemas militares de radar, componentes eletrônicos de automóveis, set-top boxes, etc. As aplicações que são executadas por esses processadores tipicamente demandam um alto desempenho, combinado com reduzido tamanho de código e dissipação de energia. Esta dissertação aborda um dos problemas presentes durante a geração de código para uma classe desses processadores, os processadores de sinais digitais (DSPs): como o compilador pode utilizar as instruções especializadas desses processadores a fim de aumentar a densidade e melhorar o desempenho do código gerado. É proposto um procedimento que permite a detecçãoj geração de instruções de multiplicação e acumulação (muito comuns nas aplicações desses processadores). É ainda apresentado um método que permite explorar a possibilidade de execução de código em paralelo por duas ou mais unidades funcionais quando essas são capazes de operar simultaneamente sobre diferentes dados. Os métodos aqui apresentados permitem uma exploração bastante agressiva das instruções de multiplicação e acumulação, e se utilizam de algoritmos de análise de fluxo de dados e técnicas de reestruturação de laços. Não é conhecido nenhum trabalho que aborde esse problema da maneira como é apresentada neste / Abstract: Application specific processors - as opposed to general purpose processors - account for an ever increasing percentage of the processors sold each year. These processors are widely used in electronic devices such as cellular phones and digital cameras, medical monitoring devices, modems, military radar systems, electronic components in vehicles and set-top boxes, to name a few. The applications that usually run on these processors demand high performance, reduced code size and low power consuption. This thesis addresses one of the issues that arise when generating code for a class of these processors, the digital signal processors (DSPs): how the compiler can take advantage of their specialized instructions in order to reduce the size and improve performance of the code generated. A method is proposed that allows for the detectionj generation of multiply and accumulate instructions (typically present in these processors' applications). AIso presented in this work is a method that makes it possible to explore the possibility of running code in parallel on two or more functional units when these are capable of operating simultaneously on different data. The methods herein presented allow for an aggressive harnessing of multiply and accumulate instructions; to accomplish this goal they rely on data flow analysis algorithms and on loop restructuring techniques. No other work is known of that addresses this problem the way it is dealt with in this thesis / Mestrado / Mestre em Ciência da Computação
60

Desenvolvimento de um modelo de gerenciamento de redes de telecomunicações utilizando a plataforma CORBA

Saito, Junior Toshiharu 14 September 2001 (has links)
Orientador: Edmundo Roberto Mauro Madeira / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-07-29T00:37:16Z (GMT). No. of bitstreams: 1 Saito_JuniorToshiharu_M.pdf: 2131960 bytes, checksum: e2163c47f1b0ce788ed24753b3d88814 (MD5) Previous issue date: 2001 / Resumo: O gerenciamento de rede é uma tarefa muito importante para o funcionamento de uma rede, principalmente as redes de telecomunicações. A causa disto é o aumento do tamanho e da complexidade das redes que dificultam a deteção de fallias e baixo desempenho. Outro fator de importância na gerência é permitir que este seja feito de fonna descentralizada. O grupo OMG, analisando a possibilidade de se utilizar a sua platafonna CORBA para permitir esta forma de gerenciamento, lançou um conjunto de serviços para auxiliar a construção de aplicações para o gerenciamento de redes de telecomunicações. Neste traballio será apresentada uma arquitetura para o gerenciamento de redes de telecomunicações que utiliza objetos distribuídos. Esta arquitetura utiliza-se dos recursos existentes no Serviço de Notificação CORBA, várias ferramentas foram desenvolvidas / Abstract: The network management is a task very important to its operation, mainly in telecommunication networks. This fact is caused by increasing of size and complexity of the networks which raises difficulties to detect faults and low performance. Other important fact in network management is the decentralization of the managers, so in case of faults there will be a manager receiving the events. The CORBA architecture allows the decentralized network management, using the CORBA services. In this dissertation an architecture to the management of telecommunication networks using distributed objects is presented. This architecture uses the existent resources in the CORBA Notification Service, many tools were developed. / Mestrado / Mestre em Ciência da Computação

Page generated in 0.0878 seconds