Está en la página 1de 3

Instituto Consorcio Clavijero

Sistemas en tiempo real


Avances tecnolgicos de Java en Tiempo Real
Gustavo Maldonado Rivera
Perodo Enero-Marzo 2!"
Avances tecnolgicos de Java en Tiempo Real
El lengua#e Java e$iste desde principios de los a%os !&&'s( pero no )ue *asta el a%o de
2! cuando se introdu#o de manera o)icial la especi)icacin RTSJ para dotar a Java de las
caractersticas necesarias para poder operar en sistemas en tiempo real+ Java se encuentra
en constante desarrollo , maduracin , actualmente se implementa en muc*as aplicaciones
comerciales e industriales con muc*o -$ito+
Java RTSJ dota a los programadores , dise%adores de un lengua#e )le$i.le( /ue permite
crear desarrollos para este tipo de sistemas con gran velocidad( a*orrando de esta manera
dinero , tiempo( al tiempo /ue se gana en porta.ilidad para di)erentes sistemas+
0a evolucin de la especi)icacin comenz su andanza con un .orrador desde mediados del
a%o 2 , continuamente *an sido lanzadas nuevas versiones de dic*a especi)icacin cada
una introduciendo me#oras( /ue vuelven a Java en un lengua#e cada vez muc*o m1s co)ia.le
para los entornos en tiempo real+ 2entro de las caractersticas principales /ue Java para
entornos en tiempo real tenemos3 progrtamacin de tareas 4sc*eduling5( administracin de
memoria4memor, sc*eduling5( sincronizacin 4s,nc*ronization5( mecanismo de eventos
asncronos 4as,nc*ronous event *andling5( tra)erencia de control asncrona 4as,c*ronous
trans)er o) control5 , acceso )sico a memoria 4p*,sical memor, access5+
Scheduling
6uando *a.lamos de tiempo real( tenemos /ue tener la seguridad de /ue las tareas se
e#ecutar1n a tiempo , de manera predeci.le( para lo cual RTSJ introduce el concepto de
o.#eto programa.le 4sc*edula.le o.#ect5+2ota de varios o.#etos para el mane#o de la
programacin los cuales son( RealTimeT*read , sus su.clases , la As,ncEvent7andler , sus
su.clases+
Tiempo de e#ecucin de los o.#etos signi)ica /ue el programador puede determinar por
analisis del programa( prue.a del programa en implementaciones particulares o ama.as( los
*ilos correspondientes para una e#ecucin completa antes de /ue la cadena de tiempo llegue
a su )in+
Memory Management
El recolector de .asura siempre *a sido considerado un o.st1culo para la programacin del
tiempo real( ,a /ue introduce latencias considerado algo grandes+ El RTSJ provee una *o#a
de direcciones( /ue provee una gran cantidad de e$tensiones de memoria( lo cual a,uda / eu
el soporte para el mane#o de memoria no inter)iera con la capacidad de dotar capacidades de
tiempo real+ Este o.#etivo es complementado asignando una u.icacin de los o.#etos )uera
del recolector de .asura+
Synchronization
Este t-rmino *ace re)erencia a la prioridad /ue de.e tener una tarea /ue tienen un uso m1s
relevante /ue otros+ 0a prioridad m1s alta indica /ue la tarea o el *ilo tiene la categora de
m1s elegi.le /ue otros+ En caso de /ue dos *ilos o tareas tengan la misma prioridad se
seguir1 un es/uema de programacin 898:+
Asynchronous Event andling
El mane#o de eventos asncronos comprende dos clases3 As,ncEven , As,ncEvent7andler+
;n o.#eto As,nEvent representa algo /ue puede pasar , cuando esto ocurre pasa a ser un
o.#eto de As,ncEvent7andler+
Asychronous Trans!er o! Control
Muc*as veces el programador en tiempo real es en)rentado a ciertas situaciones donde el
costo computacional de un algoritmo es mu, varia.le( por e#emplo( si e$iste un algoritmo
iterativo cu,o tiempo de iteracin varia con respecto a la cantidad de iteraciones /ue se
realizan+ El sistema antes de comenzar la iteracin( determina cu1nto tiempo re/uerir1 para
e#ecutarse( para de esta manera trans)erir de manera asncrona el control dependiendo del
tiempo calculado , asign1ndole una prioridad adecuada+
"hysical Memory Access
El RTSJ de)ine clases /ue au$ilian al programador para /ue mediante cdigo tenga la
capacidad de tener acceso directo a la memoria )sica+ Ra<Memro,Access de)ine m-todos
/ue permiten al programador construir o.#etos /ue representen de manera directa
direcciones )sicas en la memoria+
Conclusin
Al analizar todos estas *erramientas /ue Java aporta para la programacin de sistemas en
tiempo real( son realmente importantes( ,a /ue durante el estudio de esta materia(
pro.a.lemente no e$ista otro lengua#e /ue sea tan )le$i.le , amiga.le para el desarrollo de
este tipo de aplicaciones( sin em.argo sigue teniendo las desventa#as de ser un lengua#e
interpretado , a pesar de los es)uerzos( el sistema de recoleccin de .asura( sigue siendo
una gran impedimento por la gran latencia /ue sigue aportando( ,a /ue aun/ue separa esta
)uncin del resto de la operacin del programa( sigue utilizando recursos del 6P;+
;na de las consideraciones /ue se de.en tener so.re Java para tiempo real( es la gran
)le$i.ilidad( a*orros de tiempo , dinero( as como la )acilidad para tener un control so.re el
proceso de desarrollo de este tipo de aplicaciones+
Re!erencias
=elliardi( R( =rosgol( 2i..le( P+( 7olmes( 2+ > ?ellings( A+ 42@5+ T*e Real-Time
Speci)ication )or Java+ E+;+A+3 TimeS,s 6orp+

También podría gustarte