Está en la página 1de 15

MODELOS COMPUTACIONALES

Alejandro Aguilar Garca Natalia Domnguez Corbacho Jernimo Valverde Martnez Manuel Chacn Martn Mara Cuevas Rodrguez Carlos Porta Gmez Elementos de Programacin 1 C E. T. S. I. Telecomunicaciones

INDICE

INTRODUCCIN...............................................................................pg. 3 MQUINA DE TURING....................................................................pg. 5 MODELO DE JOHN VON NEUMANN.............................................pg. 7 MODELO HARVARD........................................................................pg. 8 SISTEMAS DE PROGRAMACIN FUNCIONAL ..........................pg. 11 SISTEMAS FORMALES FUNCIONALES ......................................pg. 13 BIBLIOGRAFA ...............................................................................pg. 15

INTRODUCCIN
NATURALEZA DE LOS COMPUTADORES -------------------------------------------------------Para abordar el tema de los modelos computacionales hay que tener ms o menos claras algunas definiciones bsicas: Qu es un COMPUTADOR? Aunque una definicin exacta sera muy difcil de encontrar se podra definir como un sistema al que se le suministra informacin en forma de datos para luego devolvernos unos resultados acordes con la resolucin de un determinado problema. Por lo tanto podramos decir que el objetivo del computador es bsicamente resolver problemas. Para ello hace uso de los programas. Qu es un PROGRAMA? Es una secuencia de instrucciones que resuelven determinados problemas planteados. Qu es la INFORMACIN? En general es cualquier conjunto de noticias, informes o datos que nos aportan algn nuevo conocimiento. En informtica ms concretamente estos datos se transmiten en forma de seales. Antecedentes histricos ---------------------------La Computacin tiene su origen en el clculo, es decir, en la preocupacin del ser humano por encontrar maneras de realizar operaciones matemticas de forma cada vez ms rpida y ms fcilmente. Pronto se dio cuenta que con ayuda de aparatos y mquinas las operaciones podan realizarse de forma ms rpida y automtica. El primer ejemplo que encontramos en la historia es el baco, aparecido hacia el 500 AC en Oriente Prximo, que serva para agilizar las operaciones aritmticas bsicas. Tambin es digno de sealar el conocido Mecanismo de Antikythera, recuperado en 1900, construido alrededor del ao 80 a.C., en la isla griega de Rodas. Era un artefacto de clculo astronmico con mecanismos de precisin. El usuario, por medio de una perilla, poda accionar un simulador en miniatura del movimiento del sol, la luna y varios planetas, teniendo a la vista la fecha en que se haba dado, o se dara, tal combinacin. La historia de la computacin es muy extensa por que a continuacin citaremos los acontecimientos ms relevantes hasta la primera generacin de computadores, donde surgieron los primeros modelos computacionales: 1623.Shickard construye la primera calculadora, basada en ruedas dentadas y capaz de sumar y multiplicar.

