{'fraction_non_alphanumeric': 0.02457956015523933, 'fraction_numerical': 0.00258732212160414, 'mean_word_length': 5.192, '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}}
Semantics of State-Oriented Expressions in the Object Constraint Language

The textual Object Constraint Language (OCL) is an official part of the Unified Modeling Language (UML). It is primarily used to formulate restrictions for UML class diagrams. Additionally, it is possible to refer to UML Statechart states in OCL expressions to reason about currently activated states. However, neither the current OCL standard nor the proposal for the new OCL 2.0 version integrate Statecharts on the language definition level, i.e., the semantics of Statechart states in the context of OCL expressions is not sufficiently defined so far. To overcome this deficiency, this article provides a formal semantics for state-oriented OCL expressions for application with UML Statecharts.