1. Lecture Intro: Energy source develop SAT generalize to MAX-SAT generalize to CSP generalize to MAX-CSP Software development methods: - test early - schema binding method - write code that generates code - transition system method 2. Lecture Transition systems A transition system for CSP A transition system for MAX-CSP A class dictionary for the MAX-CSP transition system compare with: http://www.ccs.neu.edu/research/demeter/course/exams/m-csu670-f06/code/1/program.cd The transition system for hw 2 DemeterJ: A tool for the schema-binding software development method DJ: a tool for the structure-shy software development method 3. Lecture Help with the second part of hw 2. CSPTheory.ppt The structure-shy programming method: another method for software development PLAP-CSG270-sp07.ppt lec1a-short-csg270-sp07.ppt* lec1b-short-navig-object-graphs-csg270-sp07.ppt* Law of Demeter / Adaptive Programming / DJ / DJ and DemeterJ LoD.ppt 4. Lecture Homework discussion How to make good decisions in a MAX-CSP solver (our application domain) IIAPoster-achmed-karl3.ppt http://www.ccs.neu.edu/home/lieber/s/sat07-sub.pdf SATShortCourse.pdf Interface-based software development 3, 4, 5, 6, InterfaceBasedDevelopment.pdf http://www.ccs.neu.edu/home/lieber/courses/csg270/sp07/guaraldi/satsolver-1.1/api/index.html Design by contract design-by-contract.ppt 5. Lecture Refining the MAX-CSP solver: adding the variable ordering feature How to extend the schema? Where to modify the previous solver? Learning about AspectJ: AspectJ2001.ppt A LoD checker in AspectJ LoDinAspectJ.ppt Schema-based software development questions: midterm-csu670-f03.ppt What is behind the appmean interface. p-opt-csg260-f06.ppt 6. Lecture How to make our transition system complete? Requirement: Guaranteed to find the maximum. We need to add some form of backtracking. We add superresolution. The history of non-chronological backtracking. Testing, examples: /home/lieber/.www/courses/csg270/sp07/hw/4/csp-input The method of interface-based software development The Packed Truth Table API's (Ahmed) The method of structure-shy software development The Java XPath API: http://www-128.ibm.com/developerworks/xml/library/x-javaxpathapi.html Some adaptive programming in Java 1.5 Code reviews April 3 (make-up) The structure-shy programming game lec4 Max's solver review Functional Visitors April 4 Reviewing the Evergreen game Discussing the Evergreen paper Implementing the game Max's solver Vlad's solver + sort to cnf translator