Abstract
While formal methods provide powerful means by which designers can show that their systems meet specific requirements, industry has been slow to adopt them. The need for users to learn specialized languages and have a firm grasp of mathematical logic are primary hurdles to such adoption. Even though formal verification tools can make the process less tedious and reduce human error, they generally still require guidance from humans with specialized knowledge.
In this report, the author’s experiences working for a small business are presented, which involved the development and promotion of formal methods tools for public and government agencies. It is notable that the end users of these tools were not necessarily specialists, and often had little to no prior experience with formal methods. Here, we specifically look at the general-purpose design language that was used for modeling, the development of intuitive graphics-based tools to make the system design task easier, and how automated model checking was applied to the resulting system models. We discuss the interactions with and feedback from clients regarding these tools, and in the conclusion make some suggestions regarding their adoption.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Bowen, J.P., Hinchey, M.G.: Formal Methods. In: Tucker, A.B., Jr. (eds.), Computer Science Handbook, 2nd edn, Section XI, Software Engineering, Chapter 106, pp. 106-1–106-25, Chapman & Hall / CRC Press, ACM (2004)
Davis, J.A., Clark, M., Cofer, D., Fifarek, A., Hinchman, J., Hoffman, J., Hulbert, B., Miller, S.P., Wagner, L.: Study on the Barriers to the Industrial Adoption of Formal Methods. In: Pecheur, C., Dierkes, M. (eds.) FMICS 2013. LNCS, vol. 8187, pp. 63–77. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-41010-9_5
Emerson, E.A.: The Beginning of Model Checking: A Personal Perspective. In: Grumberg, O., Veith, H. (eds.) 25 Years of Model Checking. LNCS, vol. 5000, pp. 27–45. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-69850-0_2
Clarke, E.M., Klieber, W., Nováček, M., Zuliani, P.: Model checking and the state explosion problem. In: Meyer, B., Nordio, M. (eds.) LASER 2011. LNCS, vol. 7682, pp. 1–30. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-35746-6_1
Alexander, P., Kamath, R., Barton, D.: System specification in Rosetta. ECBS 2000, 299–307 (2000)
Barker, D.: Requirements modeling technology: a vision for better, faster, and cheaper systems. In: VHDL International Users Forum (VIUF ’00), pp. 3–6 (2000)
Alexander, P.: System Level Design with Rosetta. Morgan Kaufmann Publishers (2006)
White, S.A.: Process modeling notations and workflow patterns. Workflow Handb. 2004, 265–294 (2004)
Tyler, B., Langdon, A., Chawla, P.: Formal verification of layered sensing architectures. In: 2010 IEEE National Aerospace & Electronics Conference (NAECON), pp. 41–44 (2010)
Holzmann, G.J.: The Spin Model Checker: Primer and Reference Manual, Addison-Wesley (2004)
Cimatti, A., Clarke, E.M., Giunchiglia, F., Roveri, M.: NUSMV: a new symbolic model verifier. In: CAV ‘99 Proceedings of the 11th International Conference on Computer Aided Verification, pp. 495–499 (1999)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive licence to Springer Nature Switzerland AG
About this chapter
Cite this chapter
Tyler, B. (2023). Formal Methods Adoption in Industry: An Experience Report. In: Cerone, A. (eds) Formal Methods for an Informal World. ICTAC 2021. Lecture Notes in Computer Science, vol 13490. Springer, Cham. https://doi.org/10.1007/978-3-031-43678-9_5
Download citation
DOI: https://doi.org/10.1007/978-3-031-43678-9_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-43677-2
Online ISBN: 978-3-031-43678-9
eBook Packages: Computer ScienceComputer Science (R0)