• 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.
291

MD-JPA : um perfil UML para modelagem do mapeamento objeto-relacional com JPA em uma abordagem dirigida por modelos / MD-JPA:a UML profile for object relational mapping with JPA in a model driven approach

Torres, Alexandre January 2009 (has links)
A abordagem de desenvolvimento dirigido por modelos (DDM) propõe que modelos (e transformações entre modelos) assumam o papel principal no desenvolvimento de sistemas. Entretanto, não há uma notação consensual para modelagem de persistência baseada em arcabouços de mapeamento objeto-relacional: enquanto a UML não possui recursos específicos para a modelagem de persistência, o modelo entidade-relacionamento não expressa os conceitos dinâmicos existentes na UML. Este trabalho propõe o perfil UML MD-JPA (Model Driven JPA) para a modelagem de persistência baseada na já difundida API de persistência Java (JPA), buscando a modelagem dos elementos persistentes e transientes de forma mais coerente e integrada. São especificadas as principais características do perfil MD-JPA, assim como a maneira pela qual modelos que adotam este perfil podem ser transformados em implementação Java, através de transformações de modelos propostas em uma abordagem DDM. Por fim, uma ferramenta de código livre foi desenvolvida para disponibilizar para comunidade os resultados deste trabalho. / The model driven development (MDD) approach proposes that models (and modelto- model transformations) play the main role on system development. However, there is not a consensual notation to model persistence based upon object relational mapping frameworks: while UML lacks specific resources for persistence modeling, the entityrelationship model does not make reference to the dynamic concepts existing in UML. This work proposes MD-JPA, a UML profile for persistence modeling based on the well-known Java Persistence API (JPA), pursuing the modeling of transient and persistent elements in a more coherent and integrated way. This work describes the main characteristics of MD-JPA as well as the way that models that adopt such profile can them be used to generate a Java implementation by the application of the proposed model transformations on a MDD approach. Finally, an open source tool was developed to make the results of this work available to the community.
292

Inference rules for generic code migration of aspect-oriented programs

