{'fraction_non_alphanumeric': 0.008607198748043818, 'fraction_numerical': 0.0, 'mean_word_length': 5.033018867924528, '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}}
Building a Semantic Description for a Data Modelling Language

The problem considered is that of providing a careful description of the semantics of a data modelling language that includes facilities to declare procedural definitions of constraints on data values. The proposal takes as its starting point two basic assumptions. The first is that the semantics of the data modelling language is defined by the way in which models written in it specify an instance set checking procedure. To define the language semantics it is thus necessary to define semantics of the implicit and explicit checking operations contained in the language. The second assumption is that it is useful to describe a data modelling language in stages, starting with a core language that is then used to describe the further features of the language. The use of these assumptions leads to a proposed semantic description structure that in many cases will have five components. The paper describes the semantic description structure together with conditions for its applicability. The proposed structure is illustrated using a small subset of the STEP data modelling language EXPRESS. There is a discussion of some current full-scale languages that might benefit from the use of the proposed structure.