A Survey of Automatic Code Generating Software

A Survey of Automatic Code Generating Software

Calhoun: The NPS Institutional Archive Theses and Dissertations Thesis Collection 1988 A survey of automatic code generating software. O'Brien, Sherman L. http://hdl.handle.net/10945/23416 \!\- NAVAL POSTGRADUATE SCHOOL Monterey, California OisiAi. A SURVEY OF AUTOMATIC CODE GENERATING SOFTWARE by Sherman L. O'Brien September 1988 Thesis Advisor: Daniel R. Dolk Approved for public release; distribution is unlimited T242210 UNCLASSIFIED REPORT DOCUMENTATION PAGE RESTRICTIVE MARKINGS REPORT SECURITY CLASSIFICATION 1b NCLASSIFIED ' AUTHORITY 3 DISTRIBUTION /AVAILABILITY OF REPORT SECURITY CLASSIFICATION Approved for public release; is unlimited. DECLASSIFICATION / DOWNGRADING SCHEDULE distribution REPORT NUMBER(S) PERFORMING ORGANIZATION REPORT NUMBER(S) 5 MONITORING ORGANIZATION ORGANIZATION NAME OF PERFORMING ORGANIZATION 6b OFFICE SYMBOL 7a NAME OF MONITORING (If applicable) aval Postgraduate School 54 Naval Postgraduate School ADDRESS (City. State, and ZIP Code) ADDRESS {City, State, and ZIP Code) 7b onterey, California 93943-5000 Monterey, California 93943-5000 IDENTIFICATION NUMBER NAME OF FUNDING /SPONSORING 8b OFFICE SYMBOL 9 PROCUREMENT INSTRUMENT ORGANIZATION (If applicable) 10 FUNDING NUMBERS ADDRESS (City, State, and ZIP Code) SOURCE OF PROGRAM PROJECT TASK WORK UNIT ELEMENT NO NO NO ACCESSION NO. TITLE (Include Security Classification) SURVEY OF AUTOMATIC CODE GENERATING SOFTWARE PERSONAL AUTHOR(S) O'Brien, Sherman L. 14 OF REPORT (Year, Month, Day) 15 PAGE COUNT a. TYPE OF REPORT 13b TIME COVERED DATE aster's Thesis FROM TO 1988 September 81 notation . supplementary xhe views expressed in this thesis are those of the author nd do not reflect the official policy or position of the Department of J pfpncp Q33 -l-T-i g- IT S CZn,\7<^-n -nm^-n r COSATI CODES 18 SUBJECT TERMS (Continue on reverse if necessary and identify by block number) FIELD GROUP SUB-GROUP Automatic code generation Automatic programming Computer languages . ABSTRACT (Continue on reverse if necessary and identify by block number) he advances made in computer hardware development have long outdistanced he computer software needed to make that hardware perform useful work for he user. This has precipitated a software crisis in the industry and pawned many potential solutions for alleviating the crisis. Among the write program arious solutions are software systems that will automatically ^ ode. This thesis examines four such software systems currently available o a system developer giving a brief description of the product, principle ehind its operation and possible applications. Additionally, it provides he reader background information on computer programming languages, reasons or the software crisis, the software development life cycle, and a method f classification and taxonomy of software development tools. The _ thesis oncludes that these tools, properly applied, can be useful in relieving he software crisis in an organization but will not eliminate the crisis CLASSIFICATION ) DISTRIBUTION /AVAILABILITY OF ABSTRACT 21 ABSTRACT SECURITY ^UNCLASSIFIED/UNLIMITED SAME AS RPT DTIC USERS UNCLASSIFIED OFFICE SYMBOL a. NAME OF RESPONSIBLE INDIVIDUAL 22b TELEPHONE (Include Area Code) ±lc aniel R. Dolk (408)646-2260 54Dk 5 FORM 1473, 84 mar 83 APR edition may be used until exhausted SECURITY CLASSIFICATION OF THIS PAGE All editions are obsolete other it U.S. Government Printing Office: 1986—606-24. UNCLASSIFIED UNCLASSIFIED > IKCUWITY CLASSIFICATION OF TMItTAOt (SDK Block 18 continued: Software crisis; Software Development Life Cycle Software development tools; Taxonomy of software toolij Block 19 continued: or the need for programmers. T^fT,A.q.9TFTF.n SECURITY CLASSIFICATION OF THIS PAGE ii Approved for public release; distribution is unlimited A Survey of Automatic Code Generating Software by Sherman L. p'Brien Lieutenant Commander, United States Navy B.S., Iowa State University, 1974 Submitted in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE IN INFORMATION SYSTEMS from the NAVAL POSTGRADUATE SCHOOL September 1988 .-,.; C.I ABSTRACT The advances made in computer hardware development have long outdistanced the computer software needed to make that hardware perform useful work for the user. This has precipitated a software crisis in the industry and spawned many potential solutions for alleviating the crisis. Among the various solutions are software systems that will auto- matically write program code. This thesis examines four such software systems currently available to a system developer giving a brief description of the product, principle behind its operation and possible applications. Additionally, it provides the reader background information on computer programming languages, reasons for the software crisis, the software development life cycle, and a method of classification and taxonomy of software development tools. The thesis con- cludes that these tools, properly applied, can be useful in relieving the software crisis in an organization but will not eliminate the crisis or the need for programmers. TABLE OF CONTENTS I. INTRODUCTION 1 A. THE ROLE OF SOFTWARE 1 B. PURPOSE OF THE THESIS 2 C. SCOPE OF THE THESIS — 3 D. ORGANIZATION OF THE THESIS 3 II. KEY SOFTWARE ISSUES 5 A. INTRODUCTION 5 B. THE SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) — 5 C. THE SOFTWARE "CRISIS" 9 D. COMPUTER LANGUAGES 12 E. AUTOMATIC CODE GENERATION 19 F. SUMMARY 20 III. CLASSIFICATION AND TAXONOMY OF SOFTWARE DEVELOPMENT TOOLS 22 A. INTRODUCTION 22 B. GENERAL CLASSES OF SOFTWARE TOOLS 22 C. TAXONOMY OF SOFTWARE TOOLS 23 D. SUMMARY 30 IV. REVIEW OF AUTOMATIC CODE GENERATING SYSTEMS 32 A. INTRODUCTION 32 B. USE. IT 33 C. COGEN 40 D. INFORMIX/4GL 45 E. GENIFER 49 F. FEATURES OF SYSTEMS 55 G. SUMMARY 56 V. CONCLUSIONS AND RECOMMENDATIONS 59 A. INTRODUCTION 59 B. CONCLUSIONS 59 C. RECOMMENDATIONS 62 APPENDIX: AUTOMATIC CODE GENERATING SYSTEMS 64 LIST OF REFERENCES 70 INITIAL DISTRIBUTION LIST 72 VI LIST OF TABLES 4.1 SYSTEM FEATURES 56 Vll LIST OF FIGURES 2.1 Historical Life Cycle Model 6 2.2 Programming Language Abstraction 18 2.3 Historical User—Programmer—Application Link 20 3.1 Software Tool Taxonomy 24 4.1 Functional Life Cycle Process 33 4.2 Hierarchical Control Map 35 4.3 Nodal Relationships 35 4.4 USE. IT Control Map Example 37 4.5 Ring Menu 47 4.6 MAIN Menu Routine 47 4.7 GENIFER Main Menu 50 5.1 Programmer, User, Software Perspective 61 vm I. INTRODUCTION A. THE ROLE OF SOFTWARE Until a computer is given a set of explicit instructions telling it exactly what to do and in what order, the user will not receive any of its potential benefits. Contempo- rary computer users know the single device that releases its potential power is software. Software is what makes the computer perform useful work. It includes but is not limited to the data, algorithms, and programming code used to tell the computer what to do. In today's marketplace many users are familiar with the standard floppy disk used by microcomputers to store programs and data. In larger computer systems the programs may be on tape or some other storage medium. Dedicated computers such as those used in a fire control system aboard a warship may have their software written directly onto a silicon chip— something more commonly associated with hardware. Regardless of the medium used to introduce the program into the computer it can all be termed software. The overall importance of software in the computer industry is difficult to underestimate. A readily understandable measure is money. Software is big business and indications are that it has surpassed hardware as the most expensive part of a contemporary computer system. Over 10 years ago estimates for the World Wide Military Command and Control System (WWMCCS) were put at $50 to $100 million for hardware and $722 million for software [Ref. l:p. 41]. More recently the Strategic Defense Initiative (SDI) has been deemed impossible because development of the required software is considered impossible [Ref. 2:p. 46]. Develop- ing software involves the following steps: 1. Problem definition; 2. Software design; 3. Coding; 4. Testing; 5. Implementation; 6. Maintenance. While some software projects may be larger than others these steps are involved in finding and developing a computer solution to a problem. B. PURPOSE OF THE THESIS Vendors claim that part if not all of the software development process can be automated with products they have introduced to the marketplace. This thesis will attempt to explore many of these products and answer the following questions. 1. What part of the development process does the product automate and what exactly does automate mean in the particular application? . 2 To what degree does the product surveyed meet the need for a programmer interface between the user and the application? 3. Do products that claim to produce code automatically in fact write error free, syntactically correct code? How "automatic" is automatic code generation software? 4. If the answer to 3 is yes, what input is required to produce a computer program? What techniques are used to generate code? C. SCOPE OF THE THESIS This research project is limited to a static evaluation of commercially available software tools. Primary emphasis will be placed on products that generate computer code such as FORTRAN, PASCAL, or COBOL. Also included are fourth generation language application generators and microcomputer application program generators. Specifically excluded from the research project are compilers. D. ORGANIZATION OF THE THESIS The presentation of this thesis is organized into five chapters including this introduction. In Chapter II a number of key issues associated with software development will be presented including the Software Development Life Cycle (SDLC) , the Software Crisis, and a brief look at the evolution of computer programming languages. The third chapter is a presentation of a classification and taxonomy of software development tools that was published by Raymond C. Houghton. The fourth chapter is a review of commercially available automatic code generating software systems. The final chapter contains conclusions and recommendations based on this study with suggestions for areas of further study related to this topic.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    95 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us