s(ASP): A Query Driven Predicate Answer Set Programming System
s(ASP) executes Prolog programs with stable model semantics for negation. General structures are supported and programs do not have to be grounded. Source code freely downloadable.
We are happy to announce the availability of the s(ASP) Predicate Answer Set Programming system. The s(ASP) system can be thought of as Prolog extended with negation as failure based on the stable model semantics. The s(ASP) interpreter executes predicate answer set programs directly, i.e., programs need not be grounded first. The s(ASP) system supports general structures and lists as arguments of predicates. Like Prolog, execution in s(ASP) is query driven, i.e., given a normal logic program, users can ask a query against it and the system will compute the (partial) stable model that solves the query, if one exists. Advanced techniques such as:
- constructive negation, and
- dual rules
have been used to realize the novel top-down interpreter for s(ASP). All types of predicate answer set programs are supported except those that will:
- produce success through left recursion (support for left recursive programs will be available in a future release);
- disunify two negatively constrained variables; and,
- evaluate arithmetic expressions containing ungrounded variables.
(including the source code and the readme file) can be downloaded from http://sourceforge.net/projects/sasp-system/
The system has already been used to implement advanced applications including a medical application for disease management. The s(ASP) code for another application that solves the “undergraduate degree audit” problem can be found at https://gitlab.com/saikiran1096/gradaudit/
The s(ASP) system is a descendent of the Galliwasp system: http://galliwasp.sourceforge.net/
We would greatly appreciate if you would drop us an email if you download the system. Please send bug reports to email@example.com.
The s(ASP) Team
(Kyle Marple, Elmer Salazar, Zhuo Chen, Gopal Gupta)