Skip to main content

Behavioural Verification in Embedded Software, from Model to Source Code

  • Conference paper

Part of the Lecture Notes in Computer Science book series (LNPSE,volume 8107)

Abstract

To reduce the verification costs and to be more confident on software, static program analysis offers ways to prove properties on source code. Unfortunately, these techniques are difficult to apprehend and to use for non-specialists. Modelling allows users to specify some aspects of software in an easy way. More precisely, in embedded software, state machine models are frequently used for behavioural design. The aim of this paper is to bridge the gap between model and code by offering automatic generation of annotations from model to source code. These annotations are then verified by static analysis in order to ensure that the code behaviour conforms to the model-based design. The models we consider are UML state machines with a formal non-ambiguous semantics, the annotation generation and verification is implemented in a tool and applied to a case study.

Keywords

  • Verification
  • UML
  • Formal Methods
  • Model Driven Engineering

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-642-41533-3_20
  • Chapter length: 16 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   109.00
Price excludes VAT (USA)
  • ISBN: 978-3-642-41533-3
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   143.00
Price excludes VAT (USA)

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Souyris, J., Wiels, V., Delmas, D., Delseny, H.: Formal verification of avionics software products. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 532–546. Springer, Heidelberg (2009)

    CrossRef  Google Scholar 

  2. Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576–580 (1969)

    CrossRef  MATH  Google Scholar 

  3. France, R., Evans, A., Lano, K., Rumpe, B.: The uml as a formal modeling notation. Comput. Stand. Interfaces 19(7), 325–334 (1998)

    CrossRef  Google Scholar 

  4. Fernandes Pires, A., Duprat, S., Faure, T., Besseyre, C., Beringuier, J., Rolland, J.F.: Use of modelling methods and tools in an industrial embedded system project: works and feedback. In: ERTS, France (2012)

    Google Scholar 

  5. Berry, G., Gonthier, G.: The esterel synchronous programming language: design, semantics, implementation. Science of Computer Programming 19(2), 87–152 (1992)

    CrossRef  MATH  Google Scholar 

  6. Gomez, M.: Embedded state machine implementation. Embedded Systems Programming 41 (2000)

    Google Scholar 

  7. Baudin, P., Cuoq, P., Filliâtre, J., Marché, C., Monate, B., Moy, Y., Prevosto, V.: ACSL Version 1.6. (2012)

    Google Scholar 

  8. Dijkstra, E.W.: Guarded commands, nondeterminacy and formal derivation of programs. Commun. ACM 18(8), 453–457 (1975)

    MathSciNet  CrossRef  MATH  Google Scholar 

  9. Duprat, S., Gaufillet, P., Moya Lamiel, V., Passarello, F.: Formal verification of sam state machine implementation. In: ERTS, France (2010)

    Google Scholar 

  10. Stouls, N., Prevosto, V.: Aoraï Plug-in Tutorial

    Google Scholar 

  11. Jobredeaux, R., Wang, T., Feron, E.: Autocoding control software with proofs i: Annotation translation. In: 2011 IEEE/AIAA 30th Digital Avionics Systems Conference (DASC), pp. 7C1-1–7C1-13 (October 2011)

    Google Scholar 

  12. Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous data flow programming language lustre. Proceedings of the IEEE 79(9), 1305–1320 (1991)

    Google Scholar 

  13. Crane, M.L., Dingel, J.: On the semantics of uml state machines: Categorization and comparision. In: Technical Report 2005-501, School of Computing, Queen’s University (2005)

    Google Scholar 

  14. Reggio, G., Astesiano, E., Choppy, C., Hussmann, H.: Analysing uml active classes and associated state machines - a lightweight formal approach. In: Maibaum, T. (ed.) FASE 2000. LNCS, vol. 1783, pp. 127–146. Springer, Heidelberg (2000)

    CrossRef  Google Scholar 

  15. Börger, E., Cavarra, A., Riccobene, E.: Modeling the dynamics of uml state machines. In: Gurevich, Y., Kutter, P.W., Odersky, M., Thiele, L. (eds.) ASM 2000. LNCS, vol. 1912, pp. 223–241. Springer, Heidelberg (2000)

    CrossRef  Google Scholar 

  16. Varró, D.: A formal semantics of uml statecharts by model transition systems. In: Corradini, A., Ehrig, H., Kreowski, H.J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, pp. 378–392. Springer, Heidelberg (2002)

    CrossRef  Google Scholar 

  17. Gogolla, M., Presicce, F.P.: State diagrams in uml: A formal semantics using graph transformations - or diagrams are nice, but graphs are worth their price. In: University of Munich, pp. 55–72 (1998)

    Google Scholar 

  18. Baresi, L., Pezzè, M.: On formalizing uml with high-level petri nets. In: Agha, G., De Cindio, F., Rozenberg, G. (eds.) APN 2001. LNCS, vol. 2001, pp. 276–304. Springer, Heidelberg (2001)

    CrossRef  Google Scholar 

  19. Aredo, D.B.: Semantics of uml statecharts in pvs. In: Proc. of the 12th Nordic Workshop on Programming Theory (NWPT 2000) (2001)

    Google Scholar 

  20. Lilius, J., Paltor, I.P.: Formalising uml state machines for model checking. In: France, R.B. (ed.) UML 1999. LNCS, vol. 1723, pp. 430–444. Springer, Heidelberg (1999)

    CrossRef  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Pires, A.F., Polacsek, T., Wiels, V., Duprat, S. (2013). Behavioural Verification in Embedded Software, from Model to Source Code. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds) Model-Driven Engineering Languages and Systems. MODELS 2013. Lecture Notes in Computer Science, vol 8107. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-41533-3_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-41533-3_20

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-41532-6

  • Online ISBN: 978-3-642-41533-3

  • eBook Packages: Computer ScienceComputer Science (R0)