adf-bdd-bin

Abstract Dialectical Frameworks solved by Binary Decision Diagrams; developed in Dresden (ADF-BDD)

https://github.com/ellmau/adf-obdd

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 4 committers (25.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.2%) to scientific vocabulary

Keywords

argumentation-frameworks argumentation-tools binary-decision-diagrams
Last synced: 6 months ago · JSON representation ·

Repository

Abstract Dialectical Frameworks solved by Binary Decision Diagrams; developed in Dresden (ADF-BDD)

Basic Info
Statistics
  • Stars: 8
  • Watchers: 4
  • Forks: 0
  • Open Issues: 18
  • Releases: 12
Topics
argumentation-frameworks argumentation-tools binary-decision-diagrams
Created over 4 years ago · Last pushed 8 months ago
Metadata Files
Readme Contributing License Citation

README.md

Crates.io Crates.io docs.rs GitHub Workflow Status Coveralls GitHub release (latest by date including pre-releases) GitHub (Pre-)Release Date GitHub top language GitHub all releases Crates.io GitHub Discussions rust-edition

Abstract Dialectical Frameworks solved by (ordered) Binary Decision Diagrams; developed in Dresden (ADF-oBDD project)

This project is currently split into three parts: - a binary (adf-bdd), which allows one to easily answer semantics questions on abstract dialectical frameworks - a library (adf_bdd), which contains all the necessary algorithms and an open API which compute the answers to the semantics questions - a server and a frontend to access the solver as a web-service available at https://adf-bdd.dev

Latest documentation of the API can be found here. The current version of the binary can be downloaded here.

Do not hesitate to report bugs or ask about features in the issues-section or have a conversation about anything of the project in the discussion space

Abstract Dialectical Frameworks

An abstract dialectical framework (ADF) consists of abstract statements. Each statement has an unique label and might be related to other statements (s) in the ADF. This relation is defined by a so-called acceptance condition (ac), which intuitively is a propositional formula, where the variable symbols are the labels of the statements. An interpretation is a three valued function which maps to each statement a truth value (true, false, undecided). We call such an interpretation a model, if each acceptance condition agrees to the interpration.

Ordered Binary Decision Diagram

An ordered binary decision diagram is a normalised representation of binary functions, where satisfiability- and validity checks can be done relatively cheap.

Input-file format:

Each statement is defined by an ASP-style unary predicate s, where the enclosed term represents the label of the statement. The binary predicate ac relates each statement to one propositional formula in prefix notation, with the logical operations and constants as follows: - and(x,y): conjunction - or(x,y): disjunctin - iff(x,Y): if and only if - xor(x,y): exclusive or - neg(x): classical negation - c(v): constant symbol "verum" - tautology/top - c(f): constant symbol "falsum" - inconsistency/bot

Features

  • adhoccounting will cache the modelcount on-the-fly during the construction of the BDD
  • adhoccountmodels allows in addition to compute the models ad-hoc too. Note that the memoization approach for modelcounting does not work correctly if adhoccounting is set and adhoccountmodels is not.

Development notes

Additional information for contribution, testing, and development in general can be found here.

Contributing to the project

You want to help and contribute to the project? That is great. Please see the contributing guidelines first.

Acknowledgements

This work is partly supported by Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) in projects number 389792660 (TRR 248, Center for Perspicuous Systems), the Bundesministerium für Bildung und Forschung (BMBF, Federal Ministry of Education and Research) in the Center for Scalable Data Analytics and Artificial Intelligence (ScaDS.AI), and by the Center for Advancing Electronics Dresden (cfaed).

Affiliation

This work has been partly developed by the Knowledge-Based Systems Group, Faculty of Computer Science of TU Dresden.

Disclaimer

Hosting content here does not establish any formal or legal relation to TU Dresden.

Owner

  • Name: Stefan Ellmauthaler
  • Login: ellmau
  • Kind: user
  • Location: Dresden
  • Company: TU Dresden

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: >-
  Abstract Dialectical Frameworks solved by Binary
  Decision Diagrams; developed in Dresden (ADF-BDD)
message: >-
  If you use this software, please cite it using the
  metadata from this file. Note that related conference papers are accepted will appear soon. 
type: software
authors:
  - given-names: Stefan
    family-names: Ellmauthaler
    email: stefan.ellmauthaler@tu-dresden.de
    affiliation: 'KBS, TU Dresden'
    orcid: 'https://orcid.org/0000-0003-3882-4286'
repository-code: 'https://github.com/ellmau/adf-obdd'
url: 'https://ellmau.github.io/adf-obdd/'
abstract: >-
  Solver for ADFs grounded, complete, and stable
  semantics by utilising OBDDs - ordered binary

  decision diagrams.
keywords:
  - binary decision diagrams
  - argumentation frameworks
  - argumentation tools
license: MIT
commit: 35bb36bfc5ee47b2ad864ead48907fdca5fc5ec4
version: v0.2.4-beta.1
date-released: '2022-04-22'
preferred-citation:
  authors:
  - given-names: Stefan
    family-names: Ellmauthaler
    email: stefan.ellmauthaler@tu-dresden.de
    affiliation: 'KBS, TU Dresden'
    orcid: 'https://orcid.org/0000-0003-3882-4286'
  - given-names: Sarah Allice
    family-names: Gaggl
    email: sarah.gaggl@tu-dresden.de
    affiliation: 'TU Dresden'
    orcid: 'https://orcid.org/0000-0003-2425-6089'
  - given-names: Dominik
    family-names: Rusovac
    email: dominik.rusovac@tu-dresden.de
    affiliation: 'TU Dresden'
    orcid: 'https://orcid.org/0000-0002-3172-5827'
  - given-names: Johannes Peter
    family-names: Wallner
    email: wallner@ist.tugraz.at
    affiliation: 'TU Graz'
    orcid: 'https://orcid.org/0000-0002-3051-1966'
  title: "ADF-BDD: An ADF Solver Based on Binary Decision Diagrams"
  type: conference
  conference:
    name: 9th International Conference on Computational Models of Argument
    location: Cardiff
    alias: COMMA
    website: 'https://comma22.cs.cf.ac.uk/'
  year: 2022

GitHub Events

Total
  • Delete event: 1
  • Issue comment event: 1
  • Push event: 6
  • Pull request review event: 2
  • Pull request event: 4
  • Create event: 3
Last Year
  • Delete event: 1
  • Issue comment event: 1
  • Push event: 6
  • Pull request review event: 2
  • Pull request event: 4
  • Create event: 3

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 126
  • Total Committers: 4
  • Avg Commits per committer: 31.5
  • Development Distribution Score (DDS): 0.373
Past Year
  • Commits: 35
  • Committers: 3
  • Avg Commits per committer: 11.667
  • Development Distribution Score (DDS): 0.429
Top Committers
Name Email Commits
Stefan Ellmauthaler 7****u@u****m 79
Stefan Ellmauthaler s****r@t****e 31
dependabot[bot] 4****]@u****m 15
drwadu 5****u@u****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 16
  • Total pull requests: 131
  • Average time to close issues: 4 months
  • Average time to close pull requests: 20 days
  • Total issue authors: 1
  • Total pull request authors: 4
  • Average comments per issue: 0.31
  • Average comments per pull request: 0.83
  • Merged pull requests: 55
  • Bot issues: 0
  • Bot pull requests: 87
Past Year
  • Issues: 0
  • Pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 day
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 1.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ellmau (16)
  • dependabot[bot] (1)
Pull Request Authors
  • dependabot[bot] (101)
  • ellmau (38)
  • monsterkrampe (7)
  • drwadu (1)