Rubbo, Fernando Barden January 2009 (has links)
The latest versions of AspectJ { the most popular aspect oriented extension for Java { must cope with complex changes that occurred in the Java type system, specially with the parametric polymorphism which aims to improve the type safety and the readability of the source code. However, for legacy and non-generic constructions to take advantage of this pervasive feature, they must be migrated to explicitly supply actual type parameters in both declarations and instantiations of generic classes. Even though the type systems of Java and AspectJ were designed to support this kind of migration in a gradual way, this process is somewhat complex and error prone. The reason behind this assertion is that actual type parameters must be inferred to remove as much unsafe downcasts as possible without a ecting the original semantics of the program. Therefore, tools are essential to minimize the e ort of a manual application of the refactoring steps and to prevent the introduction of new errors. Since current automated solutions focus only on Java programs, they do not consider the use of aspects to encapsulate crosscutting concerns. Thus, this dissertation proposes a novel collection of inference rules to derive type constraints for the polymorphic version of AspectJ. These rules were used together with an existing generic migration algorithm to enable the conversion of non-generic legacy code to add actual type parameters in both Java and AspectJ languages.
293

Injeção de falhas de comunicação em aplicações multiprotocolo / Communication fault injection in multi-protocol applications

Menegotto, Cristina Ciprandi January 2009 (has links)
Aplicações de rede com altos requisitos de dependabilidade devem ser testadas cuidadosamente em condições de falhas de comunicação para aumentar a confiança no seu comportamento apropriado na ocorrência de falhas. Injeção de falhas de comunicação é a técnica mais adequada para o teste dos mecanismos de tolerância a falhas destas aplicações em presença de falhas de comunicação. Ela é útil tanto para auxiliar na remoção de falhas como na previsão de falhas. Dentre as aplicações de rede, algumas são baseadas em mais de um protocolo, como UDP, TCP e RMI. Elas são denominadas multiprotocolo no contexto desse trabalho, que foca naquelas escritas em Java e baseadas em protocolos que estão acima do nível de rede na arquitetura TCP/IP. Um injetor de falhas de comunicação adequado, que trate todos os protocolos utilizados, é necessário para o seu teste. Caso a emulação de uma falha que afete a troca de mensagens não leve em consideração todos os protocolos simultaneamente utilizados, o comportamento emulado durante um experimento poderá ser diferente daquele observado na ocorrência de uma falha real, de modo que podem ser obtidos resultados inconsistentes sobre o comportamento da aplicação alvo em presença da falha. Muitos injetores de falhas de comunicação encontrados na literatura não são capazes de testar aplicações Java multiprotocolo. Outros possuem potencial para o teste dessas aplicações, mas impõem grandes dificuldades aos engenheiros de testes. Por exemplo, contrariamente ao enfoque deste trabalho, algumas ferramentas são voltadas à injeção de falhas de comunicação para o teste de protocolos de comunicação, e não de aplicações. Tal orientação ao teste de protocolos costuma levar a grandes dificuldades no teste de caixa branca de aplicações. Entre outros exemplos de dificuldades proporcionadas por ferramentas encontradas na literatura estão a incapacidade de testar diretamente aplicações Java e a limitação quanto aos tipos de falhas que permitem emular. A análise de tais ferramentas motiva o desenvolvimento de uma solução voltada especificamente ao teste de aplicações multiprotocolo desenvolvidas em Java. Este trabalho apresenta uma solução para injeção de falhas de comunicação em aplicações Java multiprotocolo. A solução opera no nível da JVM, interceptando mensagens de protocolos, e, em alguns casos, opera também no nível do sistema operacional, usando regras de firewall para emulação de alguns tipos de falhas que não podem ser emulados somente no nível da JVM. A abordagem é útil para testes de caixa branca e preta e possui características importantes como a preservação do código fonte da aplicação alvo. A viabilidade da solução proposta é mostrada por meio do desenvolvimento de Comform, um protótipo para injeção de falhas de comunicação em aplicações Java multiprotocolo que atualmente pode ser aplicado para testar aplicações Java baseadas em qualquer combinação dos protocolos UDP, TCP e RMI (incluindo as baseadas em um único protocolo). / Networked applications with high dependability requirements must be carefully tested under communication faults to enhance confidence in their proper behavior. Communication fault injection is the most suitable technique for testing the fault tolerance mechanisms of these applications under communication faults. The technique is useful both for helping in fault removal and for fault forecasting. Some networked applications are based on more than one protocol, such as UDP, TCP and RMI. They are called multi-protocol in the context of this work, that targets on those written in Java and based on protocols above Internet layer in TCP/IP architecture. A suitable communication fault injector, that properly handles all used protocols, is required for their test. If the emulation of a fault that affects message exchanging does not take into account all simultaneously used protocols, the behavior emulated in an experiment can be different from that observed under real fault occurrence. Therefore, inconsistent results about the target application’s behavior under faults can be obtained from the experiments. Many communication fault injectors found in literature are not capable of testing multi-protocol Java applications. Others can potentially test these applications, but they impose several drawbacks for test engineers. For instance, contrarily to the focus of this work, some tools aim to communication protocol testing and not to application testing. This orientation to protocol testing usually leads to great difficulties in white box testing of applications. Other examples of difficulties related to using tools found in literature include inability to directly test Java applications and limitations in respect to types of emulated faults. The analysis of the fault injectors found in literature motivates the development of a solution specifically aimed at testing multi-protocol applications written in Java. This work presents a solution for communication fault injection in multi-protocol Java applications. The solution works at JVM level, intercepting protocol messages, and, in some cases, it also operates at the operating system level, using firewall rules for the emulation of faults that could not be emulated at JVM level. The approach is useful for both white box and black box testing and has advantages such as preserving the target application’s source code. The viability of the proposed solution is shown by the development of a prototype tool called Comform, that is aimed at multi-protocol Java application testing. Comform can be applied to test Java applications based on any combination of UDP, TCP, and RMI (including those based on a single protocol).
294

Ambiente visual para programação distribuída em java

Malacarne, Juliano January 2001 (has links)
Em vista da maior complexidade da programação paralela e distribuída em relação à programação de ambientes centralizados, novas ferramentas vêm sendo construídas com o objetivo de auxiliar o programador desses ambientes a desempenhar sua tarefa de formas mais eficazes e produtivas. Uma das ferramentas que há algum tempo tem sido usada na programação centralizada e aos poucos está sendo empregada também na programação concorrente é a programação visual. A programação visual se vale da presença de elementos visuais na especificação dos programas como peças chaves do processo de desenvolvimento de software. No caso específico da programação concorrente, a programação visual é especialmente útil pela capacidade que os gráficos têm de representar de forma mais adequada estruturas bidimensionais. Um programa concorrente, por relacionar no espaço diversos elementos com seus próprios fluxos de execução, faz surgir duas dimensões de análise que são mais difíceis de serem observadas através de programas textuais. Atualmente existem ferramentas de programação visual paralela e distribuída, mas a ênfase é dada na programação paralela, sem muita atenção a aplicações de sistemas abertos ou cliente-servidor. Além disso, tais ferramentas sofrem da falta de apoio à engenharia do software. Considerando essas deficiências, este trabalho apresenta uma ferramenta de programação visual para o desenvolvimento de aplicações compostas por objetos distribuídos que ofereça também a possibilidade de aplicar os principais conceitos da engenharia de software, como reutilização e orientação a objeto. Nesta ferramenta, o programador especifica de maneira visual a estrutura do seu programa, insere o código textual para a lógica da aplicação e o ambiente se encarrega do tratamento da distribuição e da comunicação de mais baixo nível. A aplicação é representada como um grafo dirigido, onde os nodos representam os objetos distribuídos e os arcos indicam os relacionamentos existentes entre esses objetos. A especificação dos programas é modular, baseando-se na reunião de componentes reutilizáveis, o que torna o sistema altamente configurável e extensível. Tanto a implementação da ferramenta quanto o código das aplicações geradas usam a linguagem de programação Java. A linguagem de programação visual projetada não especifica detalhes a respeito de como irá funcionar a comunicação e distribuição dos objetos. Portanto, foram implementados componentes para comunicação e outros recursos de programação distribuída, como locks e dados globais para serem usados nas aplicações. Para validar os principais objetivos da ferramenta, foram implementados alguns exemplos de aplicações distribuídas, como um pequeno sistema de bate-papo.
295

Mapeamento da linguagem Nautilus para Java

Fuzitaki, Claudio Naoto January 2004 (has links)
Este trabalho apresenta um mapeamento centrado nas construções não usuais da linguagem Nautilus, para a linguagem convencional, no caso Java, mantendo propriedades com atomicidade que são requisitos da semântica formal da linguagem. Nautilus é originalmente uma linguagem de especificação baseada em objetos, textual que suporta objetos concorrentes e não deterministas. Desde então a linguagem foi modificada aom extensões como classes e uma notação diagramática, além de se investigar seu uso como linguagem de programação. Suas construções incomuns (reificação, agregação, etc.) são baseados em seu domínio semântico: Automâtos Não Sequenciais. Este domíno satisfaz composição diagonal, i.e refinamentos se compõem (verticalmente) refletindo uma descrição gradual de sistemas, envolvendo múltiplos níveis de abstração, e distribui-se através de combinadores (horizontalmente), o que significa que o refinamento de um sistema composto é a combinação de do refinamento de suas partes.O trabalho inclui um mapeamento inicial de um subconjunto da linguagem(objeto base, reificação, agregação e visão), uma versão ampliada para abranger mais construções( interação e classes), e uma versão refinada mais concorrente e sugestões de modificação na linguagem.
296

Injeção distribuída de falhas para validação de dependabilidade de sistemas distribuídos de larga escala

Jacques-Silva, Gabriela January 2005 (has links)
Uma etapa fundamental no desenvolvimento de sistemas tolerantes a falhas é a fase de validação, onde é verificado se o sistema está reagindo de maneira correta à ocorrência de falhas. Uma das técnicas usadas para validar experimentalmente um sistema é injeção de falhas. O recente uso de sistemas largamente distribuídos para execução dos mais diversos tipos de aplicações, faz com que novas técnicas para validação de mecanismos de tolerância a falhas sejam desenvolvidas considerando este novo cenário. Injeção de falhas no sistema de comunicação do nodo é uma técnica tradicional para a validação de aplicações distribuídas, para forçar a ativação dos mecanismos de detecção e recuperação de erros relacionados à troca de mensagens. A condução de experimentos com injetores de comunicação tradicionais é feita pelo uso do injetor em uma máquina do sistema distribuído. Se o cenário desejado é de múltiplas falhas, o injetor deve ser instanciado independentemente nas n máquinas que as falhas serão injetadas. O controle de cada injetor é individual, o que dificulta a realização do experimento. Esta dificuldade aumenta significativamente se o cenário for um sistema distribuído de larga escala. Outro problema a considerar é a ausência de ferramentas apropriadas para a emulação de determinados cenários de falhas. Em aplicações distribuídas de larga escala, um tipo comum de falha é o particionamento de rede. Não há ferramentas que permitam diretamente a validação ou a verificação do processo de defeito de aplicações distribuídas quando ocorre um particionamento de rede Este trabalho apresenta o estudo de uma abordagem para injeção de falhas que permita o teste de atributos de dependabilidade de aplicações distribuídas de pequena e larga escala implementadas em Java. A abordagem considera a não obrigatoriedade da alteração do código da aplicação sob teste; a emulação de um cenário de falhas múltiplas que ocorrem em diferentes nodos, permitindo o controle centralizado do experimento; a validação de aplicações que executem em sistemas distribuídos de larga escala e consideram um modelo de falhas realista deste tipo de ambiente, incluindo particionamentos de rede. A viabilidade da abordagem proposta é mostrada através do desenvolvimento do protótipo chamado FIONA (Fault Injector Oriented to Network Applications), o qual atualmente injeta falhas em aplicações desenvolvidas sob o protocolo UDP.
297

Gerência dinâmica de memória em aplicações Java embarcadas

Neves, Bruno Silveira January 2005 (has links)
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.
298

Conjunto de classes para aplicações gráficas 2D em sistemas embarcados baseados no femtojava / Class Library for Femtojava-Based Embedded 2D Graphics Applications

Oliveira, Leandro Augusto de January 2006 (has links)
Com o crescimento do mercado de sistemas embarcados, em especial aqueles dispositivos portáteis como PDAs e celulares, observa-se o crescimento de mercados baseados nestas plataformas, como o mercado de entretenimento digital. Devido às características destes dispositivos, novas oportunidades e desafios acompanham estas mudanças. Com cada vez mais recursos incorporados, o projeto de software para estes dispositivos torna-se mais complexo, exigindo soluções que aumentem a produtividade do desenvolvedor. Este trabalho descreve o estudo de técnicas em software para reduzir o consumo de energia e aumentar o desempenho de sistemas embarcados com recursos gráficos, baseados no microprocessador Femtojava. Como subproduto deste trabalho, foi desenvolvida uma biblioteca gráfica para a plataforma Femtojava. Dois estudos de caso foram desenvolvidos para analisar a biblioteca desenvolvida, caracterizando o seu consumo de energia e desempenho. / With the growth of the embedded systems market, especially PDAs and mobile phones, other markets based on those platforms, like digital entertainment, have experienced growth as well. Due to its characteristics, embedded devices present new opportunities and challenges. With an ever growing number of features, software development for these devices becomes more complex, demanding more powerful tools for increasing developer productivity. This work presents the study of software techniques to save power and improve performance of graphics capable embedded devices, based on Femtojava microprocessor. As a sub product of this work, a graphical library has been developed for the Femtojava platform. Two case studies were developed in order to analyze the library, characterizing its power consumption and performance.
299

Viquen

Gueiber, Ezequiel 25 October 2010 (has links)
No description available.
300

Treinamento de uma rede neural de base radial usando computação evolutiva: implementação e aplicações

Nagashima, Renato [UNESP] 13 January 2006 (has links) (PDF)
Made available in DSpace on 2014-06-11T19:22:35Z (GMT). No. of bitstreams: 0 Previous issue date: 2006-01-13Bitstream added on 2014-06-13T19:48:58Z : No. of bitstreams: 1 nagashima_r_me_ilha.pdf: 670170 bytes, checksum: b680cfae5d9755dac4d8f5ad5aa087cc (MD5) / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES) / Este trabalho apresenta a implementação de uma Rede Neural de Base Radial (RNBR) utilizando tecnologia 0.8æm BiCMOS da ÁustriaMicroSystems (AMS) e seu respectivo treinamento utilizando a Computação Evolucionária (CE). O Algoritmo Genético (AG) foi o algoritmo de treinamento utilizado, pois é de simples operação, fácil implementação, eficaz na busca da região onde, provavelmente, encontra-se o mínimo global e é aplicável em situações onde não se conhece o modelo matemático ou este é impreciso. A finalidade deste trabalho é mostrar a capacidade de se fazer o treinamento de uma rede neural em um hardware, utilizando a Computação Evolucionária. Para demonstrar a viabilidade desta rede foram implementadas duas aplicações: a conversão de um sinal triangular em um sinal senoidal e a linearização de um oscilador controlado por tensão. Os resultados experimentais obtidos mostram a viabilidade deste treinamento. / This work describes the implementation of Radial Basis Neural Netwoks (RBNN) in 0.8æm BiCMOS technology of AustriaMicroSystems (AMS) and it is training using the Evolutionary Computation. The Genetic Algoritmic (AG) was the training algorithmic choice due its simple operation, easy implementation and efficient way to find the minimum global point. Also it can be applied when the mathematical model was not well formulated or inaccurate. The aim of this work is show the capacity of training the neural network implemented in hardware using the Evolutionary Computation. For show the feasibility of this neural network two application were implemented: the triangular sinusoidal signal conversion and the voltage controlled oscillator linearization. The experimental results show the feasibility of this training.

Page generated in 0.075 seconds