UTCS Artificial Intelligence
courses
talks/events
demos
people
projects
publications
software/data
labs
areas
admin
Interactions of Abstractions in Programming (2000)
Gordon S. Novak
Jr.
omputer programs written by humans are largely composed of instances of well-understood data and procedural abstractions. Clearly, it should be possible to generate programs automatically by reuse of abstract components. However, despite much effort, the use of abstract components in building practical software remains limited. We argue that software components constrain and parameterize each other in complex ways. Commonly used means of parameterization of components are too simple to represent the multiple views of components used by human programmers. In order for automatic generation of application software from components to be successful, constraints between abstract components must be represented, propagated, and where possible satisfied by inference. A simple application program is analyzed in detail, and its abstract components and their interactions are identified. This analysis shows that even in a small program the abstractions are tightly interwoven in the code. We show how this code can be derived by composition of separate generic program components using view types. Next we consider how the view types can be constructed from a minimal specification provided by the user.
View:
HTML
Citation:
In
Lecture Notes in Artificial Intelligence
, Vol. 1864, pp. 185--201 2000. Springer-Verlag. ISBN 3-540-67839-5.
Bibtex:
@inbook{novak:lncs2000, title={Interactions of Abstractions in Programming}, author={Gordon S. Novak Jr.}, booktitle={Lecture Notes in Artificial Intelligence}, volume={1864}, publisher={Springer-Verlag}, pages={185--201}, note={ISBN 3-540-67839-5}, url="http://www.cs.utexas.edu/users/ai-lab?novak:lncs2000", year={2000} }
People
Gordon Novak
Faculty
novak [at] cs utexas edu
Areas of Interest
Automatic Programming
Labs
Automatic Programming