1642.Pascal a la edad de 19 aos inventa para su padre (un contable) una mquina que suma y resta. 1671.Leibnitz mejora la mquina de Pascal, siendo capaz de multiplicar y dividir. 1777.Mahon construye una mquina aritmtica y otra lgica, "Demostrador de Stanhope". 1820.Charles Babbage construye en parte la mquina analtica, considerndose el primer computador digital de prposito general. Sus caractersticas eran: trabajaba con una aritmtica de 50 digitos decimales, tardaba 1 segundo en hacer sumas y restas y alrededor de un minuto con las multiplicaciones y divisiones, utilizaba tarjetas perforadas para las operaciones y las variables. 1854.Boole publica "Las leyes del pensamiento" sobre las cuales son basadas las teoras matemticas de Lgica y Probabilidad. Empezaba asi el lgebra Booleana, que consiste en un mtodo para resolver problemas de lgica que recurre solamente a los valores binarios 1 y 0 y a tres operadores: AND, OR y NOT. 1890.Hollerith construye una mquina para tabular el censo. 1914.Torres Quevedo con tecnologa electromagntica disea los esquemas de una calculadora digital. 1936.Alan Turing contest a la cuestin de si las matemticas son "decidibles", planteada aos atras, construyendo un modelo formal de computador, la Mquina de Turing, y demostrando que haba problemas tales que una mquina no poda resolver. Al mismo tiempo en Estados Unidos contestaba a la misma cuestin Alonzo Chuch, basndose en una notacin formal, que denomin clculo lambda, para transformar todas las frmulas matemticas a una forma estndar. 1938.Stibitz crea MODEL I, el primer sistema con terminales remotos, que empleaba nmeros complejos para clculos balsticos. 1941.Basndose en los resultados de Turing y de Chuch, Zuse dise y construy su serie de computadores electromecnicos binarios, desde el Z1 hasta el Z3. 1942.Atanasoff construye una mquina de propsito general con tubos de vaco. Fue la primera computadora electrnica digital. 1943.Mauchy y Eckert construyen el ENIAC (Electronic Numeric Integrator and Calculator). Sus caractersticas: empleaba 18000 tubos de vaco; consuma 150 kW; tena una medidas de 30x2,5 metros; utilizaba 20 registros de 10 dgitos decimales; tardaba 200 microsegundos en la suma, 2,8 milisegundos en la multiplicacin y 6 milisegundos en la divisin; segua utilizando el sistema de tarjetas perforadas. 1945.Von Neumann tiene una idea innovadora que es almacenar en una memoria rpida datos e instrucciones para que para modificar un programa baste con modificar las instrucciones almacenadas en la memoria. A este modelo se le conoce como "Modelo de von Neumann" y es el que an en da emplean los computadores.

MQUINA DE TURING
Alan Mathison Turing, matemtico y computador cientfico ingls, desarroll en torno a 1935 y 1945 un modelo computacional hipottico que permite en teora resolver cualquier problema matemtico siempre y cuando se reduzca a un algoritmo (conjunto ordenado y finito de operaciones que permiten la resolucin de un problema, como por ejemplo la extraccin de races cuadradas o el clculo de una suma, producto o divisin de nmeros, etc). De esta forma ser posible calcular funciones dadas a partir de las operaciones ms simples posibles y, aunque sea un algoritmo muy complejo, ser posible descomponerlo en una mayor cantidad de pasos hasta resolverlo. Este modelo, que en principio vino a llamarse Mquina de computacin lgica (Logical Computing Machine), pero que en honor a su ideador se le acab llamando mquina de Turing, es considerada la precursora de la computacin digital moderna a pesar de su sencillez estructural. Segn la Tesis de Church-Turing (llevada a cabo por Alan Turing y Alonzo Churh a mediados del siglo XX de forma independiente), se demuestra que un problema es computable si se puede construir una mquina de Turing capaz de llevar a cabo el procedimiento para resolverlo y que para cualquier otra mquina alternativa a sta, se puede crear una Mquina de Turing equivalente capaz de resolver cualquier computacin que se realice en la otra mquina. Un esquema bsico de lo que puede ser una Mquina de Turing es el siguiente:

Los componentes de esta mquina y sus descripciones son: Memoria: se trata de una cinta infinitamente larga dividida en celdas cuadradas en cada una de las cuales hay un smbolo de un cdigo (por ejemplo, un smbolo del cdigo binario, es decir, un 1 o un 0, por lo que la cinta ocupa un bit). Este conjunto de smbolos, o cdigo, es lo que se conoce como alfabeto de la mquina. En esta memoria se permite el almacenamiento tanto de la informacin introducida y de los datos de salida, como de los pasos intermedios que se han llevado a cabo para resolver el algoritmo, lo que permite algo muy til: hacer un seguimiento del proceso llevado a cabo. Debido al mltiple uso que se le da a la memoria y a la imposibilidad de conocer el nmero de pasos intermedios que la mquina va a necesitar, es por lo que la cinta debe ser ilimitada. Es precisamente este detalle de memoria sin fin lo que le otorga tanta importancia a la mquina de Turing.

Cabezal de lectura-escritura: es un dispositivo capaz de realizar cuatro operaciones: desplazarse una posicin a la derecha respecto a la celda actual, desplazarse una posicin a la izquierda, leer el contenido de la celda en la que se encuentra y escribir un smbolo distinto al que haba sido ledo por el cabezal o escribir nuevamente el que haba en la celda. Procesador: es un dispositivo digital que puede dividirse en dos partes atendiendo a las distintas funciones que cumple cada una dentro de la mquina. Por un lado existe un registro de estado que contiene un nmero determinado de posibles estados internos de la mquina y que almacena el estado concreto en el que se encuentra el procesador. Por otra parte existe una tabla de accin que contiene las instrucciones de lo que realiza la mquina en cada instante de tiempo. Esta ltima parte del procesador es la encargada de decidir cul ser el nuevo estado, el smbolo que se va a escribir en la cinta y la direccin que tomar el cabezal dependiendo del carcter que se acaba de leer y del estado actual interno. Por as decirlo, esta parte contendra todo el programa posible de la mquina. La mquina de Turing funciona de la siguiente forma para realizar una computacin Z=f(x): el dato de entrada x se codifica de forma que se pueda almacenar en la memoria, entonces se comienza el proceso con los pasos para resolver la funcin, escribindolos en la memoria. Cuando termine la ltima operacin, la mquina reflejar en la cinta el resultado. Por este mismo hecho de que la propia mquina, como si de una mente humana se tratara, es la que toma las decisiones dependiendo del estado interno del procesador y de la informacin externa que el cabezal lee en la cinta, este modelo computacional es considerado una mquina autmata capaz de alterar su propio programa. Es ms, Turing estaba ms interesado en la posibilidad de crear modelos lgicos cuyas acciones se asemejaran al funcionamiento de la mente, que en las aplicaciones prcticas de un modelo de computacin. A pesar de ser slo un modelo terico, a la mquina de Turing se la considera una mquina por el hecho de que su funcionamiento se reduce a operaciones tan simples y reales que se ajustan a la definicin de dispositivo. Esto ha hecho que existan numerosas versiones prcticas de este modelo, aunque no se trata de mquinas de Turing completas porque sus memorias estn limitadas al ser imposible construir modelos reales con memoria ilimitada. Es ms, es tan importante en el mundo de la computacin que hoy en da, numerosos trabajos de computacin toman como referencia este modelo computacional.

MODELO DE JOHN VON NEUMANN


Desde tiempos muy antiguos el hombre ha necesitado hacer clculos. Para ello se ha buscado maquinas que lo ayudasen, como el baco, las hileras de John Napier La primera maquina interesante es la La Maquina Analtica de Charles Babbage. En 1945John Von Neumann (1903 1957) cre un modelo computacional que se caracteriza por disponer de una nica memoria principal en la que se almacenan los datos y las instrucciones. A esta memoria se accede a travs de un sistema de buses nico: bus de datos, de direcciones y de control. Este modelo se usa hoy da para describir los lenguajes de programacin convencionales y es la base de prcticamente todos los modelos de ordenadores.

Modelo de Von Neumann Este modelo tiene varias caractersticas clave que se muestran de una manera u otra en todos los sistemas actuales:
.

Una Unidad de Memoria (a memory unit) que almacena valores e instrucciones en unos lugares especficos denominados celdillas, los cuales forman la memoria y son de un tamao prefijado. Una Unidad Central de Proceso, UCP (a central processing unit, CPU) que accede a la memoria de forma secuencial. Una Instruccin (an instruction) que especifica alguna secuencia particular de actividades en la CPU que modifican los contenidos de las localizaciones de la memoria o los registros de la CPU. Un Programa (a program) que consiste en una secuencia ordenada de instrucciones colocada en la memoria. Un Controlador de Programa (a Program Counter) en la CPU para seleccionar la siguiente instruccin de la memoria Un Lenguaje de Programacin (a programming language) que especifica como y que instrucciones se pueden colocar en la memoria.

Los sistemas basados en el modelo de Von Neumann tienen un solo bus para acceder tanto a datos como a instrucciones y esto es una de las caractersticas ms incomodas de este sencillo modelo. Diremos que un microcontrolador es de 4 bit cuando el bus de este sea de 4 bit, ser de 8 bit cuando el bus sea de 8 bit... Aunque por otra parte se puede considerar una ventaja, ya que al haber un nico cableado (bus) para el acceso a datos e instrucciones, se facilita en gran medida la conexin de memoria externa a travs de las lneas de entrada salida con una mnima implementacin extra de hardware. Por contra, tenemos que una instruccin puede ocupar ms de un byte con lo que para poder leer la instruccin completa tendremos que hacer varias lecturas en la memoria con lo que debemos de emplear varios ciclos de reloj para extraer una instruccin. Otra desventaja es que es posible que el contenido del contador del programa (PC) se corrompa con lo que se podra estar leyendo un dato y tratar de interpretarlo como instruccin pudiendo producirse como consecuencia un deterioro y cada del sistema. Normalmente un microprocesador debe de controlar que el PC no haga cosas raras. La principal caracterstica del modelo de Von Neumann es que durante su ejecucin, los programas nicamente pretenden modificar la memoria. Debemos conocer las localizaciones de los datos antes de ejecutar los programas para recoger despus los resultados. Esto es internamente patente en el funcionamiento y la semntica de los lenguajes de programacin convencionales. En estos lenguajes de programacin la instruccin ms importante es la de asignacin. Todos los lenguajes de programacin convencionales disponen de modos de asignacin ms o menos significativos. Otra de las caractersticas que poseen los microcontroladores basados en este tipo de arquitectura es que suelen tener un repertorio de instrucciones bastante grande. Este tipo de repertorio se llama CISC del ingls Complex Instruction Set Computer. La caracterstica principal que este tipo de conjunto de instrucciones que suele ser bastante elevado y las instrucciones estn microcodificadas, es decir, que una instruccin ser decodificada por la CPU en varias instrucciones bsicas.

MODELO DE HARVARD
La arquitecturaHarvard se caracteriza por tener la memoria de datos separada de la memoria del programa y estas a su vez estn unidas a la CPU a travs de buses independientes, luego, pueden tener distintos contenidos en la misma direccin. La arquitectura de Harvard permite a la CPU acceder silmutneamente a las dos memorias. Adems propicia numerosas ventajas al funcionamiento del sistema.

Arquitectura del modelo de Harvard 8

El que la informacin se almacene en palabras tiene una gran ventaja y es que tanto el codop como el dato asociado a este estn en la misma posicin por lo que su lectura es mucho ms rpida. Esta es una gran ventaja ya que dota al microcontrolador de gran agilidad. La tcnica de procesar varias instrucciones al mismo tiempo se conoce como pipelining o segmentacin. Con esta tcnica se dividen las instrucciones en distintas etapas de modo que el procesador puede procesar distintas instrucciones en estas etapas. Una desventaja de este sistema es que la adicin de memoria externa es mucho mas compleja en incluso a veces imposible. Este modelo presenta ms rapidez de ejecucin de cdigo, incluso en algoritmos de divisin que vienen implementados con ms cdigo en los RISC que el los CISC, la velocidad de ejecucin es mayor en los primeros. Menor nmero de instrucciones es una ventaja a la hora de elegir este tipo de microcontroladores para determinadas tareas, no hace falta aprender tantas instrucciones cuando queremos programar un mcu para una tarea simple. Por contra usaremos en general ms memoria en un pic que en un HC11 para realizar una misma funcin, aunque depende de sta, hablamos en general.

Comparacin Von Neumann Harvard


Harvard y Von Neumann son dos arquitecturas que se caracterizan por la forma en la que distribuyen la memoria de datos y de programa dentro de un microcontrolador.

Modelo de Von Neumann

Modelo Harvard

En la arquitectura Harvard, la memoria de datos y de programa estn separadas, usando para almacenar las instrucciones lo que se llaman palabras. Palabras las hay de muchos tamaos como por ejemplo en los microcontroladores PIC. Los PIC de gama baja usan palabras de 12 bit, los de gama media 14 bit y los de gama alta 16 bit. Por otro lado esta la arquitectura Von Neumann que se caracteriza por tener la memoria de programa y la de datos implementada en un mismo bloque de memoria compartiendo datos e instrucciones en un mismo bus. En este tipo de microcontroladores se usan bytes para almacenar datos e instrucciones. Un ejemplo de estos microcontroladores son los Zilog, National Semiconductors o los de Motorola. Ambas arquitecturas tienen ventajas e inconvenientes, como hemos enumerado en apartados anteriores, y como siempre en el mundo de la electrnica, dependiendo de la aplicacin en la que vayamos a usar el microcontrolador, frecuencia de trabajo, conexin a otros perifricos etc, deberemos de elegir un microcontrolador u otro.

En esta tabla podemos ver una comparacin de ambos modelos. Microcontrolador Arquitectura Conjunto de instrucciones N de instrucciones Pic 16Cxxx Pic 17Cxxx Motorola HC11 Intel 8051 Hardvard Hardvard Von Newman Von Newman RISC RISC CISC CISC 35 58 109 40

As pues podemos decir que la principal ventaja de usar mcus con conjunto de instrucciones CISC es que para una instruccin compleja solo usaremos una posicin de memoria al contrario que ocurre con RISC que para realizar por ejemplo una divisin debemos de usar varias instrucciones consumiendo ms memoria. Frente a esta ventaja de los repertorios CISC, se nos presenta una desventaja con respecto a los RISC, y es que el ancho de banda se va reducido considerablemente debido a que una instruccin va a consumir varios ciclos de instruccin para ejecutarse, ya lo vimos antes, estos microcontroladores son ms lentos que los que usan repertorios RISC y adems puede ser que el conjunto de instrucciones sea bastante grande, vase Motorola HC11 lo que no es una gran pega pero si mas trabajo para aprendrselo y aprender a usarlo.

10

SISTEMA DE PROGRAMACIN FUNCIONAL (FP system)


Descripcin
Un modelo funcional se caracteriza por tener simplemente funciones sin variable, en este tipo de sistemas la descripcin esta seguida por algunos ejemplos y por una discusin de varias propiedades del sistema En este tipo de sistemas encontramos que se usan un nmero fijo de formularios llamados formularios funcionales. Esto aadindole algunas definiciones simples son usadas para construir funciones nuevas desde algunas existentes. Todas las funciones de un sistema funcional son de un solo tipo (enlazan objetos con objetos). Los formularios funcionales, al contrario que la mayora de las construcciones de programacin, estn asociadas al lgebra lo que ofrece poderosas construcciones de programacin pero tambin tienen propiedades algebraicas atractivas: Una leccin de ellas para maximizar la fuerza y utilidad de las leyes del lgebra que las relacionan con otros formularios de este sistema. En la siguiente descripcin nosotros debemos ser imprecisos en no distinguir entre una funcin smbolo o expresin, y la funcin que denota. Debemos indicar el smbolo y la expresin para denotar funciones por ejemplo y uso. Un sistema funcional se compone de lo siguiente: a) Un conjunto O de objetos b) Un conjunto F de funciones c) Una operacin (aplicacin) d) Un conjunto F de formularios funcionales que se usan para combinar funciones existentes u objetos para formar nuevas funciones en F e) Un conjunto D de definiciones que definen algunas funciones en F y asignan un nombre a cada una

Observaciones acerca del sistema de programacin funcional


Los sistemas de programacin funcional son tan simples que algunos usuarios pueden encontrarlo difcil de ver como un lenguaje de programacin. Este sistema contiene un cierto numero de limitaciones, al tener un lenguaje fijo no son capaces de modificar la librera del programa Un sistema de programacin funcional no puede computar un programa cuando las expresiones funcionales no son objetos. Ni tampoco puede definir nuevos

