• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 658
  • 348
  • 294
  • 174
  • 92
  • 74
  • 31
  • 26
  • 23
  • 23
  • 17
  • 14
  • 12
  • 11
  • 9
  • Tagged with
  • 1988
  • 549
  • 292
  • 265
  • 235
  • 222
  • 192
  • 190
  • 184
  • 178
  • 174
  • 174
  • 161
  • 140
  • 124
  • 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

Uma biblioteca intervalar baseada em processamento de strings

LEITE, Ivan Oliveira Bernardo January 2007 (has links)
Made available in DSpace on 2014-06-12T15:51:48Z (GMT). No. of bitstreams: 1 license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2007 / Java é uma linguagem multiplataforma amplamente utilizada nos dias atuais. Sistemas cliente-servidor, aplicações embarcadas e desktop são desenvolvidos a partir da facilidade que Java oferece. A comunidade que utiliza Java cria suas próprias bibliotecas e as disponibiliza na Web para que todos possam compartilhar de suas facilidades. Bibliotecas para criar servidores HTTP, processar imagens, conectar banco de dados fazem parte do núcleo da linguagem. O objetivo deste trabalho é desenvolver uma biblioteca em Java para representar um novo sistema numérico que utiliza a matemática intervalar e a aritmética de exatidão máxima. As operações aritméticas são realizadas através de processamento de Strings. As principais conclusões deste trabalho foram: (i) a representação de números racionais processados através de strings permite que se trabalhe com precisão e exatidão superiores à Java-XSC e o Maple Intervalar, sendo o custo desta exatidão refletido no tempo das operações; (ii) para qualquer uma das operações, repetidas 1000 vezes, seu tempo total de processamento é menor do que 1 segundo
292

Uma calculadora intervelar em Java

Sérgio Ribeiro Bezerra, Edmo January 2006 (has links)
Made available in DSpace on 2014-06-12T15:59:30Z (GMT). No. of bitstreams: 2 arquivo5132_1.pdf: 1120699 bytes, checksum: d826be5393b747d7f2d6eec4b73a8ba4 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2006 / Uma abordagem para controlar os erros de resultados de computações numéricas é utilizar a Matemática Intervalar. A Matemática Intervalar é uma teoria matemática que propõe solucionar problemas relacionados às inexatidões e imprecisões que aparecem na computação científica. Dessa maneira, a utilização de técnicas intervalares é uma alternativa para alcançar limites garantidos para os resultados de computações. Portanto, este trabalho tem como objetivos (i) implementar uma biblioteca XSC para suprir as necessidades de Java relacionadas com a implementa;ao dos números reais através dos números de ponto flutuante e (ii) desenvolver uma calculadora intervalar que resume e permite o uso das operações aritméticas, lógicas, transcendentais, trigonométricas e estatísticas que compõe a biblioteca intervalar Java. As facilidades da linguagem Java, entre elas reuso e aspectos de herança, permitiram o desenvolvimento modular e robusto da biblioteca intervalar. Quando comparados como o software IntpakX, os resultados obtidos com a calculadora Java-XSC foram satisfatórios considerando a métrica distância
293

Suporte a refatorações em um sistema de transformação de propósito geral

