Formalizing and Verifying UML Activity Diagrams

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.

[1]  Elhillali Kerkouche,et al.  UML Activity Diagrams and Maude Integrated Modeling and Analysis Approach Using Graph Transformation , 2015, ICIT 2015.

[2]  Svatopluk Stolfa,et al.  Addition of Static Aspects to the Intuitive Mapping of UML Activity Diagram to CPN , 2014, AECIA.

[3]  Renaud Rioboo,et al.  Generating FoCaLiZe Specifications from UML Models , 2014, ICAASE.

[4]  François Pessaux,et al.  Development Life-cycle of Critical Software Under FoCaL , 2009, TTSS.

[5]  Leila Jemni Ben Ayed,et al.  Using UML Activity Diagrams and Event B for Distributed and Parallel Applications , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).

[6]  Svatopluk Stolfa,et al.  Formalization of Software Process Using Intuitive Mapping of UML Activity Diagram to CPN , 2014, IBICA.

[7]  David Delahaye,et al.  Producing UML Models from Focal Specifications: An Application to Airport Security Regulations , 2008, 2008 2nd IFIP/IEEE International Symposium on Theoretical Aspects of Software Engineering.

[8]  Rance Cleaveland,et al.  Comparing model checkers for timed UML activity diagrams , 2015, Sci. Comput. Program..

[9]  Renaud Rioboo,et al.  Modelling UML state machines with FoCaLiZe , 2018, Int. J. Inf. Commun. Technol..

[10]  Towards Modeling Web Service Composition in UML , 2004, WSMAI.

[11]  Messaoud Rahim,et al.  Towards the Formal Verification of SysML Specifications: Translation of Activity Diagrams into Modular Petri Nets , 2015, 2015 3rd International Conference on Applied Computing and Information Technology/2nd International Conference on Computational Science and Intelligence.

[12]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[13]  Rance Cleaveland,et al.  UML-VT: A Formal Verification Environment for UML Activity Diagrams , 2015, P&D@MoDELS.

[14]  Rolf Drechsler,et al.  Quantitative timing analysis of UML activity diagrams using statistical model checking , 2016, 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[15]  Nazir Ahmad Zafar,et al.  Formalizing structural semantics of UML 2.5 activity diagram in Z Notation , 2016, 2016 International Conference on Open Source Systems & Technologies (ICOSST).

[16]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[17]  Damien Doligez,et al.  Zenon : An Extensible Automated Theorem Prover Producing Checkable Proofs , 2007, LPAR.

[18]  Leila Jemni Ben Ayed,et al.  An UML _AD-to-event_B refinement based approach for specifying and verifying workflow applications , 2011, iiWAS '11.

[19]  José Meseguer,et al.  The Maude LTL Model Checker , 2004, WRLA.

[20]  Messaoud Rahim,et al.  Recursive ECATNets-based approach for formally verifying System Modelling Language activity diagrams , 2015, IET Softw..

[21]  Marie-Pierre Gervais,et al.  Alloy4SPV : A Formal Framework for Software Process Verification , 2014, ECMFA.

[22]  Wil M. P. van der Aalst,et al.  Workflow Verification: Finding Control-Flow Errors Using Petri-Net-Based Techniques , 2000, Business Process Management.

[23]  Leila Jemni Ben Ayed,et al.  A Meta-model Transformation from UML Activity Diagrams to Event-B Models , 2014, 2014 IEEE 38th International Computer Software and Applications Conference Workshops.

[24]  Renaud Rioboo,et al.  Modeling UML Template Classes with FoCaLiZe , 2014, IFM.