Skip to main content

Block Library Driven Translation Validation for Dataflow Models in Safety Critical Systems

  • Conference paper
  • First Online:
Critical Systems: Formal Methods and Automated Verification (AVoCS 2016, FMICS 2016)

Abstract

Model driven engineering is widely used in the development of complex and safety critical systems. Systems’ designs are specified and validated in domain specific modeling languages and software code is often produced by autocoding. Thus the correctness of the final systems depend on the correctness of those tools. We propose an approach for the formal verification of code generation from dataflow languages, such as Simulink, based on translation validation. It relies on the BlockLibrary DSL for the formal specification and verification of the structure, semantics and variability of the complex block libraries found in these languages. These specifications are then used here for deriving model and block-specific semantic contracts that will be woven into the generated C code. We present two different approaches for performing the block matching and weaving step. Finally, we rely on the Frama-C toolset and state-of-the-art SMT solvers for verifying the annotated code.

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

Institutional subscriptions

Notes

  1. 1.

    http://frama-c.com.

  2. 2.

    http://www.mathworks.com/simulink.

  3. 3.

    https://eclipse.org/modeling/emf/.

  4. 4.

    https://eclipse.org/Xtext/.

  5. 5.

    http://www.adacore.com/qgen.

  6. 6.

    Visit the Frama-C framework website for detailed information: http://frama-c.org.

  7. 7.

    This work has been performed in partnership with Timothy Wang from the Georgia Institute of Technology and has been partly used in the context of the verification of automatically generated code presented in [18].

  8. 8.

    http://alt-ergo.ocamlpro.com/.

  9. 9.

    http://www.spass-prover.org/.

References

  1. ANSI/ISO C Specification Language (ACSL). http://frama-c.com/acsl.html

  2. Bobot, F., Filliâtre, J.C., Marché, C., Paskevich, A.: Why3: shepherd your herd of provers. In: Boogie 2011: First International Workshop on Intermediate Verification Languages, Wrocław, Poland, pp. 53–64, August 2011

    Google Scholar 

  3. Dieumegard, A., Toom, A., Pantel, M.: Model-based formal specification of a DSL library for a qualified code generator. In: Proceedings of the 12th Workshop on OCL and Textual Modelling, pp. 61–62. ACM, New York (2012)

    Google Scholar 

  4. Dieumegard, A., Toom, A., Pantel, M.: A software product line approach for semantic specification of block libraries in dataflow languages. In: Gnesi, S., Fantechi, A., Heymans, P., Rubin, J., Czarnecki, K. (eds.) 18th International Software Product Line Conference, SPLC 2014, Florence, Italy, 15–19 September 2014, pp. 217–226. ACM (2014). http://doi.acm.org/10.1145/2648511.2648534

  5. Filliâtre, J.C., Pereira, M.: A modular way to reason about iteration. In: 8th NASA Formal Methods Symposium, Minneapolis, United States, June 2016. https://hal.inria.fr/hal-01281759

  6. Furia, C.A., Meyer, B.: Inferring loop invariants using postconditions. In: Blass, A., Dershowitz, N., Reisig, W. (eds.) Fields of Logic and Computation. LNCS, vol. 6300, pp. 277–300. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  7. Izerrouken, N., Pantel, M., Thirioux, X.: Machine-checked sequencer for critical embedded code generator. In: Breitman, K., Cavalcanti, A. (eds.) ICFEM 2009. LNCS, vol. 5885, pp. 521–540. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  8. Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (FODA) feasibility study. Technical report, Carnegie-Mellon University Software Engineering Institute, November 1990

    Google Scholar 

  9. Lee, E., Messerschmitt, D.: Static scheduling of synchronous data flow programs for digital signal processing. IEEE Trans. Comput. C–36(1), 24–35 (1987)

    Article  Google Scholar 

  10. Liu, S., Offutt, A.J., Ho-Stuart, C., Sun, Y., Ohba, M.: SOFL: a formal engineering methodology for industrial applications. IEEE Trans. Softw. Eng. 24(1), 24–45 (1998)

    Article  Google Scholar 

  11. Necula, G.C., Lee, P.: Safe kernel extensions without run-time checking. SIGOPS Oper. Syst. Rev. 30, 229–244 (1996)

    Article  Google Scholar 

  12. Ngo, V., Talpin, J.P., Gautier, T., Le Guernic, P., Besnard, L.: Formal verification of synchronous data-flow program transformations toward certified compilers. Front. Comput. Sci. 7(5), 598–616 (2013). doi:10.1007/s11704-013-3910-8

    Article  MathSciNet  Google Scholar 

  13. O’Halloran, C.: Automated verification of code automatically generated from Simulink. Autom. Softw. Eng. 20(2), 237–264 (2013). doi:10.1007/s10515-012-0116-5

    Article  Google Scholar 

  14. Pires, A.F., Polacsek, T., Wiels, V., Duprat, S.: Behavioural verification in embedded software, from model to source code. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) MODELS 2013. LNCS, vol. 8107, pp. 320–335. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  15. Pnueli, A., Siegel, M.D., Singerman, E.: Translation validation. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, pp. 151–166. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  16. Ryabtsev, M., Strichman, O.: Translation validation: from simulink to C. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 696–701. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  17. Toom, A., Naks, T., Pantel, M., Gandriau, M., Wati, I.: Gene-Auto - an automatic code generator for a safe subset of Simulink-stateflow and scicos. In: ERTS, p. (electronic medium). Société des Ingénieurs de l’Automobile (2008). http://www.sia.fr

  18. Wang, T.E., Ashari, A.E., Jobredeaux, R.J., Feron, E.M.: Credible autocoding of fault detection observers. In: 2014 American Control Conference, pp. 672–677, June 2014

    Google Scholar 

  19. Wiik, J., Boström, P.: Contract-based verification of MATLAB-style matrix programs. Formal Aspects Comput. 28(1), 79–107 (2016). doi:10.1007/s00165-015-0353-z

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgements

This work has been funded by the French and Estonian Ministries of Research, Industry and Defense through the Projet-P (http://www.open-do.org/projects/p/), Hi-MoCo (http://www.adacore.com/press/project- p-and-hi-moco/) and Vorace (http://projects.laas.fr/vorace/) projects and through the Estonian Ministry of Education and Research institutional research grant no. IUT33-13. The authors wish to thank the members of these, the QGen project and the anonymous reviewers of this paper for providing valuable feedback for improving the work.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marc Pantel .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Dieumegard, A., Toom, A., Pantel, M. (2016). Block Library Driven Translation Validation for Dataflow Models in Safety Critical Systems. In: ter Beek, M., Gnesi, S., Knapp, A. (eds) Critical Systems: Formal Methods and Automated Verification. AVoCS FMICS 2016 2016. Lecture Notes in Computer Science(), vol 9933. Springer, Cham. https://doi.org/10.1007/978-3-319-45943-1_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-45943-1_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-45942-4

  • Online ISBN: 978-3-319-45943-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics