1
0
mirror of https://github.com/ellmau/adf-obdd.git synced 2025-12-19 09:29:36 +01:00

142 Commits

Author SHA1 Message Date
Stefan Ellmauthaler
6c116509c6
Feature/multiple heuristics (#48)
* Make two_val_model_counts_logic generic in heuristic

* Update API and provide two different heuristics

* Increment patch-version of lib and binary

Co-authored-by: Maximilian Marx <mmarx@wh2.tu-dresden.de>
bench_20220408
2022-04-07 15:11:00 +02:00
Stefan Ellmauthaler
7e66d89d03
Feature/issue 39 counting model improvements (#42)
* Add more efficient construction of 2-val models with counting
* Increased patch-number of the version
2022-04-06 13:43:58 +02:00
dependabot[bot]
02dc37cbbf
Bump clap from 3.1.5 to 3.1.8 (#47) 2022-04-04 08:34:01 +00:00
dependabot[bot]
f021517a15
Bump test-log from 0.2.8 to 0.2.10 (#45) 2022-04-04 07:58:43 +00:00
dependabot[bot]
76c06ab03d
Bump nom from 7.1.0 to 7.1.1 (#44) 2022-04-04 07:54:33 +00:00
dependabot[bot]
0554538a88
Bump log from 0.4.14 to 0.4.16 (#46) 2022-04-04 07:51:33 +00:00
Stefan Ellmauthaler
d0026b9491
Flake/updates (#41)
* Update flake
2022-03-28 11:02:45 +02:00
Stefan Ellmauthaler
0d4f9ff195
Add where related coding convention (#40)
* Add where related coding convention to the CONTRIBUTING.md file
2022-03-24 12:00:53 +01:00
Stefan Ellmauthaler
3c8cbd8059
Feature/issue 37 model counts4stable models (#38)
* New lib version 0.2.2
* Refactor ModelCounts alias into struct
* Add option for model-count-based stb in binary

Note: reduced timeouts to "only" 160
0.2.2
2022-03-23 15:55:27 +01:00
Stefan Ellmauthaler
081584e634
Update README.md
Fix links for badges and rephrased a weird sentence.
2022-03-16 15:25:47 +01:00
Stefan Ellmauthaler
44d611263f
Update developer flake (#36)
Update developer flake
2022-03-16 15:02:43 +01:00
65835b5c81
Revert "Rename PR to a more verbose name"
This reverts commit 187b3c453427f1355c28c0ad21c95773034f7c3c.

One template file is enough so far
2022-03-15 13:14:29 +01:00
187b3c4534
Rename PR to a more verbose name 2022-03-15 13:11:15 +01:00
554522046c
Renamed PR template 2022-03-15 13:09:31 +01:00
a03c5558d3
Add PR-Template
Add basic checklists for a simple PR-template
2022-03-15 13:05:55 +01:00
Stefan Ellmauthaler
6fb4acd46f
Add contribution information in Readme 2022-03-15 12:40:43 +01:00
Stefan Ellmauthaler
80915b1df8
code-style and documentation tidying (#34)
* Remove `unwrap()` from code
Remove `unwrap()` from the code (except tests).
Replaced it by either using `expect()` or handling the error more
gracefully.

* Improve documentation
Add examples on how to use the library
Add explanaitions on the dual use of crate::datatypes::Term
Relates to #33 

* Update README
* Add contributing guidelines
2022-03-14 21:05:53 +01:00
Stefan Ellmauthaler
31d6c88d90
Update issue templates
Add Issue Templates
2022-03-07 13:57:04 +01:00
Stefan Ellmauthaler
a68c584a4a
RESOLV todo on variable-lists (#32)
variable lists can now be queried - regardless of the given features
2022-03-04 17:25:08 +01:00
drwadu
7cf581cd9b
Feature/issue 30 facet counting (#31)
Add facet_count functionality.

Co-authored-by: Stefan Ellmauthaler <stefan.ellmauthaler@tu-dresden.de>
2022-03-04 16:26:01 +01:00
Stefan Ellmauthaler
e4f67261b3
trying out devskim 2022-03-03 14:55:59 +01:00
Stefan Ellmauthaler
f5ec9c1f97
Update _config.yml 2022-03-03 14:18:24 +01:00
Stefan Ellmauthaler
caeb7b95e9
_config.yml updated for better presentation 2022-03-03 14:03:03 +01:00
Stefan Ellmauthaler
aa0e7018bf
UPD clap 2022-03-03 13:49:35 +01:00
Stefan Ellmauthaler
4f8d7c4bd5
Only one dependabot neeeded due to workspace 2022-03-03 13:42:14 +01:00
Stefan Ellmauthaler
f868bb0442
Update dependabot.yml 2022-03-03 13:39:08 +01:00
Stefan Ellmauthaler
20d59bc767
REORGANISE with workspace (#29)
Reorganise the structure of the repository to have a workspace with the library and the binary.
2022-03-03 13:37:14 +01:00
Stefan Ellmauthaler
3f32db45ee
ADD variable list mechanics (#27)
* directly hooked into the internal BDD-primitive functions
* has worse performance than the approach without the primitive functions
  * foreseeable for easy problems
  * surprise for more complex problems, because recursion can be
    escaped much earlier
* ADD the default-feature "variablelist" to have a compile-flag to either
enable or disable this feature.
* updated rust to the current version
2022-03-03 12:22:45 +01:00
Stefan Ellmauthaler
a2fa3adfe9
UPD clap, FIX resulting issues (#26)
Update clap to version 3.1.3, so
- structopt gets obsolete
- Errors are differently named, therefore tests needed to be adapted
- updated Cargo.lock for the binary

Fixed an issue with clippy warnings
2022-03-01 15:32:57 +01:00
Stefan Ellmauthaler
b18bbe0ed4
Dependabot add bin folder 2022-03-01 14:53:26 +01:00
Stefan Ellmauthaler
93c15faa11
Add dependabot to check for updates on deps 2022-03-01 14:21:44 +01:00
Stefan Ellmauthaler
a17749be52
Removed non-linux tests 2022-02-28 12:55:55 +01:00
Stefan Ellmauthaler
fbafe8382f
Create pr.yml 2022-02-28 10:03:29 +01:00
Stefan Ellmauthaler
c6837ff7eb
Feature/issue 22 extra binary (#24)
Split lib and bin into two directories

* modified workflow, readmes, documentation, ...
* excluded flake.lock from the package
* SET new patch version
v0.2.1-beta.1
2022-02-23 15:06:46 +01:00
Stefan Ellmauthaler
565fef99d1
ADD counting of (counter) models and variables of one BDD-Tree (#21)
* ADD counting of (counter) models and variables of one BDD-Tree
* ADD counting with memoization
set ahoc-counting as default feature
2022-02-21 10:49:27 +01:00
Stefan Ellmauthaler
e110b72115
0.2.0 optimisations (#19)
Implemented various optimisations of the 0.2.0 version, including different filtering and rewriting approaches for model enumerations

* ADD prefilter for stable model computation (hybrid and naive)

* ADD implementation with one big rewritten formula instead of many

* ADD second version of bdd rewriting method

* FIX documentation, UPD flake

* UPD Readme, usage

* ADD hybrid options for grounded and transformation
2022-02-16 16:54:39 +01:00
Stefan Ellmauthaler
05fa6c6b8b
removed unintended autotest 2022-01-27 13:06:03 +01:00
Stefan Ellmauthaler
1edfe43985
Feature/issue 17 biodivine (#18)
State of the art BDD library, naive implementation, and Hybrid-approach available in the first beta-release version 0.2.0

* ADD biodivine as an obdd library to adf-obdd

* Implement restrict-wrapper on Biodivine

* Testcases changed to use biodivine for grounded.

* API unified

* ADD stable and complete with biodivine

* moved main.rs to bin folder

* ADD biodivine -> naive translation

* ADD hybrid approach
  instantiation + grounded by biodivine, then naive approach with memoization

* TIDY Readme, doc, tests
v0.2.0-beta.1
2022-01-27 12:23:12 +01:00
Stefan Ellmauthaler
864419d033
BUGFIX three valued interpretations and complete interpretations (#16)
A couple of bugs have been identified, where the complete interpretation either identified too many interpretations as being complete (bug in complete_iter) or too less interpretations (bug in ThreeValuedInterpretationsIterator)

They are fixed now
v0.1.4-alpha.2
2022-01-13 13:16:49 +01:00
Stefan Ellmauthaler
f0f9789bc8
Merge pull request #15 from ellmau/feature/complete-models
Implements complete models in a dual manner to stable models
v0.1.4-alpha.1
2022-01-12 14:28:53 +01:00
308a39b435
Implements complete models in a dual manner to stable models
Signed-off-by: Stefan Ellmauthaler <stefan.ellmauthaler@tu-dresden.de>
2022-01-12 14:27:00 +01:00
Stefan Ellmauthaler
bfd0aa4a68
Implement non-deprecated cli with structopts and adf-state-safer (#14)
Rework of the CLI methods.

Added import/export functionality for ADFs in BDD representation (via JSON serialisation)
v0.1.3-alpha.2
2022-01-11 16:24:18 +01:00
Stefan Ellmauthaler
07d15167fe
Implement Stable Models based on lazy evaluated iterators (#13)
Implements #12 

* Implement Stable Models based on lazy evaluated iterators
* Adjustment of the internal computation of the grounded interpretation
* Update build.rs to replace "@" in test-instance names with "at"
* Implement de-/serialization of the adf (in OBDD representation) in library
* Adjust tests
* Add more style-restrictions to compiler
v0.1.3-alpha
2022-01-11 14:01:15 +01:00
Stefan Ellmauthaler
a95f88dee4
Merge pull request #11 from ellmau/feature/better_tests
Implement better tests
2022-01-06 16:58:51 +01:00
b73231f501
Implement better tests
Utilised quickcheck, assert_cmd, predicates, and assert_fs for better
tests of low-level functionality as well as cli-testing.

Signed-off-by: Stefan Ellmauthaler <stefan.ellmauthaler@tu-dresden.de>
2022-01-06 16:55:08 +01:00
Stefan Ellmauthaler
2112d71573
Delete build.rs v0.1.2-alpha 2022-01-03 17:46:13 +01:00
Stefan Ellmauthaler
21fdb2cd76
Implemented automated Test generation (#7)
Generates tests, based on the existence of test-instances in the `res/`-folder
2022-01-03 17:38:17 +01:00
Stefan Ellmauthaler
9c9e85e107
Update README.md 2022-01-03 15:50:49 +01:00
02b1e4a94a
commented test-generator macro call 2022-01-03 15:32:05 +01:00
Stefan Ellmauthaler
0d5577e251
Implementing nom-based parser (#5)
* Implemented a nom-based parser to read the adf
* Grounded semantics (naive) re-implemented
* Docs added
* Updated Cargo.toml with more Manifest information
* Version update
* Added sort-methods to the parser, so the var-order can be adjusted
* Added sort functionality to the main function
* Added adf-instances as a submodule to the res-folder
* Added README information for the extended integration tests
* Rewritten main-function

Closes #3
2022-01-03 15:21:11 +01:00