You are on page 1of 2

Jerarqua de Mquinas Abstractas:

En base a lo que hemos visto, una computadora micro programada, en


la que un lenguaje de programacin de alto nivel es implementado,
puede ser representado como muestra la siguiente figura; en donde
cada nivel implementa una mquina abstracta con su propio lenguaje y
su propia funcionalidad.

En otras palabras, las jerarquas de las mquinas abstractas son usadas


a menudo, en donde cada mquina explota al mximo la funcionalidad
del nivel inmediato inferior, y aade nuevas funcionalidades de s mismo
para su nivel inmediato superior.
Definicin Formal: En general entonces, podemos imaginar una
jerarqua de mquinas: ML0, ML1,..., MLn. La mquina genrica MLi es
implementada tras explotar las funcionalidades, el lenguaje, de la
mquina inmediata inferior ML i-1. Al mismo tiempo, MLi provee su propio
lenguaje Li a la mquina ML i+1, la cual tras explotar ese lenguaje, usa la
nueva funcionalidad que MLi proporcion. Adems, MLi no puede acceder
directamente a los recursos provistos por las mquinas debajo de l.
Ejemplo:
Para tener una visin ms clara de estas jerarquas, podemos basarnos
en el siguiente ejemplo:

En el nivel ms bajo tenemos una mquina, hardware, la cual es


implementada usando dispositivos fsicos electrnicos. Por encima de
este nivel, podramos tener una mquina abstracta micro programada
(es decir firmware).
Encima de estos, tendramos la mquina abstracta prevista por el
sistema operativo, el cual est implementado por programas escritos en
lenguaje de mquina. Esta mquina abstracta provista por el sistema
operativo forma lo que se conoce como host machine, o mquina
anfitrin, en la cual un lenguaje de programacin de alto nivel es
implementado.
Esta usa por lo general una mquina intermediaria, que en el caso del
ejemplo, es la mquina virtual de Java y su lenguaje en bytecode. Sin
embargo, el nivel que provee la mquina abstracta del lenguaje de alto
nivel (en este caso Java), no es el ltimo nivel de la jerarqua. En este
punto ya, podemos tener una o ms aplicaciones, las cuales en conjunto
proveen nuevos servicios.
Por ejemplo, por encima podemos tener un nivel de web machine, en
el cual las funciones requeridas para procesar comunicaciones Web
estn implementadas. Por encima de este nivel, podemos tener el nivel
de Servicios Web, que provee las funciones requeridas para que los
servicios web interacten, tanto en trminos de protocolo como en el
comportamiento del proceso envuelto.
Por ultimo en el nivel ms alto, podemos encontrar un nivel con una
aplicacin especfica; la cual mientras provee funcionalidades
especficas, puede ser vista tambin en trminos de una mquina
abstracta final.

You might also like