ACT was developed as a domain-independent language for representing the kinds of knowledge about activity used by both planners and executors. A full presentation of the ACT language can be found in . Here, we summarize some of the issues that motivated the design of ACT.
Planners and executors share many representational requirements. Both require a language for expressing goals, a means of ordering activities, and mechanisms for encoding information about when a particular procedure can be applied. Concepts such as protection intervals and resources are useful for both types of systems. Nevertheless, there are important representational differences for the two classes of systems due to their different functionalities. The planner is looking ahead to the future consequences of courses of action, while the executor is sensing the world and responding to incoming information and goals. These differences affect action representation in several ways. For example, execution systems frequently use conditionals and loops, and must provide the means to express reactive behaviors for operating on the world. Generative planners stress subgoaling, parallel actions and reasoning to predict the result of taking certain actions. The ACT language is sufficiently expressive to support all of these concepts.
The development of the ACT language is similar in motivation to the KRSL language . In fact, the ACT formalism has been one of the formalisms driving the design of the specification for plans in KRSL. The KRSL effort is very ambitious, trying to develop a common language for many types of systems, including systems for planning, execution, scheduling, simulation, temporal reasoning, database management, and other tasks. In contrast, the ACT formalism is focused more narrowly on a common language for planning and execution systems. We view this narrow focus as critical to achieving success in near-term use in software tools, since a common representation that tries to cover too broad an area faces many serious problems .
It is always difficult to evaluate the merit of a representation language. However, we believe that the design of the ACT formalism has been validated by its successful use in CYPRESS applications ranging from military operations planning to real-time tracking and fault-diagnosis. The ACT formalism should be viewed as an evolving entity though, whose expressiveness will undoubtedly increase in the future to support additional applications.