Formulación de un Perfil UML para la Documentación de Sistemas Informáticos Bajo el Paradigma de Programación Orientada a Protocolos
DOI:
https://doi.org/10.62876/tekhne.v26i2.6160Palabras clave:
POP, Swift, UML, documentación, diagrama de perfilResumen
En la actualidad, en el desarrollo de sistemas para el entorno Apple e incluso fuera de éste, se utiliza el lenguaje de programación Swift, considerado como el responsable del surgimiento del paradigma Programación Orientada a Protocolos (POP), POP presenta mecanismos de abstracción enfocados en proveer soluciones a defectos encontrados en el paradigma de Programación Orientada a Objetos (POO). Aunque POP es un paradigma ampliamente usado; no existe un estándar para su representación dentro del Lenguaje de Modelado Unificado UML. Adicionalmente, el nivel de madurez del lenguaje Swift, afecta procesos y herramientas dentro del ecosistema del lenguaje, como es el caso del compilador de documentación DocC. Por lo anterior, en este trabajo se propone una extensión de UML mediante la formulación de un perfil POP, definido por un conjunto de estereotipos, restricciones y valores etiquetados que representan las principales propiedades a nivel de diseño, como protocolos, estructuras y extensiones. De esta manera, se introduce una extensión formal para la representación de este nuevo paradigma en UML. Este aporte refuerza el papel de la documentación como una herramienta de descubrimiento de diseño a partir de código, además de contribuir con el avance del lenguaje Swift, permitiéndole desarrollos basados en Model Driven Engineering, MDE o Model Driven Development (MDD).
Palabras clave: Documentación, POP, Swift, UML, Diagrama de Perfil
Descargas
Citas
P. Clements, L. Bass y D. Garlan, Documenting Software Architectures: Views and Beyond. Boston, MA: Addison-Wesley, 2003. DOI: https://doi.org/10.1109/ICSE.2003.1201264
I. Sommerville, Software Engineering, 10a ed. Boston, MA: Addison-Wesley, 2016.
Design Workshop, Landscape Architecture Documentation Standards: Principles, Guidelines, and Best Practices. Chichester, England: John Wiley & Sons, 2015.
H. Gomaa, Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures. Cambridge, England: Cambridge University Press, 2011. DOI: https://doi.org/10.1017/CBO9780511779183
A. S. Gillis y V. Silverthorne, "Integrated development environment (IDE)", TechTarget: Software Quality, 2018. [En línea]. Disponible: https://www.techtarget.com/searchsoftwarequality/definition/integrated-development-environment
A. Gaidukov, "An introduction to protocol-oriented programming in Swift", Toptal Engineering Blog, 2016. [En línea]. Disponible: https://www.toptal.com/swift/introduction-protocol-oriented-programming-swift
Izertis, "Introducción a la programación orientada a protocolos con Swift", Solid GEAR, 2017. [En línea]. Disponible: https://ahorasomos.izertis.com/solidgear/introduccion-programacion-orientada-protocolos-swift/
P. Carrascal, "¿Qué es la programación orientada a protocolos?", Quora, 2018. [En línea]. Disponible: https://es.quora.com/Qu%C3%A9-es-la-programaci%C3%B3n-orientada-a-protocolos
G. Booch, J. Rumbaugh y I. Jacobson, The Unified Modeling Language User Guide, 2a ed. Boston, MA: Addison-Wesley, 2005.
R. Rodríguez y M. Goncalves, "Perfil UML para el modelado visual de requisitos difusos", Enl@ce: Revista Venezolana de Información, Tecnología y Conocimiento, vol. 6, no. 3, pp. 29–46, 2009.
A. LeClair, S. Haque, L. Wu y C. McMillan, "Improved code summarization via a graph neural network", en ICPC '20: Proceedings of the 28th International Conference on Program Comprehension, 2020, pp. 184–195. DOI: https://doi.org/10.1145/3387904.3389268
Apple, "Swift-DocC Is Now Open Source", Swift.org, 2021. [En línea]. Disponible: https://www.swift.org/blog/swift-docc/
TIOBE, "TIOBE Index", 2022. [En línea]. Disponible: https://www.tiobe.com/tiobe-index/
A. Terrasa, J. Private y G. Tremblay, "Documentation generators support for program comprehension: Where are we?", en Proceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering (SLE), 2015.
A. Soukka, T. Hastrup, T. J. Lukka y B. Fallenstein, "Bridging Javadoc and design documentation via UML diagram image maps", 2021.
Apple, "The Swift Programming Language. Swift 5.7", Swift.org, 2023. [En línea]. Disponible: https://docs.swift.org/swift-book/documentation/the-swift-programming-language
Object Management Group (OMG), "OMG Unified Modeling Language (OMG UML) Version 2.5.1", 2017. [En línea]. Disponible: https://www.omg.org/spec/UML/2.5.1/PDF DOI: https://doi.org/10.1016/B978-1-78548-171-0.50001-3
D. Abrahams, "Protocol-Oriented Programming in Swift", presentado en Apple Worldwide Developers Conference (WWDC), Sesión 408, 2015.
Apple, "Document Revision History", Swift.org, 2023. [En línea]. Disponible: https://docs.swift.org/swift-book/documentation/the-swift-programming-language/revisionhistory
Object Management Group (OMG), "About the Unified Modeling Language Specification Version 2.5.1", 2023. [En línea]. Disponible: https://www.omg.org/spec/UML/2.5.1/About-UML
Apple, "Sequence and collection protocols", Apple Developer Documentation, 2023. [En línea]. Disponible: https://developer.apple.com/documentation/swift/sequence-and-collection-protocols
Publicado
Cómo citar
Número
Sección
ARK
Licencia
Derechos de autor 2023 Maria Perez y Sofía Rodriguez

Esta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial-CompartirIgual 4.0.




