Skip to main content

Industrial Application of Formal Models Generated from Domain Specific Languages

  • Chapter
  • First Online:
Theory and Practice of Formal Methods

Part of the book series: Lecture Notes in Computer Science ((LNTCS,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.

Supported by the Dutch national program COMMIT.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

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

Institutional subscriptions

Notes

  1. 1.

    http://www.vdmtools.jp/en/.

  2. 2.

    http://www.atelierb.eu/en/.

  3. 3.

    http://www.esterel-technologies.com/products/scade-suite/.

  4. 4.

    http://eclipse.org/Xtext/.

  5. 5.

    http://eclipse.org/xtend/.

  6. 6.

    http://poosl.esi.nl.

References

  1. Abrial, J.-R.: The B-book: Assigning Programs to Meanings. Cambridge University Press, New York (1996)

    Book  MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  3. Bettini, L.: Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing Ltd., United Kingdom (2013)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    MATH  Google Scholar 

  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. 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. Fitzgerald, J., Larsen, P.G., Mukherjee, P., Plat, N., Verhoef, M.: Validated Designs For Object-oriented Systems. Springer, London (2005)

    MATH  Google Scholar 

  12. Hamon, G., de Moura, L., Rushby, J.: Automated Test Generation with SAL. CSL Technical Note, SRI International, January 2005

    Google Scholar 

  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)

    Chapter  Google Scholar 

  14. Hooman, J.: Specification and Compositional Verification of Real-Time Systems. LNCS, vol. 558. Springer, Heidelberg (1991)

    MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. Jones, C.B., Jackson, D., Wing, J.: Formal methods light. Computer 29(4), 20–22 (1996)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

  21. Osaiweran, A., Schuts, M., Hooman, J.: Experiences with incorporating formal techniques into industrial practice. Empirical Softw. Eng. 19(4), 1169–1194 (2014)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

  26. Formal Systems. Failures-divergences refinement (FDR) (2014)

    Google Scholar 

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

    Chapter  Google Scholar 

  30. van Deursen, A., Klint, P., Visser, J.: Domain-specific languages: an annotated bibliography. SIGPLAN Not. 35(6), 26–36 (2000)

    Article  Google Scholar 

  31. Westland, J.C.: The cost of errors in software development: evidence from industry. J. Syst. Softw. 62, 1–9 (2002)

    Article  Google Scholar 

Download references

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jozef Hooman .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Hooman, J. (2016). Industrial Application of Formal Models Generated from Domain Specific Languages. In: Ábrahám, E., Bonsangue, M., Johnsen, E. (eds) Theory and Practice of Formal Methods. Lecture Notes in Computer Science(), vol 9660. Springer, Cham. https://doi.org/10.1007/978-3-319-30734-3_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-30734-3_19

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-30733-6

  • Online ISBN: 978-3-319-30734-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics