19 resultados para Java RMI


Relevância:

20.00% 20.00%

Publicador:

Resumo:

El objetivo del presente trabajo es el desarrollo de una infraestructura de enrutamiento distribuida para un sistema publish/subscribe (en adelante pub/sub) que se incluirá en WireCloud, una plataforma para la composición de aplicaciones. Actualmente existen numerosas implementaciones de protocolos pub/sub en el mercado [3-6], y en este trabajo se hará un recorrido por aquellas con mayor relevancia, explicando sus características, ventajas y desventajas. De esta forma se podrán seleccionar aquellas cuyas prestaciones se adapten de la mejor forma posible a las necesidades de la plataforma. De entre todas las implementaciones existentes, algunas han sido simuladas para comprender mejor su funcionamiento. Esto permitió analizar las diferentes estrategias de enrutamiento de mensajes y qué estructuras de datos son las más óptimas para que el procesamiento de mensajes entrantes sea lo más rápido posible. Una vez que se determinó cuales son las estrategias y las estructuras de almacenamiento que mejor se adaptan a nuestro sistema, se ha procedido a la implementación real del sistema pub/sub en Java. Para cada uno de los módulos desarrollados se ha generado una serie de pruebas que permitirán comprobar el correcto funcionamiento de los componentes cuando se produzcan cambios o ampliaciones. Además, este trabajo también incluye el análisis e implementación de un nuevo protocolo de comunicación entre los diferentes componentes debido a que el existente era lento y pesado al consumir gran cantidad de recursos. El protocolo de comunicación analizado está basado en RMI (Remote Method Invocation), y aunque no mejoró la eficiencia con que los mensajes eran enviados si que permitió reducir en gran medida el consumo de recursos (CPU y memoria RAM). ------------------------------------------------------------ The goal of the current project is the development of a distributed pub/sub system to include it on WireCloud which is a platform to build compositional applications. Several implementations of pub/sub systems [3-6] have been developed until now and this project explains some of them, their characteristic, advantages and disadvantages. Thus, the implementations which better adapt to the project needs have been selected. Some of these implementations have been simulated to get a better knowledge of their behavior. The aim of these simulations was to select the best strategies to route messages and the optimal structures to reduce the computation time of a received message. After defining the better strategies and structures, the real pub/sub system have been finally developed in Java. For each developed module, a set of tests have been built to check its correct behavior in case of changes or extensions. Besides, the project also includes the analysis and the implementation of a new communication protocol among the different components because the existing one was slow and consumed a lot of computer resources. The new communication protocol is based in RMI (Remote Method Invocation) and has improved the consumption of resources. However, the efficiency of this new protocol was worse than the one of the existing protocol.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

El presente trabajo fin de grado, que, a partir de ahora, denominaré TFG, consiste en elaborar una monitorización de programas concurrentes en lenguaje Java, para que se visualicen los eventos ocurridos durante la ejecución de los dichos programas. Este trabajo surge en el marco de la asignatura “Concurrencia” de la Escuela Técnica Superior de Ingeniería Informática de la Universidad Politécnica de Madrid, impartida por D. Julio Mariño y D. Ángel Herranz. El objetivo principal de este proyecto es crear una herramienta para el aprendizaje de la asignatura de concurrencia, facilitando la comprensión de los conceptos teóricos, de modo que puedan corregir los posibles errores que haya en sus prácticas. en este proyecto se expone el desarrollo de una librería de visualización de programas concurrentes programados en Java usando un formalismo gráfico similar al empleado en la asignatura. Además esta librería da soporte a los mecanismos de sincronización usados en las prácticas de la asignatura: la librería Monitor (desarrollada por los profesores de la asignatura, D. Ángel Herranz y D. Julio Mariño) y la librería JCSP (Universidad de Kent). ---ABSTRACT---This Bachelor Thesis addresses the problem of monitoring a Java program in order to trace and visualize a certain set of events produced during the execution of concurrent Java programs. This work originates in the subject "Concurrency" of the Computer Science and Engineering degree of our University. The main goal of this work is to have a tool that helps students learning the subject, so they can better understand the core concepts and correct common mistakes in the course practical work. We have implemented a library for visualizing concurrent Java programsusing a graphical notation similar to the one used in class, which supports the design of concurrent programs whose synchronization mechanisms are either monitors(using the Monitor package) or CSP(as implemented in the JCSP library from Kent University).

Relevância:

20.00% 20.00%

Publicador:

Resumo:

The main purpose of this work is to describe the case of an online Java Programming course for engineering students to learn computer programming and to practice other non-technicalabilities: online training, self-assessment, teamwork and use of foreign languages. It is important that students develop confidence and competence in these skills, which will be required later in their professional tasks and/or in other engineering courses (life-long learning). Furthermore, this paper presents the pedagogical methodology, the results drawn from this experience and an objective performance comparison with another conventional (face-to-face) Java course.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

El siguiente proyecto versa sobre la programación en lenguaje java del algoritmo de humanización MIDI desarrollado por Jorge Grundman en su tesis La Humanización de la Interpretación Virtual: Tres ejemplos significativos de la obra de Chopin. Este algoritmo, denominado Zig-Zag tiene como finalidad lograr que una partitura interpretada por un ordenador tenga unas características similares a la lectura a primera vista de la misma por un pianista. Para ello, basa su funcionamiento en una aleatorización del tempo en base a una serie de parámetros, a una modificación de la dinámica acorde a la modificación de tempo y a una segunda aleatorización para cada figura de la partitura. Este algoritmo tiene un gran campo de aplicación como complemento a los diversos secuenciadores y editores de partituras que existen en la actualidad, proporcionando nuevas características a los mismos. La programación del algoritmo se ha llevado a cabo empleando el Java SDK (Standard Developement Kit) 7 y las herramientas que proporciona esta plataforma para el manejo y modificación de los mensajes MIDI. ABSTRACT. The next project is about the programming in Java language of the MIDI humanization algorithm developed by Jorge Grundman in his thesis La Humanización de la Interpretación Virtual: Tres ejemplos significativos de la obra de Chopin. This algorithm, called Zig-Zag aims to have similar characteristics in a score performed by a computer than in the sight reading by a pianist. To this end, it bases its process in a randomization of the tempo from several parameters, a modification of the dynamic according to the change of tempo and a second randomization for each figure in the score. This algorithm has a big scope of application as complement for the different sequencers and score editors that already exist, providing new features to them. The algorithm has been programmed using the Java SDK (Standard Development Kit) 7 and the tools that this platform provides to handle and modify MIDI messages.