sat4j hands on practice session
play

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


  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

  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

  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

  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

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

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

  7. From ADS to Sat4j OpenSAT ADS JSAT SAT4J PB MAXSAT DPLL ERA CDCL ERA 1998 2000 2002 2004 2006 2008 2010 2012 Chaff Minisat ◮ First MaxSAT evaluation ◮ Sat4j MaxSAT 3/9

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

  9. From ADS to Sat4j OpenSAT Eclipse Market ADS JSAT SAT4J PB MAXSAT DPLL ERA CDCL ERA 1998 2000 2002 2004 2006 2008 2010 2012 Chaff Minisat ◮ Eclipse Marketplace 3/9

  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

  11. Eclipse Plugin Dependency Problem IU : org . 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 ) } or { namespace=foo , name=bar , range =[3.2.0 , 4 . 0 . 0 ) } 5/9

  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

  13. Eclipse Marketplace (launched in 2010)

  14. Time to practice https://github.com/danielleberre/satsmt19handson 8/9

  15. Thanks for your attention. Questions ? 9/9

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend