Skip to main content

Towards a Wide Acceptance of Formal Methods to the Design of Safety Critical Software: an Approach Based on UML and Model Checking

  • Conference paper
  • First Online:
Computational Science and Its Applications -- ICCSA 2015 (ICCSA 2015)

Abstract

The Unified Modeling Language (UML) is widely used to model systems for object oriented and/or embedded software development, specially by means of its several behavioral diagrams which can provide different points of view of the same software scenario. Model Checking is a formal verification method which has been receiving much attention from the academic community. However, in general, practitioners still avoid using Model Checking in their projects due to several reasons. Based on these facts, we present in this paper a significant improvement of a tool that we have developed which aims to translate several UML behavioral diagrams (sequence, activity, and state machine) into Transition Systems to support software Model Checking. With all the changes, we have applied our tool to a real space software product which is under development for a stratospheric balloon project to show how feasible is our approach in practice.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Nusmv home page (2011)

    Google Scholar 

  2. Baier, C., Katoen, J.-P.: Principles of model checking. The MIT Press, Cambridge (2008). p. 975

    MATH  Google Scholar 

  3. Baresi, L., Morzenti, A., Motta, A., Rossi, M.: Towards the UML-based formal verification of timed systems. In: Aichernig, B.K., de Boer, F.S., Bonsangue, M.M. (eds.) Formal Methods for Components and Objects. LNCS, vol. 6957, pp. 267–286. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  4. Beato, M.E., Barrio-Solórzano, M., Cuesta, C.E., de la Fuente, P.: Uml automatic verification tool with formal methods. Electronic Notes in Theoretical Computer Science 127(4), 3–16 (2005)

    Article  Google Scholar 

  5. Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching time temporal logic. In: Grumberg, O., Veith, H. (eds.) 25 Years of Model Checking. LNCS, vol. 5000, pp. 196–215. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  6. Cockburn, A.: Writing Effective Use Cases, 1st edn. Addison-Wesley Longman Publishing Co. Inc., Boston (2000)

    Google Scholar 

  7. Cortellessa, V., Mirandola, R.: Prima-uml: a performance validation incremental methodology on early uml diagrams. Science of Computer Programming 44(1), 101–129 (2002)

    Article  MATH  Google Scholar 

  8. de Santiago Jr, V.A., Vijaykumar, N.L.: Vijaykumar. Generating model-based test cases from natural language requirements for space application software. Software Quality Journal 20(1), 77–143 (2012)

    Article  Google Scholar 

  9. dos Santos, L.B.R., Eras, E.R., de Santiago Jr, V.A., Vijaykumar, N.L.: A formal verification tool for UML behavioral diagrams. In: Murgante, B., Misra, S., Rocha, A.M.A.C., Torre, C., Rocha, J.G., Falcão, M.I., Taniar, D., Apduhan, B.O., Gervasi, O. (eds.) ICCSA 2014, Part I. LNCS, vol. 8579, pp. 696–711. Springer, Heidelberg (2014)

    Google Scholar 

  10. Dubrovin, J., Junttila, T.: Symbolic model checking of hierarchical uml state machines. In: 8th International Conference on Application of Concurrency to System Design, ACSD 2008, pp. 108–117. IEEE (2008)

    Google Scholar 

  11. Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Patterns in property specifications for finite-state verification. In: Proceedings of the 1999 International Conference on Software Engineering, 1999, pp. 411–420. IEEE (1999)

    Google Scholar 

  12. Emam, K.E., Koru, A.G.: A replicated survey of it software project failures. IEEE Software 25, 84–90 (2008)

    Article  Google Scholar 

  13. Eshuis, R., Wieringa, R.: Tool support for verifying uml activity diagrams. IEEE Transactions on Software Engineering 30(7), 437–447 (2004)

    Article  Google Scholar 

  14. Kannenberg, A., Saiedian, H.: Why software requirements traceability remains a challenge. The Journal of Defense Software Engineering, 14–18 (2009)

    Google Scholar 

  15. Lam, V.S.W.: A formalism for reasoning about uml activity diagrams. Nordic Journal of Computing 14(1), 43–64 (2007)

    MATH  MathSciNet  Google Scholar 

  16. Latella, D., Majzik, I., Massink, M.: Automatic verification of a behavioural subset of uml statechart diagrams using the spin model-checker. Formal Aspects of Computing 11(6), 637–664 (1999)

    Article  MATH  Google Scholar 

  17. Lima, V., Talhi, C., Mouheb, D., Debbabi, M., Wang, L., Pourzandi, M.: Formal verification and validation of uml 2.0 sequence diagrams using source and destination of messages. Electronic Notes in Theoretical Computer Science 254, 143–160 (2009)

    Article  Google Scholar 

  18. Moha, N., Guéhéneuc, Y.-G., Duchien, L., Le Meur, A.-F.: DECOR: A method for the specification and detection of code and design smells. IEEE Trans. Software Eng. 36(1), 20–36 (2010)

    Article  Google Scholar 

  19. The Object Management Group (OMG), Needham, MA, USA. OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2 (2007)

    Google Scholar 

  20. Palomba, F., Bavota, G., Di Penta, M., Oliveto, R., De Lucia, A.: Do they really smell bad? a study on developers’ perception of bad code smells. In: 30th IEEE International Conference on Software Maintenance and Evolution, Victoria, BC, Canada, September 29 - October 3, 2014, pp. 101–110. IEEE (2014)

    Google Scholar 

  21. Parnas, D.L., Clements, P.C.: A rational design process: How and why to fake it. IEEE Trans. Software Eng. 12(2), 251–257 (1986)

    Article  Google Scholar 

  22. Queille, J.P., Sifakis, J.: Specification and verification of conurrent systems in CESAR. In: Grumberg, O., Veith, H. (eds.) 25 Years of Model Checking. LNCS, vol. 5000, pp. 216–230. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  23. dos Santos, L.B.R., de Santiago, Jr., V.A., Vijaykumar, N.L.: Transformation of uml behavioral diagrams to support software model checking (2014). arXiv preprint arXiv:1404.0855

  24. Solemon, B., Sahibuddin, S., Ghani, A.A.A.: Requirements engineering problems and practices in software companies: an industrial survey. In: Ślezak, D., Kim, T., Kiumi, A., Jiang, T., Verner, J., Abrahão, S. (eds.) ASEA 2009. CCIS, vol. 59, pp. 70–77. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  25. Tsantalis, N., Chatzigeorgiou, A.: Identification of move method refactoring opportunities. IEEE Trans. Software Eng. 35(3), 347–367 (2009)

    Article  Google Scholar 

  26. UBM Tech. 2013 embedded market study. DESIGN West 2013 Conference (2013)

    Google Scholar 

  27. Uchitel, S., Kramer, J.: A workbench for synthesising behaviour models from scenarios. In: Proceedings of the 23rd International Conference on Software Engineering, pp. 188–197. IEEE Computer Society (2001)

    Google Scholar 

  28. van Lamsweerde, A.: Requirements engineering in the year 00: a research perspective. In: Proceedings of International Conference on Software Engineering (ICSE), pp. 5–19. ACM, New York (2000)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Luciana Brasil Rebelo dos Santos .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Eras, E.R., dos Santos, L.B.R., de Santiago Júnior, V.A., Vijaykumar, N.L. (2015). Towards a Wide Acceptance of Formal Methods to the Design of Safety Critical Software: an Approach Based on UML and Model Checking. In: Gervasi, O., et al. Computational Science and Its Applications -- ICCSA 2015. ICCSA 2015. Lecture Notes in Computer Science(), vol 9158. Springer, Cham. https://doi.org/10.1007/978-3-319-21410-8_47

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-21410-8_47

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-21409-2

  • Online ISBN: 978-3-319-21410-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics