Skip to main content

Model-Based Verification of Safety Contracts

  • Conference paper
  • First Online:
Software Engineering and Formal Methods (SEFM 2014)

Abstract

The verification of safety becomes crucial in critical systems where human lives depend on the correct functioning of such systems. Formal methods have often been advocated as necessary to ensure the reliability of software systems, albeit with a considerable effort. In any case, such an effort is cost-effective when verifying safety-critical systems. Safety requirements are usually expressed using safety contracts, in terms of assumptions and guarantees. To facilitate the adoption of formal methods in the safety-critical software industry, we propose the use of well-known modelling languages, such as UML, to model a software system, and the use of OCL to express the system safety contracts within UML. A UML model enriched with OCL constraints is then transformed to a Petri net model that enables to formally verify such safety contracts. We apply our approach to an industrial case study that models a train doors controller in charge of the opening and closing of train doors. Our approach allows to perform an early safety verification, which increases the confidence of software engineers while designing the system.

The research leading to these results has received funding from the ARTEMIS Joint Undertaking under grant agreement n\(^{o}\) 295373 (project nSafeCer) and from National funding.

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://www.cafpower.com/es/.

  2. 2.

    As in [8], we restrict the logic of SCF assumptions and guarantees to AND and OR logic operators.

  3. 3.

    I. Sljivo, personal communication, April 1, 2014.

References

  1. nSafeCer project: Safety Certification of Software-Intensive Systems with Reusable Components. Project Grant Agreement n\(^{o}\) 295373. More information at: http://safecer.eu/

  2. Damm, W., Hungar, H., Josko, B., Peikenkamp, T., Stierand, I.: Using contract-based component specifications for virtual integration testing and architecture design. In: Proceedings of the Design, Automation Test in Europe Conference Exhibition (DATE), pp. 1–6, March 2011

    Google Scholar 

  3. Cimatti, A., Tonetta, S.: A property-based proof system for contract-based design. In: Proceedings of the 38th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA), pp. 21–28, September 2012

    Google Scholar 

  4. Kath, O., Schreiner, R., Favaro, J.: Safety, security, and software reuse: a model-based approach. In: Proceedings of the Fourth International Workshop in Software Reuse and Safety (2009)

    Google Scholar 

  5. OMG: Unified Modeling Language (UML). Version 2.4.1, August 2011. Specification available at: http://www.omg.org/spec/UML/2.4.1/

  6. OMG: Object Constraint Language (OCL). Object Management Group, v2.2, formal/2010-02-01, February 2010

    Google Scholar 

  7. OMG: UML Profile for Modeling Quality of Service and Fault Tolerance Characteristics and Mechanisms (QoS & FT). Version 1.1 (2008). Specification available at: http://www.omg.org/spec/QFTP/

  8. Rodríguez, R.J., Gómez-Martínez, E.: Model-based safety assessment using OCL and Petri Nets. In: Proceedings of the 40th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), pp. 56–59 (2014)

    Google Scholar 

  9. Baarir, S., Beccuti, M., Cerotti, D., De Pierro, M., Donatelli, S., Franceschinis, G.: The GreatSPN tool: recent enhancements. SIGMETRICS Perform. Eval. Rev. 36(4), 4–9 (2009)

    Article  Google Scholar 

  10. ISO/IEC: 19505–1:2012-Information technology-Object Management Group Unified Modeling Language (OMG UML)-Part 1: Infrastructure (2012)

    Google Scholar 

  11. OMG: A UML profile for Modeling and Analysis of Real Time Embedded Systems (MARTE). Version 1.1 (2011). Specification available at: http://www.omgmarte.org/

  12. Bernardi, S., Merseguer, J., Petriu, D.C.: Dependability modeling and analysis of software systems specified with UML. ACM Comput. Surv. 45(1), 2 (2012)

    Article  Google Scholar 

  13. Rodríguez, R.J., Merseguer, J., Bernardi, S.: Modelling and analysing resilience as a security issue within UML. In: Proceedings of the 2nd International Workshop on Software Engineering for Resilient Systems, SERENE 2010, pp. 42–51. ACM, New York (2010)

    Google Scholar 

  14. Murata, T.: Petri Nets: properties, analysis and applications. Proc. IEEE 77(4), 541–580 (1989)

    Article  Google Scholar 

  15. Ajmone Marsan, M., Balbo, G., Conte, G., Donatelli, S., Franceschinis, G.: Modelling with Generalized Stochastic Petri Nets. John Wiley Series in Parallel Computing, Chichester (1995)

    MATH  Google Scholar 

  16. Bernardi, S., Merseguer, J.: Performance evaluation of UML design with Stochastic Well-formed Nets. J. Syst. Softw. 80(11), 1843–1865 (2007)

    Article  Google Scholar 

  17. Sangiovanni-Vincentelli, A., Damm, W., Passerone, R.: Taming Dr. Frankenstein: contract-based design for cyber-physical systems. Eur. J. Control 18(3), 217–238 (2012)

    Article  MATH  MathSciNet  Google Scholar 

  18. Bate, I., Hawkins, R., McDermid, J.: A contract-based approach to designing safe systems. In: Proceedings of the 8th Australian Workshop on Safety Critical Systems and Software, SCS 2003, vol. 33, pp. 25–36. Australian Computer Society, Inc. (2003)

    Google Scholar 

  19. Söderberg, A., Johansson, R.: Safety contract based design of software components. In: IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW), pp. 365–370 (2013)

    Google Scholar 

  20. Gómez-Martínez, E., Merseguer, J.: ArgoSPE: model-based software performance engineering. In: Donatelli, S., Thiagarajan, P.S. (eds.) ICATPN 2006. LNCS, vol. 4024, pp. 401–410. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  21. Cengarle, M.V., Knapp, A.: Towards OCL/RT. In: Eriksson, L.-H., Lindsay, P.A. (eds.) FME 2002. LNCS, vol. 2391, pp. 390–409. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  22. Bauer, S.S., David, A., Hennicker, R., Guldstrand Larsen, K., Legay, A., Nyman, U., Wąsowski, A.: Moving from specifications to contracts in component-based design. In: de Lara, J., Zisman, A. (eds.) FASE 2012. LNCS, vol. 7212, pp. 43–58. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  23. Cimatti, A., Dorigatti, M., Tonetta, S.: OCRA: a tool for checking the refinement of temporal contracts. In: 28th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 702–705. IEEE (2013)

    Google Scholar 

  24. Bouabana-Tebibel, T., Belmesk, M.: Integration of the association ends within UML state diagrams. Int. Arab. J. Inf. Technol. 5(1), 7–15 (2008)

    Google Scholar 

  25. Sljivo, I., Gallina, B., Carlson, J., Hansson, H.: Strong and weak contract formalism for third-party component reuse. In: IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW), pp. 359–364, November 2013

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ricardo J. Rodríguez .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Gómez-Martínez, E., Rodríguez, R.J., Elorza, L.E., Rezabal, M.I., Earle, C.B. (2015). Model-Based Verification of Safety Contracts. In: Canal, C., Idani, A. (eds) Software Engineering and Formal Methods. SEFM 2014. Lecture Notes in Computer Science(), vol 8938. Springer, Cham. https://doi.org/10.1007/978-3-319-15201-1_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-15201-1_7

  • Published:

  • Publisher Name: Springer, Cham

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

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics