Title :
Automatic maintenance of routine programming tasks based on a declarative description
Author :
Bernstein, David B. ; Farrow, Rodney
Author_Institution :
Vantage Anal. Syst. Inc., Fremont, CA, USA
Abstract :
The authors describe the writing of a small, very specific, software tool, Igor, that automates the creation and maintenance of many routine and repetitive code fragments used in a large software system. Igor is viewed as an application-specific application generator; it generates C source code from a higher level specification as an application generator does, and it is designed to be used only for this one purpose in this one project. The data structure is described in a concise, declarative notation, and a special-purpose translator was written to process the description. The translator generates files of source code that implement the many simple declarations, manipulations, and interrogations of this data structure. The authors discuss experience using this paradigm to implement the intermediate format and how it contributed to solving the larger task of building the CAE (computer-aided engineering) system of which it is a part. The authors compare their solution with other approaches and examine what aspects of the paradigm may be applicable to other software development efforts
Keywords :
application generators; formal specification; software tools; C source code; CAE; Igor; application-specific application generator; data structure; declarative description; higher level specification; large software system; maintenance; repetitive code fragments; routine programming tasks; software development; software tool; special-purpose translator; Application software; Automatic programming; Buildings; Computer aided engineering; Data structures; Maintenance; Software systems; Software tools; Systems engineering and theory; Writing;
Conference_Titel :
Software Engineering, 1990. Proceedings., 12th International Conference on
Conference_Location :
Nice
Print_ISBN :
0-8186-2026-9
DOI :
10.1109/ICSE.1990.63638