ALM Translator
In this project you will develop a program to translate (compile) a program ALM to an ASP program. It involves the understanding of ALM (and use of ALM), parsing, programming in Java or C, and some knowledge of SPARC is needed.
You can find the paper on ALM here: https://redwood.cs.ttu.edu/˜yuazhang/ cs5331/references/almTPLParXiv.pdf.
Online SPARC and General Programming
This project was called online SPARC with Graphical User Interface in our first class discus- sion. It may involve several components: extend the online SPARC environment to allow pro- grammer to write SPARC programs to produce graphical output (or 2D image/animation) - called static application (i.e., the application does not allow any interaction with users); extend the online SPARC environment to allow programmer to write SPARC program to produce interactive web applications (or typical software such as a caculator or Word).
For static application, see reference at: https://redwood.cs.ttu.edu/˜yuazhang/ cs5331/references/ASPVIZ.pdf
For interactive application, see reference at: https://redwood.cs.ttu.edu/˜yuazhang/ cs5331/references/ASP-GeneralProgramming-2015.pdf
SPARC and Robots
This section is prepared by Evgenii Balai.
Introduction
ROSoClingo is a framework which combines well-known robotics operating system ROS (https://www.ros.org/) with Answer Set Solver Clingo (https://potassco.sourceforge. net/).
The goal of this project are:
• Understand the architecture of the framework
• Extend the framework to allow SPARC programs to be used to specify robot's behavior
Tasks
1. Study the documentation for ROSoclingo available from https://www.cs.uni-potsdam. de/rosoclingo/index.html, including all the literature mentioned there.
2. Run the examples available from the page, compare the results with the ones obtained by the authors:
https://www.youtube.com/channel/UCGb8oE9lBUkvRtg8HfhZg1A
3. Analyze the Clingo programs used to specify robot's behavior in each of the examples.
4. Extend the programs with type signatures from SPARC https://github.com/iensen/ sparc/wiki, obtain the translation of those programs (refer to section 3 (option -o) of the manual https://raw.githubusercontent.com/iensen/sparc/master/User_ Manual/Sparc_Manual.pdf , replace the original Clingo programs with the transla- tions and make sure the scenario results remain the same.
5. Design your own scenario using SPARC different from the one used in examples. Obtain the translation to Clingo and run it through the emulator.
6. Design a documentation for writing such scenarious in SPARC
7. Modify the system implementation to allow run SPARC programs directly in the sys- tem.
SPARC extended with aggregates
This was called a new solver for Alog. The implementation will be done by someone else. The job here is to provide a proof of the translation. It needs a good understanding of formal syntax and semantics of Answer Set Programming and SPARC.