Implementación de técnicas de evaluación y refinamiento para OCL 2.0 sobre múltiples lenguajes basados en MOF

Autores
Garcia, Carlos Diego
Año de publicación
2006
Idioma
español castellano
Tipo de recurso
tesis de maestría
Estado
versión aceptada
Colaborador/a o director/a de tesis
Pons, Claudia
Descripción
La complejidad de los problemas del mundo real ha llevado a que la construcción de un sistema de software debe ser precedida por la construcción de un modelo, tal como ocurre en otros sistemas ingenieriles. El modelo de un sistema es una representación conceptual obtenida a partir de la identificación, clasificación y abstracción de los elementos que constituyen el problema y su posterior organización en una estructura formal. De esta forma, el modelo de un sistema actúa como una especificación de los requerimientos que el sistema debe satisfacer, proveyendo un medio de comunicación y negociación entre usuarios, clientes, analistas y desarrolladores, así como también un documento de referencia durante la verificación y validación, y durante la evolución del producto. Es de suma importancia expresar el problema claramente y con precisión; pero esta meta es difícil de lograr, los modelos tienden a contener errores, omisiones e inconsistencias porque ellos son el resultado de una actividad compleja y creativa. El modelo del sistema se expresa utilizando un lenguaje de modelado. El éxito de los lenguajes gráficos de modelados como el Unified Modelling Language (UML) son principalmente basado en el uso de construcciones gráficas que transmiten un significado intuitivo. Estos lenguajes son atractivos para los usuarios porque ellos son claros y entendibles. Estas características son vitales ya que el modelo también cumple una función contractual. Sin embargo es fundamental contar con un lenguaje que permita expresar restricciones semánticas adicionales sobre los objetos del modelo, pudiendo obtener modelos más precisos y verificables. OCL es un lenguaje de especificación formal fácil de leer y escribir. Fue definido por la OMG (Object Management Group), permite expresar restricciones semánticas del sistema que no se pueden expresar a partir de una notación gráfica. De esta forma, los diagramas complementados con expresiones OCL son más precisos, su documentación es más clara, se mejora la comunicación entre desarrolladores (evitando errores producidos por malas interpretaciones) y la compresibilidad del sistema en etapas iniciales del desarrollo de software es mayor. Tanto UML como OCL están definidos a través de MOF (Meta Object Facility) una especificación de tecnología estandarizada por OMG en 1997. MOF es un meta-metamodelo que es utilizado para crear metamodelos. OCL puede ser utilizado para cualquier metamodelo que adhiera a MOF. Otras características que son muy importantes para la utilización de los lenguajes de modelado, en sistemas de software complejos, es contar con técnicas de refinamientos, permitiendo un desarrollo por etapas con distintos niveles de abstracción, postergando los detalles del problema en etapas posteriores. En los lenguajes formales como Z [33] es posible demostrar si una especificación dada es un refinamiento de otra especificación, o incluso derivar refinamientos a partir de una determinada especificación. Para poder utilizar mecanismos de refinamientos en UML, es necesario aumentar la precisión de dicho lenguaje de modelado, y definir un marco para expresar la noción de refinamiento. Algunos grupos de investigadores proponen la traducción de UML/OCL en lenguajes formales que soporten mecanismos de refinamientos para disminuir las deficiencias de UML. Esta tesis está organizada de la siguiente manera. En el capitulo 2 se introduce el concepto de MOF y metamodelos. En el capítulo 3 se describe el uso de OCL en modelos basados en MOF. En el capitulo 4 se expone el metamodelo de OCL 2.0. En el capítulo 5 se describe una estrategia de evaluación para las condiciones de refinamientos en modelos UML/OCL. En el capítulo 6 se describe la implementación de la herramienta que asiste al proceso de especificación y evaluación de refinamiento con UML y OCL. En el capitulo 7 se exponen los trabajos relacionados. En el capitulo 8 se expone las conclusiones finales y se citan futuros trabajos.
Magister en Ingeniería de Software
Universidad Nacional de La Plata
Facultad de Informática
Materia
Ciencias Informáticas
Software
Lenguajes de programación
Informática
Software
Nivel de accesibilidad
acceso abierto
Condiciones de uso
http://creativecommons.org/licenses/by-nc-sa/2.5/ar/
Repositorio
SEDICI (UNLP)
Institución
Universidad Nacional de La Plata
OAI Identificador
oai:sedici.unlp.edu.ar:10915/4078

id SEDICI_2652d5b3c16cd4be887848ebd8757d0f
oai_identifier_str oai:sedici.unlp.edu.ar:10915/4078
network_acronym_str SEDICI
repository_id_str 1329
network_name_str SEDICI (UNLP)
spelling Implementación de técnicas de evaluación y refinamiento para OCL 2.0 sobre múltiples lenguajes basados en MOFGarcia, Carlos DiegoCiencias InformáticasSoftwareLenguajes de programaciónInformáticaSoftwareLa complejidad de los problemas del mundo real ha llevado a que la construcción de un sistema de software debe ser precedida por la construcción de un modelo, tal como ocurre en otros sistemas ingenieriles. El modelo de un sistema es una representación conceptual obtenida a partir de la identificación, clasificación y abstracción de los elementos que constituyen el problema y su posterior organización en una estructura formal. De esta forma, el modelo de un sistema actúa como una especificación de los requerimientos que el sistema debe satisfacer, proveyendo un medio de comunicación y negociación entre usuarios, clientes, analistas y desarrolladores, así como también un documento de referencia durante la verificación y validación, y durante la evolución del producto. Es de suma importancia expresar el problema claramente y con precisión; pero esta meta es difícil de lograr, los modelos tienden a contener errores, omisiones e inconsistencias porque ellos son el resultado de una actividad compleja y creativa. El modelo del sistema se expresa utilizando un lenguaje de modelado. El éxito de los lenguajes gráficos de modelados como el Unified Modelling Language (UML) son principalmente basado en el uso de construcciones gráficas que transmiten un significado intuitivo. Estos lenguajes son atractivos para los usuarios porque ellos son claros y entendibles. Estas características son vitales ya que el modelo también cumple una función contractual. Sin embargo es fundamental contar con un lenguaje que permita expresar restricciones semánticas adicionales sobre los objetos del modelo, pudiendo obtener modelos más precisos y verificables. OCL es un lenguaje de especificación formal fácil de leer y escribir. Fue definido por la OMG (Object Management Group), permite expresar restricciones semánticas del sistema que no se pueden expresar a partir de una notación gráfica. De esta forma, los diagramas complementados con expresiones OCL son más precisos, su documentación es más clara, se mejora la comunicación entre desarrolladores (evitando errores producidos por malas interpretaciones) y la compresibilidad del sistema en etapas iniciales del desarrollo de software es mayor. Tanto UML como OCL están definidos a través de MOF (Meta Object Facility) una especificación de tecnología estandarizada por OMG en 1997. MOF es un meta-metamodelo que es utilizado para crear metamodelos. OCL puede ser utilizado para cualquier metamodelo que adhiera a MOF. Otras características que son muy importantes para la utilización de los lenguajes de modelado, en sistemas de software complejos, es contar con técnicas de refinamientos, permitiendo un desarrollo por etapas con distintos niveles de abstracción, postergando los detalles del problema en etapas posteriores. En los lenguajes formales como Z [33] es posible demostrar si una especificación dada es un refinamiento de otra especificación, o incluso derivar refinamientos a partir de una determinada especificación. Para poder utilizar mecanismos de refinamientos en UML, es necesario aumentar la precisión de dicho lenguaje de modelado, y definir un marco para expresar la noción de refinamiento. Algunos grupos de investigadores proponen la traducción de UML/OCL en lenguajes formales que soporten mecanismos de refinamientos para disminuir las deficiencias de UML. Esta tesis está organizada de la siguiente manera. En el capitulo 2 se introduce el concepto de MOF y metamodelos. En el capítulo 3 se describe el uso de OCL en modelos basados en MOF. En el capitulo 4 se expone el metamodelo de OCL 2.0. En el capítulo 5 se describe una estrategia de evaluación para las condiciones de refinamientos en modelos UML/OCL. En el capítulo 6 se describe la implementación de la herramienta que asiste al proceso de especificación y evaluación de refinamiento con UML y OCL. En el capitulo 7 se exponen los trabajos relacionados. En el capitulo 8 se expone las conclusiones finales y se citan futuros trabajos.Magister en Ingeniería de SoftwareUniversidad Nacional de La PlataFacultad de InformáticaPons, Claudia2006info:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/acceptedVersionTesis de maestriahttp://purl.org/coar/resource_type/c_bdccinfo:ar-repo/semantics/tesisDeMaestriaapplication/pdfhttp://sedici.unlp.edu.ar/handle/10915/4078https://doi.org/10.35537/10915/4078spainfo:eu-repo/semantics/altIdentifier/url/http://postgrado.info.unlp.edu.ar/Carreras/Magisters/Ingenieria_de_Software/Tesis/Garcia_Carlos.pdfinfo:eu-repo/semantics/openAccesshttp://creativecommons.org/licenses/by-nc-sa/2.5/ar/Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Argentina (CC BY-NC-SA 2.5)reponame:SEDICI (UNLP)instname:Universidad Nacional de La Platainstacron:UNLP2025-09-29T10:49:27Zoai:sedici.unlp.edu.ar:10915/4078Institucionalhttp://sedici.unlp.edu.ar/Universidad públicaNo correspondehttp://sedici.unlp.edu.ar/oai/snrdalira@sedici.unlp.edu.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:13292025-09-29 10:49:27.643SEDICI (UNLP) - Universidad Nacional de La Platafalse
dc.title.none.fl_str_mv Implementación de técnicas de evaluación y refinamiento para OCL 2.0 sobre múltiples lenguajes basados en MOF
title Implementación de técnicas de evaluación y refinamiento para OCL 2.0 sobre múltiples lenguajes basados en MOF
spellingShingle Implementación de técnicas de evaluación y refinamiento para OCL 2.0 sobre múltiples lenguajes basados en MOF
Garcia, Carlos Diego
Ciencias Informáticas
Software
Lenguajes de programación
Informática
Software
title_short Implementación de técnicas de evaluación y refinamiento para OCL 2.0 sobre múltiples lenguajes basados en MOF
title_full Implementación de técnicas de evaluación y refinamiento para OCL 2.0 sobre múltiples lenguajes basados en MOF
title_fullStr Implementación de técnicas de evaluación y refinamiento para OCL 2.0 sobre múltiples lenguajes basados en MOF
title_full_unstemmed Implementación de técnicas de evaluación y refinamiento para OCL 2.0 sobre múltiples lenguajes basados en MOF
title_sort Implementación de técnicas de evaluación y refinamiento para OCL 2.0 sobre múltiples lenguajes basados en MOF
dc.creator.none.fl_str_mv Garcia, Carlos Diego
author Garcia, Carlos Diego
author_facet Garcia, Carlos Diego
author_role author
dc.contributor.none.fl_str_mv Pons, Claudia
dc.subject.none.fl_str_mv Ciencias Informáticas
Software
Lenguajes de programación
Informática
Software
topic Ciencias Informáticas
Software
Lenguajes de programación
Informática
Software
dc.description.none.fl_txt_mv La complejidad de los problemas del mundo real ha llevado a que la construcción de un sistema de software debe ser precedida por la construcción de un modelo, tal como ocurre en otros sistemas ingenieriles. El modelo de un sistema es una representación conceptual obtenida a partir de la identificación, clasificación y abstracción de los elementos que constituyen el problema y su posterior organización en una estructura formal. De esta forma, el modelo de un sistema actúa como una especificación de los requerimientos que el sistema debe satisfacer, proveyendo un medio de comunicación y negociación entre usuarios, clientes, analistas y desarrolladores, así como también un documento de referencia durante la verificación y validación, y durante la evolución del producto. Es de suma importancia expresar el problema claramente y con precisión; pero esta meta es difícil de lograr, los modelos tienden a contener errores, omisiones e inconsistencias porque ellos son el resultado de una actividad compleja y creativa. El modelo del sistema se expresa utilizando un lenguaje de modelado. El éxito de los lenguajes gráficos de modelados como el Unified Modelling Language (UML) son principalmente basado en el uso de construcciones gráficas que transmiten un significado intuitivo. Estos lenguajes son atractivos para los usuarios porque ellos son claros y entendibles. Estas características son vitales ya que el modelo también cumple una función contractual. Sin embargo es fundamental contar con un lenguaje que permita expresar restricciones semánticas adicionales sobre los objetos del modelo, pudiendo obtener modelos más precisos y verificables. OCL es un lenguaje de especificación formal fácil de leer y escribir. Fue definido por la OMG (Object Management Group), permite expresar restricciones semánticas del sistema que no se pueden expresar a partir de una notación gráfica. De esta forma, los diagramas complementados con expresiones OCL son más precisos, su documentación es más clara, se mejora la comunicación entre desarrolladores (evitando errores producidos por malas interpretaciones) y la compresibilidad del sistema en etapas iniciales del desarrollo de software es mayor. Tanto UML como OCL están definidos a través de MOF (Meta Object Facility) una especificación de tecnología estandarizada por OMG en 1997. MOF es un meta-metamodelo que es utilizado para crear metamodelos. OCL puede ser utilizado para cualquier metamodelo que adhiera a MOF. Otras características que son muy importantes para la utilización de los lenguajes de modelado, en sistemas de software complejos, es contar con técnicas de refinamientos, permitiendo un desarrollo por etapas con distintos niveles de abstracción, postergando los detalles del problema en etapas posteriores. En los lenguajes formales como Z [33] es posible demostrar si una especificación dada es un refinamiento de otra especificación, o incluso derivar refinamientos a partir de una determinada especificación. Para poder utilizar mecanismos de refinamientos en UML, es necesario aumentar la precisión de dicho lenguaje de modelado, y definir un marco para expresar la noción de refinamiento. Algunos grupos de investigadores proponen la traducción de UML/OCL en lenguajes formales que soporten mecanismos de refinamientos para disminuir las deficiencias de UML. Esta tesis está organizada de la siguiente manera. En el capitulo 2 se introduce el concepto de MOF y metamodelos. En el capítulo 3 se describe el uso de OCL en modelos basados en MOF. En el capitulo 4 se expone el metamodelo de OCL 2.0. En el capítulo 5 se describe una estrategia de evaluación para las condiciones de refinamientos en modelos UML/OCL. En el capítulo 6 se describe la implementación de la herramienta que asiste al proceso de especificación y evaluación de refinamiento con UML y OCL. En el capitulo 7 se exponen los trabajos relacionados. En el capitulo 8 se expone las conclusiones finales y se citan futuros trabajos.
Magister en Ingeniería de Software
Universidad Nacional de La Plata
Facultad de Informática
description La complejidad de los problemas del mundo real ha llevado a que la construcción de un sistema de software debe ser precedida por la construcción de un modelo, tal como ocurre en otros sistemas ingenieriles. El modelo de un sistema es una representación conceptual obtenida a partir de la identificación, clasificación y abstracción de los elementos que constituyen el problema y su posterior organización en una estructura formal. De esta forma, el modelo de un sistema actúa como una especificación de los requerimientos que el sistema debe satisfacer, proveyendo un medio de comunicación y negociación entre usuarios, clientes, analistas y desarrolladores, así como también un documento de referencia durante la verificación y validación, y durante la evolución del producto. Es de suma importancia expresar el problema claramente y con precisión; pero esta meta es difícil de lograr, los modelos tienden a contener errores, omisiones e inconsistencias porque ellos son el resultado de una actividad compleja y creativa. El modelo del sistema se expresa utilizando un lenguaje de modelado. El éxito de los lenguajes gráficos de modelados como el Unified Modelling Language (UML) son principalmente basado en el uso de construcciones gráficas que transmiten un significado intuitivo. Estos lenguajes son atractivos para los usuarios porque ellos son claros y entendibles. Estas características son vitales ya que el modelo también cumple una función contractual. Sin embargo es fundamental contar con un lenguaje que permita expresar restricciones semánticas adicionales sobre los objetos del modelo, pudiendo obtener modelos más precisos y verificables. OCL es un lenguaje de especificación formal fácil de leer y escribir. Fue definido por la OMG (Object Management Group), permite expresar restricciones semánticas del sistema que no se pueden expresar a partir de una notación gráfica. De esta forma, los diagramas complementados con expresiones OCL son más precisos, su documentación es más clara, se mejora la comunicación entre desarrolladores (evitando errores producidos por malas interpretaciones) y la compresibilidad del sistema en etapas iniciales del desarrollo de software es mayor. Tanto UML como OCL están definidos a través de MOF (Meta Object Facility) una especificación de tecnología estandarizada por OMG en 1997. MOF es un meta-metamodelo que es utilizado para crear metamodelos. OCL puede ser utilizado para cualquier metamodelo que adhiera a MOF. Otras características que son muy importantes para la utilización de los lenguajes de modelado, en sistemas de software complejos, es contar con técnicas de refinamientos, permitiendo un desarrollo por etapas con distintos niveles de abstracción, postergando los detalles del problema en etapas posteriores. En los lenguajes formales como Z [33] es posible demostrar si una especificación dada es un refinamiento de otra especificación, o incluso derivar refinamientos a partir de una determinada especificación. Para poder utilizar mecanismos de refinamientos en UML, es necesario aumentar la precisión de dicho lenguaje de modelado, y definir un marco para expresar la noción de refinamiento. Algunos grupos de investigadores proponen la traducción de UML/OCL en lenguajes formales que soporten mecanismos de refinamientos para disminuir las deficiencias de UML. Esta tesis está organizada de la siguiente manera. En el capitulo 2 se introduce el concepto de MOF y metamodelos. En el capítulo 3 se describe el uso de OCL en modelos basados en MOF. En el capitulo 4 se expone el metamodelo de OCL 2.0. En el capítulo 5 se describe una estrategia de evaluación para las condiciones de refinamientos en modelos UML/OCL. En el capítulo 6 se describe la implementación de la herramienta que asiste al proceso de especificación y evaluación de refinamiento con UML y OCL. En el capitulo 7 se exponen los trabajos relacionados. En el capitulo 8 se expone las conclusiones finales y se citan futuros trabajos.
publishDate 2006
dc.date.none.fl_str_mv 2006
dc.type.none.fl_str_mv info:eu-repo/semantics/masterThesis
info:eu-repo/semantics/acceptedVersion
Tesis de maestria
http://purl.org/coar/resource_type/c_bdcc
info:ar-repo/semantics/tesisDeMaestria
format masterThesis
status_str acceptedVersion
dc.identifier.none.fl_str_mv http://sedici.unlp.edu.ar/handle/10915/4078
https://doi.org/10.35537/10915/4078
url http://sedici.unlp.edu.ar/handle/10915/4078
https://doi.org/10.35537/10915/4078
dc.language.none.fl_str_mv spa
language spa
dc.relation.none.fl_str_mv info:eu-repo/semantics/altIdentifier/url/http://postgrado.info.unlp.edu.ar/Carreras/Magisters/Ingenieria_de_Software/Tesis/Garcia_Carlos.pdf
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
http://creativecommons.org/licenses/by-nc-sa/2.5/ar/
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Argentina (CC BY-NC-SA 2.5)
eu_rights_str_mv openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-sa/2.5/ar/
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Argentina (CC BY-NC-SA 2.5)
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:SEDICI (UNLP)
instname:Universidad Nacional de La Plata
instacron:UNLP
reponame_str SEDICI (UNLP)
collection SEDICI (UNLP)
instname_str Universidad Nacional de La Plata
instacron_str UNLP
institution UNLP
repository.name.fl_str_mv SEDICI (UNLP) - Universidad Nacional de La Plata
repository.mail.fl_str_mv alira@sedici.unlp.edu.ar
_version_ 1844615747579412480
score 13.069144