EmbASP is a framework for the integration of Logic Programming in external systems for generic applications, conceived in order to help developers at designing and implementing complex reasoning tasks by means of logic-based solvers on different platforms.
We currently provide implementations of EmbASP in three different programming languages: Java, Python, and C#). EmbASP also contains ready-made libraries for embedding several logic-based solvers:
- ASP (Answer Set Programming)
- PDDL (Planning Domain Definition Language)
- Datalog
Note that DLV, DLV2 and Solver.Planning.Domains can also be used on Android.
The framework has been designed to be easily extensible and adaptable to different solvers and platforms. Solvers can be invoked in different ways: via REST API as for Solver.Planning.Domains, native binary execution as for most of the "desktop solvers", library invocation as in the Android solvers, or any other way that can be implemented using the OOP paradigm.
The latest stable version can be dowloaded from the Releases page on GitHub. A JAR file, a wheel file and a DLL file are available for the Desktop platform, while for the Android platform a AAR file has been released.
This repository can be downloaded using Git. The implementations are stored in 3 different repositories, the Java version, the Python version and the C# version, and are included in this repository through Git submodule. The whole project can be downloaded running the following command:
git clone --recurse-submodules https://github.com/DeMaCS-UNICAL/EmbASP.git
To ensure that the submodules are updated to their latest version, the following commands can be run:
cd EmbASP
git submodule update --remote
or, having a git version > 2.23, downloading the whole project through this command :
git clone --recurse-submodules --remote-submodules https://github.com/DeMaCS-UNICAL/EmbASP.git
Francesco Calimeri, Davide Fuscà, Stefano Germano, Simona Perri, Jessica Zangari: Fostering the Use of Declarative Formalisms for Real-World Applications: The EmbASP Framework. New Generation Comput. 37(1): 29-65 (2019)
Francesco Calimeri, Stefano Germano, Giovambattista Ianni, Francesco Pacenza, Simona Perri, Jessica Zangari: Integrating Rule-Based AI Tools into Mainstream Game Development. RuleML+RR 2018: 310-317
For further information, visit https://www.mat.unical.it/calimeri/projects/embasp