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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
As in [8], we restrict the logic of SCF assumptions and guarantees to AND and OR logic operators.
- 3.
I. Sljivo, personal communication, April 1, 2014.
References
nSafeCer project: Safety Certification of Software-Intensive Systems with Reusable Components. Project Grant Agreement n\(^{o}\) 295373. More information at: http://safecer.eu/
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
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
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)
OMG: Unified Modeling Language (UML). Version 2.4.1, August 2011. Specification available at: http://www.omg.org/spec/UML/2.4.1/
OMG: Object Constraint Language (OCL). Object Management Group, v2.2, formal/2010-02-01, February 2010
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/
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)
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)
ISO/IEC: 19505–1:2012-Information technology-Object Management Group Unified Modeling Language (OMG UML)-Part 1: Infrastructure (2012)
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/
Bernardi, S., Merseguer, J., Petriu, D.C.: Dependability modeling and analysis of software systems specified with UML. ACM Comput. Surv. 45(1), 2 (2012)
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)
Murata, T.: Petri Nets: properties, analysis and applications. Proc. IEEE 77(4), 541–580 (1989)
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)
Bernardi, S., Merseguer, J.: Performance evaluation of UML design with Stochastic Well-formed Nets. J. Syst. Softw. 80(11), 1843–1865 (2007)
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)
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)
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)
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)
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)
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)
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)
Bouabana-Tebibel, T., Belmesk, M.: Integration of the association ends within UML state diagrams. Int. Arab. J. Inf. Technol. 5(1), 7–15 (2008)
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
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)