Sat4j Hands On Practice Session A few words about Sat4j Daniel Le - - PowerPoint PPT Presentation

sat4j hands on practice session
SMART_READER_LITE
LIVE PREVIEW

Sat4j Hands On Practice Session A few words about Sat4j Daniel Le - - PowerPoint PPT Presentation

Sat4j Hands On Practice Session A few words about Sat4j Daniel Le Berre Emmanuel Lonca, Anne Parrain, St ephanie Roussel, Romain Wallon Universit e dArtois, CNRS SAT+SMT 19, Mumbai, 10 December 2019 1/9 Initial objectives of the


slide-1
SLIDE 1

Sat4j Hands On Practice Session

A few words about Sat4j Daniel Le Berre Emmanuel Lonca, Anne Parrain, St´ ephanie Roussel, Romain Wallon

Universit´ e d’Artois, CNRS

SAT+SMT 19, Mumbai, 10 December 2019

1/9

slide-2
SLIDE 2

Initial objectives of the project

◮ 100% Java SAT library ◮ Open Source ◮ Flexible to experiment new idea ◮ Efficient enough to be useful on real problems ◮ Designed both for academia and Java developers ◮ To solve a wide range of problems over Boolean variables

2/9

slide-3
SLIDE 3

Initial objectives of the project

◮ 100% Java SAT library ◮ Open Source ◮ Flexible to experiment new idea ◮ Efficient enough to be useful on real problems ◮ Designed both for academia and Java developers ◮ To solve a wide range of problems over Boolean variables ◮ Experimental platform for my software engineering practices

2/9

slide-4
SLIDE 4

Initial objectives of the project

◮ 100% Java SAT library ◮ Open Source ◮ Flexible to experiment new idea ◮ Efficient enough to be useful on real problems ◮ Designed both for academia and Java developers ◮ To solve a wide range of problems over Boolean variables Took some time to take off

2/9

slide-5
SLIDE 5

From ADS to Sat4j

1998 2000 2002 2004 2006 2008 2010 2012 DPLL ERA CDCL ERA ADS JSAT Chaff OpenSAT Minisat SAT4J ◮ Start of SAT4J, Java implementation of Minisat. ◮ Open Source GNU LGPL.

3/9

slide-6
SLIDE 6

From ADS to Sat4j

1998 2000 2002 2004 2006 2008 2010 2012 DPLL ERA CDCL ERA ADS JSAT Chaff OpenSAT Minisat SAT4J PB ◮ With INESC → PB evaluation + Sat4j PB ◮ First CSP competition → Sat4j CSP

3/9

slide-7
SLIDE 7

From ADS to Sat4j

1998 2000 2002 2004 2006 2008 2010 2012 DPLL ERA CDCL ERA ADS JSAT Chaff OpenSAT Minisat SAT4J PB MAXSAT ◮ First MaxSAT evaluation ◮ Sat4j MaxSAT

3/9

slide-8
SLIDE 8

From ADS to Sat4j

1998 2000 2002 2004 2006 2008 2010 2012 DPLL ERA CDCL ERA ADS JSAT Chaff OpenSAT Minisat SAT4J PB MAXSAT Eclipse ◮ Integration within Eclipse ◮ Sat4j dual licensing EPL et GNU LGPL

3/9

slide-9
SLIDE 9

From ADS to Sat4j

1998 2000 2002 2004 2006 2008 2010 2012 DPLL ERA CDCL ERA ADS JSAT Chaff OpenSAT Minisat SAT4J PB MAXSAT Eclipse Market ◮ Eclipse Marketplace

3/9

slide-10
SLIDE 10

SAT4J in a few facts

◮ The slowest SAT solver of the SAT community (unless counting is needed) ◮ 44k lines of Java code ◮ Mainly used by the software Engineering (as solver or case study) ◮ Used to teach SAT in many universities ◮ Used everyday in Eclipse to maintain it’s plugin dependencies

4/9

slide-11
SLIDE 11

Eclipse Plugin Dependency Problem

IU :

  • rg . e c l i p s e . swt v

3 . 2 . 0 C a p a b i l i t i e s : {namespace=package , name=a , v e r s i o n =1.0.0} {namespace=foo , name=b , v e r s i o n =1.3.0} {namespace=package , name=c , v e r s i o n =4.1.0} Requirement e x p r e s s i o n s ( t r u e ) −> {namespace=package , name=r1 , range =[1.0.0 , 2 . 0 . 0 ) } and {namespace=foo , name=r1 , range =[3.2.0 , 4 . 0 . 0 ) } (& ( os=l i n u x ) ( ws=gtk )) −> {namespace=package , name=r2 , range =[1.0.0 , 2 . 0 . 0 ) }

  • r

{namespace=foo , name=bar , range =[3.2.0 , 4 . 0 . 0 ) }

5/9

slide-12
SLIDE 12

Why using Sat4j in p2 (Eclipse)

Plugin Hell

L’approche gloutonne utilis´ ee par Eclipse pour g´ erer les d´ ependances ne passe pas ` a l’´ echelle avec l’augmentation du nombre de plugins. ◮ Software Dependency is NP-complete just like SAT ◮ Theoretical results known ( European Project EDOS for Linux) ◮ Need for a Java SAT/PBO solver ◮ Open Source ◮ Maintained/supported (forge Objectweb/OW2) Fun fact : Sat4j has always been developed with Eclipse!

6/9

slide-13
SLIDE 13

Eclipse Marketplace (launched in 2010)

slide-14
SLIDE 14

Time to practice

https://github.com/danielleberre/satsmt19handson

8/9

slide-15
SLIDE 15

Thanks for your attention. Questions ?

9/9