{'fraction_non_alphanumeric': 0.016260162601626018, 'fraction_numerical': 0.0014781966001478197, 'mean_word_length': 4.991150442477876, '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}}
Enforcement of Inter-Task Dependencies in Workflows, Characterization and Paradigm

Workflow techniques have gained a lot of attention as a means to support advanced business applications such as cooperative information systems and process re-engineering but also as a means to integrate legacy systems. Inter-task dependencies, described separately from the other parts of the workflow, have been recognized as a valuable method in describing certain restrictions on the executions of workflows. In this paper, we study the issue of pre-analysing and enforcing inter-task dependencies. The protocol and the theory behind it are presented, along with examples and discussions on ways to improve the performance. The idea is to present the meaning of a dependency through an automaton which accepts the sequences of events tied by the dependency through an automaton which accepts the sequences of events tied by the dependency. We prune from the automata certain paths that cannot be followed due to the conflicting paths in other automata and record the feasible event sequences in a special data structure to be used during run-time. We show the correctness of the algorithms and also show that our run-time algorithm is linear, whereas the original approach suggested by MCC in Refs. 5 and 6 is exponential, when resolution of one event is concerned.