{'fraction_non_alphanumeric': 0.01678240740740741, 'fraction_numerical': 0.001736111111111111, 'mean_word_length': 5.599236641221374, '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}}
An Interactive 3 D Visualization for Requirements Analysis

In most practical domains, scheduling is not a one-shot generative task of producing time and resource assignments for pre-specified sets of requirements and capabilities, but an iterative process of getting the constraints right. Initial solutions are developed (at some level of detail) to understand the feasibility of various requirements and the sufficiency of assumed resources. This “requirements analysis” generally leads to reassessment of what requirements can be reasonably met and what sets of resources need to be made available. Changes are made to the constraints governing requirements and resource availability, and eventually a final schedule is elaborated. At early stages of this user-driven process, seeing a fully instantiated schedule is less important than simply knowing whether a feasible schedule exists and, if not, the approximate magnitude of the shortfalls for different resources and time periods. To this end, solutions to relaxed versions of the full scheduling problem can provide necessary guidance. Using generalizations of tools already in use for quick approximate requirements estimation in transportation scheduling domains, we provide a direct manipulation visual interface for iteratively reconciling resources and requirements. Our 3D visualization shows more of the shortfalls than previous 2D solutions, allowing analysts to address problems earlier. This may allow reasoning in simpler, more relaxed versions, and before time is wasted on attempting to find a detailed schedule for overconstrained requirements. Once a reasonable match is found, the same interface can be used to guide more detailed scheduling processes.