11

formularios funcionales sin un sistema funcional (estas limitaciones no se encuentra en los sistemas funcionales formales, FFP) El poder expresivo de este tipo de sistemas suponga dos sistemas funcionales, ambos tienen el mismo conjunto de objetos y el mismo conjunto de funciones primitivas, pero el conjunto de formularios del primero incluye correctamente al segundo. Suponga tambin que otros sistemas pueden expresar todas las funciones computables de objetos, sin embargo podemos decir que el primero es mas expresivo que el primero cuando todas las funciones expresadas en el segundo pueden ser duplicadas en el primero, pero usando un formulario no perteneciente al segundo, el primero puede expresar mas directamente y fcilmente algunas funciones que el segundo. La principal razn por la que los sistemas funcionales estn considerados mas simples que otros lenguajes convencionales es que solo usan un sistema fijo y elemental de nombramiento. Lo ms importante es que trata los nombres como funciones que pueden ser combinadas con otras funciones sin tratamiento especial. Esto le permite la oportunidad de desarrollar a un nivel ms alto las tcnicas para manipular y producir programas superando en este aspecto al sistema de Von Neumann. Otros problemas interesantes son encontrar algoritmos par expandir y analizar el comportamiento de las funciones para varias clases de argumentos y explorar caminos de uso de leyes y teoremas como reglas bsicas de un esquema formal.

El lgebra del sistema de programacin funcional


Este sistema requiere un conocimiento moderado de matemticas y lgica, pero el nivel terico necesario lo puede alcanzar cualquiera que trabaje fuera del campo de las matemticas. Una ventaja de esta lgebra sobre otras tcnicas, es que el programador puede usar su propio lenguaje como un lenguaje de pruebas derivadas. En el corazn de este lgebra hay leyes y teoremas, las cuales son fciles de entender y de justificar, y poderosas para usar. Posiblemente nosotros tambin deseamos usar dichas leyes para resolver ecuaciones en las cuales desconocemos si una ecuacin tiene funcin aparente en ambos lados de la ecuacin. El objetivo es desarrollar una fundacin para el lgebra de programa que disponga de problemas tericos, as el programador puede usar leyes algebraicas simples y uno o dos teoremas de fundaciones para resolver problemas y crear problemas del mismo estilo como los que nosotros nos encontrbamos en el instituto. En el lgebra usado en este tipo de sistema de programacin, para unas variables, aumenta el rango de funciones del sistema. Las operaciones de lgebra se realizan mediante formularios funcionales. Este lgebra necesita mucho trabajo para proporcionar expansiones para tipos de ecuaciones largas y para extender sus leyes y teoremas.

12

SISTEMAS FORMALES FUNCIONALES (FFP System)


Como ya hemos visto, un sistema de programacin funcional tiene un conjunto de funciones que depende de un conjunto de funciones primitivas, un conjunto de formularios funcionales y un conjunto de definiciones. En particular, es un conjunto de formularios funcionales fijados en un principio y para todos, y este conjunto determina el poder del sistema en el principal camino. Por ejemplo, si este conjunto de formularios funcionales est vaco, entonces el conjunto de funciones se reduce apenas al conjunto de funciones primitivas. En un sistema funcional formal uno pude crear nuevos formularios funcionales. Los formularios funcionales estn representados por secuencias de objetos; El primer elemento de una secuencia de objetos determina que forma lo representa, mientras que el resto de los elementos son los parmetros del formulario. La capacidad para definir nuevos formularios funcionales en sistemas funcionales formales es una consecuencia de la diferencia principal entre estos sistemas y otros sistemas: En los sistemas funcionales formales los objetos se usan para representar funciones en un camino sistemtico. En este sentido los sistemas funcionales formales se parecen bastante a los sistemas de programacin funcional. En estos sistemas se parte de una sintaxis simple, discutiendo su semntica informalmente, dando ejemplos y finalmente obteniendo su semntica formal

