Computer aided software design via inference and constraint propagation (2009)
Engineered systems, including computer programs, are mainly composed of versions of known components. We describe systems that produce computer software by composition and specialization of generic software components. The work of the human designer is reduced because components can infer or default many specifications, propagating them to connected components. Specialized programs can be constructed rapidly and easily using a graphical programming interface. We describe systems that can capture and understand data from the web, allowing a user to write programs easily to analyze the data. Web pages that perform calculations or data lookup can be treated as remote procedure calls, allowing calculations, proprietary data and real-time data to be used. Examples are presented to illustrate construction of programs for analysis of web data. These capabilities provide connectivity between web data, codified knowledge, and generic programs, providing a pathway to fulfillment of the promise of integration of the vast amount of information on the web.
PDF, Other
Integrated Computer-Aided Engineering, Vol. 16, 3 (2009), pp. 181-191.

Gordon Novak Faculty novak [at] cs utexas edu