Abstract
The application of formal methods to the development of reliable interactive systems usually involves a multidisciplinary team with different roles and expertises (e.g. formal engineers, user interface designers and domain experts). While formal engineers provide the necessary expertise in formal methods, other roles may not be well versed in formal methods, such as user interface engineers or domain experts; consequently barriers may arise while working in a multidisciplinary team. For instance, communication problems and challenges in the rigorous use of formal method tools. Tools like BMotion Studio may reduce these barriers by creating visualizations of formal specifications, however, lacks features needed for the analysis of interactive systems. In this paper, we present a novel graphical environment that continues the ideas of BMotion Studio called BMotionWeb to provide support for the rapid creation of formal prototypes. A formal prototype links a mockup of a graphical user interface or device to an animated formal specification with the aim of providing lightweight formal validation of interactive systems. In order to demonstrate the application of BMotionWeb, we provide two case studies: a formal prototype of a simple phonebook software and a cruise control device.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
BMotionWeb makes use of the jQuery selector syntax to link event handlers and observers to graphical elements. For more information about the jQuery selector API we refer the reader to http://api.jquery.com/category/selectors/.
- 3.
We choose AngularJS because BMotionWeb is also based on AngularJS, however, we could also use other JavaScript MVC libraries as well.
- 4.
- 5.
References
Abrial, J.-R.: Modeling in Event-B: System and Software Engineering. Cambridge University Press, Cambridge (2010)
Abrial, J.-R., Butler, M., Hallerstede, S., Hoang, T.S., Mehta, F., Voisin, L.: Rodin: an open toolset for modelling and reasoning in Event-B. Softw. Tools Technol. Transfer 12(6), 447–466 (2010)
Bendisposto, J., Leuschel, M.: A generic flash-based animation engine for ProB. In: Julliand, J., Kouchnarenko, O. (eds.) B 2007. LNCS, vol. 4355, pp. 266–269. Springer, Heidelberg (2006)
Börger, E., Stärk, R.: Abstract State Machines: A Method for High-level System Design and Analysis. Springer Science & Business Media, New York (2012)
Farahbod, R., Gervasi, V., Glässer, U.: CoreASM: an extensible ASM execution engine. Fundamenta Informaticae 77(1–2), 71–103 (2007)
Fette, I., Melnikov, A.: The websocket protocol (2011)
Green, B., Seshadri, S.: AngularJS. O’Reilly Media Inc., California (2013)
Hazel, D., Strooper, P., Traynor, O.: Requirements engineering and verification using specification animation. In: Automated Software Engineering, p. 302 (1998)
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)
Ladenberger, L., Leuschel, M.: Mastering the visualization of larger state spaces with projection diagrams. In: Butler, M., Conchon, S., Zaïdi, F. (eds.) Formal Methods and Software Engineering. LNCS, vol. 9407, pp. 153–169. Springer, Switzerland (2015)
Leuschel, M., Butler, M.: ProB: an automated analysis toolset for the B method. Softw. Tools Technol. Transfer (STTT) 10(2), 185–203 (2008)
Leuschel, M., Bendisposto, J., Dobrikov, I., Krings, S., Plagge, D.: From animation to data validation: the ProB constraint solver 10 years on. In: Boulanger, J.-L. (ed.) Formal Methods Applied to Complex Systems: Implementation of the B Method, Chap. 14, pp. 427–446. Wiley ISTE, Hoboken (2014)
Mtayer, C.: AnimB Homepage. http://www.animb.org/. Accessed 12 Jan 2015
Munoz, C.A.: Pvsio reference manual. National Institute of Aerospace (NIA), Formal Methods Group, 100 (2005)
Oda, T., Araki, K.: Overview of VDMPad: an interactive tool for formal specification with vdm. In: Proceedings of International Conference on Advanced Software Engineering and Information Systems (ICASEIS) (2013)
Oda, T., Yamamoto, Y., Nakakoji, K., Araki, K., Larsen, P.G.: VDM animation for a wider range of stakeholders. Grace Technical reports, p. 18 (2015)
Oladimeji, P., Masci, P., Curzon, P., Thimbleby, H.: PVSio-web: a tool for rapid prototyping device user interfaces in PVS. In: FMIS2013 (2013)
Owre, S., Rushby, J.M., Shankar, N.: PVS: a prototype verification system. In: Kapur, D. (ed.) Automated Deduction–CADE-11. LNCS (LNAI), vol. 607, pp. 748–752. Springer, Heidelberg (1992)
Rubel, D., Wren, J., Clayberg, E.: The Eclipse Graphical Editing Framework (GEF). Addison-Wesley Professional, Boston (2011)
Schneider, S.: The B-Method: An Introduction. Palgrave Oxford, Oxford (2001)
Servat, T.: BRAMA: a new graphic animation tool for B models. In: Julliand, J., Kouchnarenko, O. (eds.) B 2007. LNCS, vol. 4355, pp. 274–276. Springer, Heidelberg (2006)
W3C SVG Working Group. Scalable Vector Graphics (SVG) 1.1 (2nd edn.), August 2011. http://www.w3.org/TR/SVG11/
W3C SVG Working Group. HTML5, A vocabulary and associated APIs for HTML and XHTML, October 2014. http://www.w3.org/TR/html5/
Yang, F.: A Simulation Framework for the Validation of Event-B Specifications. Ph.D. thesis, Université de Lorraine (2013)
Zenzaro, S., Gervasi, V., Soldani, J.: WebASM: an abstract state machine execution environment for the web. In: Ait Ameur, Y., Schewe, K.-D. (eds.) ABZ 2014. LNCS, vol. 8477, pp. 216–221. Springer, Heidelberg (2014)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Ladenberger, L., Leuschel, M. (2016). BMotionWeb: A Tool for Rapid Creation of Formal Prototypes. In: De Nicola, R., Kühn, E. (eds) Software Engineering and Formal Methods. SEFM 2016. Lecture Notes in Computer Science(), vol 9763. Springer, Cham. https://doi.org/10.1007/978-3-319-41591-8_27
Download citation
DOI: https://doi.org/10.1007/978-3-319-41591-8_27
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-41590-1
Online ISBN: 978-3-319-41591-8
eBook Packages: Computer ScienceComputer Science (R0)