knowsys / nemo

A fast in-memory rule engine
https://knowsys.github.io/nemo-doc/
Apache License 2.0
80 stars 7 forks source link

Overview of features required by DOOP basic-only analysis #111

Closed rlwww closed 2 months ago

rlwww commented 1 year ago

The following syntax features have been manually found in the basic-only analysis of DOOP. Also, following files which are added automatically by DOOP: facts/facts.dl, basic/basic.dl, basic-only/analysis.dl, and possible more (depending on flags, see https://bitbucket.org/yanniss/doop/src/master/src/main/groovy/org/clyze/doop/core/SouffleAnalysis.groovy).

It probably does not make sense to mirror the Souffle syntax 1:1, so some things can/must be replaced with some additional preprocessing of the rules.

monsterkrampe commented 2 months ago

Supporting modules requires some more fundamental (theoretical) considerations. We still need to make up our minds, what kind of module system we want to build. This might deviate from Souffle's components quite a bit. In this sense, #324 is still on the roadmap. The feature is not vital for implementing a basic Doop-like program analysis since the same behavior can likely be achieved already by executing multiple Nemo programs consecutively or simply merging them into a single Nemo program.