A Bottom Up Approach for Modeling Microservices Using Time Petri Nets - Ramos, Danillo Siqueira; Rocha, Fábio; Soares, Michel dos Santos (Anais do Simpósio Brasileiro de Sistemas de Informação (SBSI); 2022: Anais do XVIII Simpósio Brasileiro de Sistemas de Informação, 2022)
Context: UML is an important modeling language for software development in industry, considered a de facto standard for specifying a variety of models, including business processes, data models, and user scenarios that represent software at a high level of abstraction. Problem: Although UML provides the user with several diagrams for software modeling, the language still leaves gaps, such as a poor capacity for modeling time constraints, and simulating the desired behaviour of software. Thus, using only UML to model distributed systems developed using microservices, and also modeling time constraints and system's behaviour becomes an issue that has been identified by many researchers. Proposed solution: Seeking to mitigate UML gaps, an Electronic Document Management System (SGED) modeled using UML was transcribed to Petri nets with time, using a bottom-up approach. In addition, formal verification and analysis of the model's properties were performed. Results: Through the Petri Nets model with time, it was possible to analyze the behaviour of the modelled system, as well as analyze the systems’ properties, and then detect and prevent possible unwanted behaviour. Contributions: As for conclusion, it is clear the importance of using formal methods in practice, specially Petri nets, in systems with microservices where time constraints are crucial for their correct behaviour. In addition, it is feasible to construct large models by composing Petri nets, using a bottom-up approach, which corresponds nicely with the architecture of microservices, with independent, loosely coupling services.