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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Nusmv home page (2011)
Baier, C., Katoen, J.-P.: Principles of model checking. The MIT Press, Cambridge (2008). p. 975
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)
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)
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)
Cockburn, A.: Writing Effective Use Cases, 1st edn. Addison-Wesley Longman Publishing Co. Inc., Boston (2000)
Cortellessa, V., Mirandola, R.: Prima-uml: a performance validation incremental methodology on early uml diagrams. Science of Computer Programming 44(1), 101–129 (2002)
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)
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)
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)
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)
Emam, K.E., Koru, A.G.: A replicated survey of it software project failures. IEEE Software 25, 84–90 (2008)
Eshuis, R., Wieringa, R.: Tool support for verifying uml activity diagrams. IEEE Transactions on Software Engineering 30(7), 437–447 (2004)
Kannenberg, A., Saiedian, H.: Why software requirements traceability remains a challenge. The Journal of Defense Software Engineering, 14–18 (2009)
Lam, V.S.W.: A formalism for reasoning about uml activity diagrams. Nordic Journal of Computing 14(1), 43–64 (2007)
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)
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)
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)
The Object Management Group (OMG), Needham, MA, USA. OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2 (2007)
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)
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)
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)
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
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)
Tsantalis, N., Chatzigeorgiou, A.: Identification of move method refactoring opportunities. IEEE Trans. Software Eng. 35(3), 347–367 (2009)
UBM Tech. 2013 embedded market study. DESIGN West 2013 Conference (2013)
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)
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)
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
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)