Implementation compliance of microservices architectural patterns : An approach based on Event-B formal specifications and model-based testing
Supervisor(es): Ruggia, Raúl - González, Laura
Resumen:
Microservices have recently emerged as an architectural style in which applications are composed of small, focused services with a cohesive set of responsibilities, each executing on its own process and communicating with others over the network via lightweight mechanisms. Similar to what had happened with monolithic applications, multiple architectural patterns have been proposed to guide the construction of microservices applications, document knowledge and address recurring situations. As a style that was born in the industry, knowledge exchange, formalization, and validation evolved in tandem with, if not after, having the systems deployed and operational. Microservices architectural patterns are frequently stated in an informal manner which may lead to ambiguity, erroneous application, systems differing from expected behavior and lack of tooling support. In fact, multiple implementations for each pattern were created in this context, ostensibly addressing the same issue but presenting variations in behavior. A broadly utilized strategy to eliminate ambiguity in prose descriptions is the application of formalization techniques. In particular, the Event-B method has been used in the context of large-scale systems to formalize service-oriented architecture patterns and business process models, among others. The outcome of applying the Event-B method is a formal model and a set of proof obligations to be discharged. In turn, model-based testing is an extensively used technique to validate a system under test. A model representing the system is built, from which test cases are automatically derived. UML, BPMN, SysML, finite machine notations and mathematical formalisms such as Z or B, are some common mechanisms to build a model of a system for test generation. This thesis proposes an approach for assessing compliance of microservices architectural patterns implementations based on Event-B specifications and model-based testing. The general idea of the approach is to: (i) formalize natural-language-specified microservices architectural patterns using the Event-B method, (ii) automatically derive abstract test cases from the Event-B specifications by leveraging model-based testing techniques, and (iii) instantiate the abstract test cases in order to assess the compliance of concrete patterns implementations. The proposed approach feasibility was empirically assessed using two of the most cited architectural patterns in microservices: Circuit breaker and Service registry. In particular, these patterns were formalized using Event-B and the resulting models were used to assess the compliance levels of three implementations: Netflix Hystrix, Resilience4j and Eureka. To achieve reproducibility of the evaluations, a mechanism based on Jupyter Notebooks was constructed. The development of this thesis enabled us to confirm the issues raised from natural-language specified microservices architectural patterns, such as implementations of the same pattern having different behaviors. In this line, it also confirms the suitability and technical feasibility of the proposed approach based on Event-B and model-based testing, to assess the compliance levels of a particular pattern implementation with regards to the modeled system-to-be.
Los microservicios surgen como un estilo arquitectónico en el que las aplicaciones se componen de pequeños servicios a los cuales se les asigna un conjunto cohesivo de responsabilidades y ejecutan en su propio proceso comunicándose entre ellos a través de la red mediante mecanismos ligeros. De forma similar a lo que ocurrió con las aplicaciones monolíticas, se han propuesto múltiples patrones arquitectónicos para guiar la construcción de aplicaciones basadas en microservicios, documentar el conocimiento y abordar situaciones recurrentes. Como un estilo arquitectónico nacido en la industria, el intercambio de conocimientos, la formalización y la validación evolucionaron a la par, si no después, de tener los sistemas desplegados y operativos. Los patrones arquitectónicos de microservicios se enuncian con frecuencia de manera informal, lo que puede conducir a la ambigüedad, a una aplicación errónea, a sistemas que difieren del comportamiento esperado y a la falta de soporte de herramientas. De hecho, en este contexto se han creado múltiples implementaciones para cada patrón, que aparentemente abordan el mismo problema pero presentan variaciones en el comportamiento. Una estrategia ampliamente utilizada para eliminar la ambigüedad en las escritura en prosa es la aplicación de técnicas de formalización. En particular, el método Event-B se ha utilizado en el contexto de los sistemas a gran escala para formalizar patrones de arquitectura orientada a servicios y modelos de procesos empresariales, entre otros. El resultado de la aplicación del método Event-B es un modelo formal y un conjunto de obligaciones de prueba que deben ser satisfechas. Por otra parte, las pruebas basadas en modelos son una técnica muy utilizada para validar un sistema. Se construye un modelo que representa el sistema a validar, del que se derivan automáticamente los casos de prueba. UML, BPMN, SysML, notaciones de máquina finita y formalismos matemáticos como Z o B, son algunos mecanismos habituales para construir un modelo de un sistema para la generación de pruebas. Esta tesis propone un enfoque para evaluar la conformidad de las implementaciones de patrones arquitectónicos de microservicios basado en especificaciones Event-B y en pruebas basadas en modelos. La idea general del enfoque es: (i) formalizar patrones arquitectónicos de microservicios especificados en lenguaje natural utilizando el método Event-B, (ii) derivar automáticamente casos de prueba abstractos a partir de las especificaciones Event-B aprovechando las técnicas de prueba basadas en modelos, y (iii) instanciar los casos de prueba abstractos para evaluar la conformidad de las implementaciones de patrones concretos. La viabilidad del enfoque propuesto se evaluó empíricamente utilizando dos de los patrones arquitectónicos más citados en el área de microservicios: Circuit breaker y Service registry. En particular, estos patrones se formalizaron utilizando Event-B y los modelos resultantes se utilizaron para evaluar los niveles de cumplimiento de tres implementaciones: Netflix Hystrix, Resilience4j y Eureka. Adicionalmente, para lograr la reproducibilidad de las evaluaciones, se construyó un mecanismo basado en Jupyter Notebooks. El desarrollo de esta tesis nos ha permitido confirmar los problemas que plantean los patrones arquitectónicos de microservicios especificados en lenguaje natural, problemas tales como que las implementaciones de un mismo patrón tengan comportamientos diferentes. En esta línea, también se confirma la viabilidad técnica del enfoque propuesto basado en Event-B y en las pruebas basadas en modelos, para evaluar el nivel de cumplimiento de una determinada implementación de un patrón con respecto al sistema modelado.
2022 | |
Microservices Architectural Patterns Formalization Event-B Implementation Compliance Model-Based Testing Microservicios Patrones Arquitectónicos Formalización Conformidad Pruebas Basadas en Modelos |
|
Inglés | |
Universidad de la República | |
COLIBRI | |
https://hdl.handle.net/20.500.12008/35986 | |
Acceso abierto | |
Licencia Creative Commons Atribución - No Comercial - Sin Derivadas (CC - By-NC-ND 4.0) |
_version_ | 1807523183345008640 |
---|---|
author | Vergara, Sebastián |
author_facet | Vergara, Sebastián |
author_role | author |
bitstream.checksum.fl_str_mv | 6429389a7df7277b72b7924fdc7d47a9 a006180e3f5b2ad0b88185d14284c0e0 5496fc0e5fd48f50fe829b9d18359908 1996b8461bc290aef6a27d78c67b6b52 29921c33251882944f92d78c723e6932 |
bitstream.checksumAlgorithm.fl_str_mv | MD5 MD5 MD5 MD5 MD5 |
bitstream.url.fl_str_mv | http://localhost:8080/xmlui/bitstream/20.500.12008/35986/5/license.txt http://localhost:8080/xmlui/bitstream/20.500.12008/35986/2/license_url http://localhost:8080/xmlui/bitstream/20.500.12008/35986/3/license_text http://localhost:8080/xmlui/bitstream/20.500.12008/35986/4/license_rdf http://localhost:8080/xmlui/bitstream/20.500.12008/35986/1/Ver22.pdf |
collection | COLIBRI |
dc.contributor.filiacion.none.fl_str_mv | Vergara Sebastián, Universidad de la República (Uruguay). Facultad de Ingeniería. |
dc.creator.advisor.none.fl_str_mv | Ruggia, Raúl González, Laura |
dc.creator.none.fl_str_mv | Vergara, Sebastián |
dc.date.accessioned.none.fl_str_mv | 2023-02-23T13:10:04Z |
dc.date.available.none.fl_str_mv | 2023-02-23T13:10:04Z |
dc.date.issued.none.fl_str_mv | 2022 |
dc.description.abstract.none.fl_txt_mv | Microservices have recently emerged as an architectural style in which applications are composed of small, focused services with a cohesive set of responsibilities, each executing on its own process and communicating with others over the network via lightweight mechanisms. Similar to what had happened with monolithic applications, multiple architectural patterns have been proposed to guide the construction of microservices applications, document knowledge and address recurring situations. As a style that was born in the industry, knowledge exchange, formalization, and validation evolved in tandem with, if not after, having the systems deployed and operational. Microservices architectural patterns are frequently stated in an informal manner which may lead to ambiguity, erroneous application, systems differing from expected behavior and lack of tooling support. In fact, multiple implementations for each pattern were created in this context, ostensibly addressing the same issue but presenting variations in behavior. A broadly utilized strategy to eliminate ambiguity in prose descriptions is the application of formalization techniques. In particular, the Event-B method has been used in the context of large-scale systems to formalize service-oriented architecture patterns and business process models, among others. The outcome of applying the Event-B method is a formal model and a set of proof obligations to be discharged. In turn, model-based testing is an extensively used technique to validate a system under test. A model representing the system is built, from which test cases are automatically derived. UML, BPMN, SysML, finite machine notations and mathematical formalisms such as Z or B, are some common mechanisms to build a model of a system for test generation. This thesis proposes an approach for assessing compliance of microservices architectural patterns implementations based on Event-B specifications and model-based testing. The general idea of the approach is to: (i) formalize natural-language-specified microservices architectural patterns using the Event-B method, (ii) automatically derive abstract test cases from the Event-B specifications by leveraging model-based testing techniques, and (iii) instantiate the abstract test cases in order to assess the compliance of concrete patterns implementations. The proposed approach feasibility was empirically assessed using two of the most cited architectural patterns in microservices: Circuit breaker and Service registry. In particular, these patterns were formalized using Event-B and the resulting models were used to assess the compliance levels of three implementations: Netflix Hystrix, Resilience4j and Eureka. To achieve reproducibility of the evaluations, a mechanism based on Jupyter Notebooks was constructed. The development of this thesis enabled us to confirm the issues raised from natural-language specified microservices architectural patterns, such as implementations of the same pattern having different behaviors. In this line, it also confirms the suitability and technical feasibility of the proposed approach based on Event-B and model-based testing, to assess the compliance levels of a particular pattern implementation with regards to the modeled system-to-be. Los microservicios surgen como un estilo arquitectónico en el que las aplicaciones se componen de pequeños servicios a los cuales se les asigna un conjunto cohesivo de responsabilidades y ejecutan en su propio proceso comunicándose entre ellos a través de la red mediante mecanismos ligeros. De forma similar a lo que ocurrió con las aplicaciones monolíticas, se han propuesto múltiples patrones arquitectónicos para guiar la construcción de aplicaciones basadas en microservicios, documentar el conocimiento y abordar situaciones recurrentes. Como un estilo arquitectónico nacido en la industria, el intercambio de conocimientos, la formalización y la validación evolucionaron a la par, si no después, de tener los sistemas desplegados y operativos. Los patrones arquitectónicos de microservicios se enuncian con frecuencia de manera informal, lo que puede conducir a la ambigüedad, a una aplicación errónea, a sistemas que difieren del comportamiento esperado y a la falta de soporte de herramientas. De hecho, en este contexto se han creado múltiples implementaciones para cada patrón, que aparentemente abordan el mismo problema pero presentan variaciones en el comportamiento. Una estrategia ampliamente utilizada para eliminar la ambigüedad en las escritura en prosa es la aplicación de técnicas de formalización. En particular, el método Event-B se ha utilizado en el contexto de los sistemas a gran escala para formalizar patrones de arquitectura orientada a servicios y modelos de procesos empresariales, entre otros. El resultado de la aplicación del método Event-B es un modelo formal y un conjunto de obligaciones de prueba que deben ser satisfechas. Por otra parte, las pruebas basadas en modelos son una técnica muy utilizada para validar un sistema. Se construye un modelo que representa el sistema a validar, del que se derivan automáticamente los casos de prueba. UML, BPMN, SysML, notaciones de máquina finita y formalismos matemáticos como Z o B, son algunos mecanismos habituales para construir un modelo de un sistema para la generación de pruebas. Esta tesis propone un enfoque para evaluar la conformidad de las implementaciones de patrones arquitectónicos de microservicios basado en especificaciones Event-B y en pruebas basadas en modelos. La idea general del enfoque es: (i) formalizar patrones arquitectónicos de microservicios especificados en lenguaje natural utilizando el método Event-B, (ii) derivar automáticamente casos de prueba abstractos a partir de las especificaciones Event-B aprovechando las técnicas de prueba basadas en modelos, y (iii) instanciar los casos de prueba abstractos para evaluar la conformidad de las implementaciones de patrones concretos. La viabilidad del enfoque propuesto se evaluó empíricamente utilizando dos de los patrones arquitectónicos más citados en el área de microservicios: Circuit breaker y Service registry. En particular, estos patrones se formalizaron utilizando Event-B y los modelos resultantes se utilizaron para evaluar los niveles de cumplimiento de tres implementaciones: Netflix Hystrix, Resilience4j y Eureka. Adicionalmente, para lograr la reproducibilidad de las evaluaciones, se construyó un mecanismo basado en Jupyter Notebooks. El desarrollo de esta tesis nos ha permitido confirmar los problemas que plantean los patrones arquitectónicos de microservicios especificados en lenguaje natural, problemas tales como que las implementaciones de un mismo patrón tengan comportamientos diferentes. En esta línea, también se confirma la viabilidad técnica del enfoque propuesto basado en Event-B y en las pruebas basadas en modelos, para evaluar el nivel de cumplimiento de una determinada implementación de un patrón con respecto al sistema modelado. |
dc.format.extent.es.fl_str_mv | 448 p. |
dc.format.mimetype.es.fl_str_mv | application/pdf |
dc.identifier.citation.es.fl_str_mv | Vergara, S. Implementation compliance of microservices architectural patterns : An approach based on Event-B formal specifications and model-based testing [en línea] Tesis de maestría. Montevideo : Udelar. FI. INCO : PEDECIBA. Área Informática, 2022. |
dc.identifier.issn.none.fl_str_mv | 1688-2792 |
dc.identifier.uri.none.fl_str_mv | https://hdl.handle.net/20.500.12008/35986 |
dc.language.iso.none.fl_str_mv | en eng |
dc.publisher.es.fl_str_mv | Udelar. FI. |
dc.rights.license.none.fl_str_mv | Licencia Creative Commons Atribución - No Comercial - Sin Derivadas (CC - By-NC-ND 4.0) |
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 | Microservices Architectural Patterns Formalization Event-B Implementation Compliance Model-Based Testing Microservicios Patrones Arquitectónicos Formalización Conformidad Pruebas Basadas en Modelos |
dc.title.none.fl_str_mv | Implementation compliance of microservices architectural patterns : An approach based on Event-B formal specifications and model-based testing |
dc.type.es.fl_str_mv | Tesis de maestría |
dc.type.none.fl_str_mv | info:eu-repo/semantics/masterThesis |
dc.type.version.none.fl_str_mv | info:eu-repo/semantics/acceptedVersion |
description | Microservices have recently emerged as an architectural style in which applications are composed of small, focused services with a cohesive set of responsibilities, each executing on its own process and communicating with others over the network via lightweight mechanisms. Similar to what had happened with monolithic applications, multiple architectural patterns have been proposed to guide the construction of microservices applications, document knowledge and address recurring situations. As a style that was born in the industry, knowledge exchange, formalization, and validation evolved in tandem with, if not after, having the systems deployed and operational. Microservices architectural patterns are frequently stated in an informal manner which may lead to ambiguity, erroneous application, systems differing from expected behavior and lack of tooling support. In fact, multiple implementations for each pattern were created in this context, ostensibly addressing the same issue but presenting variations in behavior. A broadly utilized strategy to eliminate ambiguity in prose descriptions is the application of formalization techniques. In particular, the Event-B method has been used in the context of large-scale systems to formalize service-oriented architecture patterns and business process models, among others. The outcome of applying the Event-B method is a formal model and a set of proof obligations to be discharged. In turn, model-based testing is an extensively used technique to validate a system under test. A model representing the system is built, from which test cases are automatically derived. UML, BPMN, SysML, finite machine notations and mathematical formalisms such as Z or B, are some common mechanisms to build a model of a system for test generation. This thesis proposes an approach for assessing compliance of microservices architectural patterns implementations based on Event-B specifications and model-based testing. The general idea of the approach is to: (i) formalize natural-language-specified microservices architectural patterns using the Event-B method, (ii) automatically derive abstract test cases from the Event-B specifications by leveraging model-based testing techniques, and (iii) instantiate the abstract test cases in order to assess the compliance of concrete patterns implementations. The proposed approach feasibility was empirically assessed using two of the most cited architectural patterns in microservices: Circuit breaker and Service registry. In particular, these patterns were formalized using Event-B and the resulting models were used to assess the compliance levels of three implementations: Netflix Hystrix, Resilience4j and Eureka. To achieve reproducibility of the evaluations, a mechanism based on Jupyter Notebooks was constructed. The development of this thesis enabled us to confirm the issues raised from natural-language specified microservices architectural patterns, such as implementations of the same pattern having different behaviors. In this line, it also confirms the suitability and technical feasibility of the proposed approach based on Event-B and model-based testing, to assess the compliance levels of a particular pattern implementation with regards to the modeled system-to-be. |
eu_rights_str_mv | openAccess |
format | masterThesis |
id | COLIBRI_ed5d0d42fe335116c84b52f4775c4032 |
identifier_str_mv | Vergara, S. Implementation compliance of microservices architectural patterns : An approach based on Event-B formal specifications and model-based testing [en línea] Tesis de maestría. Montevideo : Udelar. FI. INCO : PEDECIBA. Área Informática, 2022. 1688-2792 |
instacron_str | Universidad de la República |
institution | Universidad de la República |
instname_str | Universidad de la República |
language | eng |
language_invalid_str_mv | en |
network_acronym_str | COLIBRI |
network_name_str | COLIBRI |
oai_identifier_str | oai:colibri.udelar.edu.uy:20.500.12008/35986 |
publishDate | 2022 |
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 4.0) |
spelling | Vergara Sebastián, Universidad de la República (Uruguay). Facultad de Ingeniería.2023-02-23T13:10:04Z2023-02-23T13:10:04Z2022Vergara, S. Implementation compliance of microservices architectural patterns : An approach based on Event-B formal specifications and model-based testing [en línea] Tesis de maestría. Montevideo : Udelar. FI. INCO : PEDECIBA. Área Informática, 2022.1688-2792https://hdl.handle.net/20.500.12008/35986Microservices have recently emerged as an architectural style in which applications are composed of small, focused services with a cohesive set of responsibilities, each executing on its own process and communicating with others over the network via lightweight mechanisms. Similar to what had happened with monolithic applications, multiple architectural patterns have been proposed to guide the construction of microservices applications, document knowledge and address recurring situations. As a style that was born in the industry, knowledge exchange, formalization, and validation evolved in tandem with, if not after, having the systems deployed and operational. Microservices architectural patterns are frequently stated in an informal manner which may lead to ambiguity, erroneous application, systems differing from expected behavior and lack of tooling support. In fact, multiple implementations for each pattern were created in this context, ostensibly addressing the same issue but presenting variations in behavior. A broadly utilized strategy to eliminate ambiguity in prose descriptions is the application of formalization techniques. In particular, the Event-B method has been used in the context of large-scale systems to formalize service-oriented architecture patterns and business process models, among others. The outcome of applying the Event-B method is a formal model and a set of proof obligations to be discharged. In turn, model-based testing is an extensively used technique to validate a system under test. A model representing the system is built, from which test cases are automatically derived. UML, BPMN, SysML, finite machine notations and mathematical formalisms such as Z or B, are some common mechanisms to build a model of a system for test generation. This thesis proposes an approach for assessing compliance of microservices architectural patterns implementations based on Event-B specifications and model-based testing. The general idea of the approach is to: (i) formalize natural-language-specified microservices architectural patterns using the Event-B method, (ii) automatically derive abstract test cases from the Event-B specifications by leveraging model-based testing techniques, and (iii) instantiate the abstract test cases in order to assess the compliance of concrete patterns implementations. The proposed approach feasibility was empirically assessed using two of the most cited architectural patterns in microservices: Circuit breaker and Service registry. In particular, these patterns were formalized using Event-B and the resulting models were used to assess the compliance levels of three implementations: Netflix Hystrix, Resilience4j and Eureka. To achieve reproducibility of the evaluations, a mechanism based on Jupyter Notebooks was constructed. The development of this thesis enabled us to confirm the issues raised from natural-language specified microservices architectural patterns, such as implementations of the same pattern having different behaviors. In this line, it also confirms the suitability and technical feasibility of the proposed approach based on Event-B and model-based testing, to assess the compliance levels of a particular pattern implementation with regards to the modeled system-to-be.Los microservicios surgen como un estilo arquitectónico en el que las aplicaciones se componen de pequeños servicios a los cuales se les asigna un conjunto cohesivo de responsabilidades y ejecutan en su propio proceso comunicándose entre ellos a través de la red mediante mecanismos ligeros. De forma similar a lo que ocurrió con las aplicaciones monolíticas, se han propuesto múltiples patrones arquitectónicos para guiar la construcción de aplicaciones basadas en microservicios, documentar el conocimiento y abordar situaciones recurrentes. Como un estilo arquitectónico nacido en la industria, el intercambio de conocimientos, la formalización y la validación evolucionaron a la par, si no después, de tener los sistemas desplegados y operativos. Los patrones arquitectónicos de microservicios se enuncian con frecuencia de manera informal, lo que puede conducir a la ambigüedad, a una aplicación errónea, a sistemas que difieren del comportamiento esperado y a la falta de soporte de herramientas. De hecho, en este contexto se han creado múltiples implementaciones para cada patrón, que aparentemente abordan el mismo problema pero presentan variaciones en el comportamiento. Una estrategia ampliamente utilizada para eliminar la ambigüedad en las escritura en prosa es la aplicación de técnicas de formalización. En particular, el método Event-B se ha utilizado en el contexto de los sistemas a gran escala para formalizar patrones de arquitectura orientada a servicios y modelos de procesos empresariales, entre otros. El resultado de la aplicación del método Event-B es un modelo formal y un conjunto de obligaciones de prueba que deben ser satisfechas. Por otra parte, las pruebas basadas en modelos son una técnica muy utilizada para validar un sistema. Se construye un modelo que representa el sistema a validar, del que se derivan automáticamente los casos de prueba. UML, BPMN, SysML, notaciones de máquina finita y formalismos matemáticos como Z o B, son algunos mecanismos habituales para construir un modelo de un sistema para la generación de pruebas. Esta tesis propone un enfoque para evaluar la conformidad de las implementaciones de patrones arquitectónicos de microservicios basado en especificaciones Event-B y en pruebas basadas en modelos. La idea general del enfoque es: (i) formalizar patrones arquitectónicos de microservicios especificados en lenguaje natural utilizando el método Event-B, (ii) derivar automáticamente casos de prueba abstractos a partir de las especificaciones Event-B aprovechando las técnicas de prueba basadas en modelos, y (iii) instanciar los casos de prueba abstractos para evaluar la conformidad de las implementaciones de patrones concretos. La viabilidad del enfoque propuesto se evaluó empíricamente utilizando dos de los patrones arquitectónicos más citados en el área de microservicios: Circuit breaker y Service registry. En particular, estos patrones se formalizaron utilizando Event-B y los modelos resultantes se utilizaron para evaluar los niveles de cumplimiento de tres implementaciones: Netflix Hystrix, Resilience4j y Eureka. Adicionalmente, para lograr la reproducibilidad de las evaluaciones, se construyó un mecanismo basado en Jupyter Notebooks. El desarrollo de esta tesis nos ha permitido confirmar los problemas que plantean los patrones arquitectónicos de microservicios especificados en lenguaje natural, problemas tales como que las implementaciones de un mismo patrón tengan comportamientos diferentes. En esta línea, también se confirma la viabilidad técnica del enfoque propuesto basado en Event-B y en las pruebas basadas en modelos, para evaluar el nivel de cumplimiento de una determinada implementación de un patrón con respecto al sistema modelado.Submitted by Machado Jimena (jmachado@fing.edu.uy) on 2023-02-17T18:48:26Z No. of bitstreams: 2 license_rdf: 23149 bytes, checksum: 1996b8461bc290aef6a27d78c67b6b52 (MD5) Ver22.pdf: 12542591 bytes, checksum: 29921c33251882944f92d78c723e6932 (MD5)Approved for entry into archive by Machado Jimena (jmachado@fing.edu.uy) on 2023-02-22T20:25:34Z (GMT) No. of bitstreams: 2 license_rdf: 23149 bytes, checksum: 1996b8461bc290aef6a27d78c67b6b52 (MD5) Ver22.pdf: 12542591 bytes, checksum: 29921c33251882944f92d78c723e6932 (MD5)Made available in DSpace by Luna Fabiana (fabiana.luna@seciu.edu.uy) on 2023-02-23T13:10:04Z (GMT). No. of bitstreams: 2 license_rdf: 23149 bytes, checksum: 1996b8461bc290aef6a27d78c67b6b52 (MD5) Ver22.pdf: 12542591 bytes, checksum: 29921c33251882944f92d78c723e6932 (MD5) Previous issue date: 2022448 p.application/pdfenengUdelar. FI.Las 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 4.0)MicroservicesArchitectural PatternsFormalizationEvent-BImplementation ComplianceModel-Based TestingMicroserviciosPatrones ArquitectónicosFormalizaciónConformidadPruebas Basadas en ModelosImplementation compliance of microservices architectural patterns : An approach based on Event-B formal specifications and model-based testingTesis de maestríainfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/acceptedVersionreponame:COLIBRIinstname:Universidad de la Repúblicainstacron:Universidad de la RepúblicaVergara, SebastiánRuggia, RaúlGonzález, LauraUniversidad de la República (Uruguay). Facultad de IngenieríaMagíster en InformáticaLICENSElicense.txtlicense.txttext/plain; charset=utf-84267http://localhost:8080/xmlui/bitstream/20.500.12008/35986/5/license.txt6429389a7df7277b72b7924fdc7d47a9MD55CC-LICENSElicense_urllicense_urltext/plain; charset=utf-850http://localhost:8080/xmlui/bitstream/20.500.12008/35986/2/license_urla006180e3f5b2ad0b88185d14284c0e0MD52license_textlicense_texttext/html; charset=utf-838777http://localhost:8080/xmlui/bitstream/20.500.12008/35986/3/license_text5496fc0e5fd48f50fe829b9d18359908MD53license_rdflicense_rdfapplication/rdf+xml; charset=utf-823149http://localhost:8080/xmlui/bitstream/20.500.12008/35986/4/license_rdf1996b8461bc290aef6a27d78c67b6b52MD54ORIGINALVer22.pdfVer22.pdfapplication/pdf12542591http://localhost:8080/xmlui/bitstream/20.500.12008/35986/1/Ver22.pdf29921c33251882944f92d78c723e6932MD5120.500.12008/359862023-02-23 10:10:04.761oai:colibri.udelar.edu.uy:20.500.12008/35986VGVybWlub3MgeSBjb25kaWNpb25lcyByZWxhdGl2YXMgYWwgZGVwb3NpdG8gZGUgb2JyYXMKCgpMYXMgb2JyYXMgZGVwb3NpdGFkYXMgZW4gZWwgUmVwb3NpdG9yaW8gc2UgcmlnZW4gcG9yIGxhIE9yZGVuYW56YSBkZSBsb3MgRGVyZWNob3MgZGUgbGEgUHJvcGllZGFkIEludGVsZWN0dWFsICBkZSBsYSBVbml2ZXJzaWRhZCBEZSBMYSBSZXDDumJsaWNhLiAoUmVzLiBOwrogOTEgZGUgQy5ELkMuIGRlIDgvSUlJLzE5OTQg4oCTIEQuTy4gNy9JVi8xOTk0KSB5ICBwb3IgbGEgT3JkZW5hbnphIGRlbCBSZXBvc2l0b3JpbyBBYmllcnRvIGRlIGxhIFVuaXZlcnNpZGFkIGRlIGxhIFJlcMO6YmxpY2EgKFJlcy4gTsK6IDE2IGRlIEMuRC5DLiBkZSAwNy8xMC8yMDE0KS4gCgpBY2VwdGFuZG8gZWwgYXV0b3IgZXN0b3MgdMOpcm1pbm9zIHkgY29uZGljaW9uZXMgZGUgZGVww7NzaXRvIGVuIENPTElCUkksIGxhIFVuaXZlcnNpZGFkIGRlIFJlcMO6YmxpY2EgcHJvY2VkZXLDoSBhOiAgCgphKSBhcmNoaXZhciBtw6FzIGRlIHVuYSBjb3BpYSBkZSBsYSBvYnJhIGVuIGxvcyBzZXJ2aWRvcmVzIGRlIGxhIFVuaXZlcnNpZGFkIGEgbG9zIGVmZWN0b3MgZGUgZ2FyYW50aXphciBhY2Nlc28sIHNlZ3VyaWRhZCB5IHByZXNlcnZhY2nDs24KYikgY29udmVydGlyIGxhIG9icmEgYSBvdHJvcyBmb3JtYXRvcyBzaSBmdWVyYSBuZWNlc2FyaW8gIHBhcmEgZmFjaWxpdGFyIHN1IHByZXNlcnZhY2nDs24geSBhY2Nlc2liaWxpZGFkIHNpbiBhbHRlcmFyIHN1IGNvbnRlbmlkby4KYykgcmVhbGl6YXIgbGEgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGRpc3BvbmVyIGVsIGFjY2VzbyBsaWJyZSB5IGdyYXR1aXRvIGEgdHJhdsOpcyBkZSBJbnRlcm5ldCBtZWRpYW50ZSBsYSBwdWJsaWNhY2nDs24gZGUgbGEgb2JyYSBiYWpvIGxhIGxpY2VuY2lhIENyZWF0aXZlIENvbW1vbnMgc2VsZWNjaW9uYWRhIHBvciBlbCBwcm9waW8gYXV0b3IuCgoKRW4gY2FzbyBxdWUgZWwgYXV0b3IgaGF5YSBkaWZ1bmRpZG8geSBkYWRvIGEgcHVibGljaWRhZCBhIGxhIG9icmEgZW4gZm9ybWEgcHJldmlhLCAgcG9kcsOhIHNvbGljaXRhciB1biBwZXLDrW9kbyBkZSBlbWJhcmdvIHNvYnJlIGxhIGRpc3BvbmliaWxpZGFkIHDDumJsaWNhIGRlIGxhIG1pc21hLCBlbCBjdWFsIGNvbWVuemFyw6EgYSBwYXJ0aXIgZGUgbGEgYWNlcHRhY2nDs24gZGUgZXN0ZSBkb2N1bWVudG8geSBoYXN0YSBsYSBmZWNoYSBxdWUgaW5kaXF1ZSAuCgpFbCBhdXRvciBhc2VndXJhIHF1ZSBsYSBvYnJhIG5vIGluZnJpZ2UgbmluZ8O6biBkZXJlY2hvIHNvYnJlIHRlcmNlcm9zLCB5YSBzZWEgZGUgcHJvcGllZGFkIGludGVsZWN0dWFsIG8gY3VhbHF1aWVyIG90cm8uCgpFbCBhdXRvciBnYXJhbnRpemEgcXVlIHNpIGVsIGRvY3VtZW50byBjb250aWVuZSBtYXRlcmlhbGVzIGRlIGxvcyBjdWFsZXMgbm8gdGllbmUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCAgaGEgb2J0ZW5pZG8gZWwgcGVybWlzbyBkZWwgcHJvcGlldGFyaW8gZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCB5IHF1ZSBlc2UgbWF0ZXJpYWwgY3V5b3MgZGVyZWNob3Mgc29uIGRlIHRlcmNlcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIHkgcmVjb25vY2lkbyBlbiBlbCB0ZXh0byBvIGNvbnRlbmlkbyBkZWwgZG9jdW1lbnRvIGRlcG9zaXRhZG8gZW4gZWwgUmVwb3NpdG9yaW8uCgpFbiBvYnJhcyBkZSBhdXRvcsOtYSBtw7psdGlwbGUgL3NlIHByZXN1bWUvIHF1ZSBlbCBhdXRvciBkZXBvc2l0YW50ZSBkZWNsYXJhIHF1ZSBoYSByZWNhYmFkbyBlbCBjb25zZW50aW1pZW50byBkZSB0b2RvcyBsb3MgYXV0b3JlcyBwYXJhIHB1YmxpY2FybGEgZW4gZWwgUmVwb3NpdG9yaW8sIHNpZW5kbyDDqXN0ZSBlbCDDum5pY28gcmVzcG9uc2FibGUgZnJlbnRlIGEgY3VhbHF1aWVyIHRpcG8gZGUgcmVjbGFtYWNpw7NuIGRlIGxvcyBvdHJvcyBjb2F1dG9yZXMuCgpFbCBhdXRvciBzZXLDoSByZXNwb25zYWJsZSBkZWwgY29udGVuaWRvIGRlIGxvcyBkb2N1bWVudG9zIHF1ZSBkZXBvc2l0YS4gTGEgVURFTEFSIG5vIHNlcsOhIHJlc3BvbnNhYmxlIHBvciBsYXMgZXZlbnR1YWxlcyB2aW9sYWNpb25lcyBhbCBkZXJlY2hvIGRlIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBlbiBxdWUgcHVlZGEgaW5jdXJyaXIgZWwgYXV0b3IuCgpBbnRlIGN1YWxxdWllciBkZW51bmNpYSBkZSB2aW9sYWNpw7NuIGRlIGRlcmVjaG9zIGRlIHByb3BpZWRhZCBpbnRlbGVjdHVhbCwgbGEgVURFTEFSICBhZG9wdGFyw6EgdG9kYXMgbGFzIG1lZGlkYXMgbmVjZXNhcmlhcyBwYXJhIGV2aXRhciBsYSBjb250aW51YWNpw7NuIGRlIGRpY2hhIGluZnJhY2Npw7NuLCBsYXMgcXVlIHBvZHLDoW4gaW5jbHVpciBlbCByZXRpcm8gZGVsIGFjY2VzbyBhIGxvcyBjb250ZW5pZG9zIHkvbyBtZXRhZGF0b3MgZGVsIGRvY3VtZW50byByZXNwZWN0aXZvLgoKTGEgb2JyYSBzZSBwb25kcsOhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBhIHRyYXbDqXMgZGUgbGFzIGxpY2VuY2lhcyBDcmVhdGl2ZSBDb21tb25zLCBlbCBhdXRvciBwb2Ryw6Egc2VsZWNjaW9uYXIgdW5hIGRlIGxhcyA2IGxpY2VuY2lhcyBkaXNwb25pYmxlczoKCgpBdHJpYnVjacOzbiAoQ0MgLSBCeSk6IFBlcm1pdGUgdXNhciBsYSBvYnJhIHkgZ2VuZXJhciBvYnJhcyBkZXJpdmFkYXMsIGluY2x1c28gY29uIGZpbmVzIGNvbWVyY2lhbGVzLCBzaWVtcHJlIHF1ZSBzZSByZWNvbm96Y2EgYWwgYXV0b3IuCgpBdHJpYnVjacOzbiDigJMgQ29tcGFydGlyIElndWFsIChDQyAtIEJ5LVNBKTogUGVybWl0ZSB1c2FyIGxhIG9icmEgeSBnZW5lcmFyIG9icmFzIGRlcml2YWRhcywgaW5jbHVzbyBjb24gZmluZXMgY29tZXJjaWFsZXMsIHBlcm8gbGEgZGlzdHJpYnVjacOzbiBkZSBsYXMgb2JyYXMgZGVyaXZhZGFzIGRlYmUgaGFjZXJzZSBtZWRpYW50ZSB1bmEgbGljZW5jaWEgaWTDqW50aWNhIGEgbGEgZGUgbGEgb2JyYSBvcmlnaW5hbCwgcmVjb25vY2llbmRvIGEgbG9zIGF1dG9yZXMuCgpBdHJpYnVjacOzbiDigJMgTm8gQ29tZXJjaWFsIChDQyAtIEJ5LU5DKTogUGVybWl0ZSB1c2FyIGxhIG9icmEgeSBnZW5lcmFyIG9icmFzIGRlcml2YWRhcywgc2llbXByZSB5IGN1YW5kbyBlc29zIHVzb3Mgbm8gdGVuZ2FuIGZpbmVzIGNvbWVyY2lhbGVzLCByZWNvbm9jaWVuZG8gYWwgYXV0b3IuCgpBdHJpYnVjacOzbiDigJMgU2luIERlcml2YWRhcyAoQ0MgLSBCeS1ORCk6IFBlcm1pdGUgZWwgdXNvIGRlIGxhIG9icmEsIGluY2x1c28gY29uIGZpbmVzIGNvbWVyY2lhbGVzLCBwZXJvIG5vIHNlIHBlcm1pdGUgZ2VuZXJhciBvYnJhcyBkZXJpdmFkYXMsIGRlYmllbmRvIHJlY29ub2NlciBhbCBhdXRvci4KCkF0cmlidWNpw7NuIOKAkyBObyBDb21lcmNpYWwg4oCTIENvbXBhcnRpciBJZ3VhbCAoQ0Mg4oCTIEJ5LU5DLVNBKTogUGVybWl0ZSB1c2FyIGxhIG9icmEgeSBnZW5lcmFyIG9icmFzIGRlcml2YWRhcywgc2llbXByZSB5IGN1YW5kbyBlc29zIHVzb3Mgbm8gdGVuZ2FuIGZpbmVzIGNvbWVyY2lhbGVzIHkgbGEgZGlzdHJpYnVjacOzbiBkZSBsYXMgb2JyYXMgZGVyaXZhZGFzIHNlIGhhZ2EgbWVkaWFudGUgbGljZW5jaWEgaWTDqW50aWNhIGEgbGEgZGUgbGEgb2JyYSBvcmlnaW5hbCwgcmVjb25vY2llbmRvIGEgbG9zIGF1dG9yZXMuCgpBdHJpYnVjacOzbiDigJMgTm8gQ29tZXJjaWFsIOKAkyBTaW4gRGVyaXZhZGFzIChDQyAtIEJ5LU5DLU5EKTogUGVybWl0ZSB1c2FyIGxhIG9icmEsIHBlcm8gbm8gc2UgcGVybWl0ZSBnZW5lcmFyIG9icmFzIGRlcml2YWRhcyB5IG5vIHNlIHBlcm1pdGUgdXNvIGNvbiBmaW5lcyBjb21lcmNpYWxlcywgZGViaWVuZG8gcmVjb25vY2VyIGFsIGF1dG9yLgoKTG9zIHVzb3MgcHJldmlzdG9zIGVuIGxhcyBsaWNlbmNpYXMgaW5jbHV5ZW4gbGEgZW5hamVuYWNpw7NuLCByZXByb2R1Y2Npw7NuLCBjb211bmljYWNpw7NuLCBwdWJsaWNhY2nDs24sIGRpc3RyaWJ1Y2nDs24geSBwdWVzdGEgYSBkaXNwb3NpY2nDs24gZGVsIHDDumJsaWNvLiBMYSBjcmVhY2nDs24gZGUgb2JyYXMgZGVyaXZhZGFzIGluY2x1eWUgbGEgYWRhcHRhY2nDs24sIHRyYWR1Y2Npw7NuIHkgZWwgcmVtaXguCgpDdWFuZG8gc2Ugc2VsZWNjaW9uZSB1bmEgbGljZW5jaWEgcXVlIGhhYmlsaXRlIHVzb3MgY29tZXJjaWFsZXMsIGVsIGRlcMOzc2l0byBkZWJlcsOhIHNlciBhY29tcGHDsWFkbyBkZWwgYXZhbCBkZWwgamVyYXJjYSBtw6F4aW1vIGRlbCBTZXJ2aWNpbyBjb3JyZXNwb25kaWVudGUuCg==Universidadhttps://udelar.edu.uy/https://www.colibri.udelar.edu.uy/oai/requestmabel.seroubian@seciu.edu.uyUruguayopendoar:47712024-07-25T14:44:29.237418COLIBRI - Universidad de la Repúblicafalse |
spellingShingle | Implementation compliance of microservices architectural patterns : An approach based on Event-B formal specifications and model-based testing Vergara, Sebastián Microservices Architectural Patterns Formalization Event-B Implementation Compliance Model-Based Testing Microservicios Patrones Arquitectónicos Formalización Conformidad Pruebas Basadas en Modelos |
status_str | acceptedVersion |
title | Implementation compliance of microservices architectural patterns : An approach based on Event-B formal specifications and model-based testing |
title_full | Implementation compliance of microservices architectural patterns : An approach based on Event-B formal specifications and model-based testing |
title_fullStr | Implementation compliance of microservices architectural patterns : An approach based on Event-B formal specifications and model-based testing |
title_full_unstemmed | Implementation compliance of microservices architectural patterns : An approach based on Event-B formal specifications and model-based testing |
title_short | Implementation compliance of microservices architectural patterns : An approach based on Event-B formal specifications and model-based testing |
title_sort | Implementation compliance of microservices architectural patterns : An approach based on Event-B formal specifications and model-based testing |
topic | Microservices Architectural Patterns Formalization Event-B Implementation Compliance Model-Based Testing Microservicios Patrones Arquitectónicos Formalización Conformidad Pruebas Basadas en Modelos |
url | https://hdl.handle.net/20.500.12008/35986 |