Skip to main content

Addressing Usability in a Formal Development Environment

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 12232))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    http://asmeta.sourceforge.net/.

  2. 2.

    The update site is http://svn.code.sf.net/p/asmeta/code/code/stable/asmeta_update/.

  3. 3.

    http://nusmv.fbk.eu/.

References

  1. 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

    Article  MathSciNet  MATH  Google Scholar 

  2. Abrial, J.R., Hallerstede, S.: Refinement, decomposition, and instantiation of discrete models: application to Event-B. Fundam. Inform. 77(1), 1–28 (2007)

    MathSciNet  MATH  Google Scholar 

  3. 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

    Chapter  Google Scholar 

  4. 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

    Article  Google Scholar 

  5. 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

    Chapter  Google Scholar 

  6. 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

    Chapter  Google Scholar 

  7. 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

    Google Scholar 

  8. 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

    Chapter  Google Scholar 

  9. 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

    Article  Google Scholar 

  10. 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)

    Google Scholar 

  11. 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

    Article  Google Scholar 

  12. 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

    Article  MathSciNet  MATH  Google Scholar 

  13. 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

  14. 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

    Article  Google Scholar 

  15. 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

    Chapter  Google Scholar 

  16. 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

    Chapter  Google Scholar 

  17. 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

    Article  Google Scholar 

  18. Börger, E., Raschke, A.: Modeling Companion for Software Practitioners. Springer, Heidelberg (2018). https://doi.org/10.1007/978-3-662-56641-1

    Book  Google Scholar 

  19. 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

    Chapter  Google Scholar 

  20. Brooke, J.: SUS: a retrospective. J. Usability Stud. 8(2), 29–40 (2013)

    Google Scholar 

  21. 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

    Book  MATH  Google Scholar 

  22. 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

    Chapter  Google Scholar 

  23. 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)

    Google Scholar 

  24. Farahbod, R., Glässer, U.: The CoreASM modeling framework. Softw. Pract. Exp. 41(2), 167–178 (2011). https://doi.org/10.1002/spe.1029

    Article  Google Scholar 

  25. 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

    Chapter  Google Scholar 

  26. 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

    Article  Google Scholar 

  27. Hall, A.: Seven myths of formal methods. IEEE Softw. 7(5), 11–19 (1990). https://doi.org/10.1109/52.57887

    Article  Google Scholar 

  28. 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

    Article  Google Scholar 

  29. 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

  30. 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

    Article  Google Scholar 

  31. 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

    Article  Google Scholar 

  32. 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

    Chapter  Google Scholar 

  33. 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

  34. Leuschel, M., Samia, M., Bendisposto, J.: Easy graphical animation and formula visualisation for teaching B. In: The B Method: From Research to Teaching (2008)

    Google Scholar 

  35. 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

    Chapter  Google Scholar 

  36. 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

    Chapter  Google Scholar 

  37. 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

    Chapter  Google Scholar 

  38. 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)

    Google Scholar 

  39. 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

    Article  Google Scholar 

  40. Speicher, M.: What is usability? A characterization based on ISO 9241–11 and ISO/IEC 25010. CoRR abs/1502.06792 (2015)

    Google Scholar 

  41. Spichkova, M.: Human factors of formal methods. CoRR abs/1404.7247 (2014)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Paolo Arcaini .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics