Abstract:
Software synthesis is the process of transforming a formal problem specification into software that is efficient and correct by construction. We have used KIDS (Kestrel Interactive Development System) over the last ten years to synthesize very efficient programs for a variety of scheduling problems (Smith, Parra, and Westfold 1996; Smith and Westfold 1995; M.H.Burstein and Smith 1996). The efficiency of these schedulers system is based on the synthesis of specialized constraint management code for achieving arc consistency.