Skip to main content

Formalizing and Verifying UML Activity Diagrams

  • Conference paper
  • First Online:
  • 475 Accesses

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 1085))

Abstract

UML (Unified Modelling Language) is the de facto standard for the development of software models. Static aspects of systems are mainly described with UML class diagrams. However, the behavioral aspects are often designed by UML state machine and activity diagrams. Due to the ambiguous semantics of UML diagrams, formal methods can be used to generate the corresponding formal specifications and then check their properties. In this paper, we opt for functional semantics of UML activity diagrams by means of FoCaLiZe, a proof based formal method. Thus, we generate formal specifications in order to detect eventual inconsistencies of UML activity diagrams using Zenon, the automatic theorem prover of FoCaLiZe. The proposed approach directly supports action constraints, activity partitions and the communication between structural (classes) and dynamic (activity diagrams) aspects.

This is a preview of subscription content, log in via an institution.

Buying options

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

Learn about institutional subscriptions

Notes

  1. 1.

    A usable language for the transformation of XML documents, recommended by the World Wide Web Consortium (W3C).

  2. 2.

    http://www.univ-eloued.dz/uml2foc/.

References

  1. OMG: UML: Unified Modeling Language, version 2.5, March 2015. http://www.omg.org/spec/UML/2.5/PDF

  2. OMG: OCL: Object Constraint Language 2.4, January 2014. http://www.omg.org/spec/OCL

  3. Younes, A.B., Ayed, L.J.B.: An UMLAD-to-event\(\_\)B refinement based approach for specifying and verifying workflow applications. In: Proceedings of the 13th International Conference on Information Integration and Web-based Applications and Services, pp. 523–526. ACM (2011)

    Google Scholar 

  4. Czopik, J., Košinár, M.A., Štolfa, J., Štolfa, S.: Formalization of software process using intuitive mapping of UML activity diagram to CPN. In: Kömer, P., Abraham, A., Snášel, V. (eds.) Proceedings of the Fifth International Conference on Innovations in Bio-Inspired Computing and Applications IBICA 2014. AISC, vol. 303, pp. 365–374. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-08156-4_36

    Chapter  Google Scholar 

  5. Grønmo, R., Solheim, I.: Towards modeling web service composition in UML. In: Web Services: Modeling, Architecture and Infrastructure, WSMAI 2004 4, pp. 72–86 (2004)

    Google Scholar 

  6. de Aalst, W.M.P., et al.: Workflow verification: finding control-flow errors using Petri-Net-based techniques. In: van der Aalst, W., Desel, J., Oberweis, A. (eds.) Business Process Management. LNCS, vol. 1806, pp. 161–183. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-45594-9_11

    Chapter  Google Scholar 

  7. Abrial, J.R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (2005)

    MATH  Google Scholar 

  8. Jackson, D.: Software Abstractions: Logic, Language and Anlysis. MIT Press, Cambridge (2012)

    Google Scholar 

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

    Article  Google Scholar 

  10. Clavel, M., et al.: All About Maude - A High-Performance Logical Framework, How to Specify, Program, and Verify Systems in Rewriting Logic. LNCS, vol. 4350. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-71999-1

    Book  MATH  Google Scholar 

  11. Eker, S., Meseguer, J., Sridharanarayanan, A.: The Maude LTL model checker. Electron. Notes Theor. Comput. Sci. 71, 162–187 (2004)

    Article  Google Scholar 

  12. Messaoud, A., Choukri-Bey, B.Y., Renaud, R.: Generating FoCaLiZe specifications from UML models. In: Proceedings of the International Conference on Advanced Aspects of Software Engineering, ICAASE 2014, Constantine Algeria, pp. 157–164 (2014)

    Google Scholar 

  13. Abbas, M., Ben-Yelles, C.-B., Rioboo, R.: Modeling UML template classes with FoCaLiZe. In: Albert, E., Sekerinski, E. (eds.) IFM 2014. LNCS, vol. 8739, pp. 87–102. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-10181-1_6

    Chapter  Google Scholar 

  14. Messaoud, A.: Using FoCaLiZe to check OCL constraints on UML classes. In: Proceedings of the International Conference on Information Technology for Organization Development, IT4OD 2014, Tebessa Algeria, pp. 31–38 (2014)

    Google Scholar 

  15. Messaoud, A., Choukri-Bey, B.Y., Renaud, R.: Modelling UML state machines with focalize. IJICT 13(1), 34–54 (2018)

    Article  Google Scholar 

  16. Thérèse, H., Francois, P., Pierre, W., Damien, D.: FoCaLiZe: Tutorial and Reference Manual, version 0.9.2. CNAM-INRIA-LIP6 (2018). http://focalize.inria.fr

  17. Ayrault, P., Thérèse, H., François, P.: Development life-cycle of critical software under focal. Electr. Notes Theor. Comput. Sci. 243, 15–31 (2009)

    Article  Google Scholar 

  18. Coq: The Coq Proof Assistant, Tutorial and Reference Manual, Version 8.5.INRIA - LIP - LRI - LIX - PPS (2016). Distribution: http://coq.inria.fr/

  19. Bonichon, R., Delahaye, D., Doligez, D.: Zenon: an extensible automated theorem prover producing checkable proofs. In: Dershowitz, N., Voronkov, A. (eds.) LPAR 2007. LNCS (LNAI), vol. 4790, pp. 151–165. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-75560-9_13

    Chapter  Google Scholar 

  20. Delahaye, D., Étienne, J., Donzeau-Gouge, V.: Producing UML models from focal specifications: an application to airport security regulations. In: 2nd IFIP/IEEE International Symposium on Theoretical Aspects of Software Engineering, pp. 121–124 (2008)

    Google Scholar 

  21. W3C: XSL Transformations (XSLT) Version 3.0, W3C Recommendation, October 2014 (2015). http://www.w3.org/TR/2014/WD-xslt-30-20141002/

  22. Younes, A.B., Ayed, L.J.B.: Using UML activity diagrams and event B for distributed and parallel applications. In: 31st Annual International Computer Software and Applications Conference, COMPSAC 2007, vol. 1, pp. 163–170. IEEE (2007)

    Google Scholar 

  23. Younes, A.B., Hlaoui, Y.B., Ayed, L.J.B.: A meta-model Transformation from UML activity diagrams to Event-B models. In: Computer Software and Applications Conference Workshops (COMPSACW), pp. 740–745. IEEE (2014)

    Google Scholar 

  24. Laurent, Y., Bendraou, R., Baarir, S., Gervais, M.-P.: Alloy4SPV: a formal framework for software process verification. In: Cabot, J., Rubin, J. (eds.) ECMFA 2014. LNCS, vol. 8569, pp. 83–100. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-09195-2_6

    Chapter  Google Scholar 

  25. Rahim, M., Kheldoun, A., Boukala-Ioualalen, M., Hammad, A.: Recursive ECATNets-based approach for formally verifying System Modelling Language activity diagrams. IET Softw. 9(5), 119–128 (2015)

    Article  Google Scholar 

  26. Rahim, M., Hammad, A., Boukala-Ioualalen, M.: Towards the formal verification of SysML specifications: translation of activity diagrams into modular Petri Nets. In: 2015 3rd International Conference on Applied Computing and Information Technology/2nd International Conference on Computational Science and Intelligence (ACIT-CSI), pp. 509–516. IEEE (2015)

    Google Scholar 

  27. Czopik, J., Košinár, M.A., Štolfa, J., Štolfa, S.: Addition of static aspects to the intuitive mapping of UML activity diagram to CPN. In: Abraham, A., Krömer, P., Snasel, V. (eds.) Afro-European Conference for Industrial Advancement. AISC, vol. 334, pp. 77–86. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-13572-4_6

    Chapter  Google Scholar 

  28. Kerkouche, E., Khalfaoui, K., Chaoui, A., Aldahoud, A.: UML activity diagrams and maude integrated modeling and analysis approach using graph transformation. In: Proceedings of ICIT 2015 The 7th International Conference on Information Technology, Amman, Jordan, pp. 515–521 (2015)

    Google Scholar 

  29. Jamal, M., Zafar, N.A.: Formalizing structural semantics of UML 2.5 activity diagram in Z notation. In: 2016 International Conference on Open Source Systems & Technologies (ICOSST), Lahore, Pakistan, pp. 66–71. IEEE (2016)

    Google Scholar 

  30. Daw, Z., Cleaveland, R.: Comparing model checkers for timed UML activity diagrams. Sci. Comput. Program. 111, 277–299 (2015)

    Article  Google Scholar 

  31. Daw, Z., Mangino, J., Cleaveland, R.: UML-VT: A formal verification environment for UML activity diagrams. In: Proceedings of the MoDELS 2015 Demo and Poster Session co-located with ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2015), Ottawa, Canada, 27 September 2015, pp. 48–51 (2015)

    Google Scholar 

  32. Gu, F., Zhang, X., Chen, M., Große, D., Drechsler, R.: Quantitative timing analysis of UML activity diagrams using statistical model checking. In: Proceedings of the 2016 Conference on Design, Automation & Test in Europe, EDA Consortium, pp. 780–785 (2016)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Messaoud Abbas .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Abbas, M., Beggas, M., Boucherit, A. (2019). Formalizing and Verifying UML Activity Diagrams. In: Attiogbé, C., Ferrarotti, F., Maabout, S. (eds) New Trends in Model and Data Engineering. MEDI 2019. Communications in Computer and Information Science, vol 1085. Springer, Cham. https://doi.org/10.1007/978-3-030-32213-7_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-32213-7_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-32212-0

  • Online ISBN: 978-3-030-32213-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics