Archaic IT systems are critical to the functioning of many organizations but present significant challenges for modernization due to their inherent complexity, outdated technologies, and lack of adequate documentation. Extracting and understanding the workflows and embedded requirements within such systems is essential for adapting them to contemporary infrastructure while maintaining regulatory compliance and operational integrity. This article explores the use of Petri Nets as a formal and graphical modelling tool to address these challenges. Petri Nets offer a powerful framework for representing system workflows, capturing concurrency, synchronization, and decision-making processes. The methodology begins with a structured approach to requirements retrieval from legacy systems through reverse engineering, stakeholder engagement, and data analysis. Using the credit report creation process as a case study, we illustrate how Petri Nets can effectively model intricate workflows, including data preprocessing, authorization checks, backend service integration, and fallback mechanisms. The results demonstrate their potential for formal analysis, communication between technical and non-technical stakeholders, and incremental modernization of legacy systems. This article highlights how Petri Nets empower organizations to reconstruct undocumented workflows with precision, enabling sustainable modernization while preserving essential functionalities. By providing a detailed methodology and analysis of Petri Nets, this study offers a structured framework for tackling legacy system challenges and advancing innovative modernization strategies.
[1] Hogan, G., Shalkauskaite, P., Zhu, M., Derwin, M., Yilmaz, M., McCarren, A., & Clarke, P. (2024). Investigating Systems Modernisation: Approaches, Challenges and Risks. Systems, Software and Services Process Improvement, 147-162. https://doi.org/10.1007/978-3-031-71139-8_10
[2] Strobl, S., Bernhart, M., & Grechenig, T. (2020). Towards a Topology for Legacy System Migration. ICSEW'20: Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops, 586-594. https://doi.org/10.1145/3387940.3391476
[3] Akhtyamov, R., Vingerhoeds, R., & Golkar, A. (2018). Measures and Approach for Modernisation of Existing Systems. 2018 IEEE International Systems Engineering Symposium (ISSE), 1-8. https://doi.org/10.1109/SysEng.2018.8544427
[4] Leemans, M., van der Aalst, W. M. P., van den Brand, M. G. J., Schiffelers, R. R. H., & Lensink, L. (2018). Software Process Analysis Methodology: A Methodology Based on Lessons Learned in Embracing Legacy Software. 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME), 665-674. https://doi.org/10.1109/ICSME.2018.00076
[5] Strobl, S., Zoffi, C., Haselmann, C., Bernhart, M., & Grechenig, T. (2020). Automated Code Transformations: Dealing with the Aftermath. 2020 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), London, ON, Canada.
[6] Sahlabadi, M., Muniyandi, R. C., Shukur, Z., Qamar, F., & Kazmi, S. H. A. (2022). Process Mining Discovery Techniques for Software Architecture Lightweight Evaluation Framework. Computers, Materials and Continua, 74(3), 5777-5797. https://doi.org/10.32604/cmc.2023.032504
[7] Pika, A., Ouyang, C., & Hofstede, A. H. M. (2022). Configurable Batch-Processing Discovery from Event Logs. ACM Transactions on Management Information Systems (TMIS), 13(3), 1-25. https://doi.org/10.1145/3490394
[8] Castillo, R. P., Weber, B., & Piattini, M. (2011). Process Mining Through Dynamic Analysis for Modernising Legacy Systems. IET Software, 5(3), 304-319.
[9] Kernytskyy, O., Kernytskyy, A., Melnyk, M., Łukaszewicz, A., Pytel, K., & Banas, M. (2024). Applying Software Development Black-Box, Grey-Box and White-Box Reverse Engineering Frameworks to the Mechanical Industry. CAD in Machinery Design: Implementation and Educational Issues, 233-240.
[10] Moraga, M., & Zhao, Y. (2018). Reverse Engineering a Legacy Software in a Complex System: A Systems Engineering Approach. INCOSE International Symposium, 28(1), 1250-1264. https://doi.org/10.1002/j.2334-5837.2018.00546.x
[11] Ponnusamy, S., & Eswararaj, D. (2023). Navigating the Modernization of Legacy Applications and Data: Effective Strategies and Best Practices. Asian Journal of Research in Computer Science, 16(4), 239-256. https://doi.org/10.9734/ajrcos/2023/v16i4386
[12] Tsai, J. C. A., Jiang, J. J., Klein, G., & Hung, S. Y. (2022). Legacy Information System Replacement: Pursuing Quality Design of Operational Information Systems. Information & Management, 59(1), 103592. https://doi.org/10.1016/j.im.2022.103592
[13] Miskell, C., Diaz, R., Ganeriwala, P., Slhoub, K., & Nembhard, F. (2023). Automated Framework to Extract Software Requirements from Source Code. ACM NLPIR, South Korea. https://doi.org/10.1145/3639233.3639242
[14] Southwick, D., Resch, G., & Ratto, M. (2021). Iterative Prototyping and Co-Design. Knowledge, Innovation, and Impact, 231-238. https://doi.org/10.1007/978-3-030-34390-3_30
[15] He, X. (2013). A Comprehensive Survey of Petri Net Modeling in Software Engineering. International Journal of Software Engineering and Knowledge Engineering, 23(5). https://doi.org/10.1142/S021819401340010X
[16] Han, D., Wang, C., Bian, G., Shao, B., & Shi, T. (2023). A Novel Process Recommendation Method That Integrates Disjoint Paths and Sequential Patterns. MDPI, Applied Sciences, 13(6), 3894. https://doi.org/10.3390/app13063894
[17] Zhu, H., Chen, J., Cai, X., Ma, Z., Jin, R., & Yang, L. (2019). A Security Control Model Based on Petri Net for Industrial IoT. 2019 IEEE International Conference on Industrial Internet (ICII). https://doi.org/10.1109/ICII.2019.00040
[18] Yang, C. H., Lin, Y. N., Shen, V. R. L., Shen, F. H. C., & Jheng, W. S. (2023). A Novel IoT-Enabled System for Real-Time Monitoring Home Appliances Using Petri Nets. https://doi.org/10.36227/techrxiv.22362472.v1
[19] Bouyakoub, S., & Belkhir, A. (2022). Things-Net: A Hierarchical Petri Net Model for Internet of Things Systems. International Journal of Software Innovation, 10(1), 1-27. https://doi.org/10.4018/IJSI.297981
[20] Wang, J. (2022). Healthcare Patient Flow Modeling and Analysis with Timed Petri Nets. Advances in Computing, Informatics, Networking and Cybersecurity, 181-204. https://doi.org/10.1007/978-3-030-87049-2_6
[21] Jabbar, M. A., & Hussain, M. (2022). Formal Modeling and Analysis of Integrated Healthcare System Using Colored Petri Nets. VFAST Transactions on Software Engineering, 10(2), 211. http://vfast.org/journals/index.php/VTSE
[22] Sobrinho, A., Almeida, I., Chaves e Silva, L. D. D., Araújo, A., Costa, T. F. F., & Perkusich, A. (2022). Coloured Petri Nets for Abstract Test Generation in Software Engineering. Wiley, Software Testing, Verification & Reliability, 1(6), 1. https://doi.org/10.1002/stvr.1837