{'fraction_non_alphanumeric': 0.014940752189592994, 'fraction_numerical': 0.0020607934054611026, 'mean_word_length': 5.583050847457627, '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}}
Abstract resource management in an unconstrained plan execution system

We describe the abstract resource management mechanism in ESL (execution support language). ESL is the implementation substrate for the New Millennium Remote Agent Smart Executive, part of a NASA program to demonstrate autonomous control of an unmanned spacecraft scheduled to launch in 1998. The executive is responsible for robust plan execution in the face of unexpected run-time contingencies. Part of this task requires run-time management of the spacecraft's configuration, whose component states are modeled as abstract resources. In this paper we describe the ESL constructs for managing these abstract resources. The resource management facilities in ESL are similar to the constraint management constructs in RAPs. The major contribution in this paper is the implementation of these facilities in an unconstrained execution substrate implemented as an extension to a standard programming language (in this case, Common Lisp) rather than within a constrained self-contained plan execution language. This turns out to significantly simplify complex programming tasks. The main technical problem in a resource management system is designing a representation that allows automatic determination of when conflicts exist. In its full generality this becomes a full-blown planning problem, and therefore an impractical strategy for a reactive executive. Instead, we model abstract resources as properties, logical assertions whose final values are guaranteed unique. When two properties are identical but for their final value then they are in conflict. This paper describes the ESL constructs and mechanisms for scheduling tasks so that they do not attempt to achieve conflicting properties simultaneously, and for invoking external recovery mechanisms for restoring properties to their desired states when forced away from those states by unexpected contingencies.