Building a Domain-Independent Architecture for Planning , Learning and Execution

In this work, we present our ongoing effort on building a domain-independent software platform that integrates basic capabilities for planning, execution, monitoring, re-planning and learning. We name it PELEA after Planning, Execution and LEarning Architecture. The goal is two-fold: first, to provide software engineers a tool that can be used offthe-shelf to easily build planning applications, supporting a rapid prototyping life-cycle; and second to provide planning practitioners a tool that can be highly configured and in which new components replacing the ones that are already integrated can be easily added. Regarding the first goal, the platform currently includes state-of-the-art components for performing a wide range of (meta-)planning tasks, such as: planning (using several paradigms), controlled execution, monitoring of correct plan execution, re-planning when needed, learning of control knowledge, or low-level planning. Ultimately the user could use the tool as-is by giving as input a domain and problem descriptions. Regarding the second goal, it can serve as a benchmark platform for comparing different techniques under the same conditions. For example, a planning expert might want to try out a new re-planning technique on a robot simulator without the need to generate a complete planning-execution-monitoringreplanning architecture. We are currently interfacing the platform with known simulators (videogames and robotic platforms) as well as developing new ones for specific domains (logistics) and even a domain-independent temporal stochastic simulator. We are using this first prototype to develop some applications, such as a robotic system controlled by classical planning and a logistics transportation system. We are building on our combined previous experience on developing different kinds of applications, ranging from fire extinction (Fdez-Olivares et al. 2006), logistics (Flórez et al. 2011), satellites maintenance operations (Rodrı́guezMoreno, Borrajo, and Meziat 2004), education (Garrido et al. In Press), tourism (Castillo et al. 2008), or data mining (Fernández et al. In Press), among many others. In all these cases, the process of developing the final application is an “ad-hoc” manual process that requires expertise and techniques on at least two fronts: domain and problem modeling; and selection and configuration of planning systems, together with the implementation of execution controllers, monitoring tools and re-planning techniques, as well as the optional use of learning components. There has been some work on the first task based on powerful modeling tools such as ITSIMPLE (Vaquero et al. 2009). ITSIMPLE allows defining different kinds of planning models, as well as running diverse planners to generate solutions. However, it does not support further execution, monitoring and re-planning of those plans. We propose in this paper a tool that automates those steps. There has also been previous work that defines generic architectures used for different purposes. Examples can be found in space and robotics applications with platforms like Mapgen (Ai-Chang et al. 2004), APSI (Cesta et al. 2009), PRS (Georgeff and Lansky 1987), or IxTeT (Ghallab and Laruelle 1994). Usually these platforms have been designed for particular planning techniques, as timelinebased planning (Ai-Chang et al. 2004; Cesta et al. 2009; Ghallab and Laruelle 1994), hierarchical planning (FdezOlivares et al. 2006), or reactive controllers (Georgeff and Lansky 1987). The goal of the PELEA project is to build a component-based architecture able to perform planning, execution, monitoring and learning in an integrated way, in the context of PDDL-based and HTN-based planning and suitable for a wide range of planning problems. Next, we define the architecture and its component modules. The architecture allows planning engineers to easily generate new applications that integrate all planning and execution capabilities by reusing and modifying the components. A second scientific advantage of PELEA is to allow researchers or practitioners to compare techniques related to that functionality. We provide a set of tools that implement different techniques for each module, so that users can choose among those. The paper describes the on-going work on this architecture.