Sobre la equivalencia entre semánticas operacionales y denotacionales para lenguajes funcionales paralelos
Eden es un lenguaje funcional paralelo que extiende Haskell con construcciones sintácticas para especificar la creación de procesos. En Eden se distinguen dos partes: un lambda cálculo perezoso y expresiones de coordinación. El lenguaje Jauja es una simplificación de Eden que mantiene sus principale...
| Autor: | |
|---|---|
| Tipo de recurso: | tesis doctoral |
| Fecha de publicación: | 2015 |
| País: | España |
| Institución: | Universidad Complutense de Madrid (UCM) |
| Repositorio: | Docta Complutense |
| Idioma: | español |
| OAI Identifier: | oai:docta.ucm.es:20.500.14352/26327 |
| Acceso en línea: | https://hdl.handle.net/20.500.14352/26327 |
| Access Level: | acceso abierto |
| Palabra clave: | 519.767(043.2) 004.432.42(043.2) Lenguajes de programación Lenguajes de programación funcional Programming languages Functional Programming Languages 1203.23 Lenguajes de Programación |
| id |
ES_8b58d945d6aec1f2b38f90bbf1eb6340 |
|---|---|
| oai_identifier_str |
oai:docta.ucm.es:20.500.14352/26327 |
| network_acronym_str |
ES |
| network_name_str |
España |
| repository_id_str |
|
| spelling |
Sobre la equivalencia entre semánticas operacionales y denotacionales para lenguajes funcionales paralelosOn the equivalence of operational and denotational semantics for parallel functional languagesSánchez Gil, Lidia519.767(043.2)004.432.42(043.2)Lenguajes de programaciónLenguajes de programación funcionalProgramming languagesFunctional Programming LanguagesLenguajes de programación1203.23 Lenguajes de ProgramaciónEden es un lenguaje funcional paralelo que extiende Haskell con construcciones sintácticas para especificar la creación de procesos. En Eden se distinguen dos partes: un lambda cálculo perezoso y expresiones de coordinación. El lenguaje Jauja es una simplificación de Eden que mantiene sus principales características. El objetivo de esta tesis es dar los primeros pasos para demostrar la equivalencia entre las semánticas definidas para Jauja por Hidalgo-Herrero. Se quiere probar la equivalencia en términos de corrección y adecuación computacional entre una semántica operacional y una semántica denotacional. Para hacerlo nos basamos en las ideas expuestas por Launchbury, en el que se demuestra la equivalencia entre una semántica natural y una semántica denotacional estándar para un lambda cálculo extendido con declaraciones locales. Puesto que demostrar la equivalencia entre las semánticas definidas para Jauja supone un estudio demasiado complejo para afrontarlo en un primer paso, hemos comenzado por considerar una extensión del lenguaje utilizado por Launchbury al que se ha añadido una aplicación paralela que da lugar a creaciones de procesos y comunicaciones entre ellos, es decir, a un sistema distribuido formado por distintos procesos que interactúan entre sí. A partir de este sencillo lenguaje el estudio se desarrolla en varias etapas en las que se establece la equivalencia entre distintas semánticas operacionales y denotacionales para modelos distribuidos y no distribuidos. La semántica operacional del modelo distribuido heredada de Jauja es una semántica de paso corto para varios procesadores. Para realizar la equivalencia de esta semántica con una semántica denotacional estándar extendida, con objeto de dotar de significado a la aplicación paralela, se introducen dos semánticas intermedias: una de paso corto pero limitada a un único procesador y una semántica de paso largo que es una extensión de la semántica natural de Launchbury. En el caso de prescindir de las aplicaciones paralelas, la semántica natural de Launchbury y nuestra extensión se comportan igual. Con respecto al modelo no distribuido, y con el fin de completar las demostraciones ausentes en el trabajo de Launchbury, se construye un espacio de funciones para los valores de la semántica denotacional con recursos introducida por el autor. Posteriormente, se comprueba que es equivalente a la semántica denotacional estándar bajo la condición de disponer de infinitos recursos. También se estudian algunas relaciones existentes entre heaps y pares (heap, término) que se aplican para estudiar la equivalencia de las dos semánticas operacionales introducidas por Launchbury. Hemos realizado gran parte del estudio utilizando la notación localmente sin nombres, situada a medio camino entre la de nombres y la de de Bruijn. Así se evitan los problemas derivados de la notación con nombres, es decir, tener que trabajar con términos alfa equivalentes. Por otra parte, también se eluden las desventajas de utilizar solo los índices de de Bruijn, que resultan complicados de manejar y dificultan la lectura de los términos.Universidad Complutense de MadridHidalgo Herrero, MercedesOrtega Mallén, YolandaUniversidad Complutense de Madrid20152015-09-2120152015-09-21doctoral thesishttp://purl.org/coar/resource_type/c_db06info:eu-repo/semantics/doctoralThesisapplication/pdfhttps://hdl.handle.net/20.500.14352/26327reponame:Docta Complutenseinstname:Universidad Complutense de Madrid (UCM)Españolspaopen accesshttp://purl.org/coar/access_right/c_abf2info:eu-repo/semantics/openAccessoai:docta.ucm.es:20.500.14352/263272026-06-02T12:44:21Z |
| dc.title.none.fl_str_mv |
Sobre la equivalencia entre semánticas operacionales y denotacionales para lenguajes funcionales paralelos On the equivalence of operational and denotational semantics for parallel functional languages |
| title |
Sobre la equivalencia entre semánticas operacionales y denotacionales para lenguajes funcionales paralelos |
| spellingShingle |
Sobre la equivalencia entre semánticas operacionales y denotacionales para lenguajes funcionales paralelos Sánchez Gil, Lidia 519.767(043.2) 004.432.42(043.2) Lenguajes de programación Lenguajes de programación funcional Programming languages Functional Programming Languages Lenguajes de programación 1203.23 Lenguajes de Programación |
| title_short |
Sobre la equivalencia entre semánticas operacionales y denotacionales para lenguajes funcionales paralelos |
| title_full |
Sobre la equivalencia entre semánticas operacionales y denotacionales para lenguajes funcionales paralelos |
| title_fullStr |
Sobre la equivalencia entre semánticas operacionales y denotacionales para lenguajes funcionales paralelos |
| title_full_unstemmed |
Sobre la equivalencia entre semánticas operacionales y denotacionales para lenguajes funcionales paralelos |
| title_sort |
Sobre la equivalencia entre semánticas operacionales y denotacionales para lenguajes funcionales paralelos |
| dc.creator.none.fl_str_mv |
Sánchez Gil, Lidia |
| author |
Sánchez Gil, Lidia |
| author_facet |
Sánchez Gil, Lidia |
| author_role |
author |
| dc.contributor.none.fl_str_mv |
Hidalgo Herrero, Mercedes Ortega Mallén, Yolanda Universidad Complutense de Madrid |
| dc.subject.none.fl_str_mv |
519.767(043.2) 004.432.42(043.2) Lenguajes de programación Lenguajes de programación funcional Programming languages Functional Programming Languages Lenguajes de programación 1203.23 Lenguajes de Programación |
| topic |
519.767(043.2) 004.432.42(043.2) Lenguajes de programación Lenguajes de programación funcional Programming languages Functional Programming Languages Lenguajes de programación 1203.23 Lenguajes de Programación |
| description |
Eden es un lenguaje funcional paralelo que extiende Haskell con construcciones sintácticas para especificar la creación de procesos. En Eden se distinguen dos partes: un lambda cálculo perezoso y expresiones de coordinación. El lenguaje Jauja es una simplificación de Eden que mantiene sus principales características. El objetivo de esta tesis es dar los primeros pasos para demostrar la equivalencia entre las semánticas definidas para Jauja por Hidalgo-Herrero. Se quiere probar la equivalencia en términos de corrección y adecuación computacional entre una semántica operacional y una semántica denotacional. Para hacerlo nos basamos en las ideas expuestas por Launchbury, en el que se demuestra la equivalencia entre una semántica natural y una semántica denotacional estándar para un lambda cálculo extendido con declaraciones locales. Puesto que demostrar la equivalencia entre las semánticas definidas para Jauja supone un estudio demasiado complejo para afrontarlo en un primer paso, hemos comenzado por considerar una extensión del lenguaje utilizado por Launchbury al que se ha añadido una aplicación paralela que da lugar a creaciones de procesos y comunicaciones entre ellos, es decir, a un sistema distribuido formado por distintos procesos que interactúan entre sí. A partir de este sencillo lenguaje el estudio se desarrolla en varias etapas en las que se establece la equivalencia entre distintas semánticas operacionales y denotacionales para modelos distribuidos y no distribuidos. La semántica operacional del modelo distribuido heredada de Jauja es una semántica de paso corto para varios procesadores. Para realizar la equivalencia de esta semántica con una semántica denotacional estándar extendida, con objeto de dotar de significado a la aplicación paralela, se introducen dos semánticas intermedias: una de paso corto pero limitada a un único procesador y una semántica de paso largo que es una extensión de la semántica natural de Launchbury. En el caso de prescindir de las aplicaciones paralelas, la semántica natural de Launchbury y nuestra extensión se comportan igual. Con respecto al modelo no distribuido, y con el fin de completar las demostraciones ausentes en el trabajo de Launchbury, se construye un espacio de funciones para los valores de la semántica denotacional con recursos introducida por el autor. Posteriormente, se comprueba que es equivalente a la semántica denotacional estándar bajo la condición de disponer de infinitos recursos. También se estudian algunas relaciones existentes entre heaps y pares (heap, término) que se aplican para estudiar la equivalencia de las dos semánticas operacionales introducidas por Launchbury. Hemos realizado gran parte del estudio utilizando la notación localmente sin nombres, situada a medio camino entre la de nombres y la de de Bruijn. Así se evitan los problemas derivados de la notación con nombres, es decir, tener que trabajar con términos alfa equivalentes. Por otra parte, también se eluden las desventajas de utilizar solo los índices de de Bruijn, que resultan complicados de manejar y dificultan la lectura de los términos. |
| publishDate |
2015 |
| dc.date.none.fl_str_mv |
2015 2015-09-21 2015 2015-09-21 |
| dc.type.none.fl_str_mv |
doctoral thesis http://purl.org/coar/resource_type/c_db06 |
| dc.type.openaire.fl_str_mv |
info:eu-repo/semantics/doctoralThesis |
| format |
doctoralThesis |
| dc.identifier.none.fl_str_mv |
https://hdl.handle.net/20.500.14352/26327 |
| url |
https://hdl.handle.net/20.500.14352/26327 |
| dc.language.none.fl_str_mv |
Español spa |
| language_invalid_str_mv |
Español |
| language |
spa |
| dc.rights.none.fl_str_mv |
open access http://purl.org/coar/access_right/c_abf2 |
| dc.rights.openaire.fl_str_mv |
info:eu-repo/semantics/openAccess |
| rights_invalid_str_mv |
open access http://purl.org/coar/access_right/c_abf2 |
| eu_rights_str_mv |
openAccess |
| dc.format.none.fl_str_mv |
application/pdf |
| dc.publisher.none.fl_str_mv |
Universidad Complutense de Madrid |
| publisher.none.fl_str_mv |
Universidad Complutense de Madrid |
| dc.source.none.fl_str_mv |
reponame:Docta Complutense instname:Universidad Complutense de Madrid (UCM) |
| instname_str |
Universidad Complutense de Madrid (UCM) |
| reponame_str |
Docta Complutense |
| collection |
Docta Complutense |
| repository.name.fl_str_mv |
|
| repository.mail.fl_str_mv |
|
| _version_ |
1869412802256437248 |
| score |
15,301603 |