Top Labels
Issue Labels
enhancement (12) library (11) binary (3) good first issue (3) wontfix (2) documentation (2) help wanted (1) optimisation (1) bug (1) repository (1) dependencies (1) rust (1)
Pull Request Labels
dependencies (107) rust (54) library (12) repository (10) enhancement (7) javascript (6) server (6) binary (6) bug (4) documentation (3) optimisation (1) RC (1)

Packages

  • Total packages: 2
  • Total downloads:
    • cargo 6,466 total
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 1
    (may contain duplicates)
  • Total versions: 4
  • Total maintainers: 1
crates.io: adf_bdd

Library to solve grounded, complete, and stable ADF-semantics by utilising OBDDs - ordered binary decision diagrams

  • Versions: 3
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 4,889 Total
Rankings
Dependent repos count: 16.5%
Dependent packages count: 18.2%
Stargazers count: 29.1%
Average: 30.4%
Forks count: 40.5%
Downloads: 47.6%
Maintainers (1)
Last synced: 7 months ago
crates.io: adf-bdd-bin

Solver for ADFs grounded, complete, and stable semantics by utilising OBDDs - ordered binary decision diagrams

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 1,577 Total
Rankings
Dependent repos count: 29.3%
Stargazers count: 30.7%
Dependent packages count: 33.8%
Forks count: 37.5%
Average: 44.0%
Downloads: 88.5%
Maintainers (1)
Last synced: 7 months ago

Dependencies

Cargo.lock cargo
  • adf_bdd 0.2.4
  • aho-corasick 0.7.18
  • any_ascii 0.1.7
  • assert_cmd 2.0.4
  • assert_fs 1.0.7
  • atty 0.2.14
  • autocfg 1.1.0
  • biodivine-lib-bdd 0.3.0
  • biodivine-lib-bdd 0.4.0
  • bitflags 1.3.2
  • bstr 0.2.17
  • byteorder 1.4.3
  • cfg-if 1.0.0
  • clap 3.2.12
  • clap_derive 3.2.7
  • clap_lex 0.2.4
  • crossbeam-utils 0.8.7
  • derivative 2.2.0
  • difflib 0.4.0
  • doc-comment 0.3.3
  • either 1.6.1
  • env_logger 0.8.4
  • env_logger 0.9.0
  • fastrand 1.7.0
  • float-cmp 0.9.0
  • fnv 1.0.7
  • fxhash 0.2.1
  • getrandom 0.1.16
  • getrandom 0.2.5
  • globset 0.4.8
  • globwalk 0.8.1
  • hashbrown 0.11.2
  • heck 0.4.0
  • hermit-abi 0.1.19
  • humantime 2.1.0
  • ignore 0.4.18
  • indexmap 1.8.0
  • instant 0.1.12
  • itertools 0.10.3
  • itoa 1.0.1
  • lazy_static 1.4.0
  • lexical-sort 0.3.1
  • libc 0.2.119
  • log 0.4.17
  • memchr 2.4.1
  • minimal-lexical 0.2.1
  • nom 7.1.1
  • normalize-line-endings 0.3.0
  • num-bigint 0.4.3
  • num-integer 0.1.45
  • num-traits 0.2.14
  • once_cell 1.13.0
  • os_str_bytes 6.0.0
  • ppv-lite86 0.2.16
  • predicates 2.1.1
  • predicates-core 1.0.3
  • predicates-tree 1.0.5
  • proc-macro-error 1.0.4
  • proc-macro-error-attr 1.0.4
  • proc-macro2 1.0.36
  • quickcheck 1.0.3
  • quickcheck_macros 1.0.0
  • quote 1.0.15
  • rand 0.7.3
  • rand 0.8.5
  • rand_chacha 0.2.2
  • rand_core 0.5.1
  • rand_core 0.6.3
  • rand_hc 0.2.0
  • redox_syscall 0.2.11
  • regex 1.5.6
  • regex-automata 0.1.10
  • regex-syntax 0.6.26
  • remove_dir_all 0.5.3
  • ryu 1.0.9
  • same-file 1.0.6
  • serde 1.0.137
  • serde_derive 1.0.137
  • serde_json 1.0.82
  • strsim 0.10.0
  • syn 1.0.92
  • tempfile 3.3.0
  • termcolor 1.1.3
  • termtree 0.2.4
  • test-log 0.2.10
  • textwrap 0.15.0
  • thread_local 1.1.4
  • unicode-xid 0.2.2
  • version_check 0.9.4
  • wait-timeout 0.2.0
  • walkdir 2.3.2
  • wasi 0.9.0+wasi-snapshot-preview1
  • wasi 0.10.2+wasi-snapshot-preview1
  • winapi 0.3.9
  • winapi-i686-pc-windows-gnu 0.4.0
  • winapi-util 0.1.5
  • winapi-x86_64-pc-windows-gnu 0.4.0
