Design Patterns for AI Planning and Scheduling Applications
J. Christopher Beck
Tiago Stegun Vaquero
Over the last decade, both research effort and industry interest have been directed towards the application of Artificial Intelligence Planning & Scheduling (P&S) techniques to solve real-life problems in space exploration, management of crude oil distribution, medical decision support systems, and advanced manufacturing. Real-world problems not only require high performance planning engines but also a well-executed design process. Unlike other engineering areas, P&S applications require substantial knowledge management, powerful algorithms for reasoning about actions and a careful consideration of quality metrics. Optimizing the design process of real P&S applications can support the development of reliable, deployable systems. One way to optimize such a design process is to use experience from previous successful applications, for example, in the form of design patterns. A design pattern is a general, reusable solution to a commonly occurring problem. They have been successfully used in software engineering to support and speed up design, improve quality, reduce cost, and decrease problem fixing issues. However, design patterns have not been much explored in AI P&S applications.
This project aims at gathering and developing design patterns for AI P&S applications to support designers while creating their knowledge models. Initial work on design patterns for P&S available in the literatire focuses on enhancing automated planners to produce plans faster through recognition of common patterns and the use of specialized heuristics. Only few works done back in 2002 focus on the advantages of reusable knowledge during the design process. However, due to limitations on the planning technologies and representation languages at the time, the investigation of design patterns was narrowed to classical problems.
In this project, we aim to develop a catalog and a taxonomy of design patterns for P&S based on experience from state-of-the-art P&S applications. We will also investigate the life-cycle of such patterns, especially their use and maintenance. We aim not only to represent the structure of patterns with their respective sub-classes and purposes, but also to extend design patterns used in software engineering by including essential reusable knowledge for P&S such as quality metrics, preferences, constraints, evaluation and design rationales.
The main contributions of this work will be:
- The formalization of the concept and structure of design patterns for P&S.
- The development of a design pattern catalog and taxonomy of P&S applications.
- The definition of a communication language and protocol between the catalog and any KE tool to provide the de facto use of the design patterns during P&S application development.
September 1st, 2011
Post-Doctoral Research Fellowship (PDRF) 2011-2012,
Foreign Affairs and International Trade Canada (DFAIT),
Administered by the Canadian Bureau for Internatiional Education (CBIE)