Abstract
Within microservice architecture-based systems, some microservices are integrated to build the software. The integration of these services may be defined based on a workflow model. There are also a variety of different languages available for defining these workflow models. BPMN and YAWL are two such options. It is important that testers test the integration of these microservices. This paper proposes the formal method as the solution for integration testing. This method translates the workflow model to the Alloy. The algorithm has suggested a translation of workflow models to formal specifications. This specification takes into consideration both structural and behavioral aspects. The first perspective is about general structures, while the second is about the behavior of the objects in a specific model. We have proved the correctness of the suggested specifications. For this purpose, the paper has shown that formal definitions are sound and are complete with nine theorems for these properties. The translation from YAWL to Alloy is defined based on their BNF grammar. The generated model is an appropriate source for different purposes containing software testing. The suggested method for software testing is model-driven testing. Logical predicates define the structure of Alloy models. This method uses these logical predicates for generating tests. The test method has used RACC coverage as an example criterion. Alloy Analyzer tests the model by generating test predicates.
Similar content being viewed by others
Notes
Satisfiability Problem.
References
Fowler, M.: Microservices. martinFowler.com. 25 March 2014 [Cited: 28 June 2021]. https://martinfowler.com/articles/microservices.html (2014)
Nadareishvili, I., et al.: Microservice Architecture: Aligning Principles, Practices, and Culture. O’Reilly Media, Sebastopol, CA (2016)
Camunda Group: Zeebe. Zeebe. 5 Feb 2018 [Cited: 28 June 2021]. https://docs.zeebe.io/introduction/what-is-zeebe.html (2018)
Lamancha, B.P., et al.: Model-driven test code generation. In: International Conference on Evaluation of Novel Approaches to Software Engineering, vol. 275, pp. 155–168. Springer, Heraklion (2011)
Clemson, T.: Testing Strategies in a microservice architecture. martinfowler. 18 Nov 2014 [Cited: 28 June 2021]. https://martinfowler.com/articles/microservice-testing/ (2014)
Jackson, D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press, Cambridge (2012)
Meinke, K., Nycander, P.: Learning-based testing of distributed microservice architectures: correctness and fault injection. In: Bianculli, D., Calinescu, R., Rumpe, B. (eds.) Software Engineering and Formal Methods, vol. 9509, pp. 3–10. Springer, Berlin (2015)
Peuster, M., et al.: Joint testing and profiling of microservice-based network services using TTCN-3. ICT Express 5, 150–153 (2019)
Savchenko, D., Radchenko, G., Taipale, O.: Microservices validation: Mjolnirr platform case study. In: International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), pp. 235–240. IEEE, Opatija (2015)
Reeve, J., Frost, M.P.,Thorpe, P.: Automated integration testing with mock microservices. 20190155721 United States of America, 23 May 2019 (2019)
Castillos, K.C., Dadeau, F., Julliand, J.: Scenario-based testing from UML/OCL behavioral models application to POSIX compliance. Int. J. Softw. Tools Technol. Transfer 13, 431–448 (2011)
Falcone, Y., Mounier, L., Fernandez, J.-C.: j-POST: a java toolchain for property oriented software testing. Electron. Notes Theor. Comput. Sci. 220, 29–41 (2008)
Castillos, K.C., et al.: A compositional automata-based semantics for property patterns. In: 10th International Conference on Integrated Formal Methods, vol. 7940, pp. 316–330. Springer, Berlin (2013)
Achour, S., Benattou, M.: Test case generation for Java Bytecode programs annotated with BML specifications. In: International Conference on Multimedia Computing and Systems (ICMCS), vol. 5, pp. 605–610. IEEE, Morocco (2016)
Aichernig, B.K., et al.: Model-based mutation testing of hybrid systems. In: de Boer, F.S., Bonsangue, M.M., Hallerstede, S., Leuschel, M. (eds.) Formal Methods for Components and Objects, vol. 6286, pp. 228–249. Springer, Berlin (2009)
Yamasathien, S., Vatanawood, W.: An approach to construct formal model of business process model from BPMN workflow patterns. In: IEEE, 2014. Fourth International Conference on Digital Information and Communication Technology and its Applications (DICTAP), Bangkok, pp. 211–215 (2014)
Prandi, D., Quaglia, P., Zannone, N.: Formal analysis of BPMN via a translation into COWS. In: 10th International Conference on Coordination Models and Languages, pp. 249–263. Springer, Oslo (2008)
Ouyang, C., et al.: Pattern-based translation of BPMN process models to BPEL web services. Int. J. Web Serv. Res. (IJWSR) 5, 42–62 (2008)
Decker, G., et al.: Transforming BPMN Diagrams into YAWL Nets. In: International Conference on Business Process Management, vol. 5240, pp. 386–389. Springer, Berlin (2008)
Zhao, C., et al.: Pattern-based design evolution using graph transformation. J. Vis. Lang. Comput. 18, 378–398 (2007)
Ye, J., et al.: Formal semantics of BPMN process models using YAWL. In: Second International Symposium on Intelligent Information Technology Application, pp. 70–74. IEEE, Shanghai (2008)
Mendling, J., et al.: Errors in the SAP reference model. In: International Conference on Business Process Management, pp. 451–457. Springer, Berlin (2006)
Wynn, M.T., et al.: Business process verification: finally a reality! Bus. Process. Manag. J. 15, 74–92 (2009)
Bueno, A.S., Gumbrecht, A., Porter, J.: Testing Java Microservices Using Arquillian, Hoverfly, AssertJ, JUnit, Selenium, and Mockito, vol. 1. Manning Publication, New York (2018)
Yuan, E.: Architecture interoperability and repeatability with microservices: an industry perspective. In: 2nd International Workshop on Establishing a Community-Wide Infrastructure for Architecture-Based Software Engineering, pp. 26–33. IEEE/ACM, Montreal (2019)
van der Aalst, W.M.P.: Process-aware information systems: lessons to be learned from process mining. In: Jensen, K., van der Aalst, W.M.P. (eds.) Transactions on Petri Nets and Other Models of Concurrency, pp. 1–26. Springer, Berlin (2009)
Russell, N., et al.: Workflow control-flow patterns: a revised view. BPM Center Report, vol. 0622, pp. 6–22. s.n., Netherland (2006)
Object Management Group: BPMN. OMG [Cited: 28 June 2021]. https://www.omg.org/spec/BPMN/2.0/About-BPMN/
ter Hofstede, A., et al.: Modern Business Process Automation: YAWL and Its Support Environment. Springer, New York (2010)
Verbeek, E., Basten, T., van der Aalst, W.: diagnosing workflow processes using Woflan. Comput. J. 44, 246–279 (2001)
Ammann, P., Offutt, J.: Introduction to Software Testing. Cambridge University Press, New York (2017)
Brader, L., Hilliker, H., Wills, A.: Chapter 2. Unit testing: testing the inside. In: Brader, L., Hilliker, H., Hilliker, H.F., Wills, A.C. (eds.) Testing for Continuous Delivery with Visual Studio 2012, p. 30. Microsoft, Redmond, Washington (2013)
Bazzana, G., et al.: Model-Based Testing Essentials—Guide to the ISTQB Certified Model-Based Tester. John Wiley & Sons, Hoboken (2016).. (ISBN: 9781119130017)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Kevin Lano.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Supplementary Information
Below is the link to the electronic supplementary material.
Rights and permissions
Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Rivadeh, M., Mirian-Hosseinabadi, SH. Formal translation of YAWL workflow models to the Alloy formal specifications: a testing application. Softw Syst Model 22, 941–968 (2023). https://doi.org/10.1007/s10270-022-01043-8
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-022-01043-8