Conference paper Open Access

Hierarchical Task Network Planning in Common Lisp: the case of SHOP3

Goldman, Robert P.; Kuter, Ugur

This paper describes the use of Common Lisp (CL) to develop a new version of the Hierarchical Task Network (HTN) planner, Shop2, first developed at the University of Maryland (UMD). which we are dubbing Shop3. We will describe ways in which we have profited from language features offered by CL to build a more solid, efficient, yet flexible planning system, review lessons learned and suggest some best practices. Shop3 is an open source tool made publicly available by SIFT, hosted on GitHub. It is freely available for use under the terms of the Mozilla Public License. CL provided a good foundation for extensibility and refactoring of the Shop2 planner to support both more flexibility and extensibility and, at the same time, more usability as a practical tool. By comparison, the Java version of Shop2 was rigid, and rapidly abandoned after the original developer left UMD. By then it already lagged behind the CL version in terms of features because of Java’s rigidity, and poor support for symbolic programming.

This material is based upon work supported by the Defense Advanced Research Projects Agency (DARPA) and the Air Force Research Laboratory under Contract Number FA8750-17-C-0184. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of DARPA, the Department of Defense, or the United States Government.
Files (4.4 MB)
Name Size
4.4 MB Download
All versions This version
Views 1313
Downloads 1212
Data volume 52.7 MB52.7 MB
Unique views 1212
Unique downloads 1111


Cite as