Abstract
Automatic Programming (AP) systems have been used in a great variety of ways since the early days of software engineering. They have been used in AI related research approaches with the aim to generate computer programs from informal, incomplete, natural language-like specifications as well as in more pragmatic approaches related to 4th level languages. Terms such as “application generator”, “transformational system”, “code synthesizer”, “generative software development” were used for naming various approaches to AP. This paper presents a categorization scheme for AP systems. In this categorization scheme, a clear distinction is made between the AI related, hard AP- and soft AP systems. After that, a broad range of AP systems as well as their position in the categorization scheme is presented. Finally we discuss the relation between AP and software reuse.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
R. Balzer, “A 15 Year Perspective on AP”, IEEE Transactions on Software Engineering, November 1985, pp. 1257–1267
C. Rich, R.C. Waters, “AP: Myths and Prospect”, IEEE Computer, August 1988, pp. 40–51
F. P. Brooks, Jr., “No silver bullet: essence and accidents of software engineering”, IEEE Computer Magazine, April 1987, pp. 10–19
H. Mili, F. Mili, A. Mili, „Reusing Software: Issues and Research Directions“, IEEE Transactions on Software Engineering, June 1995, pp. 528–562
C.W. Krueger, „Software Reuse“, ACM Computing Surveys, June 1992, pp. 132–183
T. Biggerstaff, C. Richter. “Reusability Framework, Assessment and Directions”, IEEE Software, March 1987
J. Vlissides, “Generation gap (software design pattern)”, C++ Report, Nov.-Dec. 1996, p. 12, 14–18
J. Cleaveland, „Building Application Generators“, IEEE Software, July 1988, pp. 25–33
No Author, “Foreword”, IEEE Software, May 1993, pp. 7–9
D.R. Barstow, “Domain-Specific AP”, IEEE Transactions on Software Engineering, November 1985, pp. 1321–1336
W.T. Tsai et.al., “A critical look at the relationship between AI and software engineering”, Proceedings of the 1988 IEEE Workshop on Languages for Automation: Symbiotic and Intelligent Robots, p. 2–18
C. Willis and D. Paddon, „A software engineering paradigm for program synthesis“, Software Engineering Journal, September 1994, pp. 213–220
D.R. Barstow, R. Duffey, S. Smoliar, and S. Vestal, “An Overview of ΦNIX”, Amer. Ass. Artificial Intelligence, Pitsburgh, PA, August 1982
C. Green, “The design of the PSI program synthesizing system”, Proceedings of the 2nd International Conference on Software Engineering, October 1976, Long Beach, California, pp. 4–18, IEEE CS Press
Z. Manna, R. Waldinger, „Dreams→Programs“, IEEE Transaction on Software Engineering, July 1979, pp. 294–328
C. Rich, H.E. Schrobe, R.C. Waters, “An overview of the programmers apprentice”, Proceedings of the 6th International Joint Conference on Artificial Intelligence, August 1979, Tokyo, Japan, pp. 827–828
R. Balzer, N. Goldman, and D. While, “Informality in Program Specification”, IEEE Transactions on Software Engineering, March 1978, pp. 94–103
R. Balzer, N. Goldman, and D. Wile, “Final Report on GIST”, Technical Report of the Institute of Information Science, University of Southern California, Los Angeles, 1981
E. Kant, D. Barstow, “The Refinement Paradigm: The Interaction of Coding and Efficiency Knowledge in Program Synthesis”, IEEE Transactions on Software Engineering, September 1981, pp. 458–471
E. Horowitz, A. Kemper, B. Narasimhan, “A Survey of Application Generators”, IEEE Software, January 1985, pp. 40–54
N. Derschowitz, “Synthetic programming”, Artificial Intelligence, No. 25, 1985, pp. 323–373
X. Jia, S. Skevoulis, “Code Synthesis Based on Object-Oriented Design Models and Formal Specifications”, Proceedings of the 22nd Computer Software & Applications Conference 1998, August 19–21, 1998, Vienna, Austria, pp. 393–398, IEEE CS Press
S. Jarzabek, „From reuse library experiences to application generation architectures“, ACM, Proceedings of the Symposion on Software Reuse 1995, pp. 114–122
M.E. Lesk, E. Schmidt, “Lex: A Lexical Analyzer Generator”, UNIX Programmer’s Manual-Supplementary Documents, 7th Edition, AT&T Bell Laboratories, Indianapolis, USA
S.C. Johnson, “Yacc: Yet Another Compiler Compiler”, UNIX Programmer’s Manual-Supplementary Documents, 7th Edition, AT&T Bell Laboratories, Indianapolis, USA
S. Jarzabek, „Specifying and Generating Multilanguage Software Development Environments“, Software Engineering Journal, March 1990, pp. 125–137
R. Fischer, “Zusammenfassung der 3 rd SIGSOFT Conference on Software Development Environments”, Mini Micro Magazin, April 1989, pp. 31–33
A. W. Biermann, “Approaches to AP”, in M. Rubinoff, M.C. Yovits, (Editors): “Advances in Computers”, Academic Press, 1976 pp.1–63
D. Partridge, “Connectionism as a software engineering paradigm”, Advanced Information Systems, January 1993, pp. 7–14
J. Martin, “Application Development Without Programmers”, Prentice Hall, Englewood Cliffs, N. J., 1982
P.C. Masiero, C.A.A. Meira, „Development and Instantiation of a Generic Application Generator“, Journal of Systems Software, 1993, Issue 23, pp. 27–37
D. Shafer, ”Automatic Pascal Code Generation with Prototyper 2.0”, Journal of Pascal, Ada & Modula 2, March/April 1989, pp. 58–220
T. Church and Philip Matthews, „An Evaluation of Object-Oriented CASE Tools: The Newbridge Experience“, Proceedings of the 7th International Workshop on Computer-Aided Software Engineering 1995, IEEE Computer Society Press, pp. 4–9
G. Kiczales, „Aspect Oriented Programming“, 8th Annual Workshop on Institutionalizing Software Reuse, WISR8, March 23–26 1997
W. Goebl, “The Significance of Generative Software Reuse in the Domain of Data-Oriented Information Systems”, Ph.D Thesis, Technical University of Vienna, 1999
B. Bhansali, „A Hybrid Approach to Software Reuse“, Proceedings of the Symposion on Software Reusability 1995, ACM Software Engineering Notes, Special Issue August 1995 pp. 215–218
B. Pieber, W. Goebl, “A Generative Approach for Building Data-Oriented Information Systems”, Proceedings of the 22nd Computer Software & Applications Conference 1998, August 19–21, 1998, Vienna, Austria, pp. 278–284, IEEE CS Press, 1998
D. Batory, B.J. Geraci, “Validating Component Compositions in Software System Generators“, Proceedings of the 4th International Conference on Software Reuse, April 23–26, 1996, Orlando Florida, IEEE Computer Society Press, pp. 72–81
J.M. Neighbors, „The Draco Approach to Constructing Software From Reusable Components“, IEEE Transactions on Software Engineering, September 1984, pp. 564–574
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Goebl, W. (2000). A Survey and a Categorization Scheme of Automatic Programming Systems. In: Czarnecki, K., Eisenecker, U.W. (eds) Generative and Component-Based Software Engineering. GCSE 1999. Lecture Notes in Computer Science, vol 1799. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-40048-6_1
Download citation
DOI: https://doi.org/10.1007/3-540-40048-6_1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41172-7
Online ISBN: 978-3-540-40048-6
eBook Packages: Springer Book Archive