Spelling suggestions: "subject:"java ( language)"" "subject:"lava ( language)""
1 |
Compilação de bytecodes Java para um ambiente de arquitetura reconfigurável /Lima, Willian dos Santos. January 2009 (has links)
Orientador: Renata Spolon Lobato / Banca: Eduardo Marques / Banca: Aleardo Manacero Junior / Resumo: Durante esta pesquisa, foram investigados conceitos relacionados à computação reconfigurável, processo de compilação e funcionamento da compilação Java, especialmente no que se refere à manipulação de bytecodes. O principal objetivo é a elaboração conceitual de um compilador capaz de traduzir bytecodes de um aplicativo Java para código binário obediente ao conjunto de instruções do processador Nios II da Altera®, acompanhada de algumas implementações. Com este compilador, será possível a construção de programas para dispositivos que utilizem o processador Nios II, como dispositivos de sistemas embarcados, a partir da linguagem Java. Isto proporciona uma forma ágil para a elaboração de aplicativos para sistemas desse tipo. Implementações relevantes foram desempenhadas de forma a comprovar o funcionamento do referido compilador. Tais implementações abrangeram suporte de bytecodes referentes a um subconjunto da linguagem Java, bem como a criação de estruturas de representação intermediária e mecanismos para geração de código final. Além disso, foram desenvolvidos um simulador e um montador de instruções do Nios II de forma a auxiliar no andamento do trabalho. Como resultado, pôde-se verificar que é possível o desenvolvimento de tal ferramenta e que sua existência contribui para o desenvolvimento de outras ferramentas ou aplicativos inseridos no contexto de computação reconfigurável. / Abstract: During this research, concepts concerning about reconfigurable computing, compiling process and Java compilation were investigated, especially relating to bytecode generation. The goal of this research is twofold: first, the conceptual development of a compiler that is able to translate bytecodes from a Java application to binary code compliant with Altera™ Nios II processor instruction set, and second, provide a set of appropriate implementations for the proposed compiler. With this compiler, it will be possible to construct programs for devices that use Nios II processor, as embedded systems devices, from Java language, providing an agile manner for applications' building for this kind of systems. Relevant implementations were performed to prove compiler's functionalities. Such implementations covered bytecodes' support to a Java language subset, as well as intermediate structures and final code generation mechanisms. Besides, a simulator and an assembler for Nios II instructions were developed to help this work's evolution. As result, it was possible to verify that the development of such tool is feasible and contributes to the generation of other tools and applications inserted in the context of reconfigurable computing. / Mestre
|
2 |
Compilação de bytecodes Java para um ambiente de arquitetura reconfigurávelLima, Willian dos Santos [UNESP] 27 February 2009 (has links) (PDF)
Made available in DSpace on 2014-06-11T19:29:39Z (GMT). No. of bitstreams: 0
Previous issue date: 2009-02-27Bitstream added on 2014-06-13T20:39:05Z : No. of bitstreams: 1
lima_ws_me_sjrp.pdf: 1076568 bytes, checksum: 2b137d2ad2832d04670f7d9c091eb474 (MD5) / Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) / Durante esta pesquisa, foram investigados conceitos relacionados à computação reconfigurável, processo de compilação e funcionamento da compilação Java, especialmente no que se refere à manipulação de bytecodes. O principal objetivo é a elaboração conceitual de um compilador capaz de traduzir bytecodes de um aplicativo Java para código binário obediente ao conjunto de instruções do processador Nios II da Altera®, acompanhada de algumas implementações. Com este compilador, será possível a construção de programas para dispositivos que utilizem o processador Nios II, como dispositivos de sistemas embarcados, a partir da linguagem Java. Isto proporciona uma forma ágil para a elaboração de aplicativos para sistemas desse tipo. Implementações relevantes foram desempenhadas de forma a comprovar o funcionamento do referido compilador. Tais implementações abrangeram suporte de bytecodes referentes a um subconjunto da linguagem Java, bem como a criação de estruturas de representação intermediária e mecanismos para geração de código final. Além disso, foram desenvolvidos um simulador e um montador de instruções do Nios II de forma a auxiliar no andamento do trabalho. Como resultado, pôde-se verificar que é possível o desenvolvimento de tal ferramenta e que sua existência contribui para o desenvolvimento de outras ferramentas ou aplicativos inseridos no contexto de computação reconfigurável. / During this research, concepts concerning about reconfigurable computing, compiling process and Java compilation were investigated, especially relating to bytecode generation. The goal of this research is twofold: first, the conceptual development of a compiler that is able to translate bytecodes from a Java application to binary code compliant with Altera™ Nios II processor instruction set, and second, provide a set of appropriate implementations for the proposed compiler. With this compiler, it will be possible to construct programs for devices that use Nios II processor, as embedded systems devices, from Java language, providing an agile manner for applications’ building for this kind of systems. Relevant implementations were performed to prove compiler’s functionalities. Such implementations covered bytecodes’ support to a Java language subset, as well as intermediate structures and final code generation mechanisms. Besides, a simulator and an assembler for Nios II instructions were developed to help this work’s evolution. As result, it was possible to verify that the development of such tool is feasible and contributes to the generation of other tools and applications inserted in the context of reconfigurable computing.
|
3 |
Intégration des évènements non périodiques dans les systèmes temps réel : application à la gestion des évènements dans la spécification temps réel pour Java / Non periodic task integration in real-time systemes : application to the real-time specification for JavaMasson, Damien 08 December 2008 (has links)
Les systèmes temps réel sont des systèmes informatiques composés de tâches auxquelles sont associées des contraintes temporelles, appelées échéances. Dans notre étude, nous distinguons deux familles de tâches : les tâches temps réel dur et les tâches temps réel souple. Les premières possèdent une échéance stricte, qu'elles doivent impérativement respecter. Elles sont de nature périodique, ou sporadique, et l'étude analytique de leur comportement fait l’objet d’un état de l’art conséquent. Les secondes sont de nature apériodique. Aucune hypothèse sur leur modèle d’arrivéée ni sur leur nombre n’est possible. Aucune garantie ne saurait être donnée sur leur comportement dès lors que l’on ne peut écarter les situations de surcharge, où la demande de calcul peut dépasser les capacités du système. La problématique devient alors l'étude des solutions d’ordonnancement mixte de tâches périodiques et apériodiques qui minimisent les temps de réponse des tâches apériodiques tout en garantissant les échéances des tâches périodiques. De nombreuses solutions ont été proposées ces vingt dernières années. On distingue les solutions basées sur la réservation de ressources, les serveurs de tâches, des solutions exploitant les instants d'inactivité du système, comme les algorithmes de vol de temps creux. La spécification Java pour le temps réel (RTSJ) voit le jour dans les années 2000. Si cette norme répond à de nombreux problèmes liés à la gestion de la mémoire ou à l'ordonnancement des tâches périodiques, celui de l'ordonnancement mixte de tâches périodiques et apériodiques n'est pas abordé. Nous proposons dans cette thèse d’apporter les modifications nécessaires aux algorithmes principaux d’ordonnancement mixte, le Polling Server (PS), le Deferrable Server (DS) et le Dynamic Approximate Slack Stealer (DASS) en vue de leur implantation avec RTSJ. Ces algorithmes ne peuvent en effet être implantés directement tels qu'ils sont décrits, car ils sont trop liés à l'ordonnanceur du système. Nous proposons des extensions aux APIs RTSJ existantes pour faciliter l’implantation de ces mécanismes modifiés, et nous fournissons les interfaces utiles à l’ajout d'autres solutions algorithmiques. Nous proposons également des modifications sur les APIs existantes de RTSJ afin de répondre aux problèmes d'intégration et d'implantation d’algorithmes d’analyse de faisabilité. Nous proposons enfin un algorithme d’estimation des temps creux, le Minimal Approximate Slack Stealer (MASS), dont l’implantation au niveau utilisateur, permet son intégration dans RTSJ / In computer science, real-time systems are composed of tasks. To each task is associated a timing constraint called a deadline. We distinguish two kinds of tasks : the hard ones and the soft ones. Hard tasks have hard deadlines, which must be respected to ensure the correctness of the system. So hard tasks are in essence periodic, or sporadic. Their behavior has been extensively studied. Soft tasks have soft deadlines that the system has to try to respect. When a task arrival model is unknown, i.e. when task is aperiodic, burst arrivals situation can happens, which makes the tasks timing behavior unpredictable. So aperiodic tasks can only have soft deadlines. The studied problem in this thesis is then the joint scheduling of hard periodic tasks with soft aperiodic events, where the response times of soft tasks have to be as low as possible while the guarantee to meet their deadlines has to be given to hard tasks. A lot of solutions have been proposed these past two decades. We distinguish solutions based on resource reservation, like task servers, and solutions which take benefit from system idle times, like the slack stealer techniques. The first version of the Real-Time Specification for Java (RTSJ) was proposed in early 2000. This specification addresses a lot of problems related to the memory management or the scheduling of periodic tasks. But if it proposes a model to write aperiodic events, advanced mechanisms for the integration of such events to handle the above-mentioned problem are not discussed. We propose modifications to the main advanced mixed scheduling mechanisms like the Polling Server (PS), the Deferrable Server (DS) or the Dynamic Approximate Slack Stealer (DASS) in order to make their implementation possible with the RTSJ. Indeed, these algorithms are deeply connected to the system scheduler, and have to be adapted in order to be implemented in a user-land level.We propose extensions to current RTSJ APIs in order to integrate the modified algorithms and to allow the addition of other algorithms in a unified framework. We also propose some modifications to the RTSJ APIs in order to solve some problems we encountered during the integration of modified algorithms, especially in the field of the feasibility analysis algorithms integration in the specification. Finally, we propose the Minimal Approximate Slack Stealer algorithm (MASS), which is independent of the scheduler implementation and has a lower overhead than DASS
|
4 |
Proposta de uma linguagem Java para um ambiente paralelo-JAPAR / Design of the Java-like language for a parallel environment-JAPARTraina, Antônio Fernando 10 March 2000 (has links)
Com o crescente número de usuários de computadores, novas ferramentas têm sido apresentadas com a finalidade de aumentar a eficiência dos computadores, meio para que seus usuários disponham de recursos automatizados. Mais recentemente, máquinas ligadas em rede de computadores e o fenômeno Internet tornaram necessárias ferramentas específicas para este tipo particular de uso. Entre as principais respostas a essas necessidades surgiu a linguagem Java, que tem ganhado adeptos tanto na comunidade científica como no mercado. Surge daí a necessidade de buscar formas alternativas para o uso de computadores em rede. Entre as soluções propostas encontra-se a de arquiteturas e linguagens paralelas. Estas ferramentas, ainda em fase experimental, apresentam soluções que podem a médio e longo prazo serem viáveis, desde que estudos e pesquisas mostrem sua viabilidade. Neste trabalho investiga-se a aplicação do conceito de paralelismo em linguagens para rede, mais especificamente a linguagem Java. A proposta é estudar as possíveis formas para se explorar o paradigma de linguagens paralelas em ambientes Java. Para isto, apresenta-se uma pesquisa relativa as principais linguagens paralelas disponíveis na literatura, de forma a conhecer as melhores soluções apresentadas por essas linguagens. O trabalho apresenta também um estudo realizado em um conjunto de ferramentas Java disponíveis no mercado. Finalmente, propõe-se um novo ambiente que possa disponibilizar ao usuário os melhores recursos da linguagem Java, explorando as melhores soluções encontradas na literatura. / With the increasing number of computer users, new tools have been presented to improve the computers efficiency and to make automated resources available for those users. Nowadays, the use of computers in a network and the Internet phenomenon requires specific tools. Among them, the Java language appears as an important tool, which has been attracting users in both the scientific and commercial communities. At the same time the computer networks are becoming more popular and some problems have emergent concerned to the networks assessment and connections. It is necessary to look for alternative ways of handling the network computer systems. The parallel architectures and languages appear among the proposed solutions. These tools are still in an experimental phase, studies and researches being necessary additional to confirm their feasibility. In this work we investigate the application of parallelism concepts in languages for networks, and particular we deal with the Java language. The aim is to study the possible approaches for exploring the parallel languages paradigm in Java environments. Research about the main parallel languages available in the literature is presented, in order to check the best solutions proposed by those languages. The work also presents an investigation about the Java tools available in the commercial market. Finally a new environment is proposed that makes some of the best resources of language Java available to the users by exploring the best solutions found in the literature.
|
5 |
Practical transparent persistenceIbrahim, Ali Hussein, 1980- 23 March 2011 (has links)
Many enterprise applications persist data beyond their lifetimes, usually in a database management system. Orthogonal persistence provides a clean programming model for communicating with databases. A program using orthogonal persistence operates over persistent and non-persistent data uniformly. However, a straightforward implementation of orthogonal persistence results in a large number of small queries each of which incurs a large overhead when accessing a remote database. In addition, the program cannot take advantage of a database's query optimizations for large and complex queries. Instead, most programs compose smaller queries into a single large query explicitly and send the query to the database through a command-level interface. These explicit queries compromise the modularity of programs because they do not compose well and they contain information about the program's future data access patterns. Consequently, programs with explicit queries are harder to maintain and reason about. In this thesis, we first define transparent persistence, a relaxation of orthogonal persistence. We show how transparent persistence in current tools can be made more practical by developing AutoFetch. The key idea in AutoFetch is to dynamically observe a program's data access patterns and use that information to reduce the number of queries. While AutoFetch is constrained by existing Java technology and tools, Remote Batch Invocation (RBI) adds the batch statement to the Java language. The batch statement is a general purpose mechanism for optimizing distributed communication using batching. RBI-DB specializes the ideas in RBI for databases. Both of these ideas help bridge the performance gap between orthogonally persistent systems and traditional database interfaces. / text
|
6 |
Proposta de uma linguagem Java para um ambiente paralelo-JAPAR / Design of the Java-like language for a parallel environment-JAPARAntônio Fernando Traina 10 March 2000 (has links)
Com o crescente número de usuários de computadores, novas ferramentas têm sido apresentadas com a finalidade de aumentar a eficiência dos computadores, meio para que seus usuários disponham de recursos automatizados. Mais recentemente, máquinas ligadas em rede de computadores e o fenômeno Internet tornaram necessárias ferramentas específicas para este tipo particular de uso. Entre as principais respostas a essas necessidades surgiu a linguagem Java, que tem ganhado adeptos tanto na comunidade científica como no mercado. Surge daí a necessidade de buscar formas alternativas para o uso de computadores em rede. Entre as soluções propostas encontra-se a de arquiteturas e linguagens paralelas. Estas ferramentas, ainda em fase experimental, apresentam soluções que podem a médio e longo prazo serem viáveis, desde que estudos e pesquisas mostrem sua viabilidade. Neste trabalho investiga-se a aplicação do conceito de paralelismo em linguagens para rede, mais especificamente a linguagem Java. A proposta é estudar as possíveis formas para se explorar o paradigma de linguagens paralelas em ambientes Java. Para isto, apresenta-se uma pesquisa relativa as principais linguagens paralelas disponíveis na literatura, de forma a conhecer as melhores soluções apresentadas por essas linguagens. O trabalho apresenta também um estudo realizado em um conjunto de ferramentas Java disponíveis no mercado. Finalmente, propõe-se um novo ambiente que possa disponibilizar ao usuário os melhores recursos da linguagem Java, explorando as melhores soluções encontradas na literatura. / With the increasing number of computer users, new tools have been presented to improve the computers efficiency and to make automated resources available for those users. Nowadays, the use of computers in a network and the Internet phenomenon requires specific tools. Among them, the Java language appears as an important tool, which has been attracting users in both the scientific and commercial communities. At the same time the computer networks are becoming more popular and some problems have emergent concerned to the networks assessment and connections. It is necessary to look for alternative ways of handling the network computer systems. The parallel architectures and languages appear among the proposed solutions. These tools are still in an experimental phase, studies and researches being necessary additional to confirm their feasibility. In this work we investigate the application of parallelism concepts in languages for networks, and particular we deal with the Java language. The aim is to study the possible approaches for exploring the parallel languages paradigm in Java environments. Research about the main parallel languages available in the literature is presented, in order to check the best solutions proposed by those languages. The work also presents an investigation about the Java tools available in the commercial market. Finally a new environment is proposed that makes some of the best resources of language Java available to the users by exploring the best solutions found in the literature.
|
7 |
Geração parcial de código Java a partir de especificações formais Z. / Partial generation of Java code from Z formal specifications.Miyazawa, Alvaro Heiji 03 October 2008 (has links)
Especificações formais são úteis para descrever o que um sistema deve fazer sem definir como, e, em virtude da sua natureza formal e da possibilidade de abstração, é possível analisá-las sistematicamente. No entanto, o uso de especificações formais como parte do desenvolvimento de software não constitui prática comum. Isso se dá, em parte, pelo fato de existirem apenas um pequeno número de metodologias e ferramentas adequadas que dêem suporte a esse desenvolvimento. O primeiro objetivo deste trabalho é propor uma metodologia de desenvolvimento que possibilite, a partir de uma especificação formal em notação Z, produzir uma implementação dessa especificação em Java. Essa metodologia centra-se na geração do esqueleto da aplicação Java e na instrumentação desse esqueleto com mecanismos de verificação de condições (invariantes, pré e pós-condições) e rastreamento de violações dessas condições. Através desses mecanismos, possibilita-se intercalar desenvolvimento formal e informal no processo global de desenvolvimento de software. O segundo objetivo é desenvolver uma ferramenta que implemente parte dessa metodologia, produzindo uma implementação parcial que deverá ser complementada pelo usuário. / Formal specifications are useful for describing what a system should do, without defining how, and, owing to its formal nature, it is possible to analyse them systematically. However useful formal specifications are, their usage as part of the software development process is rather rare. This is, in part, due to the scarcity of both methodologies and tools that support this development. The first goal of this work is to define a software development methodology that enables the developer to produce a Java application from a formal specification written in Z. This methodology will rely strongly on the generation of Java application skeletons and instrumentation of the generated code with means of verifying conditions (invariants, pre and post-conditions) e tracing violations of these conditions. Through this mechanisms, it is possible to mix formal and informal development in the global software development process. The second goal of this work is to develop a tool that will implement part of this methodology, producing a partial implementation that must be complemented by the developer.
|
8 |
Geração parcial de código Java a partir de especificações formais Z. / Partial generation of Java code from Z formal specifications.Alvaro Heiji Miyazawa 03 October 2008 (has links)
Especificações formais são úteis para descrever o que um sistema deve fazer sem definir como, e, em virtude da sua natureza formal e da possibilidade de abstração, é possível analisá-las sistematicamente. No entanto, o uso de especificações formais como parte do desenvolvimento de software não constitui prática comum. Isso se dá, em parte, pelo fato de existirem apenas um pequeno número de metodologias e ferramentas adequadas que dêem suporte a esse desenvolvimento. O primeiro objetivo deste trabalho é propor uma metodologia de desenvolvimento que possibilite, a partir de uma especificação formal em notação Z, produzir uma implementação dessa especificação em Java. Essa metodologia centra-se na geração do esqueleto da aplicação Java e na instrumentação desse esqueleto com mecanismos de verificação de condições (invariantes, pré e pós-condições) e rastreamento de violações dessas condições. Através desses mecanismos, possibilita-se intercalar desenvolvimento formal e informal no processo global de desenvolvimento de software. O segundo objetivo é desenvolver uma ferramenta que implemente parte dessa metodologia, produzindo uma implementação parcial que deverá ser complementada pelo usuário. / Formal specifications are useful for describing what a system should do, without defining how, and, owing to its formal nature, it is possible to analyse them systematically. However useful formal specifications are, their usage as part of the software development process is rather rare. This is, in part, due to the scarcity of both methodologies and tools that support this development. The first goal of this work is to define a software development methodology that enables the developer to produce a Java application from a formal specification written in Z. This methodology will rely strongly on the generation of Java application skeletons and instrumentation of the generated code with means of verifying conditions (invariants, pre and post-conditions) e tracing violations of these conditions. Through this mechanisms, it is possible to mix formal and informal development in the global software development process. The second goal of this work is to develop a tool that will implement part of this methodology, producing a partial implementation that must be complemented by the developer.
|
9 |
Multiaplikační čipové karty / Multiaplication smart cardsMeluzín, Ivo January 2011 (has links)
The goal of the first part of the thesis is to describe the options of wide usage of chip cards in different segments of our life. Consequently it is necessary to mention hardware and software equipment of smart card, its communication with terminal and data security. In this thesis we focus on Java Card environment in which we will try to create two applications, one for electronic purse and the second for user identification. Basically, we need to mention multiapplicational rules of sharing data and objects. At the end of the thesis we are focusing on the possibility of mutual interference between the applications and on protection against attacks. Also future applications of this technology are described.
|
10 |
A Hybrid Topological-Stochastic Partitioning Method for Scaling QoS Routing AlgorithmsWoodward, Mike E., Gao, Feng January 2007 (has links)
No / This paper presents a new partitioning strategy with the objective of increasing scalability by reducing computational effort of routing in networks. The original network is partitioned into blocks (subnetworks) so that there is a bi-directional link between any two blocks. When there is a connection request between a pair of nodes, if the nodes are in the same block, we only use the small single block to derive routings. Otherwise we combine the two blocks where the two nodes locate and in this way the whole network will never be used. The strategy is generic in that it can be used in any underlying routing algorithms in the network layer and can be applied to any networks with fixed topology such as fixed wired subnetworks of the Internet. The performance of this strategy has been investigated by building a simulator in Java and a comparison with existing stochastic partitioning techniques is shown to give superior performance in terms of trade-off in blocking probability (the probability of failure to find a path between source and destination satisfying QoS constraints) and reduction of computational effort.
|
Page generated in 0.0489 seconds