"Herramienta autoconfigurable
para
el desarrollo de aplicaciones distribuidas de tiempo real flexibles y
dinámicas"
Christian Iván Mejía Escobar
|
Texto completo de la Tesis
Resumen
La evolución experimentada por
los sistemas de computación, desde centralizados a distribuidos,
ha motivado el surgimiento de aplicaciones que demandan mayor
complejidad, seguridad, disponibilidad, escalabilidad, etc. Cada vez se
hace más necesario la intervención de sistemas
distribuidos, donde varias computadoras conectadas por medio de una red
trabajan conjuntamente para satisfacer las necesidades anteriormente
mencionadas.
El paradigma de programación
orientada a objetos ha demostrado ser exitoso para el desarrollo
de aplicaciones, por lo que es utilizado ampliamente en ambientes
distribuidos. Un middleware
como Java RMI permite el
desarrollo y la ejecución de aplicaciones distribuidas
orientadas a objetos de propósito general; sin embargo, existen
aplicaciones especializadas, cuya ejecución debe considerar
parámetros de planificación y restricciones de tiempo.
Este tipo de aplicaciones se presentan en el dominio de tiempo real y
su utilización es cada vez más común en sistemas
distribuidos.
A pesar de que Java no fue
diseñado para aplicaciones de tiempo real, posee ventajas como
simplicidad y portabilidad, consideradas muy prometedoras por la
comunidad de tiempo real. Por tal razón, se creó la
especificación de tiempo real para Java (RTSJ), pero se enfoca
intencionalmente para trabajar en un ambiente centralizado, i.e. no
provee soporte para aplicaciones distribuidas.
En el presente trabajo de tesis proponemos un mecanismo desarrollado en
lenguaje Java que permite
propagar los parámetros de planificación y las
restricciones de tiempo de aplicaciones distribuidas entre los nodos
que conforman un sistema distribuido. Nuestra solución aprovecha
la actual RTSJ, combinada con
herramientas de Java tales como: API
de sockets, el modelo de Java
RMI, carga dinámica de bytecodes,
y programación multi-hilo.
Abstract
The development on computing systems,
from centralized to distributed systems, has made possible a new kind
of applications, with more complexity and that require higher security,
availability, scalability, etc. Distributed systems are more and more
useful. They are characterized by having multiple computers connected
through a network, working together and collaborating to meet the
requirements mentioned above.
The paradigm of object-oriented
programming has proved to be successful for the development of
software and today it is widely used in distributed environments. A middleware like Java RMI enables the development
and execution of object-oriented general purpose distributed
applications. For special purpose applications, e.g. real time
applications, with scheduling parameters and time constraints, Java RMI is not the must suitable
tool, however such type of applications are increasingly common in
distributed systems.
Java was not designed for real
time applications, but it has some advantages such as portability and
simplicity, which are considered very promising by the real time
community. For this reason, the Real-Time
Specification for Java (RTSJ)
was created, but it is focused on centralized systems, i.e. there is
not support for distributed applications.
In this thesis, we propose a mechanism developed in Java that allows the propagation of
scheduling parameters and time constraints of distributed applications.
This transfer of context is carried out among the nodes of distributed
system. Our solution takes advantage of the current RTSJ, combined with Java tools such
as API sockets, Java RMI model, dynamic loading, and multithreading
programming.