Description
The objective is to design the command set for an interactive shell for using the dlvhex software, and then implement the shell in python. The shell shall provide basic functionality of managing programs and plugins, obtaining models and querying. Interaction could be similar as, e.g., in the python interactive shell (by using python as a shell, the shell itself could be scriptable with python). Reasoning and parsing task related to HEX programs are all accomplished by the existing dlvhex C++ libraries, but they must be wrapped and made accessible to the shell. We envision an implementation in python using existing C++ libraries available on SourceForge (these libraries might need to be extended for that purpose).
Benefit for the Student
Using and getting acquainted with Artificial Intelligence and Knowledge Representation tools. Being part of an open source research prototype software project. Learning about the integration of python with C++ and about interactive shell programming.
Benefit for the Project
Exploring properties of HEX programs and problems with encodings could be much easier in an interactive shell. Approaches for debugging declarative programs and for visualizing answers of declarative programs could be integrated into the shell.
Requirements
Skills in understanding C++ code and programming python code and version management (SVN) are necessary. Useful would be knowledge about unix shell programming, e.g., knowledge about libreadline or similar.
Mentors
Thomas Krennwallner, Christoph Redl, Peter Schueller
Contact
Send an email to This email address is being protected from spambots. You need JavaScript enabled to view it. (first subscribe here) using the prefix [dlvhex].