Authors: Messaoud Abbas; Choukri-Bey Ben-Yelles; Renaud Rioboo
Addresses: USTHB. LSI, BP32 EL-Alia, Bab Ezzouar, Algiers, Algeria; College of Sciences and Technology, El-Oued University, Algeria ' Univ. Grenoble Alpes, LCIS, Rue Barthélémy de Laffemas F-26901 Valence, France ' CPR CEDRIC ENSIIE, Square de la Résistance F-91025 Evry, France
Abstract: UML and OCL are largely adopted as a standard to describe the static and the dynamic aspects of systems and to specify their properties. Model driven engineering (MDE) techniques can be used to automatically generate code from such models. For critical systems, formal methods are frequently used together with UML/OCL models in order to analyse and check model properties. In this paper, we propose a combination of UML/OCL and FoCaLiZe, an object-oriented development environment using a proof-based formal approach. More specifically, we propose a formal transformation of UML state machines conditioned with OCL constraints into FoCaLiZe specifications that can be refined to generate executable code. The proposed transformation supports communication between a class structure and its state machine. Thanks to Zenon, the automatic theorem prover of FoCaLiZe, errors of the original UML/OCL model, if any, are automatically detected. We illustrate our translation with a concrete case study.
Keywords: FoCaLiZe; UML; Object Constraint Language; OCL; state machine; model driven engineering; MDE; proof; Coq; Zenon.
International Journal of Information and Communication Technology, 2018 Vol.13 No.1, pp.34 - 54
Received: 19 Jan 2015
Accepted: 04 Jun 2015
Published online: 17 Jan 2018 *