Sintaxis
Describimos un conjunto O de objetos y el conjunto E de expresiones en un sistema funcional formal. Estos dependen de la opcin de cierto conjunto A de tomos, cul tomamos segn lo dado. Asumimos que T (verdadero), F (falso), (secuencia vaca) y # (defecto) pertenecen a A, as como nmeros de varias clases, etc. a) Fondo, _, es un objeto pero no un tomo. b) Cada tomo es un objeto. c) Cada objeto es una expresin d) Si x e y son expresiones, entonces (x:y) es una expresin llamada aplicacin. x es el operador e y es el operando. Ambos son elementos de la expresin. e) Todos los objetos y expresiones estn formados por las infinitas combinaciones y usos de estas reglas.

13

Observaciones informales acerca de los sistemas funcionales formales


Significado de expresiones; la funcin semntica _ Cada expresin de los sistemas funcionales formales del tipo e, tiene un significado, _e, que siempre es un objeto; _e se encuentra en varias ocasiones sustituyendo cada uso intimo de e por este significado. Si el proceso es no terminado, el significado de e es _. El significado de una aplicaron intima (x:y) es el resultado de aplicar la funcin representada por x en y, como en los sistemas de programacin funcional, excepto que en los sistemas funcionales formales estn representados por objetos, mas bien por funciones expresiones, con tomos representado funciones primitivas y definidas, y con secuencias representado las funciones de programacin funcional denotadas por formularios funcionales. Objetos representado funciones; la funcin representacin Como hemos visto, algunos tomos (tomos primitivos) pueden representar funciones primitivas de un sistema. Otros tomos pueden representar funciones definidas como los smbolos lo hacen en los sistemas de programacin funciona. Si un tomo no es primitivo ni definido, ste representa _. Las secuencias tambin representan funciones y son anlogas a los formularios funcionales de los sistemas de programacin funcional. La funcin representada por una secuencia viene dada por la regla de metacomposicin (metacomposition rule) Definiciones en sistemas funcionales formales La semntica de sistemas funcionales formales de programacin depende de un conjunto fijo D de definiciones, como en el sistema de programacin funcional depende del conjunto de definiciones dado informalmente. As la funcin semntica _ depende de D, alterando D se obtiene una nueva _ que refleja la alteracin de definiciones. Semnticas formales para los sistemas funcionales formales Asumimos que el conjunto A de tomos, el conjunto D de definiciones, el conjunto P perteneciente a A de tomos primitivos y las funciones primitivas representan haber sido escogidos. Tambin asumimos que _a es la funcin primitiva representada por a si a pertenece a P, que _a = _ si a pertenece a Q, el conjunto de tomos en P-A que no est definido en D. Aunque _ est definido por todas las expresiones, las semnticas formales usan estas definiciones solo en P y Q. Las funciones que _ asigna a otras expresiones x son determinadas implcitamente y aplicadas en las siguientes reglas de semntica para su evaluacin _(x:y). Las opciones antedichas de A y D, y de P y las funciones primitivas asociadas determinan los objetos, expresiones y la funcin semntica _ para un sistema funcional formal. (Miramos D como fijo y escribimos _ por _ .) Asumimos que D es una secuencia y que _y:D puede ser computada por algn tomo y.
D D

14

BIBLIOGRAFA

Fundamentos de los Computadores, Pedro de Miguel Anasagasti. Ed. Paraninfo Fundamentos de los Computadores, Rafael Asenjo Plaza, Eladio Gutirrez, Julin Ramos Czar. Universidad de Mlaga / Manuales. Turings World 3.0. An Introduction to Computability Theory, Jon Barwise y John Etchemendy. CSLI Publications, Standford, California. Introduccin a la Arquitectura de Computadores, Javier Bastida Ibez, Universidad de Valladolid. Programming Languages, A Grand Tour, Ellis Horowitz. Ed. Computer Science Press Introduccin a la teora de la Computabilidad, Hans Hermes, Edit. Tecnos. http://www.terra.es/personal/fremiro/arquitectura.htm http://www.eurobotics.org/hardvardvsvon.html

15

También podría gustarte