Knowledge-based constraint-driven software synthesis
Abstract
A constraint-driven, real-time software synthesis architecture called RT-Syn is described. RT-Syn formulates design space constraints for each task in the real-time software system from timing requirements and a behavior description. RT-Syn then uses these constraints within a simulated-annealing-like approach, selects an abstract implementation for every data structure and algorithm required to implement the desired behavior, and transforms these selections into executable code. Experimental results covering the synthesis of two real-time software tasks that meet the desired constraints are presented. These results illustrate the effectiveness of the simulated-annealing-like approach in searching the software design space and the high reusability and maintainability provided by the use of synthesis technology.>