Intérprete funcional para OCL : HaskellOCL
Supervisor(es): Calegari, Daniel - Viera, Marcos
Resumen:
El paradigma de Ingeniería Dirigida por Modelos (MDE por sus siglas en inglés) propone la construcción de software basado en una abstracción de su complejidad a través de la definición de modelos y en un proceso de construcción (semi)automático guiado por transformaciones de estos modelos. El Object Constraint Language (OCL), un lenguaje formal que permite expresar restricciones que se deben cumplir para asegurar la corrección semántica de un modelo. El lenguaje se define como un lenguaje sin efectos secundarios que combina aspectos funcionales (ej. composición de funciones) y orientados a modelos (ej. herencia de tipos). Sus intérpretes se enfocan principalmente en aspectos orientados a modelos, proveyendo una representación directa de construcciones como herencia y navegación a través de propiedades de los elementos de los modelos. Sin embargo, en los últimos años se han propuesto diversas extensiones funcionales al lenguaje, por ejemplo: pattern matching, expresiones lambda y evaluación perezosa. En un trabajo previo se propuso la construcción de un intérprete de OCL basado en el paradigma funcional (usando Haskell), que incluye además la interpretación de modelos, metamodelos y transformaciones. El objetivo de este proyecto es continuar desarrollando las capacidades del intérprete, particularmente definiendo una transformación que permita generar la infraestructura funcional necesaria para interpretar expresiones OCL (OCL2Haskell), así como adaptar un editor de OCL (en Eclipse) para permitir ejecutar automáticamente la transformación y realizar la validación de dichas expresiones OCL haciendo que la infraestructura funcional sea transparente para el usuario final.
2018 | |
MDE OCL Haskell Eclipse |
|
Español | |
Universidad de la República | |
COLIBRI | |
http://hdl.handle.net/20.500.12008/20219 | |
Acceso abierto | |
Licencia Creative Commons Atribución – No Comercial – Sin Derivadas (CC - By-NC-ND) |
_version_ | 1807523224071700480 |
---|---|
author | Vaz, Leticia |
author2 | Sintas, Gonzalo |
author2_role | author |
author_facet | Vaz, Leticia Sintas, Gonzalo |
author_role | author |
bitstream.checksum.fl_str_mv | 6429389a7df7277b72b7924fdc7d47a9 4afdbb8c545fd630ea7db775da747b2f d41d8cd98f00b204e9800998ecf8427e d41d8cd98f00b204e9800998ecf8427e 8781eed0e60083ae4ad5c9e7fd255a26 |
bitstream.checksumAlgorithm.fl_str_mv | MD5 MD5 MD5 MD5 MD5 |
bitstream.url.fl_str_mv | http://localhost:8080/xmlui/bitstream/20.500.12008/20219/5/license.txt http://localhost:8080/xmlui/bitstream/20.500.12008/20219/2/license_url http://localhost:8080/xmlui/bitstream/20.500.12008/20219/3/license_text http://localhost:8080/xmlui/bitstream/20.500.12008/20219/4/license_rdf http://localhost:8080/xmlui/bitstream/20.500.12008/20219/1/tg-vaz-sinta.pdf |
collection | COLIBRI |
dc.contributor.filiacion.none.fl_str_mv | Vaz Leticia, Universidad de la República (Uruguay). Facultad de Ingeniería Sintas Gonzalo, Universidad de la República (Uruguay). Facultad de Ingeniería |
dc.creator.advisor.none.fl_str_mv | Calegari, Daniel Viera, Marcos |
dc.creator.none.fl_str_mv | Vaz, Leticia Sintas, Gonzalo |
dc.date.accessioned.none.fl_str_mv | 2019-02-25T15:55:33Z |
dc.date.available.none.fl_str_mv | 2019-02-25T15:55:33Z |
dc.date.issued.none.fl_str_mv | 2018 |
dc.description.abstract.none.fl_txt_mv | El paradigma de Ingeniería Dirigida por Modelos (MDE por sus siglas en inglés) propone la construcción de software basado en una abstracción de su complejidad a través de la definición de modelos y en un proceso de construcción (semi)automático guiado por transformaciones de estos modelos. El Object Constraint Language (OCL), un lenguaje formal que permite expresar restricciones que se deben cumplir para asegurar la corrección semántica de un modelo. El lenguaje se define como un lenguaje sin efectos secundarios que combina aspectos funcionales (ej. composición de funciones) y orientados a modelos (ej. herencia de tipos). Sus intérpretes se enfocan principalmente en aspectos orientados a modelos, proveyendo una representación directa de construcciones como herencia y navegación a través de propiedades de los elementos de los modelos. Sin embargo, en los últimos años se han propuesto diversas extensiones funcionales al lenguaje, por ejemplo: pattern matching, expresiones lambda y evaluación perezosa. En un trabajo previo se propuso la construcción de un intérprete de OCL basado en el paradigma funcional (usando Haskell), que incluye además la interpretación de modelos, metamodelos y transformaciones. El objetivo de este proyecto es continuar desarrollando las capacidades del intérprete, particularmente definiendo una transformación que permita generar la infraestructura funcional necesaria para interpretar expresiones OCL (OCL2Haskell), así como adaptar un editor de OCL (en Eclipse) para permitir ejecutar automáticamente la transformación y realizar la validación de dichas expresiones OCL haciendo que la infraestructura funcional sea transparente para el usuario final. |
dc.format.extent.es.fl_str_mv | 129 h. |
dc.format.mimetype.en.fl_str_mv | application/pdf |
dc.identifier.citation.es.fl_str_mv | Vaz, L y Sintas, G. Intérprete funcional para OCL : HaskellOCL [en línea] Tesis de grado. Montevideo : UR.FI.INCO, 2018. |
dc.identifier.uri.none.fl_str_mv | http://hdl.handle.net/20.500.12008/20219 |
dc.language.iso.none.fl_str_mv | es spa |
dc.publisher.es.fl_str_mv | UR.FI.INCO |
dc.rights.license.none.fl_str_mv | Licencia Creative Commons Atribución – No Comercial – Sin Derivadas (CC - By-NC-ND) |
dc.rights.none.fl_str_mv | info:eu-repo/semantics/openAccess |
dc.source.none.fl_str_mv | reponame:COLIBRI instname:Universidad de la República instacron:Universidad de la República |
dc.subject.es.fl_str_mv | MDE OCL Haskell Eclipse |
dc.title.none.fl_str_mv | Intérprete funcional para OCL : HaskellOCL |
dc.type.es.fl_str_mv | Tesis de grado |
dc.type.none.fl_str_mv | info:eu-repo/semantics/bachelorThesis |
dc.type.version.none.fl_str_mv | info:eu-repo/semantics/acceptedVersion |
description | El paradigma de Ingeniería Dirigida por Modelos (MDE por sus siglas en inglés) propone la construcción de software basado en una abstracción de su complejidad a través de la definición de modelos y en un proceso de construcción (semi)automático guiado por transformaciones de estos modelos. El Object Constraint Language (OCL), un lenguaje formal que permite expresar restricciones que se deben cumplir para asegurar la corrección semántica de un modelo. El lenguaje se define como un lenguaje sin efectos secundarios que combina aspectos funcionales (ej. composición de funciones) y orientados a modelos (ej. herencia de tipos). Sus intérpretes se enfocan principalmente en aspectos orientados a modelos, proveyendo una representación directa de construcciones como herencia y navegación a través de propiedades de los elementos de los modelos. Sin embargo, en los últimos años se han propuesto diversas extensiones funcionales al lenguaje, por ejemplo: pattern matching, expresiones lambda y evaluación perezosa. En un trabajo previo se propuso la construcción de un intérprete de OCL basado en el paradigma funcional (usando Haskell), que incluye además la interpretación de modelos, metamodelos y transformaciones. El objetivo de este proyecto es continuar desarrollando las capacidades del intérprete, particularmente definiendo una transformación que permita generar la infraestructura funcional necesaria para interpretar expresiones OCL (OCL2Haskell), así como adaptar un editor de OCL (en Eclipse) para permitir ejecutar automáticamente la transformación y realizar la validación de dichas expresiones OCL haciendo que la infraestructura funcional sea transparente para el usuario final. |
eu_rights_str_mv | openAccess |
format | bachelorThesis |
id | COLIBRI_b079cb4b5ec8de8c1b5f286ddc967258 |
identifier_str_mv | Vaz, L y Sintas, G. Intérprete funcional para OCL : HaskellOCL [en línea] Tesis de grado. Montevideo : UR.FI.INCO, 2018. |
instacron_str | Universidad de la República |
institution | Universidad de la República |
instname_str | Universidad de la República |
language | spa |
language_invalid_str_mv | es |
network_acronym_str | COLIBRI |
network_name_str | COLIBRI |
oai_identifier_str | oai:colibri.udelar.edu.uy:20.500.12008/20219 |
publishDate | 2018 |
reponame_str | COLIBRI |
repository.mail.fl_str_mv | mabel.seroubian@seciu.edu.uy |
repository.name.fl_str_mv | COLIBRI - Universidad de la República |
repository_id_str | 4771 |
rights_invalid_str_mv | Licencia Creative Commons Atribución – No Comercial – Sin Derivadas (CC - By-NC-ND) |
spelling | Vaz Leticia, Universidad de la República (Uruguay). Facultad de IngenieríaSintas Gonzalo, Universidad de la República (Uruguay). Facultad de Ingeniería2019-02-25T15:55:33Z2019-02-25T15:55:33Z2018Vaz, L y Sintas, G. Intérprete funcional para OCL : HaskellOCL [en línea] Tesis de grado. Montevideo : UR.FI.INCO, 2018.http://hdl.handle.net/20.500.12008/20219El paradigma de Ingeniería Dirigida por Modelos (MDE por sus siglas en inglés) propone la construcción de software basado en una abstracción de su complejidad a través de la definición de modelos y en un proceso de construcción (semi)automático guiado por transformaciones de estos modelos. El Object Constraint Language (OCL), un lenguaje formal que permite expresar restricciones que se deben cumplir para asegurar la corrección semántica de un modelo. El lenguaje se define como un lenguaje sin efectos secundarios que combina aspectos funcionales (ej. composición de funciones) y orientados a modelos (ej. herencia de tipos). Sus intérpretes se enfocan principalmente en aspectos orientados a modelos, proveyendo una representación directa de construcciones como herencia y navegación a través de propiedades de los elementos de los modelos. Sin embargo, en los últimos años se han propuesto diversas extensiones funcionales al lenguaje, por ejemplo: pattern matching, expresiones lambda y evaluación perezosa. En un trabajo previo se propuso la construcción de un intérprete de OCL basado en el paradigma funcional (usando Haskell), que incluye además la interpretación de modelos, metamodelos y transformaciones. El objetivo de este proyecto es continuar desarrollando las capacidades del intérprete, particularmente definiendo una transformación que permita generar la infraestructura funcional necesaria para interpretar expresiones OCL (OCL2Haskell), así como adaptar un editor de OCL (en Eclipse) para permitir ejecutar automáticamente la transformación y realizar la validación de dichas expresiones OCL haciendo que la infraestructura funcional sea transparente para el usuario final.Submitted by Seroubian Mabel (mabel.seroubian@seciu.edu.uy) on 2019-02-25T15:55:33Z No. of bitstreams: 2 license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) tg-vaz-sinta.pdf: 4498062 bytes, checksum: 8781eed0e60083ae4ad5c9e7fd255a26 (MD5)Made available in DSpace on 2019-02-25T15:55:33Z (GMT). No. of bitstreams: 2 license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) tg-vaz-sinta.pdf: 4498062 bytes, checksum: 8781eed0e60083ae4ad5c9e7fd255a26 (MD5) Previous issue date: 2018129 h.application/pdfesspaUR.FI.INCOLas obras depositadas en el Repositorio se rigen por la Ordenanza de los Derechos de la Propiedad Intelectual de la Universidad de la República.(Res. Nº 91 de C.D.C. de 8/III/1994 – D.O. 7/IV/1994) y por la Ordenanza del Repositorio Abierto de la Universidad de la República (Res. Nº 16 de C.D.C. de 07/10/2014)info:eu-repo/semantics/openAccessLicencia Creative Commons Atribución – No Comercial – Sin Derivadas (CC - By-NC-ND)MDEOCLHaskellEclipseIntérprete funcional para OCL : HaskellOCLTesis de gradoinfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionreponame:COLIBRIinstname:Universidad de la Repúblicainstacron:Universidad de la RepúblicaVaz, LeticiaSintas, GonzaloCalegari, DanielViera, MarcosUniversidad de la República (Uruguay). Facultad de IngenieríaIngeniero en ComputaciónLICENSElicense.txtlicense.txttext/plain; charset=utf-84267http://localhost:8080/xmlui/bitstream/20.500.12008/20219/5/license.txt6429389a7df7277b72b7924fdc7d47a9MD55CC-LICENSElicense_urllicense_urltext/plain; charset=utf-849http://localhost:8080/xmlui/bitstream/20.500.12008/20219/2/license_url4afdbb8c545fd630ea7db775da747b2fMD52license_textlicense_texttext/html; charset=utf-80http://localhost:8080/xmlui/bitstream/20.500.12008/20219/3/license_textd41d8cd98f00b204e9800998ecf8427eMD53license_rdflicense_rdfapplication/rdf+xml; charset=utf-80http://localhost:8080/xmlui/bitstream/20.500.12008/20219/4/license_rdfd41d8cd98f00b204e9800998ecf8427eMD54ORIGINALtg-vaz-sinta.pdftg-vaz-sinta.pdfapplication/pdf4498062http://localhost:8080/xmlui/bitstream/20.500.12008/20219/1/tg-vaz-sinta.pdf8781eed0e60083ae4ad5c9e7fd255a26MD5120.500.12008/202192024-04-12 14:06:40.238oai:colibri.udelar.edu.uy:20.500.12008/20219VGVybWlub3MgeSBjb25kaWNpb25lcyByZWxhdGl2YXMgYWwgZGVwb3NpdG8gZGUgb2JyYXMKCgpMYXMgb2JyYXMgZGVwb3NpdGFkYXMgZW4gZWwgUmVwb3NpdG9yaW8gc2UgcmlnZW4gcG9yIGxhIE9yZGVuYW56YSBkZSBsb3MgRGVyZWNob3MgZGUgbGEgUHJvcGllZGFkIEludGVsZWN0dWFsICBkZSBsYSBVbml2ZXJzaWRhZCBEZSBMYSBSZXDDumJsaWNhLiAoUmVzLiBOwrogOTEgZGUgQy5ELkMuIGRlIDgvSUlJLzE5OTQg4oCTIEQuTy4gNy9JVi8xOTk0KSB5ICBwb3IgbGEgT3JkZW5hbnphIGRlbCBSZXBvc2l0b3JpbyBBYmllcnRvIGRlIGxhIFVuaXZlcnNpZGFkIGRlIGxhIFJlcMO6YmxpY2EgKFJlcy4gTsK6IDE2IGRlIEMuRC5DLiBkZSAwNy8xMC8yMDE0KS4gCgpBY2VwdGFuZG8gZWwgYXV0b3IgZXN0b3MgdMOpcm1pbm9zIHkgY29uZGljaW9uZXMgZGUgZGVww7NzaXRvIGVuIENPTElCUkksIGxhIFVuaXZlcnNpZGFkIGRlIFJlcMO6YmxpY2EgcHJvY2VkZXLDoSBhOiAgCgphKSBhcmNoaXZhciBtw6FzIGRlIHVuYSBjb3BpYSBkZSBsYSBvYnJhIGVuIGxvcyBzZXJ2aWRvcmVzIGRlIGxhIFVuaXZlcnNpZGFkIGEgbG9zIGVmZWN0b3MgZGUgZ2FyYW50aXphciBhY2Nlc28sIHNlZ3VyaWRhZCB5IHByZXNlcnZhY2nDs24KYikgY29udmVydGlyIGxhIG9icmEgYSBvdHJvcyBmb3JtYXRvcyBzaSBmdWVyYSBuZWNlc2FyaW8gIHBhcmEgZmFjaWxpdGFyIHN1IHByZXNlcnZhY2nDs24geSBhY2Nlc2liaWxpZGFkIHNpbiBhbHRlcmFyIHN1IGNvbnRlbmlkby4KYykgcmVhbGl6YXIgbGEgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGRpc3BvbmVyIGVsIGFjY2VzbyBsaWJyZSB5IGdyYXR1aXRvIGEgdHJhdsOpcyBkZSBJbnRlcm5ldCBtZWRpYW50ZSBsYSBwdWJsaWNhY2nDs24gZGUgbGEgb2JyYSBiYWpvIGxhIGxpY2VuY2lhIENyZWF0aXZlIENvbW1vbnMgc2VsZWNjaW9uYWRhIHBvciBlbCBwcm9waW8gYXV0b3IuCgoKRW4gY2FzbyBxdWUgZWwgYXV0b3IgaGF5YSBkaWZ1bmRpZG8geSBkYWRvIGEgcHVibGljaWRhZCBhIGxhIG9icmEgZW4gZm9ybWEgcHJldmlhLCAgcG9kcsOhIHNvbGljaXRhciB1biBwZXLDrW9kbyBkZSBlbWJhcmdvIHNvYnJlIGxhIGRpc3BvbmliaWxpZGFkIHDDumJsaWNhIGRlIGxhIG1pc21hLCBlbCBjdWFsIGNvbWVuemFyw6EgYSBwYXJ0aXIgZGUgbGEgYWNlcHRhY2nDs24gZGUgZXN0ZSBkb2N1bWVudG8geSBoYXN0YSBsYSBmZWNoYSBxdWUgaW5kaXF1ZSAuCgpFbCBhdXRvciBhc2VndXJhIHF1ZSBsYSBvYnJhIG5vIGluZnJpZ2UgbmluZ8O6biBkZXJlY2hvIHNvYnJlIHRlcmNlcm9zLCB5YSBzZWEgZGUgcHJvcGllZGFkIGludGVsZWN0dWFsIG8gY3VhbHF1aWVyIG90cm8uCgpFbCBhdXRvciBnYXJhbnRpemEgcXVlIHNpIGVsIGRvY3VtZW50byBjb250aWVuZSBtYXRlcmlhbGVzIGRlIGxvcyBjdWFsZXMgbm8gdGllbmUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCAgaGEgb2J0ZW5pZG8gZWwgcGVybWlzbyBkZWwgcHJvcGlldGFyaW8gZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCB5IHF1ZSBlc2UgbWF0ZXJpYWwgY3V5b3MgZGVyZWNob3Mgc29uIGRlIHRlcmNlcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIHkgcmVjb25vY2lkbyBlbiBlbCB0ZXh0byBvIGNvbnRlbmlkbyBkZWwgZG9jdW1lbnRvIGRlcG9zaXRhZG8gZW4gZWwgUmVwb3NpdG9yaW8uCgpFbiBvYnJhcyBkZSBhdXRvcsOtYSBtw7psdGlwbGUgL3NlIHByZXN1bWUvIHF1ZSBlbCBhdXRvciBkZXBvc2l0YW50ZSBkZWNsYXJhIHF1ZSBoYSByZWNhYmFkbyBlbCBjb25zZW50aW1pZW50byBkZSB0b2RvcyBsb3MgYXV0b3JlcyBwYXJhIHB1YmxpY2FybGEgZW4gZWwgUmVwb3NpdG9yaW8sIHNpZW5kbyDDqXN0ZSBlbCDDum5pY28gcmVzcG9uc2FibGUgZnJlbnRlIGEgY3VhbHF1aWVyIHRpcG8gZGUgcmVjbGFtYWNpw7NuIGRlIGxvcyBvdHJvcyBjb2F1dG9yZXMuCgpFbCBhdXRvciBzZXLDoSByZXNwb25zYWJsZSBkZWwgY29udGVuaWRvIGRlIGxvcyBkb2N1bWVudG9zIHF1ZSBkZXBvc2l0YS4gTGEgVURFTEFSIG5vIHNlcsOhIHJlc3BvbnNhYmxlIHBvciBsYXMgZXZlbnR1YWxlcyB2aW9sYWNpb25lcyBhbCBkZXJlY2hvIGRlIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBlbiBxdWUgcHVlZGEgaW5jdXJyaXIgZWwgYXV0b3IuCgpBbnRlIGN1YWxxdWllciBkZW51bmNpYSBkZSB2aW9sYWNpw7NuIGRlIGRlcmVjaG9zIGRlIHByb3BpZWRhZCBpbnRlbGVjdHVhbCwgbGEgVURFTEFSICBhZG9wdGFyw6EgdG9kYXMgbGFzIG1lZGlkYXMgbmVjZXNhcmlhcyBwYXJhIGV2aXRhciBsYSBjb250aW51YWNpw7NuIGRlIGRpY2hhIGluZnJhY2Npw7NuLCBsYXMgcXVlIHBvZHLDoW4gaW5jbHVpciBlbCByZXRpcm8gZGVsIGFjY2VzbyBhIGxvcyBjb250ZW5pZG9zIHkvbyBtZXRhZGF0b3MgZGVsIGRvY3VtZW50byByZXNwZWN0aXZvLgoKTGEgb2JyYSBzZSBwb25kcsOhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBhIHRyYXbDqXMgZGUgbGFzIGxpY2VuY2lhcyBDcmVhdGl2ZSBDb21tb25zLCBlbCBhdXRvciBwb2Ryw6Egc2VsZWNjaW9uYXIgdW5hIGRlIGxhcyA2IGxpY2VuY2lhcyBkaXNwb25pYmxlczoKCgpBdHJpYnVjacOzbiAoQ0MgLSBCeSk6IFBlcm1pdGUgdXNhciBsYSBvYnJhIHkgZ2VuZXJhciBvYnJhcyBkZXJpdmFkYXMsIGluY2x1c28gY29uIGZpbmVzIGNvbWVyY2lhbGVzLCBzaWVtcHJlIHF1ZSBzZSByZWNvbm96Y2EgYWwgYXV0b3IuCgpBdHJpYnVjacOzbiDigJMgQ29tcGFydGlyIElndWFsIChDQyAtIEJ5LVNBKTogUGVybWl0ZSB1c2FyIGxhIG9icmEgeSBnZW5lcmFyIG9icmFzIGRlcml2YWRhcywgaW5jbHVzbyBjb24gZmluZXMgY29tZXJjaWFsZXMsIHBlcm8gbGEgZGlzdHJpYnVjacOzbiBkZSBsYXMgb2JyYXMgZGVyaXZhZGFzIGRlYmUgaGFjZXJzZSBtZWRpYW50ZSB1bmEgbGljZW5jaWEgaWTDqW50aWNhIGEgbGEgZGUgbGEgb2JyYSBvcmlnaW5hbCwgcmVjb25vY2llbmRvIGEgbG9zIGF1dG9yZXMuCgpBdHJpYnVjacOzbiDigJMgTm8gQ29tZXJjaWFsIChDQyAtIEJ5LU5DKTogUGVybWl0ZSB1c2FyIGxhIG9icmEgeSBnZW5lcmFyIG9icmFzIGRlcml2YWRhcywgc2llbXByZSB5IGN1YW5kbyBlc29zIHVzb3Mgbm8gdGVuZ2FuIGZpbmVzIGNvbWVyY2lhbGVzLCByZWNvbm9jaWVuZG8gYWwgYXV0b3IuCgpBdHJpYnVjacOzbiDigJMgU2luIERlcml2YWRhcyAoQ0MgLSBCeS1ORCk6IFBlcm1pdGUgZWwgdXNvIGRlIGxhIG9icmEsIGluY2x1c28gY29uIGZpbmVzIGNvbWVyY2lhbGVzLCBwZXJvIG5vIHNlIHBlcm1pdGUgZ2VuZXJhciBvYnJhcyBkZXJpdmFkYXMsIGRlYmllbmRvIHJlY29ub2NlciBhbCBhdXRvci4KCkF0cmlidWNpw7NuIOKAkyBObyBDb21lcmNpYWwg4oCTIENvbXBhcnRpciBJZ3VhbCAoQ0Mg4oCTIEJ5LU5DLVNBKTogUGVybWl0ZSB1c2FyIGxhIG9icmEgeSBnZW5lcmFyIG9icmFzIGRlcml2YWRhcywgc2llbXByZSB5IGN1YW5kbyBlc29zIHVzb3Mgbm8gdGVuZ2FuIGZpbmVzIGNvbWVyY2lhbGVzIHkgbGEgZGlzdHJpYnVjacOzbiBkZSBsYXMgb2JyYXMgZGVyaXZhZGFzIHNlIGhhZ2EgbWVkaWFudGUgbGljZW5jaWEgaWTDqW50aWNhIGEgbGEgZGUgbGEgb2JyYSBvcmlnaW5hbCwgcmVjb25vY2llbmRvIGEgbG9zIGF1dG9yZXMuCgpBdHJpYnVjacOzbiDigJMgTm8gQ29tZXJjaWFsIOKAkyBTaW4gRGVyaXZhZGFzIChDQyAtIEJ5LU5DLU5EKTogUGVybWl0ZSB1c2FyIGxhIG9icmEsIHBlcm8gbm8gc2UgcGVybWl0ZSBnZW5lcmFyIG9icmFzIGRlcml2YWRhcyB5IG5vIHNlIHBlcm1pdGUgdXNvIGNvbiBmaW5lcyBjb21lcmNpYWxlcywgZGViaWVuZG8gcmVjb25vY2VyIGFsIGF1dG9yLgoKTG9zIHVzb3MgcHJldmlzdG9zIGVuIGxhcyBsaWNlbmNpYXMgaW5jbHV5ZW4gbGEgZW5hamVuYWNpw7NuLCByZXByb2R1Y2Npw7NuLCBjb211bmljYWNpw7NuLCBwdWJsaWNhY2nDs24sIGRpc3RyaWJ1Y2nDs24geSBwdWVzdGEgYSBkaXNwb3NpY2nDs24gZGVsIHDDumJsaWNvLiBMYSBjcmVhY2nDs24gZGUgb2JyYXMgZGVyaXZhZGFzIGluY2x1eWUgbGEgYWRhcHRhY2nDs24sIHRyYWR1Y2Npw7NuIHkgZWwgcmVtaXguCgpDdWFuZG8gc2Ugc2VsZWNjaW9uZSB1bmEgbGljZW5jaWEgcXVlIGhhYmlsaXRlIHVzb3MgY29tZXJjaWFsZXMsIGVsIGRlcMOzc2l0byBkZWJlcsOhIHNlciBhY29tcGHDsWFkbyBkZWwgYXZhbCBkZWwgamVyYXJjYSBtw6F4aW1vIGRlbCBTZXJ2aWNpbyBjb3JyZXNwb25kaWVudGUuCg==Universidadhttps://udelar.edu.uy/https://www.colibri.udelar.edu.uy/oai/requestmabel.seroubian@seciu.edu.uyUruguayopendoar:47712024-07-25T14:46:16.005680COLIBRI - Universidad de la Repúblicafalse |
spellingShingle | Intérprete funcional para OCL : HaskellOCL Vaz, Leticia MDE OCL Haskell Eclipse |
status_str | acceptedVersion |
title | Intérprete funcional para OCL : HaskellOCL |
title_full | Intérprete funcional para OCL : HaskellOCL |
title_fullStr | Intérprete funcional para OCL : HaskellOCL |
title_full_unstemmed | Intérprete funcional para OCL : HaskellOCL |
title_short | Intérprete funcional para OCL : HaskellOCL |
title_sort | Intérprete funcional para OCL : HaskellOCL |
topic | MDE OCL Haskell Eclipse |
url | http://hdl.handle.net/20.500.12008/20219 |