Advertisement

Industrial Application of Formal Models Generated from Domain Specific Languages

  • Jozef HoomanEmail author
Chapter
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9660)

Abstract

Domain Specific Languages (DSLs) provide a lightweight approach to incorporate formal techniques into the industrial workflow. From DSL instances, formal models and other artefacts can be generated, such as simulation models and code. Having a single source for all artefacts improves maintenance and offers a high return on investment of the initial modelling effort. Since DSLs can be used to capture essential domain information at a high level of abstraction, this supports formal verification early in the development process. We discuss our experiences with this approach in a number of real industrial development projects.

Keywords

Formal Method Interface Model Configuration File Formal Verification Satisfiability Modulo Theory 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Notes

Acknowledgments

This paper summarizes results of earlier papers and collaborations with many people from Philips (including Mathijs Schuts, Robert Huis in ’t Veld, and Rob Albers), the Eindhoven University of Technology (Ammar Osaiweran, Sarmen Keshishzadeh), and TNO-ESI colleagues (Arjan Mooij, Richard Doornbos). Many thanks goes to all of them for the very pleasant collaboration. The anonymous reviewers are acknowledged for several useful comments.

References

  1. 1.
    Abrial, J.-R.: The B-book: Assigning Programs to Meanings. Cambridge University Press, New York (1996)CrossRefzbMATHGoogle Scholar
  2. 2.
    Behrmann, G., David, A., Larsen, K.G.: A tutorial on Uppaal. In: Bernardo, M., Corradini, F. (eds.) SFM-RT 2004. LNCS, vol. 3185, pp. 200–236. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  3. 3.
    Bettini, L.: Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing Ltd., United Kingdom (2013)Google Scholar
  4. 4.
    Bodeveix, J.-P., Filali, M., Lawall, J., Muller, G.: Formal methods meet domain specific languages. In: Romijn, J.M.T., Smith, G.P., van de Pol, J. (eds.) IFM 2005. LNCS, vol. 3771, pp. 187–206. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  5. 5.
    Bozga, M., Graf, S., Ober, I., Ober, I., Sifakis, J.: The IF toolset. In: Bernardo, M., Corradini, F. (eds.) SFM-RT 2004. LNCS, vol. 3185, pp. 237–267. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  6. 6.
    Cranen, S., Groote, J.F., Keiren, J.J.A., Stappers, F.P.M., de Vink, E.P., Wesselink, W., Willemse, T.A.C.: An overview of the mCRL2 toolset and its recent advances. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013 (ETAPS 2013). LNCS, vol. 7795, pp. 199–213. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  7. 7.
    de Moura, L., Bjørner, N.S.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  8. 8.
    de Roever, W.-P., de Boer, F., Hanneman, U., Hooman, J., Lakhnech, Y., Poel, M., Zwiers, J.: Concurrency Verification: Introduction to Compositional and Noncompositional Methods. Cambridge University Press, New York (2001)zbMATHGoogle Scholar
  9. 9.
    Doornbos, R., Hooman, J., van Vlimmeren, B.: Complementary verification of embedded software using ASD and Uppaal. In: Proceedings 8th International Conference on Innovations in Information Technology (IIT 2012), pp. 60–65 (2012)Google Scholar
  10. 10.
    Eakman, G., Reubenstein, H., Hawkins, T., Jain, M., Manolios, P.: Practical formal verification of domain-specific language applications. In: Havelund, K., Holzmann, G., Joshi, R. (eds.) NFM 2015. LNCS, vol. 9058, pp. 443–449. Springer, Heidelberg (2015)Google Scholar
  11. 11.
    Fitzgerald, J., Larsen, P.G., Mukherjee, P., Plat, N., Verhoef, M.: Validated Designs For Object-oriented Systems. Springer, London (2005)zbMATHGoogle Scholar
  12. 12.
    Hamon, G., de Moura, L., Rushby, J.: Automated Test Generation with SAL. CSL Technical Note, SRI International, January 2005Google Scholar
  13. 13.
    Heitmeyer, C.L.: On the need for practical formal methods. In: Ravn, A.P., Rischel, H. (eds.) FTRTFT 1998. LNCS, vol. 1486, pp. 18–26. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  14. 14.
    Hooman, J.: Specification and Compositional Verification of Real-Time Systems. LNCS, vol. 558. Springer, Heidelberg (1991)zbMATHGoogle Scholar
  15. 15.
    Hooman, J., Huis in ’t Veld, R., Schuts, M.: Experiences with a compositional model checker in the healthcare domain. In: Liu, Z., Wassyng, A. (eds.) FHIES 2011. LNCS, vol. 7151, pp. 93–110. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  16. 16.
    James, P., Roggenbach, M.: Encapsulating formal methods within domain specific languages: A solution for verifying railway scheme plans. The Computing Research Repository, abs/1403.3034 (2014)Google Scholar
  17. 17.
    Jones, C.B., Jackson, D., Wing, J.: Formal methods light. Computer 29(4), 20–22 (1996)CrossRefGoogle Scholar
  18. 18.
    Keshishzadeh, S., Mooij, A.J., Mousavi, M.R.: Early fault detection in DSLs using SMT solving and automated debugging. In: Hierons, R.M., Merayo, M.G., Bravetti, M. (eds.) SEFM 2013. LNCS, vol. 8137, pp. 182–196. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  19. 19.
    Mooij, A.J., Hooman, J., Albers, R.: Gaining industrial confidence for the introduction of domain-specific languages. In: Proceedings of IEESD 2013, pp. 662–667. IEEE Computer Society (2013)Google Scholar
  20. 20.
    Mooij, A.J., Hooman, J., Albers, R.: Early fault detection using design models for collision prevention in medical equipment. In: Gibbons, J., MacCaull, W. (eds.) FHIES 2013. LNCS, vol. 8315, pp. 170–187. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  21. 21.
    Osaiweran, A., Schuts, M., Hooman, J.: Experiences with incorporating formal techniques into industrial practice. Empirical Softw. Eng. 19(4), 1169–1194 (2014)CrossRefGoogle Scholar
  22. 22.
    Osaiweran, A., Schuts, M., Hooman, J., Groote, J.F., van Rijnsoever, B.: Evaluating the effect of a lightweight formal technique in industry. STTT Int. J. Softw. Tools Technol. Transf. (STTT) 18(1), 93–108 (2016)CrossRefGoogle Scholar
  23. 23.
    Broadfoot, G.H.: ASD case notes: costs and benefits of applying formal methods to industrial control software. In: Fitzgerald, J.S., Hayes, I.J., Tarlecki, A. (eds.) FM 2005. LNCS, vol. 3582, pp. 548–551. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  24. 24.
    Broadfoot, G.H., Broadfoot, P.J.: Academia and industry meet: some experiences of formal methods in practice. In: Proceedings of the Tenth Asia-Pacific Software Engineering Conference Software Engineering Conference, APSEC 2003, pp. 49–58. IEEE Computer Society (2003)Google Scholar
  25. 25.
    Shankar, N.: Combining theorem proving and model checking through symbolic analysis. In: Palamidessi, C. (ed.) CONCUR 2000. LNCS, vol. 1877, pp. 1–16. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  26. 26.
    Formal Systems. Failures-divergences refinement (FDR) (2014)Google Scholar
  27. 27.
    Theelen, B.D., Florescu, O., Geilen, M., Huang, J., van der Putten, P.H.A., Voeten, J.: Software/Hardware engineering with the parallel object-oriented specification language. In: Proceedings of MEMOCODE 2007, pp. 139–148. IEEE (2007)Google Scholar
  28. 28.
    van Bokhoven, L.J.: Constructive tool design for formal languages; from semantics to executing models. Phd thesis, Eindhoven University of Technology, The Netherlands (2004)Google Scholar
  29. 29.
    van den Berg, F., Remke, A., Mooij, A., Haverkort, B.: Performance evaluation for collision prevention based on a domain specific language. In: Balsamo, M.S., Knottenbelt, W.J., Marin, A. (eds.) Computer Performance Engineering. LNCS, vol. 8168, pp. 276–287. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  30. 30.
    van Deursen, A., Klint, P., Visser, J.: Domain-specific languages: an annotated bibliography. SIGPLAN Not. 35(6), 26–36 (2000)CrossRefGoogle Scholar
  31. 31.
    Westland, J.C.: The cost of errors in software development: evidence from industry. J. Syst. Softw. 62, 1–9 (2002)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Embedded Systems Innovation by TNOEindhovenThe Netherlands
  2. 2.Radboud UniversityNijmegenThe Netherlands

Personalised recommendations