{'fraction_non_alphanumeric': 0.020892687559354226, 'fraction_numerical': 0.0, 'mean_word_length': 5.466257668711656, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Generating FoCaLiZe Specifications from UML Models

UML is the defacto standard language to graphically describe systems in an object oriented way. Once an application has been modeled, Model Driven Architecture (MDA) techniques can be applied to generate code from such models. Because UML lacks formal basis to analyze and check model consistency, it is pertinent to choose a formal target language (in the MDA process) to enable proofs and verification techniques. To achieve this goal, we have associated to UML the FoCaLiZe language, an object-oriented development environment using a proof-based formal approach. In this paper, we propose a formal transformation of a subset of UML constructors composed of UML class diagrams annotated with OCL constraints into FoCaLiZe specification. Thanks to FoCaLiZe design and architectural features, the proposed mapping directly supports most of UML features such as multiple inheritance, function redefinition, late-binding, template and template binding which are not provided through other formal tools.