bin/Cargo.toml cargo
  • assert_cmd 2.0 development
  • assert_fs 1.0 development
  • predicates 2.1 development
  • adf_bdd 0.2.4
  • clap 3.2.12
  • env_logger 0.9
  • log 0.4
  • serde 1.0
  • serde_json 1.0
lib/Cargo.toml cargo
  • env_logger 0.9 development
  • quickcheck 1 development
  • quickcheck_macros 1 development
  • test-log 0.2 development
  • biodivine-lib-bdd 0.4.0
  • derivative 2.2.0
  • lexical-sort 0.3.1
  • log 0.4
  • nom 7.1.1
  • serde 1.0
  • serde_json 1.0
.github/workflows/build.yml actions
  • actions/checkout master composite
  • rust-build/rust-build.action master composite
.github/workflows/codecov.yml actions
  • Swatinem/rust-cache v1 composite
  • actions-rs/cargo v1 composite
  • actions-rs/toolchain v1 composite
  • actions/checkout v2 composite
  • coverallsapp/github-action master composite
.github/workflows/combine-prs.yml actions
  • actions/checkout v2.3.3 composite
  • actions/github-script v3 composite
.github/workflows/devskim.yml actions
  • actions/checkout v2 composite
  • github/codeql-action/upload-sarif v1 composite
  • microsoft/DevSkim-Action v1 composite
.github/workflows/pr.yml actions
  • actions/checkout v2 composite
  • hecrj/setup-rust-action v1 composite
Cargo.toml cargo
server/Cargo.toml cargo
Dockerfile docker
  • alpine latest build
  • node hydrogen-alpine build
  • rust alpine build
server/docker-compose.yml docker
  • mongo latest
  • mongo-express latest
frontend/package.json npm
  • @parcel/transformer-inline-string 2.9.3 development
  • @types/node ^20.4.6 development
  • @types/react ^18.2.18 development
  • @types/react-dom ^18.2.7 development
  • @typescript-eslint/eslint-plugin ^6.2.1 development
  • @typescript-eslint/parser ^6.2.1 development
  • eslint ^8.46.0 development
  • eslint-config-airbnb ^19.0.4 development
  • eslint-config-airbnb-typescript ^17.1.0 development
  • eslint-plugin-import ^2.28.0 development
  • eslint-plugin-jsx-a11y ^6.7.1 development
  • eslint-plugin-react ^7.33.1 development
  • parcel ^2.9.3 development
  • process ^0.11.10 development
  • typescript ^5.1.6 development
  • @antv/g6 ^4.8.20
  • @emotion/react ^11.11.1
  • @emotion/styled ^11.11.0
  • @fontsource/roboto ^5.0.6
  • @mui/icons-material ^5.14.3
  • @mui/material ^5.14.3
  • markdown-to-jsx ^7.2.1
  • react ^18.2.0
  • react-dom ^18.2.0
  • react-router-dom ^6.14.2
frontend/yarn.lock npm
  • 534 dependencies