Generation of Behavior-Driven Development C++ Tests from Abstract State Machine Scenarios

  • Silvia Bonfanti
  • Angelo GargantiniEmail author
  • Atif Mashkoor
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 929)


In this paper, we present the AsmetaVBDD tool that automatically translates the scenarios written in the AValLa language (used by the asmeta validator (AsmetaV)) into Behavior-Driven Development scenarios for C++.



We would like to thank Andrea Spalluzzi who has developed the first version of the translator during his master thesis.


  1. 1.
    Anderson, J.S., Durney, B.: Using scenarios in deficiency-driven requirements engineering. In: Proceedings of the International Symposium on Requirements Engineering, pp. 134–141. IEEE (1993)Google Scholar
  2. 2.
    Antón, A.I., McCracken, W.M., Potts, C.: Goal decomposition and scenario analysis in business process reengineering. In: Wijers, G., Brinkkemper, S., Wasserman, T. (eds.) CAiSE 1994. LNCS, vol. 811, pp. 94–104. Springer, Heidelberg (1994). Scholar
  3. 3.
    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)CrossRefGoogle Scholar
  4. 4.
    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). Scholar
  5. 5.
    Bonfanti, S., Gargantini, A., Mashkoor, A.: Generation of C++ unit tests from abstract state machines specifications. In: 14th Workshop on Advances in Model Based Testing (A-MOST) @ICST 2018, Västerås, Sweden (2018)Google Scholar
  6. 6.
    Börger, E., Stark, R.F.: Abstract State Machines: A Method for High-Level System Design and Analysis. Springer, New York (2003). Scholar
  7. 7.
    Carioni, A., Gargantini, A., Riccobene, E., Scandurra, P.: A scenario-based validation language for ASMs. In: Börger, E., Butler, M., Bowen, J.P., Boca, P. (eds.) ABZ 2008. LNCS, vol. 5238, pp. 71–84. Springer, Heidelberg (2008). Scholar
  8. 8.
    Carroll, J.M.: Five reasons for scenario-based design. Interact. Comput. 13(1), 43–60 (2000)CrossRefGoogle Scholar
  9. 9.
    Carroll, J.M., Rosson, M.B.: Getting around the task-artifact cycle: how to make claims and design by scenario. ACM Trans. Inf. Syst. 10(2), 181–212 (1992)CrossRefGoogle Scholar
  10. 10.
    Potts, C., Takahashi, K., Antón, A.I.: Inquiry-based requirements analysis. IEEE Softw. 11(2), 21–32 (1994)CrossRefGoogle Scholar
  11. 11.
    Schmidt, D.C.: Model-driven engineering. Computer 39(2), 25–31 (2006). Scholar
  12. 12.
    Solis, C., Wang, X.: A study of the characteristics of behaviour driven development. In: 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications, pp. 383–387. IEEE, August 2011Google Scholar
  13. 13.
    Wynne, M., Hellesøy, A.: The Cucumber Book Behaviour-Driven Development for Testers and Developers. The Pragmatic Programmers, LLC, Raleigh (2012)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Silvia Bonfanti
    • 1
  • Angelo Gargantini
    • 1
    Email author
  • Atif Mashkoor
    • 2
    • 3
  1. 1.Università degli Studi di BergamoBergamoItaly
  2. 2.Software Competence Center Hagenberg GmbHHagenbergAustria
  3. 3.Johannes Kepler UniversityLinzAustria

Personalised recommendations