SANTOS, Gustavo Alexandre dos January 2006 (has links)
Made available in DSpace on 2014-06-12T15:59:36Z (GMT). No. of bitstreams: 2 arquivo5286_1.pdf: 1505909 bytes, checksum: f4646a946b73590a827dd6f77a6f55ef (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2006 / Conselho Nacional de Desenvolvimento Científico e Tecnológico / A técnica de refatoração de código vem se tornando cada vez mais comum em processos de desenvolvimento de software. A reestruturação contínua durante o processo de desenvolvimento contribui para um aumento da qualidade do código em termos de legibilidade, modularidade e reusabilidade. Desta forma, ganha-se em produtividade no processo como um todo. Por esta razão, refatorações são fortemente estimuladas em metodologias ágeis, como Extreme Programming (XP). Apesar do benefício trazido pela aplicação de refatorações durante o desenvolvimento, sua execução manual costuma ser cansativa e suscetível a erros. Por isto, tem crescido a adoção de ferramentas para aplicação automática de refatorações. Embora estas ferramentas ofereçam uma grande vantagem em relação ao processo manual, elas compartilham uma limitação comum: oferecem suporte a um número limitado de refatorações. Quando da necessidade por parte do usuário de customizar ou definir novas refatorações, a tarefa se mostra custosa e pouco amigável, já que é necessária a alteração direta do código fonte das ferramentas existentes. Este trabalho apresenta o desenvolvimento de um sistema de transformação de propósito geral que permite, de forma amigável para o programador convencional, a definição e aplicação de refatorações. Tal sistema é desenvolvido como uma extensão de JaTS, um sistema de transformação para a linguagem Java. Entre as contribuições do trabalho aqui apresentado estão a definição de uma linguagem de transformação com suporte a refatorações e a implementação das refatorações Self Encapsulate Field e Extract Method
294

ALCSP: um complicador baseado em AspectJ para modularizar a programação concorrente em programas Java

Elias Queiroga da Costa Araújo, José 31 January 2011 (has links)
Made available in DSpace on 2014-06-12T16:01:28Z (GMT). No. of bitstreams: 2 arquivo9411_1.pdf: 1518901 bytes, checksum: d645deca05140af7b59c0d3726ee9757 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2011 / Com o advento de processadores multicore, a programação concorrente ganhou importância e tem se tornado um dos grandes desafios da área de engenharia de software. O paradigma de programação concorrente, implementado por linguagens de programação como Java, C, e C++, oferece um nível de expressividade muito baixo, dificultando a sua utilização. Aliado a isso, o uso de bibliotecas que implementam abstração de concorrência, requer um esforço de aprendizado adicional, como também produz programas cuja lógica da regra de negócio está entrelaçada com chamadas para a biblioteca que implementa concorrência de forma mais abstrata. O presente trabalho propõe separar o código concorrente daquele usado no desenvolvimento de código sequencial Java. Todo comportamento concorrente é extraído do código e torna-se anotações de classe. Tais anotações seguem a sintaxe da linguagem CSP, uma linguagem formal que foi criada para descrever sistemas concorrentes e distribuídos. Para prover esta separação, este trabalho sugere um compilador, chamado AJCSP, o qual reconhece as anotações nas classes Java, gerando código concorrente utilizando a biblioteca JCSP. A programação orientada a aspectos foi explorada para instrumentar o programa sequencial Java com construções concorrentes contidas no código gerado. Para avaliar o framework proposto, foram utilizadas métricas de separação de preocupações (SoC), acoplamento, bem como tamanho em cinco sistemas distintos implementados nas diferentes abordagens de concorrência (java thread, JCSP e AJCSP). A avaliação obtida demonstrou que, quando utilizado AJCSP, a quantidade de linhas de código do sistema diminui, assim como a dependência com a biblioteca de concorrência
295

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
296

Tecnicas de otimização para o interpretador da K virtual machine

Pinto, Randal Juliano Pereira 19 November 2003 (has links)
Orientador : Rodolfo Jardim de Azevedo / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-03T22:42:38Z (GMT). No. of bitstreams: 1 Pinto_RandalJulianoPereira_M.pdf: 1892190 bytes, checksum: d5c7c9a843bf9760d761e985a3df1b3c (MD5) Previous issue date: 2003 / Resumo: Dispositivos portáteis e personalizáveis têm se tornado Ítens cada vez mais importantes em nossas vidas. Telefones celulares, organizadores pessoais, terminais de serviço pos-suem algumas características em comum como a funcionalidade limitada, restrições de tamanho e custo e, principalmente, são um mercado em plena expansão. Para atender a esta demanda, a Sun Microsystems Inc. extendeu o escopo da sua tecnologia Java com a introdução do Java 2 Platform Micro Edition (J2ME). Tendo em vista a característica limitada deste tipo de dispositivo, melhorias no desempenho da plataforma J2ME são essenciais para o seu desenvolvimento e aceitação. Diversas propostas de otimização são encontradas na literatura com enfoque principal nas tecnologias J2SE (Java 2 Standard Edition) e J2EE (Java 2 Enterprise Edition), porém quase nenhuma delas visa exclusi-vamente as necessidades da plataforma J2ME. Este trabalho propõe a aplicação de duas técnicas de otimização no interpretador da KVM. A primeira técnica baseia-se na redução da freqüência de acessos à memória e resultou em ganhos totais nos benchmarks analisa- dos de 0,14% a 5,66% e ganhos em alguns testes de até 37,71%, com aumento no código fonte de apenas 0,62% em relação ao tamanho do executável original. A segunda baseia-se na redução de alguns passos do ciclo de interpretação de bytecodes e seu resultado geral variou de -0,90% até 5,32%, obtendo ganhos em alguns testes de até 18%, com aumento nos códigos fonte variando entre 0,0052% e 0,0142% / Abstract: Mobile and customizable devices are increasingly becoming important items in our lives. Cellular phones, personal organizers, service terminaIs have many characteristics in com- mon such as limited functionality, size and cost restrictions and specially are an expanding market. To attend this demanding market, Sun Microsystems Inc. extended the scope of the Java technology, introducing the Java 2 Platform Micro Edition (J2ME). Considering the limitations on this kind of device, performance improvements on the J2ME platform are essential to its development and general acceptance. Several optimization proposals can be found in the technicalliterature focused on J2SE (Java 2 Standard Edition) and J2EE (Java 2 Enterprise Edition) platforms, but almost none aims at the needs of the J2ME platform. The goal of this dissertation is to apply two optimization techniques to the KVM's interpreter. The first technique is based on reducing the number of memory accesses and resulted in a general performance increase from 0.14% to 5.66% and up to 37% for some benchmark programs. The increase on the source code size was only 0.62%, when compared to the original executable size. The second technique is based on reducing some steps of the bytecode interpretation cycle and its general results varied from a per-formance overhead of 0.90% to a performance increase of 5.32%, and up to 18% speedup for some of the benchmark programs. The increase in the source code size varied from 0.0052% to 0.0142%, when compared to the original executable size / Mestrado / Mestre em Ciência da Computação
297

Interconexão dinamica de objetos distribuidos Java

Ferreira, Adrian C 24 July 2018 (has links)
Orientador: Rogerio Drummond / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-07-24T16:46:49Z (GMT). No. of bitstreams: 1 Ferreira_AdrianC_M.pdf: 2440367 bytes, checksum: 606a73d181b5258837050d4f9f335d57 (MD5) Previous issue date: 1998 / Resumo: o desenvolvimento de aplicações distribuídas, quando não indispensável, permite um aproveitamento mais eficiente de recursos. Entretanto, esses programas ainda exigem muito esforço de programação se comparado com o desenvolvimento de programas convencionais não-distribuídos. Existe portanto a necessidade de mecanismos que facilitem o trabalho do desenvolvedor. As tecnologias disponíveis atualmente ainda dificultam a criação de objetos remotos, ajudando apenas a interconexão estática: as ligações entre os objetos devem ser definidas em tempo de compilação. Além disso, não há um padrão de comunicação entre os objetos: cada aplicação constrói suas próprias conexões. Outro aspecto que precisa ser aprimorado é o de mecanismos que efetivamente elevem o nível de abstração para o desenvolvedor, tando para a criação de objetos remotos quanto para a configuração das aplicações. Este trabalho apresenta a versão inicial de um ambiente para desenvolvimento de aplicações distribuídas onde os objetos são facilmente criados e sua configuração pode ser realizada depois que os objetos foram instanciados. A comunicação entre esses objetos pode utilizar conectores que são vias previamente definidas e com infra-estrutura mais elaborada para fornecer serviços associados ao estabelecimento de uma conexão. / Abstract: Distributed application development is, in some cases a good choice for improving resources usage; in other cases it is even more important and the developer's only choice. On the other hand, this kind of programming needs hard development work when compared with non-distributed application programming. Today, creation of remote objects is not simple; besides connections are static: object binding must be defined before code compilation. Another difficulty arises as there is no standard in object communication. Therefore, it is necessary to develop resources for high level distributed programming. This project presents the first version of an environment for distributed application development where distributed objects are created as simply as a local one. Objects can be configured dynamically and connectors (channels with incorporated semantics) can be used to establish communication between objects in a high level programming. / Mestrado / Mestre em Ciência da Computação
298

Tabulex, en algoritmutbrytning : Analys och jämförelse mellan objektorienterade språk

Johansen, Carl, Andersson, Mikael January 2017 (has links)
Tabulex is a software produced and developed by IST AB that manages scheduling for schools. The purpose of this project was to extract an algorithm embedded in the software written inDelphi and translate it into Java. These languages share many similarities due to them bothbeing object oriented. Studies were made to compare the differences in the languages on themost basic of concepts such as: performance, inheritance, classes and encapsulation. To achievea more thorough basis for this study other programming languages in the object orientatedparadigm were compared as well. Tests were made between C++, C# and Java to test andanalyse differences in execution time on a few selected algorithms. The report also refers toexternal tests where the languages are tested using the same principle as above. With theextraction of the algorithm the biggest difference was how Delphi handles encapsulation incomparison to Java. The extraction of the algorithm succeeded and you could see clearimprovements in execution time and efficiency. The performance comparisons showed adifference in execution-time in the different programming languages. C++ was the fastest andit could be linked to the fact that C++ has pointers which allows a programmer to refer directlyto a specific location in memory. Some of the time-differences could also be linked to differentcompilers and support for features such as JIT - Just in time compilation.
299

Design av en användarvänlig Androidapplikation för trådlös kommunikation med Electronic Control Unit för bil eller testmiljö

Österberg, Martin January 2016 (has links)
This is a study about software usability and information presen-tation in an Android application. The application is meant topresent the information coming being sent on the CAN buss ofa car or to listen to the messages being sent by just a few ECUconnected via a CAN buss. The study aims to evaluate the usabi-lity of the application based on an exploratory research method.The study was conducted using an iterative processes, where wefirst created a prototype. The prototype was then presented to anumber of users and they were asked to do a number of simpletasks within the application. We then used the feedback from thisexamination to improve the usability of the application. After thiswe did a second presentation of the application and compared itto the results to the results from the previous tests to see if wesucceeded in increasing the usability of the application.The first study tests showed that there were several weaknesses inthe application that we ourselves did not see. It showed that ourbackground was too prominent and that the text became hard toread, along with several other small things that we corrected. Wethen saw in our second tests that most parts of the applicationhad improved. There were still some parts of the application thatcould still use some development, and all people what differentthings in an application. / I vårt examensarbete så har vi gjort en undersökning på hur viska utforma en Android applikation för att få den att presenteradata på ett lätt och användarvänligt sätt. Applikationen är me-nad att presentera den data som skickas mellan ECU:erna i enbil eller testmiljö. Undersökningen som görs kommer testa hurpass användarvänlig, lättförståelig och tilltalande applikationenär, och utifrån det förbättra den.Under utvecklingen och undersökningen så använde vi oss av eniterativ process, med denna process så började vi att skapa enprototyp av applikationen. Denna prototyp användes sedan föratt utföra en användarutvärderingar där vi bad ett antal per-soner att testa applikationen, sedan fick de svara på ett antalfrågor angående applikationen. Data ifrån detta användes sedanför att uppdatera applikationens utseende och funktion. Efterdetta gjorde vi en till utvärdering där vi ställde samma frågorsom tidigare. Vi jämförde därefter de nya svaren med svaren frånden första utvärderingen för att se om vi lyckats förbättra appli-kationen.Den första studien visade att det fans flera svagheter i den ur-sprungliga applikationen. Till exempel så tog bakgrunden förmycket fokus och texten var svårläslig, det var utöver detta mångamindre detaljer som anmärktes på. Vi märkte efter vårt andratest att applikationen hade färre och mindre svagheter. Använ-darnas helhetsintryck av applikationen var bättre och mer posi-tivt.
300

Utveckling av applikation till plattformen Android / Development of application for the Android platform

Bäärnhielm, Arvid January 2015 (has links)
Målet med detta projekt var att utveckla en applikation för Android för lagring av tillagade matlådor. Utifrån beräknad hållbarhetstid för matlådan skulle en notifikation ges innan matlådan blev dålig. Då idén byggde på att hållbarhetstider skulle beräknas utifrån ingående ingredienser så kunde projektet inte färdigställas när det visade sig att detta inte var ett genomförbart sätt att beräkna hållbarhetstid. En till stora delar fungerande applikation utifrån grundidén har ändå skapats.

Page generated in 0.0367 seconds