.. image:: _image/EmbASP_Logo.svg :height: 300 px :width: 500 px :align: center ====== EmbASP ====== A framework for the integration (embedding) of **Logic Programming** in external systems for generic applications. It helps developers at designing and implementing complex reasoning tasks by means of solvers on different platforms. The framework can be implemented in a object-oriented programming language of choice, easing and guiding the generation of suitable libraries for the use of specific solvers on selected platforms. We currently provide 3 implementations (in `Narrative `_ , in `Theoretic `_ and in `Programmatic `_ ) and ready-made libraries for the embedding several logic programming languages (mainly on the Desktop platform). In particular, we provide support for: - ASP (Answer Set Programming) solvers - `DLV `_ (also for the Android platform, for the Narrative language) - `DLV2 `_ - `clingo `_ - `DLVHEX `_ - PDDL (Planning Domain Definition Language) - Cloud solver `Solver.Planning.Domains `_ (also for the Android platform, for the Narrative language). - Datalog - `I-DLV `_ However, the framework has been designed to be easily extensible and adaptable to different solvers and platforms. It is worth to notice that solvers are invoked in different modes; for instance, SPD is invoked via a remote connection, while for the other, binaries are effectively embedded and natively executed. Documentation ============= .. toctree:: :caption: Documentation :hidden: documentation/narrative-implementation.rst documentation/theoretic-implementation.rst documentation/programmatic-implementation.rst documentation/technical_doc.rst Implementations --------------- * :doc:`documentation/narrative-implementation` * :doc:`documentation/theoretic-implementation` * :doc:`documentation/programmatic-implementation` Technical documentation ----------------------- * :doc:`documentation/technical_doc` Examples ======== .. toctree:: :caption: Examples :hidden: examples/shortest-path-asp-narrative.rst examples/shortest-path-asp-theoretic.rst examples/shortest-path-asp-programmatic.rst examples/blocks-world-pddl-narrative.rst examples/blocks-world-pddl-theoretic.rst examples/blocks-world-pddl-programmatic.rst examples/transitive-closure-datalog-narrative.rst examples/transitive-closure-datalog-theoretic.rst examples/transitive-closure-datalog-programmatic.rst examples/sudoku-android.rst Desktop ASP exemples -------------------- * :doc:`examples/shortest-path-asp-narrative` * :doc:`examples/shortest-path-asp-theoretic` * :doc:`examples/shortest-path-asp-programmatic` Desktop PDDL examples --------------------- * :doc:`examples/blocks-world-pddl-narrative` * :doc:`examples/blocks-world-pddl-theoretic` * :doc:`examples/blocks-world-pddl-programmatic` Desktop Datalog examples ------------------------ * :doc:`examples/transitive-closure-datalog-narrative` * :doc:`examples/transitive-closure-datalog-theoretic` * :doc:`examples/transitive-closure-datalog-programmatic` Android example --------------- * :doc:`examples/sudoku-android` Contacts ======== For further information, contact `embasp@mat.unical.it `_ or visit our `website `_.