Implementation compliance of microservices architectural patterns : An approach based on Event-B formal specifications and model-based testing

Vergara, Sebastián

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.


Detalles Bibliográficos
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