Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
268 commits
Select commit Hold shift + click to select a range
4d31559
temporal instances + reif clean up and docs
Sep 25, 2018
be5c21d
instance translation into some disj
Sep 25, 2018
7906555
tests updated
Oct 1, 2018
0f3a3f1
unification of temporal instances as sequences/static state idiom
Oct 12, 2018
0cd7d36
unification of temporal instances tests
Oct 12, 2018
84ca647
pulled resolution out of translation
Oct 14, 2018
d105662
fixed bug on int universe
Oct 15, 2018
d65eca1
simplified temporal translation, assumed infinite
Oct 15, 2018
0e43176
fixed bug on ltl translation
Oct 15, 2018
4f925f0
automatic division when simplified temporal bounds
Oct 15, 2018
be5089f
missing alternative past ltl encoding
Oct 15, 2018
52d784e
all temporal unit tests updated and passing
Oct 15, 2018
7a77c0f
sat info regarding unboundedness
Oct 17, 2018
5c34625
global can be split
Oct 17, 2018
d1c0106
fixed bug on decomposed no more configs
Oct 18, 2018
e716ab9
tests updated
Oct 18, 2018
32c08d1
fixed bug on temporal instance
Oct 19, 2018
4cbfef2
Merge branch 'master' into simplified-traces
Oct 23, 2018
1b4ff78
Merge branch 'master' into simplified-traces
Oct 23, 2018
2fc30c1
missing neq method
Oct 30, 2018
91c04a1
fixed bug on trivially unsat pmaxsat
Oct 30, 2018
6efad23
use same lib
Oct 30, 2018
2bd8d75
disabled yices, unpredictable
Oct 30, 2018
8c17df8
fetched no overflow fixes from alloy5 repo
Oct 30, 2018
73f4662
updated tests from alloy5 repo, all passing
Oct 30, 2018
8a50d6d
fixed bug on trivial problems
Dec 11, 2018
f5f76e4
fixed bug on non-decomposed temporal problems
Dec 11, 2018
ec6a856
refactored variable relations, now inner class
Dec 11, 2018
066eae9
avoid always on static symbolic bounds
Feb 7, 2019
2308bc3
better log when integrated fails
Feb 7, 2019
a225e80
tests proper length options
Feb 7, 2019
c40085d
fixed bug on slicing with trivial iteration
Feb 7, 2019
2675ee8
fixed bug on trivial iteration
Feb 7, 2019
385178c
tests updated
Feb 7, 2019
e31f523
fixed bug on iteration of integrated
Feb 13, 2019
57617d4
tighter restrictions on unrolled loops
Feb 13, 2019
6d18965
clone bounds when partitioning
Feb 13, 2019
5276685
when creating amalgamated temporal instance, use univ without time
Feb 13, 2019
76c38d6
sat level temporal iteration, first draft
Feb 13, 2019
496b46c
fixed sat iteration with lower bounds
Feb 13, 2019
efeebae
tests updated
Feb 13, 2019
867a6a1
sat iteration enabled
Feb 13, 2019
6dc878c
support for 2 iteration modes
Feb 15, 2019
6bd357e
iteration tests updated
Feb 15, 2019
3880a28
support for skolems on electrod
Feb 21, 2019
b0f74e1
symmetry detector ignores reified atoms
Feb 21, 2019
ad3fabd
instance formulation updates bounds; support in bounded solver
Feb 21, 2019
4fc02fe
fixed bug on single solve
Feb 22, 2019
7ed5bb5
fixed bug on temporal expanding constants
Feb 22, 2019
16b19eb
bounded instance formulation ignores relations not occurring in formula
Feb 22, 2019
92f208c
use skolem relations from alloy5
Feb 22, 2019
3ab50f5
fix bug on unrolled universe
Feb 22, 2019
44268d0
use skolem relations from alloy5
Feb 22, 2019
e79d135
disabled iteration over skolems on temporal
Feb 22, 2019
3a17ef6
iteration tests updated
Feb 22, 2019
fc4748d
documentation
Feb 25, 2019
5968b4c
documentation
Feb 25, 2019
be1d3ad
refactored instance formulation
Feb 25, 2019
b2f4928
documentation
Feb 25, 2019
3b2db42
evaluator for formulas and int expressions at particular instants
Feb 25, 2019
56c8f44
translation refactored
Feb 28, 2019
bf19a16
tests updated
Feb 28, 2019
798c81a
Merge branch 'instance-iterator' into dev
Mar 26, 2019
ff47d17
regression test
Mar 26, 2019
e3f7c0b
examples updated
Mar 26, 2019
f86c3ff
interpret unroll from instance
Mar 26, 2019
f016769
fixed bug on expanding universe for trace temporal instances
Mar 26, 2019
149febe
ubd comment
Mar 27, 2019
65b41b4
do not partition unmodifiable
Mar 27, 2019
834d9dd
fixed tests
Mar 27, 2019
dd9b305
note
Mar 29, 2019
0ebea5c
normalized access to states
Apr 4, 2019
6142086
missing atom relations
Apr 10, 2019
b99c592
evaluation of temporal instances uses the static universe
Apr 23, 2019
962917f
new tests, variable ints
Apr 23, 2019
ce717ac
fixed bug on symbolic static bounds depending on variable rels (close…
Apr 23, 2019
70e84cc
fixed bug on bound resolution for temporal bounds
Apr 23, 2019
795bf5e
fixed bug on formula slicer for binary conjunctions
Apr 23, 2019
3c86d1c
some clean up and documentation
Apr 25, 2019
3df6296
updated all tests to current version
Apr 26, 2019
1918980
protected electrod keywords (close #30)
Apr 26, 2019
96a40d5
added test timeouts
Apr 26, 2019
a2c7f38
added test timeouts
Apr 26, 2019
9060d3d
Merge pull request #29 from haslab/dev
Apr 26, 2019
d4695b5
Update README.md
Apr 26, 2019
73adb86
travis yml
Apr 26, 2019
eb1ecfb
Merge branch 'master' of https://github.com/haslab/Pardinus
Apr 26, 2019
1eaa12a
Update README.md
Apr 26, 2019
9e116fa
Update .travis.yml
Apr 26, 2019
feca6c9
Update .travis.yml
Apr 26, 2019
94bc202
Update .travis.yml
Apr 26, 2019
b3bd99a
Update .travis.yml
Apr 26, 2019
0c34267
add tuples to temp instance with correct univ
Apr 30, 2019
bb7afe4
check for valid unbounded solver
Apr 30, 2019
4aa3e77
disabled yices
Apr 30, 2019
0e7afb4
comments
Apr 30, 2019
5b43202
examples and tests updated
Apr 30, 2019
a3e82a5
missing original kodkod tests
Apr 30, 2019
a20a0ff
tests updated
Apr 30, 2019
f46c396
tests updated
Apr 30, 2019
c424e20
mvn updated
Apr 30, 2019
b04da5a
travis yml
Apr 30, 2019
f4640a9
travis yml
Apr 30, 2019
5c552ee
travis yml
Apr 30, 2019
37fce2c
travis yml
Apr 30, 2019
0129183
travis yml
Apr 30, 2019
9c0337a
travis yml
Apr 30, 2019
6e3ae41
travis yml
Apr 30, 2019
9a5ebc0
Merge branch 'master' into dev
Apr 30, 2019
a72527e
travis yml upd
Apr 30, 2019
d2d0faf
readme upd
Apr 30, 2019
0c797eb
pool size
Apr 30, 2019
38080ea
Merge branch 'master' of https://github.com/haslab/Pardinus
Apr 30, 2019
dbef7f6
updated version
Apr 30, 2019
0426171
travis yml upd
Apr 30, 2019
54619a2
travis yml upd
Apr 30, 2019
20a8285
travis yml upd
Apr 30, 2019
bd35b67
travis yml upd
Apr 30, 2019
cf16640
travis yml upd
Apr 30, 2019
22d670c
travis yml upd
Apr 30, 2019
2383072
better logging
Apr 30, 2019
beb16ba
tests updated
Apr 30, 2019
b33b2e0
tests updated
May 1, 2019
211c71a
fixed bug on univ with past
Jun 3, 2019
05b3401
fixed bug on unrolling universes
Jun 4, 2019
f976714
v1.1.1
Jun 6, 2019
3464bf9
support for unsat cores for temporal formulas
Jul 16, 2019
35e2b94
temp translation logging documentation
Jul 16, 2019
cc1fc89
fixed bug on solvers without unsat core
Jul 16, 2019
c7ca10a
fixed evaluation of past formulas
Jul 24, 2019
68d58f1
fixed cherry-pick
Jul 24, 2019
bd1cfad
support for bmc under electrod
Aug 5, 2019
a3a0019
Merge branch 'dev' of https://github.com/haslab/Pardinus into HEAD
Aug 5, 2019
2949f75
electrod bmc starts at 1
Aug 5, 2019
3d582cc
forbid static with electrod
Aug 7, 2019
e3bfbcc
do not force paths
Aug 13, 2019
249e474
fixed printing of temp ops
Oct 8, 2019
5c0ce22
fixed bug on unsat core extraction
Oct 22, 2019
6366ed8
fixed dependency on slf4j
Oct 22, 2019
0d089c4
tests meta info
Oct 22, 2019
8b29b2c
clean error msgs
Oct 22, 2019
1ab3d90
updated temporal tests
Oct 22, 2019
927bce2
basic temp example
Oct 22, 2019
1fae01e
fixed incremental sat num vars
Oct 22, 2019
b34dbea
many pardinus tests updated and fixed
Oct 23, 2019
abab901
fixed temporal operators nomenclature
Oct 24, 2019
db0b360
improved instance formulation, statics only once
Jul 29, 2019
b9ca049
removed native code handling from master
Oct 24, 2019
0fd85c7
reverted pardinus ops for electrod
Oct 24, 2019
964b007
fixed tests
Oct 24, 2019
0e64458
fixed electrod selection
Oct 30, 2019
ba0d527
fixed bug on releases, simplified since and triggered translation
Oct 30, 2019
622a3d3
benchmark scripts updated
Oct 30, 2019
b0bc5da
fixed imports tests
Oct 30, 2019
c8bc321
fixed ltl translation tests
Oct 30, 2019
5281299
first working version new batch iteration procedures, as described in…
Jul 10, 2020
4be4390
updated decomposed iteration, nextC, nextP and nextS
Jul 30, 2020
4b32c78
updated decomposed iteration, nextC, nextP and nextS
Jul 30, 2020
10110bc
fixed bug on trivial solutions; fixed bug on cached values
Jul 30, 2020
0721c32
simplified and cleaned up temporal sb
Jul 30, 2020
fed168f
deprecated option
Jul 30, 2020
34f1a74
fixed bug on cached values
Jul 30, 2020
08f66b2
updated examples to new iteration
Jul 30, 2020
5f0a83c
updated electrod
Jul 30, 2020
b0b9b7d
fixed bug on bound resolution
Jul 30, 2020
3472b1f
tests updated, iteration
Jul 30, 2020
8807f5e
cherry picked commits from electrum branch
Jul 30, 2020
57a7f3c
docs cleaned up
Jul 30, 2020
aceea43
minor docs
Jul 30, 2020
caf1e0e
clean up
Jul 30, 2020
f65c901
propertly report iterative vars
Jul 30, 2020
222e4b3
fixed reporting iterative vars
Jul 30, 2020
1aef495
fixed after op name (electrod)
Jul 31, 2020
0e1ea7e
proper exception for mutable order
Jul 31, 2020
700b057
removed restrictions on integers for electrod
Jul 31, 2020
d7b35f4
finer control on some/reif patterns on formulation
Aug 3, 2020
c630341
better reporting of invalid unbounded arguments
Aug 3, 2020
d88974c
fixed int atoms from electrod
Aug 3, 2020
ffd9351
documentation
Aug 3, 2020
63844de
vertical symmetry breaking, draft
Aug 3, 2020
fadb850
some tests updated
Aug 4, 2020
7ab04b9
removed support for branching ops (deprecated)
Aug 4, 2020
19e4bf6
updated default iteration op
Aug 4, 2020
5e8f42f
improved api for solution iteration
Aug 5, 2020
9e7b07c
various tests updated
Aug 5, 2020
bc0433d
decomp exploration tests
Aug 5, 2020
faa2cbe
fixed p iteration hasnext
Aug 5, 2020
d9049f8
minor cleanup
Aug 5, 2020
74c5d67
iteration tests updated
Aug 5, 2020
cb26702
updated electrod script
Aug 5, 2020
4de2fbb
updated pom version
Aug 5, 2020
6eb1e93
fixed bug on unsat decomposed
Aug 5, 2020
7bc47c7
updated solver hierarchy
Aug 5, 2020
4d16f9d
updated solver hierarchy
Aug 5, 2020
c742878
updated tests, all passing
Aug 5, 2020
3b6f4e4
cleaned imports
Aug 5, 2020
7a3134e
updated travis script
Aug 5, 2020
33c23f1
updated travis script
Aug 5, 2020
fa0c418
updated travis script
Aug 5, 2020
57dd211
updated mvn script
Aug 5, 2020
3769e34
updated mvn script
Aug 5, 2020
5ed4457
minor cleanup
Aug 5, 2020
74e9103
minor cleanup
Aug 5, 2020
f93577c
minor cleanup
Aug 5, 2020
764c37f
updated travis script
Aug 5, 2020
ffbd7fa
updated tests updated
Aug 5, 2020
9154e72
updated tests
Aug 5, 2020
33e93de
updated tests
Aug 5, 2020
77817d1
updated tests
Aug 5, 2020
98a108a
test debugging
Aug 5, 2020
a2a88b8
test debugging
Aug 5, 2020
8078199
test debugging
Aug 5, 2020
861bb3e
test debugging
Aug 5, 2020
d9fb283
test debugging
Aug 5, 2020
587a04a
test debugging
Aug 5, 2020
9e9b95c
test debugging
Aug 6, 2020
cda0fed
test debugging
Aug 6, 2020
190b60b
test debugging
Aug 6, 2020
f9b5270
test debugging
Aug 6, 2020
a2e86a1
synchronization test
Aug 6, 2020
258b0da
cleaned up debug info, updated tests
Aug 6, 2020
6471516
fix bug on launching batchs when hybrid
Aug 6, 2020
b9de0cd
tests updated
Aug 6, 2020
5a46821
tests updated
Aug 6, 2020
48fd6f9
tests updated
Aug 6, 2020
1a5fc1a
better decomp reports
Aug 6, 2020
c4ea897
tests updated
Aug 6, 2020
4400858
tests updated
Aug 6, 2020
732b0c0
test debugging
Aug 6, 2020
ef520a2
cleaned debug info
Aug 6, 2020
3fe8658
cleaned up unsupported iteration
Aug 6, 2020
26378e4
fixed decomp deadlock
Aug 6, 2020
752618a
removed electrod iteration tests
Aug 6, 2020
66efc15
tests updated
Aug 6, 2020
8c1ab7f
debug info
Aug 7, 2020
b865609
improved decomp sync
Aug 7, 2020
e0e1763
cleanup debug info
Aug 7, 2020
92ae469
fixed missing unsat cores
Aug 7, 2020
5e5654e
travis update, support for nuxmv
Aug 7, 2020
2cb989f
overflow debug info
Aug 7, 2020
78e1398
fixed solver assertion
Aug 7, 2020
b1f5fbe
temporal identities tests
Aug 7, 2020
a19fa3a
travis script upd
Aug 7, 2020
ea6ca04
travis script upd
Aug 7, 2020
8f45ecf
fixed bug on catched exceptions
Aug 9, 2020
5957a55
do not accumualte solving vars
Aug 9, 2020
db3c1bf
code cleanup, documentation
Aug 10, 2020
e0af383
travis script upd
Aug 10, 2020
5fc6f63
travis script upd
Aug 10, 2020
6e8e2de
code cleanup, documentation
Aug 10, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
language: java

jdk:
- openjdk8

before_install:
- sudo wget https://github.com/ocaml/opam/releases/download/2.0.0/opam-2.0.0-x86_64-linux -O /usr/bin/opam
- sudo chmod 755 /usr/bin/opam
- opam init -a --disable-sandboxing
- opam update
- eval $(opam env)
- curl -L "http://nusmv.fbk.eu/distrib/NuSMV-2.6.0-zchaff-linux64.tar.gz" | tar --extract --gzip --strip-components=2 -C $HOME/bin "NuSMV-2.6.0-Linux/bin/NuSMV" || true
- curl -N -L "http://es-static.fbk.eu/tools/nuxmv/downloads/nuXmv-2.0.0-linux64.tar.gz" | tar --extract --gzip --strip-components=2 -C $HOME/bin "nuXmv-2.0.0-Linux/bin/nuXmv" || true

script: mvn clean package -e -P solvers

cache:
directories:
- $HOME/bin
- $HOME/.opam
- $HOME/.m2
- build/jni
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ Pardinus

Pardinus is Kodkod's (slightly bulkier) Iberian cousin.

<a href="https://travis-ci.org/haslab/Pardinus"><img align="right" alt="Build Status" src="https://travis-ci.org/haslab/Pardinus.svg?branch=master"/></a>

This repository includes the source code for the Pardinus solver, an extension to the [Kodkod](http://alloy.mit.edu/kodkod/index.html) solver for relational logic. It extends Kodkod with the following functionalities:
* Target-oriented and weighted-target oriented model finding
* Model finding over (past and future) LTL relational formulas
Expand Down Expand Up @@ -50,6 +52,9 @@ point to the JDK 8 home directory.
- Tiago Guimarães, HASLab, INESC TEC & Universidade do Minho, Portugal, 2013 - 2014

## History
### Pardinus ([1.1.0](https://github.com/haslab/Pardinus/releases/tag/v1.1)) (April 2019)
- Major [changes](https://github.com/haslab/Pardinus/pull/29) to the solving engine

### Pardinus ([1.0.0](https://github.com/haslab/Pardinus/releases/tag/v1.0)) (January 2018)
<!--- FM,ABZ 18 submissions --->
- Support for unbounded model finding in SMV through [Electrod](https://github.com/grayswandyr/electrod/releases/tag/0.1)
Expand Down
1 change: 1 addition & 0 deletions bnd.bnd
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ Export-Package: \
org.sat4j.maxsat,\
org.sat4j.pb,\
slf4j.api,\
slf4j.simple,\
org.alloytools.kodkod.nativesat.util;version=latest,\
org.alloytools.kodkod.nativesat.amd64-linux;version=latest,\
org.alloytools.kodkod.nativesat.x86-linux;version=latest,\
Expand Down
8 changes: 6 additions & 2 deletions jni/electrod/wscript
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,14 @@ def configure(conf):
subprocess.check_call('opam update',shell=True)

def build(bld):
bld(rule = 'opam install -y electrod')
bld(rule = 'opam install -y electrod --destdir ' + bld.path.abspath() + '/electrod')

bld.install_files('${LIBDIR}', 'electrod/bin/electrod', chmod=493)

def distclean(ctx):
pass
from waflib import Scripting
Scripting.distclean(ctx)
shutil.rmtree(ctx.path.abspath() + '/electrod', True)

def sourceclean(ctx):
pass
Loading