{'fraction_non_alphanumeric': 0.012633624878522837, 'fraction_numerical': 0.0, 'mean_word_length': 5.130952380952381, '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}}
A different need for sequencing contracts using state-based aspects

Aspect technology has been used to describe concerns that had been thought to be unmodularizable. Some of those concerns have to do with workflows in an application's domain and sequencing of operation invocations within the application. Another principle of software engineering that has generated some interest and controversy within the aspect community is design by contract. Over the years some have suggested that a component's contracts be expressed through one or several aspects attached to it. This paper will describe a use of aspects that is a hybrid of the above ideas: the enforcement of operation invocation ordering through the component's contract and expressed as an aspect. The aspect is in turn modeled with a state machine whose description can be used to enhance the clarity of a component's description at the analysis and design phases, and whose implementation can be used to monitor invocations on the component for proper sequencing.