{'fraction_non_alphanumeric': 0.012448132780082987, 'fraction_numerical': 0.0, 'mean_word_length': 5.775280898876405, '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}}
Lifetime dependency: An abstraction relation for object-oriented modelling of aspects in the problem domain

Techniques supporting early phases of the software life cycle such as requirements analysis or conceptual modelling aim to produce both easily comprehensible and truthful models of some problem domain. Therefore, such techniques depend on a proper choice of highly expressive concepts that can easily be acquired and captured throughout the process of analysis. One deficiency encountered in current analysis techniques is the lack of proper means to express inter-object relationships that result from dependencies of individual objects' life cycles. This paper introduces a relationship called lifetime dependency that captures frequently occurring behavioural constraints and shows its modelling benefits. It is argued that incorporating lifetime dependency into object-oriented analysis models both improves their expressiveness and helps to keep the number of special purpose constructs such as role - and relationship objects small. The transition between analysis and design of lifetime dependency is discussed, while implementation is not considered. Guidelines for analysis are provided.