Translating MAPGEN to ASPEN for MER
- Created on Saturday, 01 June 2013
Faithful translation is achieved from mixed-domain representations into the ASPEN Modeling Language.
This software translates MAPGEN(Europa and APGEN) domains to ASPEN, and the resulting domain can be used to perform planning for the Mars Exploration Rover (MER). In other words, this is a conversion of two distinct planning languages (both declarative and procedural) to a third (declarative) planning language in order to solve the problem of faithful translation from mixeddomain representations into the ASPEN Modeling Language.The MAPGEN planning system is an example of a hybrid procedural/ declarative system where the advantages of each are leveraged to produce an effective planner/scheduler for MER tactical planning. The adaptation of the same domain to an entirely declarative planning system (ASPEN) was investigated, and, with some translation, much of the procedural knowledge encoding is amenable to declarative knowledge encoding.
The approach was to compose translators from the core languages used for adapting MAGPEN, which consists of Europa and APGEN. Europa is a constraint-based planner/scheduler where domains are encoded using a declarative model. APGEN is also constraint-based, in that it tracks constraints on resources and states and other variables. Domains are encoded in both constraints and code snippets that execute according to a forward sweep through the plan. Europa and APGEN communicate to each other using proxy activities in APGEN that represent constraints and/or tokens in Europa. The composition of a translator from Europa to ASPEN was fairly straightforward, as ASPEN is also a declarative planning system, and the specific uses of Europa for the MER domain matched ASPEN’s native encoding fairly closely.
On the other hand, translating from APGEN to ASPEN was considerably more involved. On the surface, the types of activities and resources one encodes in APGEN appear to match one-to-one to the activities, state variables, and resources in ASPEN. But, when looking into the definitions of how resources are profiled and activities are expanded, one sees code snippets that access various information available during planning for the moment in time being planned to decide at the time what the appropriate profile or expansion is. APGEN is actually a forward (in time) sweeping discrete event simulator, where the model is composed of code snippets that are artfully interleaved by the engine to produce a plan/schedule. To solve this problem, representative code is simulated as a declarative series of task expansions.
Predominantly, three types of procedural models were translated: loops, if-statements, and code blocks. Loops and if-statements were handled using controlled task expansion, and code blocks were handled using constraint networks that maintained the generation of results based on what the order of execution would be for a procedural representation.
One advantage with respect to performance for MAPGEN is the use of APGEN’s GUI. This GUI is written in C++ and Motif, and performs very well for large plans.
This work was done by Gregg R. Rabideau, Russell L. Knight, Matthew Lenda, and Pierre F. Maldague of Caltech for NASA’s Jet Propulsion Laboratory.
This Brief includes a Technical Support Package (TSP).
Translating MAPGEN to ASPEN for MER (reference ) is currently available for download from the TSP library.
Please Login at the top of the page to download.