Description

The objective is to design and implement a network protocol for using the dlvhex software as a server. This server shall allow for loading programs via network and controlling the solver on the server, for example asking for one, some, or all valid answers to a query, or extending the knowledge base and re-evaluating a program. The task of parsing programs and solving them is accomplished by the existing dlvhex C++ libraries. 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 network programming.

Benefit for the Project

Existing users asked for a server mode interface to dlvhex. It would be a new interface for using dlvhex, which enables using it from any network-capable programming language and systems. This also opens up new use cases for this kind of declarative reasoning.

Requirements

Skills in understanding C++ code and programming python code and version management (SVN) are necessary. Useful would be knowledge about networking (client/server architecture) and familiarity with network protocols, e.g., the FTP protocol and similar interactive protocols.

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].

More Information

A list of puzzles can be found our wiki.