Abstract
Even though the formal method community tends to overlook the problem, formal methods are sometimes difficult to use and not accessible to average users. On one hand, this is due to the intrinsic complexity of the methods and, therefore, some level of required expertise is unavoidable. On the other hand, however, the methods are sometimes hard to use because of lack of a user-friendly tool support. In this paper, we present our experience in addressing usability when developing a framework for the Abstract State Machines (ASMs) formal method. In particular, we discuss how we enhanced modeling, validation, and verification activities of an ASM-based development process. We also provide a critical review of which of our efforts have been more successful as well as those that have not obtained the results we were expecting. Finally, we outline other directions that we believe could further lower the adoption barrier of the method.
P. Arcaini is supported by ERATO HASUO Metamathematics for Systems Design Project (No. JPMJER1603), JST. Funding Reference number: 10.13039/501100009024 ERATO.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
References
Abadi, M., Lamport, L.: The existence of refinement mappings. Theoret. Comput. Sci. 82(2), 253–284 (1991). https://doi.org/10.1016/0304-3975(91)90224-P
Abrial, J.R., Hallerstede, S.: Refinement, decomposition, and instantiation of discrete models: application to Event-B. Fundam. Inform. 77(1), 1–28 (2007)
Arcaini, P., et al.: Unified syntax for abstract state machines. In: Butler, M., Schewe, K.-D., Mashkoor, A., Biro, M. (eds.) ABZ 2016. LNCS, vol. 9675, pp. 231–236. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-33600-8_14
Arcaini, P., Bonfanti, S., Gargantini, A., Mashkoor, A., Riccobene, E.: Integrating formal methods into medical software development: the ASM approach. Sci. Comput. Program. 158, 148–167 (2018). https://doi.org/10.1016/j.scico.2017.07.003
Arcaini, P., Bonfanti, S., Gargantini, A., Riccobene, E.: Visual notation and patterns for abstract state machines. In: Milazzo, P., Varró, D., Wimmer, M. (eds.) STAF 2016. LNCS, vol. 9946, pp. 163–178. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-50230-4_12
Arcaini, P., Gargantini, A., Riccobene, E.: AsmetaSMV: a way to link high-level ASM models to low-level NuSMV specifications. In: Frappier, M., Glässer, U., Khurshid, S., Laleau, R., Reeves, S. (eds.) ABZ 2010. LNCS, vol. 5977, pp. 61–74. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-11811-1_6
Arcaini, P., Gargantini, A., Riccobene, E.: Automatic review of Abstract State Machines by meta property verification. In: Muñoz, C. (ed.) Proceedings of the Second NASA Formal Methods Symposium (NFM 2010), NASA/CP-2010-216215, pp. 4–13. NASA, Langley Research Center, Hampton, April 2010
Arcaini, P., Gargantini, A., Riccobene, E.: SMT-based automatic proof of ASM model refinement. In: De Nicola, R., Kühn, E. (eds.) SEFM 2016. LNCS, vol. 9763, pp. 253–269. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-41591-8_17
Arcaini, P., Gargantini, A., Riccobene, E.: Rigorous development process of a safety-critical system: from ASM models to Java code. Int. J. Softw. Tools Technol. Transfer 19(2), 247–269 (2015). https://doi.org/10.1007/s10009-015-0394-x
Arcaini, P., Gargantini, A., Riccobene, E.: SMT for state-based formal methods: the ASM case study. In: Shankar, N., Dutertre, B. (eds.) Automated Formal Methods. Kalpa Publications in Computing, vol. 5, pp. 1–18. EasyChair (2018)
Arcaini, P., Gargantini, A., Riccobene, E., Scandurra, P.: A model-driven process for engineering a toolset for a formal method. Softw. Pract. Exp. 41, 155–166 (2011). https://doi.org/10.1002/spe.1019
Arcaini, P., Holom, R.-M., Riccobene, E.: ASM-based formal design of an adaptivity component for a Cloud system. Formal Aspects Comput. 28(4), 567–595 (2016). https://doi.org/10.1007/s00165-016-0371-5
Arcaini, P., Melioli, R., Riccobene, E.: AsmetaF: A flattener for the ASMETA framework. In: Masci, P., Monahan, R., Prevosto, V. (eds.) Proceedings 4th Workshop on Formal Integrated Development Environment, Oxford, England, 14 July 2018. Electronic Proceedings in Theoretical Computer Science, vol. 284, pp. 26–36. Open Publishing Association (2018). https://doi.org/10.4204/EPTCS.284.3
Arcaini, P., Riccobene, E., Scandurra, P.: Formal design and verification of self-adaptive systems with decentralized control. ACM Trans. Auton. Adapt. Syst. 11(4), 251–2535 (2017). https://doi.org/10.1145/3019598
Bombarda, A., Bonfanti, S., Gargantini, A., Radavelli, M., Duan, F., Lei, Y.: Combining model refinement and test generation for conformance testing of the IEEE PHD protocol using Abstract State Machines. In: Gaston, C., Kosmatov, N., Le Gall, P. (eds.) ICTSS 2019. LNCS, vol. 11812, pp. 67–85. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-31280-0_5
Bonfanti, S., Carissoni, M., Gargantini, A., Mashkoor, A.: Asm2C++: a tool for code generation from abstract state machines to Arduino. In: Barrett, C., Davies, M., Kahsai, T. (eds.) NFM 2017. LNCS, vol. 10227, pp. 295–301. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-57288-8_21
Boniol, F., Wiels, V., Aït-Ameur, Y., Schewe, K.-D.: The landing gear case study: challenges and experiments. Int. J. Softw. Tools Technol. Transfer 19(2), 133–140 (2016). https://doi.org/10.1007/s10009-016-0431-4
Börger, E., Raschke, A.: Modeling Companion for Software Practitioners. Springer, Heidelberg (2018). https://doi.org/10.1007/978-3-662-56641-1
Bowen, J.P., Hinchey, M.G.: Seven more myths of formal methods: Dispelling industrial prejudices. In: Naftalin, M., Denvir, T., Bertran, M. (eds.) FME 1994. LNCS, vol. 873, pp. 105–117. Springer, Heidelberg (1994). https://doi.org/10.1007/3-540-58555-9_91
Brooke, J.: SUS: a retrospective. J. Usability Stud. 8(2), 29–40 (2013)
Derrick, J., Boiten, E.: Refinement in Z and object-Z: Foundations and Advanced Applications. Springer, London (2001). https://doi.org/10.1007/978-1-4471-5355-9
Dick, J., Loubersac, J.: Integrating structured and formal methods: a visual approach to VDM. In: van Lamsweerde, A., Fugetta, A. (eds.) ESEC 1991. LNCS, vol. 550, pp. 37–59. Springer, Heidelberg (1991). https://doi.org/10.1007/3540547428_42
Dulac, N., Viguier, T., Leveson, N., Storey, M.A.: On the use of visualization in formal requirements specification. In: 2012 IEEE Joint International Conference on Requirements Engineering. Proceedings, pp. 71–80. IEEE (2002)
Farahbod, R., Glässer, U.: The CoreASM modeling framework. Softw. Pract. Exp. 41(2), 167–178 (2011). https://doi.org/10.1002/spe.1029
Gargantini, A., Riccobene, E., Rinzivillo, S.: Using spin to generate tests from ASM specifications. In: Börger, E., Gargantini, A., Riccobene, E. (eds.) ASM 2003. LNCS, vol. 2589, pp. 263–277. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-36498-6_15
Gargantini, A., Riccobene, E., Scandurra, P.: A metamodel-based language and a simulation engine for abstract state machines. J. UCS 14(12), 1949–1983 (2008). https://doi.org/10.3217/jucs-014-12-1949
Hall, A.: Seven myths of formal methods. IEEE Softw. 7(5), 11–19 (1990). https://doi.org/10.1109/52.57887
Heitmeyer, C.L., Jeffords, R.D., Labaw, B.G.: Automated consistency checking of requirements specifications. ACM Trans. Softw. Eng. Methodol. 5(3), 231–261 (1996). https://doi.org/10.1145/234426.234431
Kim, S.K., Carrington, D.: Visualization of formal specifications. In: Proceedings of the Sixth Asia Pacific Software Engineering Conference, APSEC 1999, p. 102. IEEE Computer Society, Washington (1999). https://doi.org/10.1109/APSEC.1999.809590
Kim, T., Cha, S.: Automated structural analysis of SCR-style software requirements specifications using PVS. Softw. Test. Verif. Reliab. 11(3), 143–163 (2001). https://doi.org/10.1002/stvr.218
Kraemer, F.A., Slåtten, V., Herrmann, P.: Tool support for the rapid composition, analysis and implementation of reactive services. J. Syst. Softw. 82(12), 2068–2080 (2009). https://doi.org/10.1016/j.jss.2009.06.057
Ladenberger, L., Bendisposto, J., Leuschel, M.: Visualising event-B models with B-motion studio. In: Alpuente, M., Cook, B., Joubert, C. (eds.) FMICS 2009. LNCS, vol. 5825, pp. 202–204. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-04570-7_17
Leuschel, M., Bendisposto, J., Dobrikov, I., Krings, S., Plagge, D.: From Animation to Data Validation: The ProB Constraint Solver 10 Years On, pp. 427–446. Wiley (2014). https://doi.org/10.1002/9781119002727.ch14
Leuschel, M., Samia, M., Bendisposto, J.: Easy graphical animation and formula visualisation for teaching B. In: The B Method: From Research to Teaching (2008)
Margaria, T., Braun, V.: Formal methods and customized visualization: a fruitful symbiosis. In: Margaria, T., Steffen, B., Rückert, R., Posegga, J. (eds.) Services and Visualization Towards User-Friendly Design. LNCS, vol. 1385, pp. 190–207. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0053506
Miao, H., Liu, L., Li, L.: Formalizing UML models with object-Z. In: George, C., Miao, H. (eds.) ICFEM 2002. LNCS, vol. 2495, pp. 523–534. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-36103-0_53
Parnas, D.L.: Some theorems we should prove. In: Joyce, J.J., Seger, C.-J.H. (eds.) HUG 1993. LNCS, vol. 780, pp. 155–162. Springer, Heidelberg (1994). https://doi.org/10.1007/3-540-57826-9_132
Prochnow, S., Schaefer, G., Bell, K., von Hanxleden, R.: Analyzing robustness of UML state machines. In: Workshop on Modeling and Analysis of Real-Time and Embedded Systems (MARTES 2006) (2006)
Snook, C., Butler, M.: UML-B: formal modeling and design aided by UML. ACM Trans. Softw. Eng. Methodol. 15(1), 92–122 (2006). https://doi.org/10.1145/1125808.1125811
Speicher, M.: What is usability? A characterization based on ISO 9241–11 and ISO/IEC 25010. CoRR abs/1502.06792 (2015)
Spichkova, M.: Human factors of formal methods. CoRR abs/1404.7247 (2014)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Arcaini, P., Bonfanti, S., Gargantini, A., Riccobene, E., Scandurra, P. (2020). Addressing Usability in a Formal Development Environment. In: Sekerinski, E., et al. Formal Methods. FM 2019 International Workshops. FM 2019. Lecture Notes in Computer Science(), vol 12232. Springer, Cham. https://doi.org/10.1007/978-3-030-54994-7_6
Download citation
DOI: https://doi.org/10.1007/978-3-030-54994-7_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-54993-0
Online ISBN: 978-3-030-54994-7
eBook Packages: Computer ScienceComputer Science (R0)