Description: We are currently developing SeaLion, an IDE for Answer-Set Programming (ASP). ASP is a declarative programming paradigm belonging to the areas of logic-based artificial intelligence, knowledge representation, and nonmonotonic reasoning. The key idea of ASP is to encode a given problem in a theory, typically by means of logic programming rules, such that there is a one-to-one correspondence between dedicated models of the theory, called 'answer sets', and the solutions of the problem. ASP has gained increasing popularity due to the availability of efficient solvers like DLV, CLASP, or SMODELS.
The envisaged IDE will consist of plugins of the Eclipse environment and will be written in Java. It should provide advanced semantic-based development methods, which we will develop in our research project, as well as standard IDE features such as syntax checking or highlighting. Moreover, we want to support the input languages of various solvers.
Currently available tasks for labs (Praktika) concerning the IDE:
Description: An important feature of our envisaged integrated development environment (see above) is the support of different solvers. Based on an existing (ANTLR-) parsers for a logic programming language, the task is to implement further variants for other solver dialects.
Description: An important feature of our envisaged integrated development environment (see above) is the support of different solvers. One task is to examine how logic programs written for a particular solver can be translated to the language of another solver such that the output of the translation is as similar as possible to the output of the original program. We are also interested in other forms of translations, e.g., between logic programs and Rule Interchange Format (RIF).
Description: We want our envisaged integrated development environment (see above) to be neat and tidy. For the success of a tool it is essential to be user-friendly, intuitive, and appealing. The task is to participate in design and implementation of graphical user interface elements within the eclipse environment. This includes SWT/JFace programming and the design of icons, etc.
Answer sets are typically represented in a textual way.
As in applications answer sets grow usually large the user is soon confronted with an enormous amount of information that is hard to analyse.
One task is to develop techniques for visualising answer sets.
Here it is important that the user can adapt the visualisation to her/his specific
An interesting approach in this respect is to develop different visualisation patterns for typical domains (e.g., for graph based problems, grid representations, etc.) that can be easily adapted.
Another challenge is to visualise answer sets by means of graphical elements that can be graphically edited. The idea is that the user can modify the answer set by manipulating its graphical representation. This would be a powerful feature that could provide the basis for advanced techniques for developing answer-set programs. Ideally, the visualisation system should be developed as part of our envisaged integrated development environment (see above).
Description: We want our envisaged integrated development environment (see above) to be self-explanatory and well-documented. The task is to test and examine the features of the IDE from the user's perspective, develop a comprehensive help system covering practical issues and methodical advice for the programmer.
Description: The task is to extend the tool ccT for correspondence checking of answer-set programs by techniques from bounded model checking for generation of counterexamples to the correspondence of two non-ground answer-set programs. For many prominent equivalence notions it is in general undecidable whether to programs with variables correspond with respect to the notion. Appropriate techniques could to some extent overcome this obstacle.
Description: The task is to optimise a disjunctive ASP encoding which is used for debugging answer-set programs for optimal performance with available solvers. The task is non-trivial and requires profound knowledge of the answer-set semantics.
Description: The task is to explore the literature on research related to the development of answer-set programs. This topic could also be interesting for a master thesis. Requirements: you should have an excellent theoretical background and enjoy working with formal methods.