├── .github ├── dependabot.yml └── workflows │ └── stale.yml ├── .gitignore ├── .gitmodules ├── LICENSE └── README.md /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: gitsubmodule 4 | directory: "/" 5 | schedule: 6 | interval: daily 7 | open-pull-requests-limit: 10 8 | 9 | -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- 1 | # This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time. 2 | # 3 | # You can adjust the behavior by modifying this file. 4 | # For more information, see: 5 | # https://github.com/actions/stale 6 | name: Mark stale issues and pull requests 7 | 8 | on: 9 | schedule: 10 | - cron: '38 18 * * *' 11 | 12 | jobs: 13 | stale: 14 | 15 | runs-on: ubuntu-latest 16 | permissions: 17 | issues: write 18 | pull-requests: write 19 | 20 | steps: 21 | - uses: actions/stale@v3 22 | with: 23 | repo-token: ${{ secrets.GITHUB_TOKEN }} 24 | stale-issue-message: 'Stale issue message' 25 | stale-pr-message: 'Stale pull request message' 26 | stale-issue-label: 'no-issue-activity' 27 | stale-pr-label: 'no-pr-activity' 28 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.gitignore.io/api/java,csharp,python,pycharm,eclipse,intellij,visualstudio,visualstudiocode 3 | 4 | ### Csharp ### 5 | ## Ignore Visual Studio temporary files, build results, and 6 | ## files generated by popular Visual Studio add-ons. 7 | ## 8 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 9 | 10 | # User-specific files 11 | *.suo 12 | *.user 13 | *.userosscache 14 | *.sln.docstates 15 | 16 | # User-specific files (MonoDevelop/Xamarin Studio) 17 | *.userprefs 18 | 19 | # Build results 20 | [Dd]ebug/ 21 | [Dd]ebugPublic/ 22 | [Rr]elease/ 23 | [Rr]eleases/ 24 | x64/ 25 | x86/ 26 | bld/ 27 | [Bb]in/ 28 | [Oo]bj/ 29 | [Ll]og/ 30 | 31 | # Visual Studio 2015 cache/options directory 32 | .vs/ 33 | # Uncomment if you have tasks that create the project's static files in wwwroot 34 | #wwwroot/ 35 | 36 | # MSTest test Results 37 | [Tt]est[Rr]esult*/ 38 | [Bb]uild[Ll]og.* 39 | 40 | # NUNIT 41 | *.VisualState.xml 42 | TestResult.xml 43 | 44 | # Build Results of an ATL Project 45 | [Dd]ebugPS/ 46 | [Rr]eleasePS/ 47 | dlldata.c 48 | 49 | # .NET Core 50 | project.lock.json 51 | project.fragment.lock.json 52 | artifacts/ 53 | **/Properties/launchSettings.json 54 | 55 | *_i.c 56 | *_p.c 57 | *_i.h 58 | *.ilk 59 | *.meta 60 | *.obj 61 | *.pch 62 | *.pdb 63 | *.pgc 64 | *.pgd 65 | *.rsp 66 | *.sbr 67 | *.tlb 68 | *.tli 69 | *.tlh 70 | *.tmp 71 | *.tmp_proj 72 | *.log 73 | *.vspscc 74 | *.vssscc 75 | .builds 76 | *.pidb 77 | *.svclog 78 | *.scc 79 | 80 | # Chutzpah Test files 81 | _Chutzpah* 82 | 83 | # Visual C++ cache files 84 | ipch/ 85 | *.aps 86 | *.ncb 87 | *.opendb 88 | *.opensdf 89 | *.sdf 90 | *.cachefile 91 | *.VC.db 92 | *.VC.VC.opendb 93 | 94 | # Visual Studio profiler 95 | *.psess 96 | *.vsp 97 | *.vspx 98 | *.sap 99 | 100 | # TFS 2012 Local Workspace 101 | $tf/ 102 | 103 | # Guidance Automation Toolkit 104 | *.gpState 105 | 106 | # ReSharper is a .NET coding add-in 107 | _ReSharper*/ 108 | *.[Rr]e[Ss]harper 109 | *.DotSettings.user 110 | 111 | # JustCode is a .NET coding add-in 112 | .JustCode 113 | 114 | # TeamCity is a build add-in 115 | _TeamCity* 116 | 117 | # DotCover is a Code Coverage Tool 118 | *.dotCover 119 | 120 | # Visual Studio code coverage results 121 | *.coverage 122 | *.coveragexml 123 | 124 | # NCrunch 125 | _NCrunch_* 126 | .*crunch*.local.xml 127 | nCrunchTemp_* 128 | 129 | # MightyMoose 130 | *.mm.* 131 | AutoTest.Net/ 132 | 133 | # Web workbench (sass) 134 | .sass-cache/ 135 | 136 | # Installshield output folder 137 | [Ee]xpress/ 138 | 139 | # DocProject is a documentation generator add-in 140 | DocProject/buildhelp/ 141 | DocProject/Help/*.HxT 142 | DocProject/Help/*.HxC 143 | DocProject/Help/*.hhc 144 | DocProject/Help/*.hhk 145 | DocProject/Help/*.hhp 146 | DocProject/Help/Html2 147 | DocProject/Help/html 148 | 149 | # Click-Once directory 150 | publish/ 151 | 152 | # Publish Web Output 153 | *.[Pp]ublish.xml 154 | *.azurePubxml 155 | # TODO: Uncomment the next line to ignore your web deploy settings. 156 | # By default, sensitive information, such as encrypted password 157 | # should be stored in the .pubxml.user file. 158 | #*.pubxml 159 | *.pubxml.user 160 | *.publishproj 161 | 162 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 163 | # checkin your Azure Web App publish settings, but sensitive information contained 164 | # in these scripts will be unencrypted 165 | PublishScripts/ 166 | 167 | # NuGet Packages 168 | *.nupkg 169 | # The packages folder can be ignored because of Package Restore 170 | **/packages/* 171 | # except build/, which is used as an MSBuild target. 172 | !**/packages/build/ 173 | # Uncomment if necessary however generally it will be regenerated when needed 174 | #!**/packages/repositories.config 175 | # NuGet v3's project.json files produces more ignorable files 176 | *.nuget.props 177 | *.nuget.targets 178 | 179 | # Microsoft Azure Build Output 180 | csx/ 181 | *.build.csdef 182 | 183 | # Microsoft Azure Emulator 184 | ecf/ 185 | rcf/ 186 | 187 | # Windows Store app package directories and files 188 | AppPackages/ 189 | BundleArtifacts/ 190 | Package.StoreAssociation.xml 191 | _pkginfo.txt 192 | 193 | # Visual Studio cache files 194 | # files ending in .cache can be ignored 195 | *.[Cc]ache 196 | # but keep track of directories ending in .cache 197 | !*.[Cc]ache/ 198 | 199 | # Others 200 | ClientBin/ 201 | ~$* 202 | *~ 203 | *.dbmdl 204 | *.dbproj.schemaview 205 | *.jfm 206 | *.pfx 207 | *.publishsettings 208 | orleans.codegen.cs 209 | 210 | # Since there are multiple workflows, uncomment next line to ignore bower_components 211 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 212 | #bower_components/ 213 | 214 | # RIA/Silverlight projects 215 | Generated_Code/ 216 | 217 | # Backup & report files from converting an old project file 218 | # to a newer Visual Studio version. Backup files are not needed, 219 | # because we have git ;-) 220 | _UpgradeReport_Files/ 221 | Backup*/ 222 | UpgradeLog*.XML 223 | UpgradeLog*.htm 224 | 225 | # SQL Server files 226 | *.mdf 227 | *.ldf 228 | *.ndf 229 | 230 | # Business Intelligence projects 231 | *.rdl.data 232 | *.bim.layout 233 | *.bim_*.settings 234 | 235 | # Microsoft Fakes 236 | FakesAssemblies/ 237 | 238 | # GhostDoc plugin setting file 239 | *.GhostDoc.xml 240 | 241 | # Node.js Tools for Visual Studio 242 | .ntvs_analysis.dat 243 | node_modules/ 244 | 245 | # Typescript v1 declaration files 246 | typings/ 247 | 248 | # Visual Studio 6 build log 249 | *.plg 250 | 251 | # Visual Studio 6 workspace options file 252 | *.opt 253 | 254 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 255 | *.vbw 256 | 257 | # Visual Studio LightSwitch build output 258 | **/*.HTMLClient/GeneratedArtifacts 259 | **/*.DesktopClient/GeneratedArtifacts 260 | **/*.DesktopClient/ModelManifest.xml 261 | **/*.Server/GeneratedArtifacts 262 | **/*.Server/ModelManifest.xml 263 | _Pvt_Extensions 264 | 265 | # Paket dependency manager 266 | .paket/paket.exe 267 | paket-files/ 268 | 269 | # FAKE - F# Make 270 | .fake/ 271 | 272 | # JetBrains Rider 273 | .idea/ 274 | *.sln.iml 275 | 276 | # CodeRush 277 | .cr/ 278 | 279 | # Python Tools for Visual Studio (PTVS) 280 | __pycache__/ 281 | *.pyc 282 | 283 | # Cake - Uncomment if you are using it 284 | # tools/** 285 | # !tools/packages.config 286 | 287 | # Telerik's JustMock configuration file 288 | *.jmconfig 289 | 290 | # BizTalk build output 291 | *.btp.cs 292 | *.btm.cs 293 | *.odx.cs 294 | *.xsd.cs 295 | 296 | ### Eclipse ### 297 | 298 | .metadata 299 | bin/ 300 | tmp/ 301 | *.bak 302 | *.swp 303 | *~.nib 304 | local.properties 305 | .settings/ 306 | .loadpath 307 | .recommenders 308 | 309 | # External tool builders 310 | .externalToolBuilders/ 311 | 312 | # Locally stored "Eclipse launch configurations" 313 | *.launch 314 | 315 | # PyDev specific (Python IDE for Eclipse) 316 | *.pydevproject 317 | 318 | # CDT-specific (C/C++ Development Tooling) 319 | .cproject 320 | 321 | # Java annotation processor (APT) 322 | .factorypath 323 | 324 | # PDT-specific (PHP Development Tools) 325 | .buildpath 326 | 327 | # sbteclipse plugin 328 | .target 329 | 330 | # Tern plugin 331 | .tern-project 332 | 333 | # TeXlipse plugin 334 | .texlipse 335 | 336 | # STS (Spring Tool Suite) 337 | .springBeans 338 | 339 | # Code Recommenders 340 | .recommenders/ 341 | 342 | # Scala IDE specific (Scala & Java development for Eclipse) 343 | .cache-main 344 | .scala_dependencies 345 | .worksheet 346 | 347 | ### Eclipse Patch ### 348 | # Eclipse Core 349 | .project 350 | 351 | # JDT-specific (Eclipse Java Development Tools) 352 | .classpath 353 | 354 | # Annotation Processing 355 | .apt_generated 356 | 357 | ### Intellij ### 358 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm 359 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 360 | 361 | # User-specific stuff: 362 | .idea/**/workspace.xml 363 | .idea/**/tasks.xml 364 | .idea/dictionaries 365 | 366 | # Sensitive or high-churn files: 367 | .idea/**/dataSources/ 368 | .idea/**/dataSources.ids 369 | .idea/**/dataSources.xml 370 | .idea/**/dataSources.local.xml 371 | .idea/**/sqlDataSources.xml 372 | .idea/**/dynamic.xml 373 | .idea/**/uiDesigner.xml 374 | 375 | # Gradle: 376 | .idea/**/gradle.xml 377 | .idea/**/libraries 378 | 379 | # CMake 380 | cmake-build-debug/ 381 | 382 | # Mongo Explorer plugin: 383 | .idea/**/mongoSettings.xml 384 | 385 | ## File-based project format: 386 | *.iws 387 | 388 | ## Plugin-specific files: 389 | 390 | # IntelliJ 391 | /out/ 392 | 393 | # mpeltonen/sbt-idea plugin 394 | .idea_modules/ 395 | 396 | # JIRA plugin 397 | atlassian-ide-plugin.xml 398 | 399 | # Cursive Clojure plugin 400 | .idea/replstate.xml 401 | 402 | # Ruby plugin and RubyMine 403 | /.rakeTasks 404 | 405 | # Crashlytics plugin (for Android Studio and IntelliJ) 406 | com_crashlytics_export_strings.xml 407 | crashlytics.properties 408 | crashlytics-build.properties 409 | fabric.properties 410 | 411 | ### Intellij Patch ### 412 | # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 413 | 414 | # *.iml 415 | # modules.xml 416 | # .idea/misc.xml 417 | # *.ipr 418 | 419 | # Sonarlint plugin 420 | .idea/sonarlint 421 | 422 | ### Java ### 423 | # Compiled class file 424 | *.class 425 | 426 | # Log file 427 | 428 | # BlueJ files 429 | *.ctxt 430 | 431 | # Mobile Tools for Java (J2ME) 432 | .mtj.tmp/ 433 | 434 | # Package Files # 435 | *.jar 436 | *.war 437 | *.ear 438 | *.zip 439 | *.tar.gz 440 | *.rar 441 | 442 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 443 | hs_err_pid* 444 | 445 | ### PyCharm ### 446 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm 447 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 448 | 449 | # User-specific stuff: 450 | 451 | # Sensitive or high-churn files: 452 | 453 | # Gradle: 454 | 455 | # CMake 456 | 457 | # Mongo Explorer plugin: 458 | 459 | ## File-based project format: 460 | 461 | ## Plugin-specific files: 462 | 463 | # IntelliJ 464 | 465 | # mpeltonen/sbt-idea plugin 466 | 467 | # JIRA plugin 468 | 469 | # Cursive Clojure plugin 470 | 471 | # Ruby plugin and RubyMine 472 | 473 | # Crashlytics plugin (for Android Studio and IntelliJ) 474 | 475 | ### PyCharm Patch ### 476 | # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 477 | 478 | # *.iml 479 | # modules.xml 480 | # .idea/misc.xml 481 | # *.ipr 482 | 483 | # Sonarlint plugin 484 | 485 | ### Python ### 486 | # Byte-compiled / optimized / DLL files 487 | *.py[cod] 488 | *$py.class 489 | 490 | # C extensions 491 | *.so 492 | 493 | # Distribution / packaging 494 | .Python 495 | build/ 496 | develop-eggs/ 497 | dist/ 498 | downloads/ 499 | eggs/ 500 | .eggs/ 501 | lib/ 502 | lib64/ 503 | parts/ 504 | sdist/ 505 | var/ 506 | wheels/ 507 | *.egg-info/ 508 | .installed.cfg 509 | *.egg 510 | 511 | # PyInstaller 512 | # Usually these files are written by a python script from a template 513 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 514 | *.manifest 515 | *.spec 516 | 517 | # Installer logs 518 | pip-log.txt 519 | pip-delete-this-directory.txt 520 | 521 | # Unit test / coverage reports 522 | htmlcov/ 523 | .tox/ 524 | .coverage 525 | .coverage.* 526 | .cache 527 | .pytest_cache/ 528 | nosetests.xml 529 | coverage.xml 530 | *.cover 531 | .hypothesis/ 532 | 533 | # Translations 534 | *.mo 535 | *.pot 536 | 537 | # Flask stuff: 538 | instance/ 539 | .webassets-cache 540 | 541 | # Scrapy stuff: 542 | .scrapy 543 | 544 | # Sphinx documentation 545 | docs/_build/ 546 | 547 | # PyBuilder 548 | target/ 549 | 550 | # Jupyter Notebook 551 | .ipynb_checkpoints 552 | 553 | # pyenv 554 | .python-version 555 | 556 | # celery beat schedule file 557 | celerybeat-schedule.* 558 | 559 | # SageMath parsed files 560 | *.sage.py 561 | 562 | # Environments 563 | .env 564 | .venv 565 | env/ 566 | venv/ 567 | ENV/ 568 | env.bak/ 569 | venv.bak/ 570 | 571 | # Spyder project settings 572 | .spyderproject 573 | .spyproject 574 | 575 | # Rope project settings 576 | .ropeproject 577 | 578 | # mkdocs documentation 579 | /site 580 | 581 | # mypy 582 | .mypy_cache/ 583 | 584 | ### VisualStudioCode ### 585 | .vscode/* 586 | !.vscode/settings.json 587 | !.vscode/tasks.json 588 | !.vscode/launch.json 589 | !.vscode/extensions.json 590 | .history 591 | 592 | ### VisualStudio ### 593 | ## Ignore Visual Studio temporary files, build results, and 594 | ## files generated by popular Visual Studio add-ons. 595 | ## 596 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 597 | 598 | # User-specific files 599 | 600 | # User-specific files (MonoDevelop/Xamarin Studio) 601 | 602 | # Build results 603 | 604 | # Visual Studio 2015 cache/options directory 605 | # Uncomment if you have tasks that create the project's static files in wwwroot 606 | #wwwroot/ 607 | 608 | # MSTest test Results 609 | 610 | # NUNIT 611 | 612 | # Build Results of an ATL Project 613 | 614 | # .NET Core 615 | 616 | 617 | # Chutzpah Test files 618 | 619 | # Visual C++ cache files 620 | 621 | # Visual Studio profiler 622 | 623 | # TFS 2012 Local Workspace 624 | 625 | # Guidance Automation Toolkit 626 | 627 | # ReSharper is a .NET coding add-in 628 | 629 | # JustCode is a .NET coding add-in 630 | 631 | # TeamCity is a build add-in 632 | 633 | # DotCover is a Code Coverage Tool 634 | 635 | # Visual Studio code coverage results 636 | 637 | # NCrunch 638 | 639 | # MightyMoose 640 | 641 | # Web workbench (sass) 642 | 643 | # Installshield output folder 644 | 645 | # DocProject is a documentation generator add-in 646 | 647 | # Click-Once directory 648 | 649 | # Publish Web Output 650 | # TODO: Uncomment the next line to ignore your web deploy settings. 651 | # By default, sensitive information, such as encrypted password 652 | # should be stored in the .pubxml.user file. 653 | #*.pubxml 654 | 655 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 656 | # checkin your Azure Web App publish settings, but sensitive information contained 657 | # in these scripts will be unencrypted 658 | 659 | # NuGet Packages 660 | # The packages folder can be ignored because of Package Restore 661 | # except build/, which is used as an MSBuild target. 662 | # Uncomment if necessary however generally it will be regenerated when needed 663 | #!**/packages/repositories.config 664 | # NuGet v3's project.json files produces more ignorable files 665 | 666 | # Microsoft Azure Build Output 667 | 668 | # Microsoft Azure Emulator 669 | 670 | # Windows Store app package directories and files 671 | 672 | # Visual Studio cache files 673 | # files ending in .cache can be ignored 674 | # but keep track of directories ending in .cache 675 | 676 | # Others 677 | 678 | # Since there are multiple workflows, uncomment next line to ignore bower_components 679 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 680 | #bower_components/ 681 | 682 | # RIA/Silverlight projects 683 | 684 | # Backup & report files from converting an old project file 685 | # to a newer Visual Studio version. Backup files are not needed, 686 | # because we have git ;-) 687 | 688 | # SQL Server files 689 | 690 | # Business Intelligence projects 691 | 692 | # Microsoft Fakes 693 | 694 | # GhostDoc plugin setting file 695 | 696 | # Node.js Tools for Visual Studio 697 | 698 | # Typescript v1 declaration files 699 | 700 | # Visual Studio 6 build log 701 | 702 | # Visual Studio 6 workspace options file 703 | 704 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 705 | 706 | # Visual Studio LightSwitch build output 707 | 708 | # Paket dependency manager 709 | 710 | # FAKE - F# Make 711 | 712 | # JetBrains Rider 713 | 714 | # CodeRush 715 | 716 | # Python Tools for Visual Studio (PTVS) 717 | 718 | # Cake - Uncomment if you are using it 719 | # tools/** 720 | # !tools/packages.config 721 | 722 | # Telerik's JustMock configuration file 723 | 724 | # BizTalk build output 725 | 726 | ### VisualStudio Patch ### 727 | # By default, sensitive information, such as encrypted password 728 | # should be stored in the .pubxml.user file. 729 | 730 | 731 | # End of https://www.gitignore.io/api/java,csharp,python,pycharm,eclipse,intellij,visualstudio,visualstudiocode 732 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "EmbASP-Java"] 2 | path = EmbASP-Java 3 | url = https://github.com/DeMaCS-UNICAL/EmbASP-Java.git 4 | [submodule "EmbASP-Python"] 5 | path = EmbASP-Python 6 | url = https://github.com/DeMaCS-UNICAL/EmbASP-Python.git 7 | [submodule "EmbASP-CSharp"] 8 | path = EmbASP-CSharp 9 | url = https://github.com/DeMaCS-UNICAL/EmbASP-CSharp.git 10 | [submodule "EmbASP-antlr-grammars"] 11 | path = EmbASP-antlr-grammars 12 | url = https://github.com/DeMaCS-UNICAL/EmbASP-antlr-grammars 13 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Davide Fuscà 4 | Copyright (c) 2015 Stefano Germano 5 | Copyright (c) 2015 Jessica Zangari 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # EmbASP 2 | 3 | _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. 4 | 5 | We currently provide implementations of _EmbASP_ in three different programming languages: [Java](https://www.java.com), [Python](https://www.python.org), and [C#](https://docs.microsoft.com/en-us/dotnet/csharp/)). 6 | _EmbASP_ also contains ready-made libraries for embedding several logic-based solvers: 7 | 8 | - ASP (Answer Set Programming) 9 | - [DLV](http://www.dlvsystem.com/dlv) 10 | - [DLV2](https://www.mat.unical.it/DLV2) 11 | - [clingo](https://potassco.org/clingo) 12 | - [DLVHEX](http://www.kr.tuwien.ac.at/research/systems/dlvhex/) 13 | - PDDL (Planning Domain Definition Language) 14 | - [Solver.Planning.Domains](http://solver.planning.domains) 15 | - Datalog 16 | - [I-DLV](https://github.com/DeMaCS-UNICAL/I-DLV) 17 | 18 | Note that DLV, DLV2 and Solver.Planning.Domains can also be used on Android. 19 | 20 | The framework has been designed to be easily extensible and adaptable to different solvers and platforms. 21 | 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. 22 | 23 | ## Quick Guides 24 | 25 | ### User Guide 26 | 27 | The [latest stable version](https://github.com/DeMaCS-UNICAL/EmbASP/releases/latest) can be dowloaded from the [Releases page](https://github.com/DeMaCS-UNICAL/EmbASP/releases) on GitHub. 28 | 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. 29 | 30 | ### Developer Guide 31 | 32 | This repository can be downloaded using [Git](https://git-scm.com/). The implementations are stored in 3 different repositories, the [Java version](https://github.com/DeMaCS-UNICAL/EmbASP-Java), the [Python version](https://github.com/DeMaCS-UNICAL/EmbASP-Python) and the [C# version](https://github.com/DeMaCS-UNICAL/EmbASP-CSharp), and are included in this repository through [Git submodule](https://git-scm.com/book/it/v2/Git-Tools-Submodules). The whole project can be downloaded running the following command: 33 | 34 | `git clone --recurse-submodules https://github.com/DeMaCS-UNICAL/EmbASP.git` 35 | 36 | To ensure that the submodules are updated to their latest version, the following commands can be run: 37 | 38 | `cd EmbASP` 39 | 40 | `git submodule update --remote` 41 | 42 | or, having a git version > 2.23, downloading the whole project through this command : 43 | 44 | `git clone --recurse-submodules --remote-submodules https://github.com/DeMaCS-UNICAL/EmbASP.git` 45 | 46 | ## How to cite EmbASP 47 | 48 | 49 | [](https://dblp.org/rec/journals/ngc/CalimeriFGPZ19) [](https://doi.org/10.1007/s00354-018-0046-2) [](https://dblp.org/rec/bibtex/journals/ngc/CalimeriFGPZ19) [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)](https://dblp.org/rec/journals/ngc/CalimeriFGPZ19) 50 | 51 | 52 | 53 | 54 | [](https://dblp.org/rec/conf/ruleml/CalimeriGIPPZ18) [](https://doi.org/10.1007/978-3-319-99906-7_23) [](https://dblp.org/rec/bibtex/conf/ruleml/CalimeriGIPPZ18) [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](https://dblp.org/rec/conf/ruleml/CalimeriGIPPZ18) 55 | 56 | ## Contacts 57 | For further information, visit https://www.mat.unical.it/calimeri/projects/embasp 58 | --------------------------------------------------------------------------------