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 [2011/04/19 16:30]
jobstman
surveys:synthesis [2011/04/19 17:07] (current)
jobstman
Line 1: Line 1:
-====== Program synthesis (UNDER CONSTRUCTION) ======+====== 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, or program verification,​ which tries to establish a relationship between a set of properties and the given program or circuit. 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.
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: