Skip to content

DeMaCS-UNICAL/EmbASP

Repository files navigation

EmbASP

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:

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.

Quick Guides

User Guide

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.

Developer Guide

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

How to cite EmbASP

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

Contacts

For further information, visit https://www.mat.unical.it/calimeri/projects/embasp