A Bottom Up Approach for Modeling Microservices Using Time Petri Nets
ResumoContext: 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.
Fahad Alhumaidan and Nazir Ahmad Zafar. 2014. Possible Improvements in UML Behavior Diagrams. In 2014 International Conference on Computational Science and Computational Intelligence, Vol. 2. 173–178. https://doi.org/10.1109/CSCI.2014.113
Tamara Almarabeh, Yousef Kh Majdalawi, and Hiba Mohammad. 2016. Cloud Computing of E-Government. (2016).
Sascha Alpers, Christoph Becker, Andreas Oberweis, and Thomas Schuster. 2015. Microservice based tool support for business process modelling. In 2015 IEEE 19th International Enterprise Distributed Object Computing Workshop. IEEE, 71–78.
Haitham Alshibly, Raymond Chiong, and Yukun Bao. 2016. Investigating the Critical Success Factors for Implementing Electronic Document Management Systems in Governments: Evidence From Jordan. Information Systems Management 33, 4 (2016), 287–301.
Carlos Arévalo, Marıa José Escalona, Isabel Ramos, and M Domínguez-Muñoz. 2016. A Metamodel to Integrate Business Processes Time Perspective in BPMN 2.0. Information and Software Technology 77 (2016), 17–33.
Mohammad Baghbani. 2019. IDEF0 Modeling Standard: a tool for process map drawing under requirements of ISO 9001: 2015: a case study. Journal of Modern Processes in Manufacturing and Production 8, 4(2019), 57–66.
Armin Balalaie, Abbas Heydarnoori, Pooyan Jamshidi, Damian A Tamburri, and Theo Lynn. 2018. Microservices Migration Patterns. Software: Practice and Experience 48, 11 (2018), 2019–2042.
Taffarel Brant-Ribeiro, Rafael Dias Araujo, Igor Mendonça, Michel S. Soares, and Renan G. Cattelan. 2019. Interactive Web Interfaces Modeling, Simulation and Analysis using Colored Petri Nets. Softw. Syst. Model. 18, 1 (2019), 721–737.
Francesco Di Cerbo, Gabriella Dodero, Gianna Reggio, Filippo Ricca, and Giuseppe Scanniello. 2011. Assessing the Effectiveness of ”Precise” Activity Diagrams in the Context of Business Process Modeling. In Sistemi Evoluti per Basi di Dati - SEBD 2011, Proceedings of the Nineteenth Italian Symposium on Advanced Database Systems, Maratea, Italy, June 26-29, 2011, Giansalvatore Mecca and Sergio Greco (Eds.). 373–380.
K.S. Cheung, T.Y. Cheung, and K.O. Chow. 2006. A Petri-Net-Based Synthesis Methodology for Use-Case-Driven System Design. Journal of Systems and Software, 79, 6 (2006), 772 – 790.
Søren Christensen and Laure Petrucci. 2000. Modular Analysis of Petri Nets. The Computer Journal, 43, 3 (2000), 224–242.
Amit Das, Harminder Singh, and Damien Joseph. 2017. A Longitudinal Study of E-Government Maturity. Information & Management 54, 4 (2017), 415–426.
Jennifer A. Davis, Matthew Clark, Darren Cofer, Aaron Fifarek, Jacob Hinchman, Jonathan Hoffman, Brian Hulbert, Steven P. Miller, and Lucas Wagner. 2013. Study on the Barriers to the Industrial Adoption of Formal Methods. In Formal Methods for Industrial Critical Systems, Charles Pecheur and Michael Dierkes (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 63–77.
Ana M Fernández-Sáez, Michel RV Chaudron, and Marcela Genero. 2013. Exploring Costs and Benefits of Using UML on Maintenance: Preliminary Findings of a Case Study in a Large IT Department. In EESSMOD@ MoDELS. Citeseer, 33–42.
Lidia Fuentes-Fernández and Antonio Vallecillo-Moreno. 2004. An introduction to UML profiles. UML and Model Engineering 2, 6-13 (2004), 72.
Claude Girault and Rudiger Valk. 2002. Petri Nets for System Engineering: A Guide to Modeling, Verification, and Applications. Springer-Verlag New York, Inc., Secaucus, NJ, USA.
Hejiao Huang and Helene Kirchner. 2009. Policy Composition Based on Petri Nets. In Proceedings of the Computer Software and Applications Conference, Vol. 2.
Pooyan Jamshidi, Claus Pahl, Nabor C Mendonça, James Lewis, and Stefan Tilkov. 2018a. Microservices: The Journey so Far and Challenges Ahead. IEEE Software 35, 3 (2018), 24–35.
Pooyan Jamshidi, Claus Pahl, Nabor C. Mendonça, James Lewis, and Stefan Tilkov. 2018b. Microservices: The Journey So Far and Challenges Ahead. IEEE Software 35, 3 (2018), 24–35. https://doi.org/10.1109/MS.2018.2141039
Tomasz Janowski. 2015. Digital Government Evolution: From Transformation to Contextualization. Government Information Quarterly 32, 3 (2015), 221–236.
Mu Der Jeng and F. DiCesare. 1995. Synthesis Using Resource Control Nets for Modeling Shared-Resource Systems. IEEE Transactions on Robotics and Automation 11, 3(1995), 317–327.
Neil D. Jones, Lawrence H. Landweber, and Y. Edmund Lien. 1977. Complexity of Some Problems in Petri Nets. Theoretical Computer Science 4, 3 (1977), 277–299.
Agnes Koschmider, Andreas Oberweis, and Wolffried Stucky. 2018. A Petri net-based View on the Business Process Life-Cycle. Enterp. Model. Inf. Syst. Archit. Int. J. Concept. Model. 13, Special(2018), 47–55.
Alexandr Krylovskiy, Marco Jahn, and Edoardo Patti. 2015. Designing a Smart City Internet of Things Platform With Microservice Architecture. In 2015 3rd International Conference on Future Internet of Things and Cloud. IEEE, 25–30.
Murathan Kurfalı, Ali Arifoğlu, Gül Tokdemir, and Yudum Paçin. 2017. Adoption of E-Government Services in Turkey. Computers in Human Behavior 66 (2017), 168–178.
S. Kurkovsky and R. Loganantharaj. 2000. Extension of Petri nets and its Applications to Model Systems with Imprecise Task Duration. In Ninth IEEE International Conference on Fuzzy Systems. FUZZ- IEEE 2000 (Cat. No.00CH37063), Vol. 1. 369–374. https://doi.org/10.1109/FUZZY.2000.838688
Faming Lu, Qingtian Zeng, MengChu Zhou, Yunxia Bao, and Hua Duan. 2017. Complex Reachability Trees and their Application to Deadlock Detection for Unbounded Petri Nets. IEEE Transactions on Systems, Man, and Cybernetics: Systems 49, 6(2017), 1164–1174.
Monika Malinova, Steven Gross, and Jan Mendling. 2022. A Study Into the Contingencies of Process Improvement Methods. Information Systems 104(2022), 101880. https://doi.org/10.1016/j.is.2021.101880
Genc Mazlami, Jürgen Cito, and Philipp Leitner. 2017. Extraction of Microservices from Monolithic Software Architectures. In 2017 IEEE International Conference on Web Services (ICWS). IEEE, 524–531.
P. Merlin and D. Farber. 1976. Recoverability of Communication Protocols - Implications of a Theoretical Study. IEEE Transactions on Communications 24, 9 (1976), 1036–1043. https://doi.org/10.1109/TCOM.1976.1093424
Abdul Karim Mohamad, Mailasan Jayakrishnan, and Mokhtar Mohd Yusof. 2022. Thriving Information System Through Business Intelligence Knowledge Management Excellence Framework. International Journal of Electrical & Computer Engineering (2088-8708) 12, 1(2022).
Tadao Murata. 1989. Petri nets: Properties, Analysis and Applications. Proc. IEEE 77, 4 (1989), 541–580.
Umair Mutarraf, Kamel Barkaoui, Zhiwu Li, Naiqi Wu, and Ting Qu. 2018. Transformation of Business Process Model and Notation Models onto Petri nets and their Analysis. Advances in Mechanical Engineering 10, 12 (2018), 1687814018808170.
Wolfgang Polak. 2002. Formal Methods in Practice. Science of Computer Programming 42, 1 (2002), 75–85.
Mohamed Ramadan, Hicham G Elmongui, and Riham Hassan. 2011. BPMN Formalisation Using Coloured Petri Nets. In Proceedings of the 2nd GSTF annual international conference on software engineering & applications (SEA 2011). 83–90.
C. Ramchandani. 1974. Analysis of Asynchronous Concurrent Systems by Timed Petri Nets. Technical Report. USA.
Andreas Rogge-Solti and Mathias Weske. 2015. Prediction of Business Process Durations Using Non-Markovian Stochastic Petri Nets. Information Systems 54(2015), 1–14.
Bernhard Schäfer, Margret Keuper, and Heiner Stuckenschmidt. 2021. Arrow R-CNN for handwritten diagram recognition. International Journal on Document Analysis and Recognition (IJDAR) 24, 1(2021), 3–17.
Michel S. Soares and Daniel S. Cioquetta. 2012. Analysis of Techniques for Documenting User Requirements. In Computational Science and Its Applications - ICCSA 2012 - 12th International Conference, Salvador de Bahia, Brazil, June 18-21, 2012, Proceedings, Part IV(Lecture Notes in Computer Science, Vol. 7336), Beniamino Murgante, Osvaldo Gervasi, Sanjay Misra, Nadia Nedjah, Ana Maria A. C. Rocha, David Taniar, and Bernady O. Apduhan (Eds.). Springer, 16–28.
Michel S. Soares, Stéphane Julia, and Jos L. M. Vrancken. 2008. Real-Time Scheduling of Batch Systems using Petri nets and Linear Logic. Journal of Systems and Software 81, 11 (2008), 1983–1996.
Michel S. Soares and Jos Vrancken. 2008. A Metamodeling Approach to Transform UML 2.0 Sequence Diagrams to Petri Nets. In Proceedings of the IASTED International Conference on Software Engineering (Innsbruck, Austria) (SE ’08). ACTA Press, USA, 159––164.
Michel S. Soares and Jos Vrancken. 2012. A Modular Petri Net to Modeling and Scenario Analysis of a Network of Road Traffic Signals. Control Engineering Practice 20, 11 (2012), 1183–1194. Special Section: Wiener-Hammerstein System Identification Benchmark.
Michel S. Soares and Jos L. M. Vrancken. 2007. Road Traffic Signals Modeling and Analysis with Petri nets and Linear Logic. In Proceedings of the IEEE International Conference on Networking, Sensing and Control, ICNSC 2007, London, UK, 15-17 April 2007. IEEE, 169–174.
Amrik S. Sohal and Paul Fitzpatrick. 2002. IT governance and management in large Australian organisations. International Journal of Production Economics 75, 1 (2002), 97–112. Information Technology/Information Systems in 21st Century Production.
Richard Swedberg. 2020. Exploratory research. The Production of Knowledge: Enhancing Progress in Social Science (2020), 17–41.
Pedro Valderas, Victoria Torres, and Estefanía Serral. 2022. Modelling and Executing IoT-enhanced Business Processes Through BPMN and Microservices. Journal of Systems and Software 184 (2022), 111139. https://doi.org/10.1016/j.jss.2021.111139
W. Vogler. 1992. Modular Construction and Partial Order Semantics of Petri Nets. Springer-Verlag, Secaucus, NJ, USA.
Wei Wang, Tianwa Chen, Marta Indulska, Shazia Sadiq, and Barbara Weber. 2022. Business Process and Rule Integration Approaches — An Empirical Analysis of Model Understanding. Information Systems 104(2022), 101901.
Armin Zimmermann. 2012. Modeling and Evaluation of Stochastic Petri nets with TimeNET 4.1. In 6th International ICST Conference on Performance Evaluation Methodologies and Tools. IEEE, 54–63.