Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
surveys:synthesis [2010/04/19 16:39]
jobstman
surveys:synthesis [2011/04/19 17:07] (current)
jobstman
Line 1: Line 1:
-====== Program synthesis ======+====== Program synthesis ​(SURVEY UNDER CONSTRUCTION) ​======
  
-In computer science, ​program synthesis ​refers ​to the development of a program or a digital design from a set of desired properties.+We use the term **program synthesis** to refer to the development of a program or a digital design from a set of desired properties.
 These properties can be described in various ways, e.g., by a set of logical formulas or a mathematical model, by another program that is These properties can be described in various ways, e.g., by a set of logical formulas or a mathematical model, by another program that is
-written in a more abstract programming language. Synthesis is the counterpart to program analysis, which tries to extract a set of properties or a model from a given program or digital design. +written in a more abstract programming language. Synthesis is the counterpart to program analysis, which tries to extract a set of properties or a model from a given program or digital design, or program verification,​ which tries to establish a relationship between a set of properties and the given program or circuit
-The set of desired properties are usually called the //specification of the system// and the constructed system is referred as the  +The set of desired properties are usually called the **specification of the system** and the constructed system is referred as the  
-//implementation of the specification.//+**implementation of the specification.**
  
  
Line 14: Line 14:
   * Logic synthesis (RTL to gate level, net list to layout,...)   * Logic synthesis (RTL to gate level, net list to layout,...)
   * Synthesis from logical specifications   * Synthesis from logical specifications
-  * Domain ​specific synthesizer: ​+  * Model-based design and other domain ​specific synthesizer: ​
      * parser generators (YACC)      * parser generators (YACC)
      * generator for statistical analyzers (AutoBayes Synthesis System, Johann M. Schumann, NASA - Moffett Field)      * generator for statistical analyzers (AutoBayes Synthesis System, Johann M. Schumann, NASA - Moffett Field)
-  ​* ...+     Matlab Simulink from MathWorks (based on a synchronous dataflow language, generates C/C++ code) 
 +     * SCADE Suite from Esterel Technologies (Systems are described using a synchronous language, generates C/C++ code) 
 +     * Bluespec compiler (HDL based on rules, each rule is executed automatically,​ designs have no explicit clock, generates Verilog code)   
 +     * BIP compiler (Systems are describe using extended automata and synchronization constructs, generates C/C++ code) 
 +     * ... 
 + 
 +In the following we will focus on synthesis from logical specifications.
  
 ====== Program synthesis from logical specification ====== ====== Program synthesis from logical specification ======
Line 23: Line 29:
  
 **Motivation.** ​ **Motivation.** ​
-A solution to this problem would allow augmenting the current programming style, which is mostly imperative, with a declarative,​ logical style. ​ This is particularly beneficial for systems in which concurrency plays an important role.....+A solution to this problem would allow augmenting the current programming style, which is mostly imperative, with a declarative,​ logical style. ​ This is particularly beneficial for systems in which concurrency plays an important role.
  
 In this area approaches can be split into three groups: In this area approaches can be split into three groups:
Line 117: Line 123:
  
  
 +**Dagstuhl Talks**
 |Program Sketching | Rastislav Bodik, UC Berkeley | |Program Sketching | Rastislav Bodik, UC Berkeley |
 | | Satish Chandra, IBM TJ Watson Research Center | | | Satish Chandra, IBM TJ Watson Research Center |
Line 123: Line 129:
 | CEGAR for Synthesis | Bernd Finkbeiner, Universität des Saarlandes | | CEGAR for Synthesis | Bernd Finkbeiner, Universität des Saarlandes |
 | Dimensions in Program Synthesis | Sumit Gulwani, Microsoft Research |  | Dimensions in Program Synthesis | Sumit Gulwani, Microsoft Research | 
-| Component based Synthesis | -"​- ​| +| Component based Synthesis | Sumit Gulwani, Microsoft Research ​|
 | ? | Shachar Itzhaky, Tel Aviv University | | ? | Shachar Itzhaky, Tel Aviv University |
 | Synthesis of Communicating Automata from MSCs | Joost-Pieter Katoen, RWTH Aachen | | Synthesis of Communicating Automata from MSCs | Joost-Pieter Katoen, RWTH Aachen |