Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
University of Pennsylvania University of Pennsylvania
ScholarlyCommons ScholarlyCommons
Technical Reports (CIS) Department of Computer & Information Science
January 1974
Research on Automatic Program Generation Research on Automatic Program Generation
Jesus A. Ramirez University of Pennsylvania
N. Adam Rin University of Pennsylvania
Maxine Brown University of Pennsylvania
Noah S. Prywes University of Pennsylvania
Follow this and additional works at: https://repository.upenn.edu/cis_reports
Recommended Citation Recommended Citation Jesus A. Ramirez, N. Adam Rin, Maxine Brown, and Noah S. Prywes, "Research on Automatic Program Generation", . January 1974.
University of Pennsylvania Department of Computer and Information Science Technical Report No. MS-CIS-74-05.
This paper is posted at ScholarlyCommons. https://repository.upenn.edu/cis_reports/682 For more information, please contact [email protected].
Research on Automatic Program Generation Research on Automatic Program Generation
Abstract Abstract Automatic Program Generation Research has been conducted under Contract N00014-67-A-0216-0014, since 1971. The objective of the research has been to provide software generation directly from user specifications.
Initially, the research concentrated on a specific application, of generating file conversion programs. A first report on this subject was authored by Diane Pirog Smith, in December 1971, titled, "An Approach to Data Description and Conversion". Subsequently, a software system for automating this function was implemented by Jesus A. Ramirez and described by him in a report titled, "Automatic Generation of data conversion-programs Using A Data Description Language (DIL)". Currently, the objective of the research has been broadened to develop a user language and a software system for automatic generation of business oriented programs.
This technical report contains a collection of three papers intended to summarize the results of past research and the direction of current research. The first paper, by Ramirez, Rin and Prywes is a summmary of Dr. Ramirez's report and dissertation cited above. The second paper, titled, "An Overview of a System for Automatic Generation of File Conversion Programs " by. N. Adam Rin and Maxine Brown is intended to provide a more user oriented view based on their experience in utilization of the system developed by Ramirez.
There have been many research activities and a large number of papers in this area. The third paper, "Automatic Generation of Software Systems: A Survey," by N. Prywes serves to relate the research underway at the University of Pennsylvania, to the many recent and current activities in this field. It also aims to clearly define short and long term objectives and methodologies.
Comments Comments University of Pennsylvania Department of Computer and Information Science Technical Report No. MS-CIS-74-05.
This technical report is available at ScholarlyCommons: https://repository.upenn.edu/cis_reports/682
~ I V E T S I T Y OF p m s n m The -re School of Electrical Engineer*
Departnrent of Qnputer and Informtion Sciene.
P r o j e c t Supervisor Noah S. Prywes
Prepared for the Off ice of Naval Msearch
Infonmtim System Arlington, Va. 22217
under
Contract N00014-67-A-0216-0014 Project No. NR 049-153
Reproduction in whole or in part is permitted for any p e of ti?e United States Govenunent
more Scfiool Rego* # 74-05
I Jesus A. Rarnirez, N. Adam Rin, Maxine Brawn and Noah S. Prywes I
(Sorurtcr ~ I ~ m s f l k a l h ~ 01 f111.. body 01 aba#mCI a n d Indonlng m n o l r t i m murt k o n l e n d when It10 o w r a l l VOport I * r l r r m l l l e d )
8 R E P O R T D A T E I?.. T O T A L N O O F P A C E S I7b. N O . O F I E V S
t . O R ! ~ I W A ? I N G A ~ T I V I T V (C-ro uk) Uruverslty of Pennsylvania The Eibore School of Electrical Engineering Dept. of Ccmputer Information Sciences, Phila. , Pa.
Januaq 1974 103 I U. C M T U L C T O R G R A N T N O . U. O * l Q I N A T O R ' S R E P O l T M U Y m C W l S t
a. RLPOIT S E C U R ~ T V C L A S ~ I C I C A T I O W
WCLASSIF'IED ab. CROUP
N00014-67-A-0216-0014 b. L I O J C C T N O .
3 R F P O R T T I T L C
I &ore School Report 74-05
Repruductian in whole o r in part is pMnitted for any p.pqmse of the United States Q-t
1 1 . B U P ~ L P M C N T A R V N O T E S s Mfice of Xaval &search Infonuation Systgns Arlington, Virginia 22217
I S A m s T R A c T Au-tic Program Generation Wearch has been mnducted under contract
Na0014-67-A-0216-0014, since 1971. ?he objective of the resear& has been to provide software generation directly f m user specifications .
In i t ia l ly , the researdn. concentrated on a specific applicatian, of generating f i l e conversion programs. A f i r s t report on this sbject was authored oy Diane Pirog Smith, i n Decarber 1971, t i t l e d , "An -roach to Data Descripti.cn and Cbnversion. " SSsequently a so£ Ware systen f o r autcaMting this function was implemnted by Jesus A. FGdmz and described by him i n a report t i t l e d , "Autcmtic Generation of IBta Cbnversion-Program Us* A Data Description Language (Dl&) ". Currently, the abjective of the research has been broadened t o develop a user language and a software sysbm f o r autcanatic generation of business oriented programs.
This technical repart omtains a mllecction of three papers intended to s m r i z e tne results of past research and the directicn of current research. h e f i r s t paper, by Ramirez, Rin and Prywes is a sumnary of Dr. Ramirezls report and dissertation ci ted above. ?he second paper, t i t l e d , "An Overview Of A System For ' Au-tic Generatim of File Qnversim Prograns, 'I by N. Adam R i n and Maxine Brcrwn
1 is intended to provide a mre user oriented v i m based on their experience in
1 uti l izat ion of h e system developed by Rgnirez.
1 (Continued on next page) I
pornw 1473 (PAGE 1 ) DD ,, ., SF( 0101 -007-sa1 i Srcuritv Clas~ification 1-51401
I . K t * womos
mil-, Generators, Prablem Oriented Languages, Syntax Andly~is, Lexical Analysis, Data Description b q u a g e ~ , ~ a t a Manipulation Language, Conversion Program, Jutmatic Progranrnjng, I/O Utility, -tic Program -ation
13. continued
There have been many research activities and a large nuher of p a p 8 in this area. Ihe thkd paper, "Au tcmt i c Generation of Software S y s h - A S a m e y , I' by N. Prywes serves to relate the research undemay at the University of Pennsylvania, to &e m y recpnt and current activities i n this field. It also aims to clearly define short and long term abjecti- and mthodoloqies.
Automatic Prcgrarn Generation -ear& has been oondmted under
contract ~VO3014-67-A-02160014, since 1371. The cb jective of the research
has been to provide software generation direct ly from user specifications.
In i t ia l ly , the research concentrated on a specific application, of
generating f i l e anversion programs. A f i r s t reprt on this sbject was
authored ~y Diane Pirog Smith, in Deerher 1971, titled, "An Approach to D a t a
&scription and Conversion." Sbsequently a software system for aukmating
this function was implemented by Jesus A. Ramirez and described by him i n a
report, t i t l ed , "Autmatic Generation of Data Cbnversion-Prograns Using A
Data Description Language (ML) . I' Currently, the cb ject ive of t ~ e research has
been ~roadened to develop a user language and a sofmare system for au tmat ic
generation of business oriented programs.
Tnis teamica1 reprt contains a collection of three papers intad& to
s m i z e tiLe results of past research and the direction of current research.
Tiie f i r s t paper, by Ramirez, Rin and Prywes is a sumnary of Dr. Ramirez's report
and dissertation ci ted h v e . The s-nd wper, t i t l e d , "An Overview Of A
System For AutaMtic Generation Of F i l e Conversion Progrmrs ," by N. Adam Rin and
Maxine Brown is intended t o provide a mre user oriented view based on the i r
experience in ut i l izat ion of the system developed by Ramirez.
fiere have been m y research ac t iv i t ies and a large n* of papers i n
this area. The tnird paper, "Autolmatic Generation of Software System5 - A S u w e y , "
by S. Pxywes serves to re la te the researall undemay a t the University of
Pennsylvania, t o the r m y recent and current ac t iv i t ies i n this f ield. It also
aims to clearly define short and long t e r m cbjectives and methodologies.
TABLE OF ( JNIEV '
Page
I. AUIWX'IC QJER?iTICN 0d DA!I'A ~ ~ ~ I C N PTr>GWS LEE'JG A EA D E S C ~ O ~ ~ 7 ~ 3 ~ ~ 2 3 , J.A. ~ E Z , N.A. m AND N.S. PFWES
1. Introduction
2 . S m m c y of Language Processing Faci l i t ies Of The UUL/DML Processor 4
3. I n f o m t i o n F l m In The DF&/DML Processor 7
3.2 Overview Of ?he DE/D4L Processor 7
3.3 The Syntax Analysis Program Generator (SAPG) 10
3.4 The clca Qmpiler 13
3.5 Data Conversion Processor 18
11. &I OVERVIEW OF A S Y m EOR AUIUWI"I'C GENERATIO:iI OF FlLE a3iWEION P#X;RAMS, N. Adam Rin and Maxine Brawn
1. An Overview Of me KIL Processor System 1
B. Rze DRL Language a s a Data Descxiptim Language 3
C. Capabilities and Applications of DC& and Its Processor 5
2. U s a g e and Capabilities Of The DDL Processor An I l lus t ra t ive Exrmple 7
A. Usage and function of the M& Processor 7
C. Features and Capabilities of the L a n w e and Processor 36
D. Evaluation 39
3. Current =search 41
11. AN OVERVIXW OF A SYSTEM FOR ATJIWATIC ON OF FILE P a g e 05NVEIZSICEJ PRXWMS, N. Adam Rin and Maxine B m
4. Other Possible Future Work 4 1
111, ~ ~ I C G3NERATIOi'J 9F SOFIWAIE SYSTW - A S m , iJ .S. P ~ s
1. lbtroduction 1
Part I Current Problem In Software Developznt 2
2. Overview Of Historic and ~03mmic Considerations 2
3. Analysis Of ?he Software D e v e l o ~ t Process 7 .
P a r t I1 Future Advances In AutaPMtion Of Software Develo~ano~lt 1 4
4. AutxmMtic Design and Implementation Of Programs 14
5. A w t i c Gaeration Of N a n - P r o c e d u r a l Specifications 25
6. Cbnclusions 31
IffJIvESIW OF PENNSYLvzwXA The &bore School of E l e c t r i c a l Ebgineering
Department of Wter and Infomation Science
Project Supervim Noall S. Prywes
January 1974
Prepared for the Office of Naval Msearch
Infonratian System ArluagtDn, Va. 22217
under
-tract N00014-67-A-0216-0014 Project No. NR 049-153
F&producticm in whole or in part is permitted for any purpose of t%e united States CovermEnt
-re S w l Report # 74-05
"AUTOMATIC GENEMTION OF DATA CONVERSION PROGWlS IlSIhTG A DATA DESCRIPTION LANGUAGE"
J . A . Ramirez, N.A. Rin and N.S. Prywes
The Moore School of E l e c t r i c a l Engineer ing , L h i v e r s i t y of 'Pennsylvania , P h i l a d e l p h i a , Pennsy lvan ia 19174
ABSTRACT :
Costs and development t imes invo lved i n computer s o f t w a r e have
been exceed ing ly l a r g e . Programming and t e s t i n g cons t i t u t e t h e major
component of t o t a l s o f t w a r e c o s t and account f o r most of t h e s l i p p a g e s
t h a t have been wide ly exper ienced . I t h a s a l s o been found exceeding>]
d i f f i c u l t f o r management t o c o n t r o l t h e p r o g r e s s o f programming and t e s t i n g
of s o f t w a r e . There fore t h e r e s e a r c h program d e s c r i b e d h e r e aims i n i t i a l l y
a t reduc ing and c o n t r o l l i n g t h e s e components o f t h e c o s t s , p a r t i c u l a r l y
i n t h e Business A p p l i c a t i o n Programming Area.
H i s t o r i c a l l y i t has been necessa ry t o employ t h e computer i t s e l f t o
reduce programming c o s t s through u s e of h i g h l e v e l programming languages ,
such as COBOL o r P L / I , o r u s e of Data Base Management Systems. The
i n c r e a s i n g c o s t s i n d i c a t e t h e need t o employ even a h i g h e r level of
automat ion than employed s o f a r , and automate t h e programming i n h i g h l e v e l
l anguages ; namely a u t o m a t i c a l l y produce ad hoc proprams i n languages such
a s COBOL o r PL/I .
The paper d e s c r i b e s a methodology t o a u t o m a t i c a l l y g e n e r a t e programs
and t h e a p p l i c a t i o n o f the methodology i n a P r o c e s s o r f o r g e n e r a t i n g f i l e
convers ion programs. The P r o c e s s o r , a c c e p t s a s i n p u t d e s c r i p t i o n s o f
s o u r c e and t a r g e t f i l e s i n a Data E c s c r i p t i o n Language (DDL) and d a t a
manipu la t ion s p e c i f i c a t i o n s i n a Data Flanipula t ion Langungc (Db11,). I t
p r o d u c ~ s 'i:; a n o i i tput a cnnvc~rs ion pro>-ram i n I'l./T c : ~ ~ ~ ? b l t a o f rc7!iv~ 1.L i t 1 3 ~
t l ~ c s o u r c e f i 1 ~ . a ~ l d prodi~c ing tl1c8 tar2:t.t f i l c . .
1. INTRODUCTION :
The u l t imate goal of t h e research reported i n t h i s paper is the
automatic generat ion of programs t o perform da ta processing. The design
ob jec t ives have been as fol lows:
1. Input t o t h e automatic programming system should be l a r g e l y
(but n o t completely) der ived d i r e c t l y from the func t iona l
s p e c i f i c a t i o n s f o r the program t o be developed. (A number of
languages f o r func t iona l s p e c i f i c a t i o n s a r e i n use [ I ] ) .
2 . Control , input /ou tput and da t a d e f i n i t i o n code i s t o be generated
automatical ly .
3. Data manipulation no t s p e c i f i e d i n t he input t o t h e system, can
be added i n a modular manner without r equ i r ing concern wi th i n p u t /
ou tput , o r con t ro l o r da ta d e f i n i t i o n code.
4. A methodology f o r debugging, test and proofing of program
components t h a t i s ex t ens ib l e t o t he e n t i r e end product program.
The paper descr ibes a s t e p toward t h i s goa l , a Processor which has
been developed t o generate programs f o r the l im i t ed app l i ca t i on of da ta
conversion. The Processor accepts a s an input func t iona l de sc r ip t i ons of
source and t a r g e t f i l e s i n a Data Descr ipt ion Language (DDL) . To spec i fy
v a l i d a t i o n c r i t e r i a , d a t a s e c u r i t y , summaries and r e p o r t s , t h e Processor
accepts i npu t s i n a Data Manipulation Language (Dm). It produces as an
output a conversion program i n PL/1 capable of convert ing t h e source f i l e
and producing the t a r g e t f i l e . The advantage of using t h e Processor over
programming d i r e c t l y i n PL/1 a r e , b r i e f l y , the much s impler d a t a d e f i n i t i o n
i n DDL, e spec i a l l y f o r v a r i a b l e length f i e l d s and records , and the automatic -
genera t ion of JCL statements and ad-hoc PL/1 code f o r d a t a dec l a r a t i on , i npu t /
ou tput c o n t r o l l o g i c and f o r c a l l s on the DML procedures when appropr ia te .
The Processor generates the top l e v e l s of the program, performing the
program design and producing documentation and cross referencing.
The emphasis i n t h i s paper is on the methodology used i n cons t ruc t ing
the DDL/DML Processor. The methodology is d i r ec t ed t o implementing
processors f o r automatic generat ion of programs f o r s p e c i f i c a reas of
da t a processing appl ica t ions . It i s a l s o d i r ec t ed toward maximum ease
In modif icat ion of t he func t iona l s p e c i f i c a t i o n input language, a s such
languages a r e considered experimental u n t i l considerable experience has
been gained i n t h e i r use. This d i r e c t i o n of t he work, repor ted i n the
paper, i s r e f l e c t e d i n t he discussion of languages used and information
flow i n the DDLIDML Processor i n Sect ions 2 and 3 below, respec t ive ly .
The DDL/DML Processor automatical ly produces conversion programs
in PL11; i .e . , PL/1 is used a s an intermediate objec t / source language i n
t h e compilation process of DDL statements i n t o machine code. The main
reason f o r t h e use of PL/1 code i s e a s i e r debugging and documenting of the
compiler and the respec t ive appl ica t ions .
T h e Processor i t s e l f has a l s o been programmed i n PL/ l , t o f a c i l i t a t e
ease of programming and t o allow f o r b e t t e r documentation. The processor
i s programmed f o r IBM 360/370 computers. It has been used i n s e v e r a l
app l i ca t ions t o determine i ts computer usage, r e l i a b i l i t y and dependabi l i ty .
A r epo r t on the Processor design and a User Cuide t o i t s app l i ca t ions
and use are ava i l ab l e as p a r t of the Ph'.D. D i s se r t a t i on of t he f i r s t
Author [23 .
The appl ica t ion of DDL/DML and the Processor cons i s t of the
following: (1) A Language f o r communication between humans about da ta
s t r u c t u r e s : For example, f o r an ana lys t t o descr ibe a da t a base t o
an appl ica t ions programmer. (2) Pes t ruc tur ing and conversion of
f i l e s : A s a u t i l i t y , the Processor enables the user t o convert f i l e s .
(3) In t e r f ac ing f i l e s with d i f f e r e n t programs and programming languages:
The Processor , can convert f i l e s i n t o a s t r u c t u r e which can be processed
by another program. ( 4 ) Validat ing and e d i t i n g of a f i l e : By def in ing
a f i l e i n DDL, one can v a l i d a t e i t according t o user-provided c r i t e r i a
w r i t t e n i n DML. (5) Report generation: By def in ing the source f i l e t o
be a da t a base and def in ing the t a r g e t f i l e t o be a r e p o r t , the DDL/IIML
Processor f a c i l i t a t e s r epo r t generation. (6) Generally, s i n g l e f i l e t o
s i n g l e f i l e processing with intermediate manipulation of data .
2. SUMMARY OF LANGUAGE PROCESSING FACILITIES OF THE DDL/DML PROCESSOR
The processor has e x t e r n a l as w e l l a s i n t e r n a l languages. The
e x t e r n a l user-oriented language used f o r input is DDL/DML. The i n t e r n a l
languages a r e used t o spec i fy t h e syntax of DDL and some of t h e semantics.
Based on these l a t t e r s p e c i f i c a t i o n s var ious por t ions of t he processor a r e
automatical ly generated. The main aspec ts of both types of languages
a r e summarized below.
DDL has ex tens ive f a c i l i t i e s f o r descr ibing da t a f i l e s , covering
both l o g i c a l and phys ica l s t r u c t u r e s of the data . There a r e f a c i l i t i e s
t o descr ibe such concepts as repea t ing f i e l d s , mandatory o r op t iona l
f i e l d s , f i xed o r v a r i a b l e length f i e l d s . There a r e b u i l t - i n funct ions
t o produce summaries, g iv ing information on length of f i e l d s o r t he
number of repeat ing f i e l d s . Code f o r e d i t i n g and reformatt ing i s
generated automatical ly . The syntax of DDL i s s i m i l a r t o the da t a
desc r ip t ive f a c i l i t i e s of COBOL, PL/1 o r t he DDL designed by t h e CODASYL
Data Base Task Group [3]. The DDL used i n t h e Processor is based on
a subse t of the DDL design by Smith [ 4 3 . In the course of the implementation
and use i t w a s found advantageous t o make modif icat ions t o make DDL
e a s i e ~ t o implement and use. A more de t a i l ed descr ip t ion of t he f a c i l i t i e s
of DDL accompanied by many i l l u s t r a t i v e examples of i t s use can be found
i n t h e U s e r Guide Appendix of 121.
DML i s used f o r spec i fy ing va l ida t ion c r i t e r i a f o r t he d a t a , f o r
spec i fy ing complex conversions not bu i l t - i n t he Processor , f o r producing
summaries, and f o r producing r epor t s . DML is , i n f a c t , a subse t 'of
PL/1, and the re fo re , has general manipulative capab i l i t y . The Processor
may be a l s o regarded a s an adjunct t o a PL/1 Compiler, adding, i n f a c t ,
the f a c i l i t i e s of DDL t o PL/1.
The syntax of DDL i s easy t o change. The s p e c i f i c a t i o n of the syntax
of DDL i t s e l f and i t s i n t e r n a l encoding is used as an input t o a por t ion
of t h e Processor, from which the Syn tac t i c Analysis Program (SAP) f o r
DDL is generated. The language used t o spec i fy the syntax of DDL is
an &tended BNF (EBNF).
To convey some of the semantics, the spec i fy ing language was
extended f u r t h e r by allowing the s p e c i f i c - ca l l i ng f o r subrout ines . The
Extended BNF With Subroutine Calls is r e fe r r ed t o i n t he following
a s EBNF/WSC. It was used f o r spec i fy ing processing and encoding of
t h e DDL Statements i n t o i n t e r n a l t a b l e s , and thus a l s o t o reduce the
work i n programming the code generation.
The s p e c i f i c a t i o n of DDL is used as an input t o a program c a l l e d
Syntac t ic Analysis Program Generator (SAPG) . This program then
generates SAP, which is used t o s y n t a c t i c a l l y analyze and encode t h e
input DDL/DML statements. This aspec t of the processor was considered
most important, a s it was r ea l i zed t h a t the DDL being used, a s we l l as
o t h e r func t iona l s p e c i f i c a t i o n languages, a r e experimental and extensive
&anges may be necessary before even a near optimal language is
obtained. This f a c i l i t y was indeed used t o change the language. For
i n s t ance , a change from the DDL designed by Smith [4] t o a modified
DDL was accomplished i n l e s s than a week. Another advantage was the
ease in i n c o ~ p o r a t i n g input e r r o r ana lys i s , a s experience was gained
wi th use of t he DDL P ~ o c e s s o r . It was a l s o found t h a t automatic
generat ion of t h e SAP, v i a SAPG, g r e a t l y speeded and reduced the work
requi red t o implement t he processor.
Trans i t ion Matrfces were used in Lexical Analysis of t h e DDL
as we l l a s the EBNF/WSC statements following the ideas i n [ 5 ] , and [ 6 ] .
It f s , howwer, noteworthy t h a t techniques f o r automatic
generat ion of t he Processor 's code generat ion rout ines were no t used.
This w a s because t h e DDL processor is spec i a l ly designed t o generate
conversion programs and t h e research t o da t e [ 7 ] on automatic
generat ion of code f o r genera l purpose language compilers i s no t
appl icab le . Therefore, t h e code generat ion of the DDLIDML processor
w a s hand coded i n PL/l . Thereby, b e t t e r e f f i c i ency was a l s o achieved
i n t h e generat ion of t h e conversion programs. A l l t h e hand codes, a s
w e l l as au tomat ica l ly generated p a r t s of t h e system, inc luding the
SAPG, were w r i t t e n i n PL/1 f o r reasons of f a c i l i t a t i n g programming,
m a i n t a i n a b i l i t y and l imi t ed machine independence.
3. INFORMATION FLOW I N THE DDLIDML PROCESSOR
3.1 LWTRODUCTION
The information flow i n t h e DDLIDML Processor is i l l u s t r a t e d i n
Figures 1 through 6. Figures 1 and 2 give a progress ive ly somewhat
w e d e t a i l e d werv i ew of t h e e n t i r e processor . The remaining four
Figures , give a f u r t h e r d e t a i l e d information on t h e t h r e e major
components, the Syntax Analysis Program Generator, t h e DDL Compiler
and t h e generated Conversion Program, r e spec t ive ly .
3.2 OVERVIEW OF THE DDL/DML PROCESSOR
The DDL/DML Processor is a c t u a l l y a set of t h r e e processors .
These a r e shown i n Figure l a a s fol lows: The f i r s t i s t h e Syn tac t i c
Analysis Program Generator (SAPG). It accepts a s an input t h e EBNFIWSC
syntax s p e c i f i c a t i o n s of t h e DDL and produces t h e Syntax Analysis Pro-
gram (SAP) f o r t h e DDL. This product i s then joined wi th i n p u t s cons i s t i ng
of rou t ines providing a d d i t i o n a l semantics , code genera t ion l o g i c , e t c.
t o make t h e second processor , the DDL Compiler. The second processor
accepts t h e DDLIDML statements and i t s product is t h e t h i r d processor ,
I SYNTACTIC ANALYSIS SYNTAX PROGRAM I
GENERATOR (SAPG) TN E K i F / W S C
LEXICAL & SYNTAX ANAL. nOUTINES FOR
DDL-COMPILER STMTS)
C I J W C;L;JERATION
SOURCE DATA CONVERSION
DATA PROCESSOR I
ROUTINE FOR DDL
I v
TARGET DATA l a TIT, DDL/~I :L PJ?.OCESSnR
V
SYNTAX FEFINI'!Tflr7 I COMPILER- COMP I LER I SSPIEMTICS AND CODE GENERATION RULES
I N P U T DATA USERS PROGRAM I OUTPUT DATA
l b COMPILER-COMPILER SYSTEM
t he Data Conversion Program, which is used t o convert the source
da t a i n t o the t a r g e t data .
An analogy with e x i s t i n g computer programming language systems
i s i l l u s t r a t e d by comparing Figure l a with Figure l b . The SAPG
( i n l a ) is analogous t o a compiler-compiler's syntax ana lys i s generat ion
module ( i n l b ) which is used t o produce syntax ana lys i s programs f o r
t he s p e c i f i c language. The DDL Compiler ( i n l a ) i s analogous t o a
programming language processor , ( i n l b ) such as COBOL, FORTRAN o r PL/1
compilers. The Data Conversion Processor ( i n l a ) is analogous t o an
executeable user program ( in l b ) . The r e l a t ionsh ip between the use
of the three processors i n t h e DDL system is r ead i ly seen from the
ana logy.
The SAPG is a program used t o c r ea t e t he syntax ana lys i s program
which i n t u r n , becomes p a r t of t h e DDL Compiler. The "generator" is a
very -valuable t o o l i n the development of t h e DDL Compiler. Furthermore,
it could be a "stand-alone!' va luab le t o o l i n w r i t i n g any language syntax
ana lys i s program.
The DDL Compiler and the Data Conversion Processor a r e t he only
components of t h e DDL Processor t h a t most users w i l l need. To produce
a Data Conversion Processor, a u se r w r i t e s a da t a d e f i n i t i o n , a s e r i e s
of s ta tements i n DDL, f o r each of t h e source and t a r g e t f i l e s . These
s tatements a r e b a s i c a l l y desc r ip t ions of t he formats of t h e source and
t a r g e t f i l e s - and of t ransformations from the former t o t he l a t t e r .
I f da t a -manipulation is needed, a s e r i e s of rou t ines a r e w r i t t e n i n DML.
These s tatements a r e used a s inputs t o t he DDL Compiler. The compiler i n
t u rn produces a da ta conversion program. J u s t a s i t is n o t necessary
t o compile a conventional program each time i t is used, i t is not
necessary, a l s o , t o c r e a t e a new da t a conversion program, each time
i t i s used. The same ob jec t module could be re-used ( e i t h e r a s PL/1
source o r i n o b j e c t code form).
A somewhat more d e t a i l e d view of t he t h r ee major components of
t h e DDL Processor i s given i n Figure 2. In Figure 2-6, t h e t h r ee
processors a r e i d e n t i f i e d by being surrounded by broken l i n e s . A
r e c t a n g l e wi th t h e 'missing top represen ts an i npu t , and wi th a missing
bottom an output. Outputs which a r e programs, a r e shown i n t rapezoids .
When t h e output i s a program, double l i n e s a r e used t o show where i t
i s l a t e r used. Figure 2 shows an overview of the information flow
wirh some add i t i ona l d e t a i l . In p a r t i c u l a r , syn tax and l e x i c a l ana lys i s
p,rogram makes up the DDL Compiler.
The discuss ion i n t he following three sub-sections (and i n Figures 3
through 6) provides a more d e t a i l e d view of t he components, i n t he
o rde r of top t o bottom of Figure 2 .
3.3 TlB ~~ ANALYSIS PROGRAM GENERATOR (SAPG) -
The top l e f t of Figure 2 is expanded i n Figure 3. The SAPG i s
a compiler i n i t s own. It cons i s t s of k x i c a l Analysis (a) Syntax
Analysis (b) and Code Generation (c) modules, a l l hand coded i n PL/1.
They a r e compiled i n t o IBM/370 machine code using the PL/1 compiler,
and form the SAPG.
The input t o SAPG is the DDL syntax s p e c i f i c a t i o n , i n EBNF/WSC - . The output (f) i s a Syntax Analysis Program (SAP) - i n PL/ll which
can perform the syntax ana lys i s on s tatements w r i t t e n i n DDL.
The SAPG has a l l the components of a compiler. The l e x i c a l
ana lys i s cons i s t s of processing the EBNFIWSC statements t o form
tokens. The syntax ana lys i s f u r t h e r processes the EBNFIWSC s t r i n g s
of tokens t o perform various checks, generate e r r o r comments and
organize the information i n accordance with the i n t e r n a l t a b l e s .
F ina l ly t h i s information is analyzed and the SAP PL/1 code i s
generated f o r processing subsequently ( i n Figure 4) the DDL Statements.
3.4 THE DDL COMFILER
Figure 4 shows the components t h a t a r e used t o make up t h e DDL
compile^. They a r e a s follows:
(1) The Lexical Analysis Subroutine f o r DDL - hand coded i n
PLI 1.
(2) The Syntax Analysis Program (SAP) - produced by the SAPG
m PL11.
(3) Supporting subrout ines - w r i t t e n i n PL/1, perform se rv i ces
requi red by the SAP. Services inc lude recognit ion of s y n t a c t i c elements,
d iagnos t tcs of syntax e r r o r s , c r ea t ion of I n t e r n a l Tables (symbol and
d a t a t a b l e s ) and, if s p e c i f i e d , a cross-reference t a b l e of t h e i d e n t i f i e r s
used i n t h e DDL program. These subrout ines can be ca l l ed i n the
EBNF/WSC statements .
(4) Code Generation Program - w r i t t e n i n P L / ~ , forming the
basis of t h e code generat ion phase of t he DDL compiler. I n it i s
contained the l o g i c requi red t o i n t e r p r e t t h e information s t o r e d i n
t h e i n t e r n a l t a b l e s and t o generate PL11 statements which w i l l perform
the da t a conversion ind ica t ed by the ana lys i s of DDL statements .
0 LEXICAL ROUTINE FOR DDL I N PL/1
I SYNTAX ANALYSIS PROGYM. FOR DDL I N I
-
0
SYNTAX SUPPORTING ROUTINES, CROSS- REFERENCE ROUTINES
I t 1 P L 1 1
DDL & DML S TATBrnNT5
P L / 1 COMPILER
-
0 CODE GENERATION
+ DDL COMPILER ( I B M / 3 7 0 CODE)
r - - " " " ' - - - - - - - - - - --..----- I DDL COMPILER -
0 SOURCE F I L E
'- , - , , - , , , a - - , , -- - -, -- - --, - - - J
DATA CONVERSION @ PROGRAM ( P L / l )
r"" "-'" -""- - - - - - - - - - - - - - - - I I P L / 1 COMPILER D-; L - - , - - , , , , - - - , - - _ - _ , _ _ _ _ - _ _ - _ _ _ I
DATA CONVERSION PROGRAM (IBM 370 CODE)
,--- - - - - - - - - - - - - - - - - - - - - - - - - 2: DATA CONVERSION PROCESSOR -@I
I L - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - I
--
I P c. I
8 - TARGET
F I L E
(5) & (6) The PL/1 Compiler (5) produces the DDL Compiler
(6) i n IBM/370 machine code.
The remainder of t h e system i s a l s o summarized i n Figure 4, a s
f ollaws :
(7) The DDL statements given by t h e user descr ibe t h e s t r u c t u r e
of h i s source and t a r g e t f i l e s and mappings from the former t o t he
l a t t e r . The DML statements descr ibe the f i l e manipulations t o be
performed on t h e source f i l e , such a s e d i t i n g , complex spec i a l i zed
conversion formulas, s e c u r i t y t e s t i n g , repor t generat ion and
s t a t i s t i c a l ga ther ing of data .
(8) & (9) The Data Conversion Program, i n PL/1 is the input t o
the PL/1 compiler (9) t h i s produces t h e Data Conversion Program (10)
f n ma&-ine code f o r the I8M/370.
U O ) , (11) and (12) F ina l ly the Data Conversion Program (10)
accepts as input the source f i l e (11) and outputs t he t a r g e t f i l e (12).
The compiling process i s f u r t h e r expanded i n Figure 5. I t is per-
formed i n two phases, a s descr ibed below.
P W E 1 OF THE DDL C O W I U R
I n phase 1, DDL statements a r e read by the Lexical Analysis Pro-
gram (LEX) t h a t forms tokens which a r e i n t u rn the input t o the SAP.
The SAP examines the s t r i n g of tokens t o determine whether o r no t the
s t r i n g obeys c e r t a i n s t r u c t u r a l conventions e x p l i c i t i n t he s y n t a c t i c
d e f i n i t i o n of t he language. Should an e r r o r be discovered, t h e e r ror -
d i agnos t i c rout ines w i l l be ca l l ed t o output a message informing t h e use r
of the loca t ion and na ture of the misconstruct ion.
Concurrent with t h i s e r r o r de tec t ion is the i n t e r n a l t a b l e generat ion.
A t t h i s t ime, rout ines a r e ca l l ed whose func t ions a r e t he capturing of
information contained i n t h e DDL source s tatement and the bu i ld ing of
t a b l e s t o preserve t h i s da t a i n coded form f o r use during code genera t ion ,
as we l l as i n the de tec t ion of global syntax e r r o r s . The i n t e r n a l t ab l e s
t h a t a r e formed a r e t he Symbol and Data Tables. I f no e r r o r s were de tec ted
and i f a "XREF" opt ion w a s spec i f i ed t o the DDL Compiler, then the
cross-reference t a b l e i s generated and output f o r the u s e r ' s re ference .
PHASE 2 OF THE DDL COMPILER
Phase 2 is code generation. The f i r s t p a r t of Phase 2 i s the execut ion
of a s e r i e s of programs which s t e p s through the Data Table and generates
PL/1 dec lare s ta tements . When compiled, these w i l l produce a Descript ion
Table t h a t contains t he following f o r each f i e l d of t h e source record:
(1) da t a desc r ip to r information, and (2) space f o r p l ac ing po in t e r s t o the .
f i e l d a t execution time.
Af t e r the compiler has produced the Descriptor Table, a c a l l i s made
t o the Data Pars ing Code generat ion rout ines . These rout ines generate the
code which w i l l set the f i e l d po in t e r s i n the Descriptor Table en t ry t o p o i n t
t o t h e f i e l d s i n the input bu f fe r of the source f i l e a t run time.
The second p a r t of Phase 2 i s a program which uses t h e Data Table
e n t r i e s f o r t h e t a r g e t f i l e and generates the da t a movement code, which moves
the source da t a i n t o the t a r g e t f i l e . This completes Phase 2 of the
DDL compiler. A t t h i s po in t t he DML s tatements a r e read by the DDL compiler
and they a r e merged wi th the code produced during t h e code generat ion phase.
The c rea t ion of t he da ta conversion program i n IBM/370 machine language,
i s performed by the PL/1 compiler. The input t o t he PL/1 compiler i s the
PL/1 t e x t produced i n Phase 2.
3.5 DATA CONVERSION PROCESSOR
The Data Conversion Processor is composed of t he s e t of programs
and d a t a which was produced by the DDL compiler and the DML rout ines
suppl ied by the user . This i s i l l u s t r a t e d i n Figure 6 , i t is composed
o f :
(a ) a Data Conversion Program
(b) a Data S t ruc tu re f o r t h e source f i l e , and
(c) a s e t of DML subrout ines
The Data S t ruc tu re f o r the Source F i l e , which was produced by
t h e DDL Compiler from the DDL statements , is used by the generated
Data Conversion Program t o a i d i n pars ing the source da ta . The o ther
component of the Data Conversion Processor, the user-supplied DML sub-
rou t ines , perform funct ions such as charac te r s e t conversion, extension
or t runca t ion of f i e l d s , da t a type conversion, c r i t e r i a t e s t i n g , s ecu r i ty d
t e s t i n g , repor t generators and gathering of s t a t i s t i c a l da ta .
The information flow i n the Data Conversion Processor , shown i n
Figure 6 , i n f a c t i s a representa t ion of a general ized s t r a t e g y f o r da t a
conversion. I n terms of a program t h i s s t r a t e g y is represented by two
p a r t s . The f i r s t cons i s t s of the da t a d e f i n i t i o n and con t ro l code which
i s requi red i n a program t o a l l o c a t e bu f fe r s , input /output of blocks
and T e c o ~ d s , Tdentify t he loca t ion of da t a elements i n accordance with a
s p e c i f i e d da ta s t r u c t u r e and f i n a l l y perform standard conversion funct ions.
The "flow char t" f o r the pne ra t ed . code Is i l l u s t r a t e d i n F i g 7. I n a
"top-down" [ 8 1 concept of a pro F a q .the f i r s t p a r t c o n s t i t u t e s t he "top ." The second p a r t , which cons i s t s of da t a zanipulat ion rou t ines i n DML
c o n s t i t u t e s t h e "bot to n " l e v e l of a pro park This p n e r a l s t r a t e eg has
FIGITRE 6
DATA CONVERSION PROCESSOR
S OL'RCE F I L E
- w- TARGET
F I L E
- -' ' - - -"~'--""-""""'"-""""-~"~- - - I
2 0 I DATA CONVERSION PROGRA?I t I
t 1
1, , - - - - - - - - - - - - - , - - - , , , - , - - ,- - - - - - - - - - - -
Y
@ DATA STRUCTURE
FOR SOURCE F I L E
'0 DML
ROUTINFS
4 ,
*
DDL GENERATED PROGRAM PROTQTYPE
Declare I n t e r n a l "Housekeeping" Variables + Declare Input bu f fe r s f o r source f i l e + Declare s t r u c t u r e of po in ters and lengths f o r every f i e l d and group i n the source f i l e + Declare Output bu f fe r s f o r t a r g e t f i l e
4 end of f i l e +call - READ a user-defined record - - - - - - - -
c a l l LOCK rout ine i f any I I
Set a l l po in te rs of source record i n i t i a l l y t o n u l l
1
FrRAPW procedure i f any
4 c lose f i l e s
I 1
For each f i e l d i n source record: ---- + STOP
1) Cal l c r i t e r i o n procedure, i f any, t o test ex i s t ence 2 ) Determine s t a r t i n g pos i t i on of f i e l d and s e t
po in t e r t o i t 3) Determine length of f i e l d a s
(a) a given constant (b) by scanning f o r a del imeter (cJ by e i n g a rou t ine t h a t computers length (dl by r e f e r r i n g t o the va lue of another f i e l d
o r (e) by using t he length o r count of another f i e l d
Any more source f i e l d s ?
-- 1
- For each t a r g e t f i e l d :
1 ) Find f i e l d i n source record o r constant t o be moved t o t a r g e t 2) Cal l the appropriate conversion rou t ine , i f s p e c i f i e d 3) Concatenate source f i e l d t o the output b u f f e r being b u i l t
Anymore t a r g e t f i e l d s ?
- WRITE Output Record
been adopted from the beginning i n t he support ing and code generat ion
rout ines . It is t h i s type of s t r a t egy t h a t i s envisaged t o change from
one c l a s s of p o t e n t i a l app l i ca t ions t o another.
4. CONCLUSION
The Version 1.0 DDL/DML Processor has been found t o be an
e f f e c t i v e and e f f i c i e n t t o o l , by the u s e r s , i n s eve ra l app l i ca t ions ,
although i t has l imi t ed funct ions and c a p a b i l i t i e s . Additions of
funct ions and use t o gain add i t i ona l experience a r e progressing. The
authors t n v i t e those i n t e r e s t e d t o communicate with them regarding
r e c e i p t of t he system f o r wider experimentation. Present ly , t he
sub jec t ive impressions a r e t h a t e f f ec t iveness i n program development,
e f f i c i e n c y i n processing and r e l i a b i l i t y a r e g ra t i fy ing . However, t he re
have not been a systematic approach t o measuring these aspec ts s o f a r .
The authors however f e e l t h a t i n t h i s study of development, an
equal ly important outcome i s the a v a i l a b i l i t y of the system as a
.research t o o l and backbone f o r expansion t o accept o the r func t iona l
s p e c i f i c a t i o n languages and t o perform f o r wider c l a s se s of da t a
pcocessing appl ica t ions .
ACKNOWLEDGEMENT
The authors acknowledge with thanks the p a r t i c i p a t i o n i n design
and prog~amming by Messrs. H. Solow, P. Gross and A. French, and the
prepara t ion of the documentation and this manuscript by M i s s B. Weber.
REFERENCES :
[ I 1 Teichrow, D. : Survey Of Languages For S t a t i n g Requirements For Computer Based Information Systems, Proc. of t h e F a l l J o i n t Computer Conference, 1972, pp. 1203-1244.
Ramirez, J .A. : Automatic Generation O f Data Conversion-Programs Using A Data Descr ipt ion Language (DDL), Ph.D. D i s se r t a t i on , Universi ty of Pennsylvania, 1973.
Conference On Data Systems Languages. Data Base Task Group. Report t o the CODASYL Programming Language Committee. Associat ion f o r Computing'Flachinery
Conference On Data Systems Languages. Data Base Task Group. Report t o t he CODASYL Programming Language Committee. Associat ion f o r Computing Machihery, New York, New York, Apr i l 1971.
Conference On Data Systems Languages, Systems Committee. Feature Analysis of Generalized Data Base Management Systems, Associat ion f o r . Computing Machinery, New York, New York, May 1971. 511p.
Smith, D.P.: An Approach To Data Descr ipt ion and Convem~bn, Ph.D. D i s se r t a t i on , Univers i ty of Pennsylvania, 1971.
Floyd, R.W. : The Syntax O f A Programming Language - A Survey, IEEE Trans. , 1964.
Conway, M.E.: Design O f A Separable Trans i t ion - Diagram Compiler. Comm. ACM., Vol. 6 , No. 7, 1963.
Fang, I su . : A Dec la ra t ive Formal Language Def in i t i on System, Ph.D. D i s se r t a t i on , Stanford Univers i ty , 1972.
H.D. Mills, Top D m - Pxogramming I n Large Systems , Debugging ~ e c h n i q u e s , Edi to r , P r e n t l i e B a l l , 1971, pp . 41-55.
ALq OVErnETJ OF A SYSTEM FOR A U r O ~ I C GmErnIOiI OF F'ILE 0 2 6 w E ~ I Q U PFoGRac6
N. Adam R i n and Maxine Brown
&is paper describes a processor which aumatical ly produces f i l e oonversion program based on mn-procedural user specifications. Tne Processor accepts, as input, descriptions of a source f i l e and a desired target f i l e with s a ~ auxilliary descriptions of assoc ia t i . between the m. Tnis is specified by a user in a Data Description Lampage (DL&). To specify validation criteria, q l e x , conversions not built-in to the system, security criteria, or sumnary p~ocesses, the system also accepts specif icaticns in a Data Manipulation Language (IML) . It produces, as an output, a oonversion program i n PL/1 capable of con- the described source f i l e into tne desired target file. me paper describes the structure, system design, capajilities, and applications of the Dm- larquage and processor, including an i l lustrative exanple.
I?. Adam Xin and Maxine B m m
I. Pui OlEWD3J CF THE DDL PRXESSOR SYSTEM
A. lhtroduction
This paper is concerned with research done in the f ie ld of aukmatic
generatim of data conversion program; it provid.5~ an overview of an existing
software systemwhi& produces f i l e conversion programs fran a user's
specification in a data definition language and it discusses possible future
work in th i s area. The systm was designed and implemmted w i t h support from
the Office of Naval Reseaxch by a group of graduate students under the
swis ion of Dr. N. S. Prywes a t the ,-re Schwl of E l e c t r i c a l Engineering 1 A
at the University of Pennsylvania.
lrne system -loped is a step towards the actzzztic generation of data
processing programs. The class of data processing program which the existing
processor can aubnatically generate is f i l e canmion prqrarns;.i.e., the
system is able to produce a p m d u r a l program based on non-procedural user
oriented specifications to translate an e x i s t i q f i l e of k n m structure into
a ~&IJ desired formit. i-n-procedural specif icat io~s as used here are descriptive
staterrents defining the source and target f i l e s and -41at transformations are - to be performd be.tk;em the .two, but do not relate - h c ~ t!!ese t ransfomtions w i l l
be constructed. Tke procedural program produd Sy the srccessor is
1 For detailed documtntation of the system, its ixplmntat ion and use, see J.A. Rmnirez, "Automtic Seneration of D a t a Canversion Programs Using a Data Description Language (DDL)," Ph.D. Dissertation, Moore School of Electrical Engineering, University of Pennsyl.vania, Philadelphia, Pennsylvania , 19174; 1973.
a PL/1 mversim program oomplete with input/output related instructions,
logical sequencing and control, and invocation of s p e c i a l d p u l a t i v e routines
peculiar to th3 prcblem.
Figure 1 shows a Slock diagram of the processor which accepts, as input,
descriptions of a source f i l e and a desired target f i l e w i t h scarre auxilliary
associations be- the two specified in a D a t a Description Language (DDL) . %b specify validation criteria, c ~ n ~ 1 e x conversions not bui l t into tlne system,
security criteria, and sumnary processes, the system also accepts as input
prescriptive statexrents in a Data Manipulatim Language (m), a s*et of
PL/I w i t h general manipulative capabilities. The processor produces, as
oulqut, a pmcedural PL/l program capable of wnverting the source f i l e in-
the desired target f i le. The generated program is the? conpiled into machine
language, yielding a tailored-to-need conversion pmgrm. The processor can
therefore be regarded as an adjunct and enhancerent to the PL/1 cmpiler, adding
tbe faci l i t ies of DCIL to it.
B. T h e ElDL Language as a Data Descriptim Language
The DDL t i t has been developed aontains all the data definitim
faci l i t ies of and PL/l plus other unique capabilities for describing
data structures aad organization not found in these languages. For exanple,
Ule WB; language and its processor have the ability +a -Ute the length
of a data item a t -cution tire and to accept a variable rider of
occurr- of variable length data item.
The actual syntax of the' DDL developed is not e x t r e l y crucial to
pinpoint; the way tile processor was impl-ted makes it easy to clnange
the D L syntax. Namely, the specification of the syntax of MZ is i tself an
input to a meta-processor, developed by this project, which generates a
syntax analysis program for DC& (or any other language specified to it). As
sesn in the m r e refined block diagram of the LDL processor in Figure 2, t3j.s
eta-proassor, cdllsd a Syntax Analysis Program Generator (SAPG) , accepts
descripticms of a formal lmguge s u d ~ as DL& in a mta-language whi& is
essentially an -ion of F3NF. It generates a Syntax Analysis Program (SAP)
for that language (Wiria'I, in our case, is Dm) and invokes manually-written
processing routines. m e SAP for DL& together with manually written code
generation nudules form the bulk of the DIlL processor which, in turn, accepts
the WE@lL statemmts and generates a PL/1 program.
The i n p l m t a t i o n of the SAPG and its use to i n p l m t the MZ Systan
allows &anges to the syntax of KIL to be made relatively easily and in a short
period of tine. Thus, this processor muld accomodate o*er Data Description
Iaquages w i t h relatively little effort. This is a crucial fact, for su&
languages are considered -tal unt i l experience is gained on their
use and dfecti-.
C. Capibilities and Applications of CDL and Its Processor
Actually, any a ~ l i c a t i o n involving one input seqmqtial f i l e and one output
sequential f i l e is a candidate for use in the present D i Z System. Sore e q l e s
of tile uses of the DiZ language and its processor are th.r follcwing:
A Language for Ommmication aetween Eumans P b u t Data Structure
One inportant application of IXL is as a mans of ammmication between
htmms about the structure of data. For exanple, using a MZ, a designer of
a data base can describs precisely to an applicaticm programer the exact
structure of the data the programer is to use. Furthemre, even non-technical
personnel could learn a Dm-like language to describe data.
(2) Restructuring and Conversion of Files
As a ut i l i ty , t l e DDL processor in axjunction with llML enables the
user to redefine the structure of his f i l e , reformat it and convert it
accnrdingly. F u r t h m r e , anversion of a file can be done selectively; i-e.,
t b s e portions of a f i l e that met a user's criteria can be selectively
m v e r t d o r copied to a new f i l e .
Interfacing Files with Different Program and Programing Languages
Frequently f i l e s created by one program mnnotbs processed by another
program or by another program in a different programing language or mnputer
facility. With the DIZ processor, f i l e s can be mnverted into a structure o r
forrat which can be processed by amther program o r machine. In this manner
files can be interfaced across programing languages and cmputing faci l i t ies .
(4) V a l i d a t i m of a Fi le
By defining a f i l e in DCIL, one can validate it amording to user - provided cr i ter ia written i n DiL.
II. US= AND CAPABZCTIES OF THE DC& P-R WIPI IlUETRATISE EXAMPLE
A. Usage and function of the DIL processor
Figure 2A S;IC~JS a block diagram of a e usage and function of the
DC& processor. A f i l e canversian p d l m using a e DL& system passes t h r o w
bra states; tne user is responsible for f o d a t i n g and describinq the data
definitias, mappings, and d p u l a t i o n s in the DXL/DML language, and the DDL
processor w i l e s and executes these descriptions .to pruduce *e desired f i le .
mumrating W process, the user is responsible .for producing the following:
(1) a EK& descriptim of the source file,
(2) a description of the target f i l e with the associated mappings
frva the source f i le , and
(3) the DlL routines for qecifyhg criteria, special amputaticm, and
a m p l a conversions not built-in to the systan.
The IX& processor, in turn, w i l l generate the f o l h i n g program and listings :
(1) the desired generated PL/1 pmgram that pe r fom the canversions
(this program declares appropriate variables, allocates and opens Suffers for
ti.le m e and target files, issues input ummnds for reading the source f i l e ,
issues output amormds for rniting the target file, .
and in* the user provided CT4L routines a t the appropriate locations) ;
(2) a list ing of the user's DB&/DML statmats;
(3) diagnostics for user errors;
(4) a cross-reference table which has an al&abetical listing of all
the narrres which appear in the user's WZ desaiption along with its attribute
(field, -up, -rd, etc. ) and the l ine n e of a l l the statenmts in which
it appears;
(5) a list ing of the w e d Jab Cbntrol Language (JCL) cards which des-
cribes the input and output f i les and are needed to run the generated program
under the 05 360/370 operating system.
DDL PROCESSOR
WILL BE I LUSTRATED
IN
FIGUR 2A: USAE A 0 FMCTIQ'i OF THE D l L4'4GUAdE AD PRIES334
USER
GENERATED PROGRAM
FIG, 6
(ILLUSTRATED I N FIG, 4)
a3MPI LATI ON
----- EXECUTION
OF
WTA DEFINITION AND MAPPING
- - _ . .
-L
DDL/PL - LISTING FIG, 5~
4
" DIAGNOSTICS FIG, 5
. CROSS-REF - TmLE FIG, 5C .
1\ - "'- REQUIRED FIG, 5~ JCL
, WI FIG, 5~ GENE RATED
/ 4cRI PTIoN
-Ic
A
WTA DFlL ROWINES PW I PULATI ON
OF SOURCE
- J
L
FILE /
/+
4 i s c R I PTIoN L, L
FI LE f 4 OF TARGET
generat& pIogram, integrated with the u s e r p r o v i ~ DML routines, is
input inta the PL/1 cmpiler, onpiled in- ma-e language, and e)~~cuted
to pmduce ~e desired target f i le .
The above listings w i l l be illustrated later in Figures 5a - 5e.
B. Statenent of Prablem
In order to present a brief discourse on haw .to use the IXX system,
a sanple prcblem was devised, irrplenented, and reproduced in this section for
illustrative purposes.
It is desired to mnvert a given tape amsisting of text of nem articles
into one wficx;e records are of a mre legible format. The format of the
source records have the hierard~ical structure as sham in Figure 3a.
The iWM f ie ld contains a 5 digit nrnrber v&i& is the n w e r of bytes
amtained i n the field Iil!EXT.
IXZtPSEQ is a M g i t f ield which contains a serial number assigned
to the news article found in I N m. If tkbe art ic le is mre than 1 record - in length, the sare document nmber appears on a l l related reoords.
UQE is a 8-character field containing the date the news event tDok place.
TUE is a 5-character field containing the th of the event.
lTlZE is a y i a b l e l e n w ~ field whose length is to be amputed by a user
provided routine called EWEDJ.
IN-?Em is a field whid.1 contains the actual news article. It has a
variable length of up to 4088 bytes and wntains either the entire ar t ic le or
a portion bereof. In the la t te r case, the art icle is a m t i n e d in the next
recprd, but in no case is there ever mre than one ar t ic le per reoord.
The desired program is to perform the follwing conversions:
(1) the beginning of each art ic le is prefixed by a collection of fields,
FIGURE 3~ SOURCE REKIRD STRUCTUE
FI GUE 3~ TARGET E00m STRUCTUE
r OUT-RECORD
I
OUT- I NFO I
OUT-TEXT
I * b
# 1
. TITL~
m t e d as INF~WPITIUN, fm which we w i s h to extract DRTE, 'ITME, and TmZe.
(2) Zhe body of the news article oontains special sequences of daracters,
which shall be referred to as break &aracters, in-persed throu$~~ut the
mws article. These are to be scanned for and eliminated.
(3) The desired target tape is to mntain records with fields
WCE, TnE, and TlXU3, i f apropos, and an OUT - f ield, as depicted in
Figure 3b, which mnsists of the presesved text without the special break
&amctem and intnxluction. 'Be target texhral mrds are to output w i t h
a nraximunn of 75 characters per line for the purpose of legibility when the
tape is printed at a later time. For efficiency d d e r a t i o n s , hwever,
the 75-byte logical remrds are blocked to 7KlO characters on the output tape.
Figure 4 shms the dmp of the first few records of the original tape,
w h i l e Figures 5a through 5e show the listing produced by the DDL compilation
for this sarrp?le prcblan. A dmp of the first few records of the desired
taxyet tape is given in Figure 6.
- - XT, TFCCifjO null 7 2 ( 1 i : r ) f i i ::!f i : !: l F : J ~ I ~ T ~ ? ~ )==, - X X X C@C;STDERC\TTOPiS O F SYP'PAT
4 HYe==, ( : AC1.t r T L ) .CLIF-;''LL.;i: I JS THE S I G ! ; ~ ~ F I C L \ ~ J C C : OF rYC. I[:TF~!SIVE 2 - - - -- s}tlP,. , ! - ..r: ( Y ; i j ; , ' f i ? 1.t . ,'.r; Ti-j cb ( ? f7==- . - - - . - - . . - - -. -. ;if.!S!.i~i< : i < : > T '3.- A L L . 9 i) tEr: cpr --EX-..<-..r --.---.-
T h r ; ; ' . I . , - r * j i c ~ - ~ t : ~ l C ' f - > f i ~ = = - 1 J S I S T ~ iJT I N T t I X S Vltt'lTtl H ST'liE 1367. I J i Tt+Iq==,
- - . - - - ,*-(,; :, ..zy.. '. I S ALSO A riLACTID:.l TO TFJF liELL-K*j-J1..j:J F A C 1.. '
- . - .- . . T T I ) : i l 5 r : i ~ E L +';. n-',l,,: 3i-i\ rtt- --dSS !? - Fff,-f s--i 7" - ' --- 3 I~ IFLLIT ' !cE I:., E: SyPT ?,;t-jT PC. ? : E - , r c t r r ; = z - 1 T k 4 F . 5 "O? kCilJ Gf(tr4T f\ct!IEVE?lE.I'JTS F O R 1 TS PRO TCL.':: - r - ALL TL5. : - ' ==, ~ " ' I I J T ~ L I ' . ~ : , C L b L ? p,5r?: " . j i i A T !jOF?T OF bLLY \ \kF Yo U? fl; i ' i *,.;E P.tcc ==-
. . . * f . n l ( I~I.I:I..G it'r F 1 ~ 1 ~ Y F A ~ : . ,IP:C@ r ' g T A srrL!cLr ccjLr.IF:f;
. - -. . . .. - t i ; . j? .Lrj .== , L I T ~ I F T < . Y L . C . : r l : r . f #!C 1 T i i l l l ! " 1-C1 i-tiLP 1:s. ill(- ~ O U F < t 1 ~ L - k - 1s l.lOT -- --- . I + I . rL l'. j T I j f ! S i Y r ( t Pl<r3PAilLY F;ISI;:(; h[;Clbf THE==,
..-. - ---.-Em;-&: ~s :;,, IZ f - 1 - $ ~ c F r : ; . - L - - . - ~. . ---- ---.--.-.- L r L i r ~ \ C r i ~ r i ; i - ; T ~ t - i i S b t t - F ~ i l ~ T h ~ k I T S E L F k!Gbi T T ~ f i r . = = ,
CClS;!i\!.T: r T i :-a T I T S i f L L , ~ ; i t I i k F1fJ l ILL C0f.17 1:ilJE T @ I-.E CC; IJ~I~JFKA[:LE. -- --- I I : t I . ' 1 1 - a I . I I T r i S l i \ t r ;G i f l F F.1 11s S T b T l j s F.".rrl; [.'Kf'ST[bc 1t: TtiC==, C:) FJ: Z b ' F.d..:Y ,;Y SiiFt)P!r.!G API~IS;. 1 GELIEVL TIicRE IS ALSO==,
n 7F-S I R E - T Q - T - ~ F C ; T F i - - ~;:~J'-?;,-[S$~!j"t--'"'' . &r- L T , 1 < ~ ~ ~ - ~ - 1 4 - -u i ~ ~ ~ ~ ~ ~ f i - ~ - ~ xfc SF--- A - €I Y S A Y T",,: " I F YC1.i !!3 ! TI'.YT. ;.IF !:?; E i r r T G r\CCGLJF;'l r kkh R A Y &fit l \K==, OUT
- 1 -- - 7 ; F \ I t ; t t 5 fi \ I T T ~ ~ T F T I L * - F m S r S T f l S = , - A A R UF I G E KVES I l E 3 L . -- --_ T : :J : r IT ' L C l.i:,.~t H 1 P t S t C O i J I ) I T I O r ; S TkAT YOU t~f iVE==,
- Fe:-L+ i V L L I r " . t t - { r 1 b 1 r l t 1 if- - 2 5 ' L ;.lL !?t.l:;(; Str:T TL, L C Y C ' T I A ~ J ~ ? = = , AN SUED: LF CCttl i iSF'. ALTiinL:;cl I r,l c,.OT cAi-'At.LF OF ~L IJY IMG- - ; \s== , -- I AM N O T C
~ ~ A P b ~ \ l . ~ - C ~ ~ C O ~ ; F I k rr.i!- - , " : k 7 - F r i C T * c H b ~ P';L~\TE-$T'~F~H~~s ==, TYPE'I-IAvF, A R ~ T I U E 0 . ==, CLJrST i: ir . : Y 3 C i C.Ft. ' K T C r f J C \ t 3 L € ~ OF? YO11 LiO I'.:.OT wA;rT Tn?==,
- ArJsi.erxi-'--T--T? . ~ ~ F F i l : - - i T t t ~ J l . ~ l j r l 4 ~ A T I ~ ! ~ . I t',)cSFSS T C T ~ S ~ J I ) T - E T T ~ E ~ F I ~ : ~ O = = , s c v w I T H C C Y T A I i j T Y t nrTt4f f c O h JUT j G C h FLAT;ES r iAVL AEHIvLUe I . J I ~ A ~ = = , IS CLEAR
1s I !-:AT iVifii?:r r'1a.t-I- .L.;,L i r y i . , L r ~ f ' b I . S 1:r ivL l i i ( f l l \ l t l i AiJd 1 HAT==, TI:F RATE C!F StIIP?+.ni:I:T I S H l G I I , T1-,LiPc I,JilkTl:.Eh A t.;EPOH'I AUC)UT T I i I S = = , cjH /\Ply O f w L 1 4 TYP -- ----
- T O ~ - F L C G L ~ ~ - F ~ ~ ~ . ~ T ' - ( ~ ~ k . 5 ' ~ C T -7~7 --c ACT A-IIYTHI~.IG. TF F A ~ T T 3 THE r T ! i r l : E i s 6: cnr, ~ T r . b i . U r RE 1iat G ? C E ~ - Y E ~ . ' I ==, OF TI;€ EGYPTIAP: M I L :
- ~ ~ ~ r \ ~ v - - 7 ~ ~ m ~ " t r ~ ~ r UP:= :;Ts;:. CIS kc:{ THL r i . i - T x X ~ r = = , . I A r? S~;~TL-TTK~-TI~F: PHO'?T! l~ . f ,CE 6 I L E . i 13 ' T 1:; LI . j l , .FL 1 3 T ~ E t F F U H 1 PUTH==, T O CkLX FBYPT AOO 1 1 I 1 i . L 1i.J i.SLl.'i:1_ L , S g C t L = = , i \ !117 TI+E I J : r I T t : l FTATLS, H ERE. T ?'!:<T s.1T 7 - A T ' t i t ' T . ' i ' - i T ] f t l t I;[- f,CTIC"'I==, TO THT.ST Hi"l-'-'Oc'l'~ GY 1J.S. O -- , E-e- .- ' E F E ~ ~ ' ~ C - - ~ F C R T T I V , Y ~ . T \ ~ F - Z ~ ~ ~ , ~ ~ ~ . : ! Y i; t '$,t- F i trP;t.=, A I ~ ) T T E s € - ~ I ' C P T T / \ H ~ :
A q ? ~ ~ , + ~ c OF: .d(jl!-Y L I :-, is.\& k!CLt- ir l ! ; ;SCL A,.:? ==, THAT ThE Ur:ITELl STATFS &i -TCL r 1 ; ; ; T - T 3 T ; m - F F - ; T ; - . T y ct- : a r ~ - v - m . = = , A : T - - l F y F T T g l P F L @ s r 1 G . K
ar\l-;? .EL. ==, I 1 l i c r . z~1CSlr\;.!S hnvE P ~ O V F I U WCikF: THAI4 OIJCE T l iAT Tt i r y Ul I r . t= - L ( :' I T s J i L b~ 7 . t-11, L ~ . : : ; ~ L S ' k;LLIh i J 7 1 . , T S T ; ! A ~ ~ : b?: l ; P L ' l , l b fi L;t:ij
U I I IF== , r y i S ! t - t 11: P!.ll T r ; L I i i T i i H L F i S I l . T ( ? PFCICTJCFT, :+JrlET! T t tL CI~E:,IY b'TTi4S . -- --
:--- 7"r- - 7 ~ ~ . ~ ~ ~ , r i ~ ~ l ~ , n.-.T--C.tyjmTQ (.In I::€ ,-,- - ~ - c I? *: s--cu ?.- T - ( j ~ - ~ - ~ ~ ~ ~ i t 4 L- ft==, ~ i ~ r , t . . :r I o ; ~ + ~ 4 . q ~ f ; i l ~ c . s ~ f ! c pub F U I ~ b : t GO 1r1 T & J S ~ :ATTEI { .
. . . .. . - - - - - -- ----7 --- - ..----.- - --- k.%id7. T I,: \ . I 1. - - - - T 7 T T m = = - ~ : s ~ ' E T + ~ - ' I - . - ) c F,OT T11l t :K t,IST[)HIi,"S d11.1- :;c3y ,--F r~ i : :~ : - t I ; ! ; T ?T:;==- . ?:t 7 V f ~ t , r , \ l t CELT.: ,.~Ffih I }LIRI ! ' . ~C Ttll. CAST FEi;'
y t J - . . i i l I . ;i I t r ==- '.;I &!Jut l . k - l ' r t ~ t - t AFT) SlrLt! I\ C:)IJ PI-C.1I.T 1. ;{i).; C J f ' l lt r ! ~ I < I . , ,I- ,*11r 5 (I!-,==- - t i F i r , ; 1 tlf L ~ l l i ~ . ~ C f S JF C ; G V I T T I ! i l f : t i V i >!T
.. -. -- --- --r--j- T-c,;-:. .-,7-- . .. ---.- - ~ C I ! . . j i l )==, - i sn - 1-, r\T !.,i--TGi? O-~.-'-I:IU t? S E L V 1- 5 1 pi ' 1,- i-J I\ I.. . J C T d '- f t l C E' x T E.JT==, T ' : n T 1, l I 'it t',qiJi:L\ .-)! I. -AI'uU l!'J C1~FCCT FuliCti i 7 0 : .JITt!lJI?fiL'. TLiERl ==,
.- A r t r --;\F'Ez - ~ ~ . L I ~ ~ ~ - S E V Z S ~ ; L - - O I I S ~ ACLES 1 i . K TliE - f'i\Tti O F SO\' I ET- I'hT I. H u t Y f'l [.)I!.== . . - f JJSf , r- ',I L , 2 C i i i iJF!.'t.f, I , . . r t - l i f . * ? t ; \ 15 I ; [ I T Ir . .C-j : F,II:F,:{I\:;L'. rt;'[, TifL ==, , -- k T s P - 5 5
C (729$ZO? ?;. ' ; i l I i- ' CTk1 -is, -T 'CT' t l l , ~ I ; ; i ITEOe STC31,ilr THI [If Sit A T T A C ~ ~ L S ' 'it IGi;T==---- - T i , l i l t . i ' : ! i i ' l i i T y I.!F ~ J . S , I . 1 L V i T I c ~ . I T h Z l \ t F n i < F \:a F'OT I2CLit:\!t:=s . . - . - - - i C T . I 2 . I T ~ J ~ ~ J L I : I . iCT ijT ~ ' l hL I.'.; T I C * tIUL'F VT.V r T!I== - I . I F t L iJFS.t r 1LC CI A;.!CyF- T t i t F U L I C Y I T PDGPTLD hliEPv IT==,
FIGURE 4: SOURCE FILE LIST
gny 1 t - t ~ ~ ; I ~ I Oi\ i l Y 1f.i THL C A S F OF r i ~ p l r , . ~ t I \ . I A L ~ ~ : ! _ I C ~ ~ I IJTc, f ) E T i + I L f *-L:TCL-:=.---- -- --- -- . - - --- . . . . -- b J T P f r J hill F i l k ! ~ = = - C ~ . r : r ' t L ! . , , 3 C O U ~ . J T ~ ~ I L S I VIE t 1 A V t P I ~ U E USE PF TCIF CdOI. SE
-- --- O r i i t l , ' STt I . T I I T ' ; / .L-bD f . ~ ' t ' L l L s TC1 CC??I:-;Tf<ILS ' - t I ICI i /;iiF- l. .fSS Ih.;ii~3~\:E3= -.-.-. - . . , - - - - . - - . . ~ - -.. 111 T ~ I T S ;:1 I P C ~ T L - - : Q ' \ . ' I > C C . l ~ ; d T t i I t s FClriT}!tH A\nli\Y F t ioF : TI!L URLF. ql1I i==- - EFFul<T:, ;\ i: cr L.r. l :, .IT,==,
----.---.---. -. - - - . - - . - -. - .- . . - . . - - - -. - ----- - .- -- -- GIJFST 1 O i l ; !nlt!i\f I\T.()UT T Y C 'IIEP3kP,ll F171t 9uR *] I ! :AsEsr i . . I I ICQi :t:i- ! . T ? L . L = = - Iiyl t H I \ 4 ~ C t ? = = - U'JSL E i \ : TifC :)CI~I~ZF U I
S STILL V n L Z U h:jr! T i i t "1* : i t f~F5 P ~ i t ? T I L L l : J = = , FRdl'iCE .==, QUESTTO N: *?.{ E : i j t \ r r 9 Ljfl v ~ L ! i \ l r t x f k -2 . : l t - . ; i T 1 HE PULI T I C A L OPTllrldS==, AT OtJt( [ )I S P O SAl. L I r d I T . T US F i i t ~ ~ 1 t i L i \ L T SF-T? Il-iL: t l S Y P T l b \ r J S SMILL==,
--.- -.-- - - - ~ - -- s O M t T I M C S 0 % V G q C O --.
w firm S U I ~ ~ C T I I * I ~ S r ; , l g r . ~ r ! I J;; .F '~, . r1.d~ GET HE SP.'O~.JSLS==, FRO[.! RUTH S I D E S * r J t i I L - -
E W F : b~fiVF- TC k;C)I4', i l j t l I. t \ l = t J . - I \ ' f t ! Frtlt.'~CL)r==, -- -- THE IJidITED STATES.==, APIs!-IEF: I ? + I U ~ : L L Y T i l l % b1FI C.H€IJCL E X I S T S - BUT TF T k C H t TtiE==, E
G y P ~ ? i \ : l F3::ETGId r r . I ; ; T s ~ ~ t ~ 1 *,,.r!rLLI r : C ~ t3L: GREATLY CORFORTEP O Y IT,==, F O R Ai-l?? r\LL T I i t F'I2::k 1 T 1. ... L L J , I . J ~ ,-i .T r_F THL [ ; H E A T O I 3 T 1 O ~ i S , Ir:HPT HA3==, Tt4f
RESIIl-T i iCtAl l? 7 :-it i a t , S t ' L . T [ c T!-.A1 '.'b: ~il i '?AIl ,I LXAC )rLy UriE.HE==, -.- --. - -------.--- WE U E 6 E O?d THE r ) A Y AFTER Tlic VCF f i r , . ' ] IJf) UPdt Y I \ S S U C C E E ~ J ~ ~ J I T J PIOVIPIG==, A ST1.IGLE ISR - AELT C;r)LDIER F f t ~ ~ l f P s T r . C L C P : j > : I I i ? ! i . = = , --- ---- 3UEsTIOtd: hAvE b k E V E ~ T R I F C TO
OPF?J A uI I \LOG LITI? T I r iJsSr?==, bH OTHEF EAST EUtiOFEAyl CUUBTHIES?==, 4"Sb!EH: Y E : ~ I lJ f i i lK T!<TEII TI? JAKE T k ' t USSR FtEALIZE Tb9T==, I SF AEL
UOE9 I'IUT N E G A ~ I ~ J TriIS I:Li'1 ;J:ir 3b '.JF'cESSI\KY. 1';u1( 90 hL==, 9EL.IE'VE THFtT T
FIGURE 4: CONTINUED
1 :G?JVFPT( 5 F i L i Y X T ? T s I L S ) : .- - -- a- / tt*****~kffir*:*h*$+~r+*txri:.~i(*i*.:dr~ghh**hkhi:f * t t . * . t * h t d ( f . t ; 6 4 ~ h i , t f * f : t 3 : + % , - . ... .
/ * f
" / /" -,-e , b . . > C ) T 3 7 ! p ' J -+? Cn(JnCE F I L t + / I * " / / * t * r * * 1 . t : * * * n k . . r * * * n f t *t.t.pirf:r.*xi:-kk*r+:':*f n ~ t : h 1 * * + t ~ * f : ~ ~ : * ? 4 * t * ~ * ~ * h t + = c ~ $ h + ' /
2 s F f ~ f 1s C I L ~ ( ! : . ; - ? i - - - l . . ' " , g ~ ? . " . ~ ; - = ~ r ; . ~ - r r p r ) ; .... .3 . I h J , h ? C 3 ~ D ! S 3 : t 3 < 7 ('td" x 4 L C F ~ ~ T ~ . . . . . . . . . - . r \ 7 CF ' I Y - T F Y T ' + / . . . .
3 , J / * r c ! : T ? L h ~ . & F S ? C , \ l ( r ? ~7 :S'T rrr . L. c r
3 . . , ! h r F ' 7 R * b J f I 11.1 ( 3 : l ) , 2 O C : - C Q T T = @ I N T P T * / * ! \ i ? : : ~ 3 l ) ~ f !3:. 77 T C X T - /
3 T r l - T r X f / * ACTUAL T = X T */ 3 , ' : ~ f = v a : ! r s ~ ~ ( 4 n s c ) );
..- 4 -.- ... .... ..... ... -..- y!l,? I f P ? :L7( \ ! !J ' l ,D! fTg?C= l Q ? ' ? C C , 1 ) ; 5 n"~ l ‘ \? ‘ ! f 1 5 = ! : ; L ? ( C U ? . ~ ' ( ~ ) ) ;
. 6 . - . - F I T . ! I ( J ' I t ! K O l 6 9 C;TGV!C,
. - - 6 . . . . J'.l'lU:32 6 9 9 C T E
,..-... . 6 - . . . . . - - - - . . . . . . . . . J U r ! Y 0 3 . .
6 , TIM=
. . 6 - . . - .- . - - 9 J I J n . ! K 3 4 - 6 9 =?I f
-..---.. 6 . . . . . . . . . . .- 9, Z = Y 6 T I T L F ) ;
. ,..... .--.--...--....,.,-,, J U Q K 3 1 I S F I E L 9 ( ( C H A ? ! 6 ) ) ; . . . . . . . . . . -. . .
8 MSGN3 I S F I c L D ( C H 3 F I 1 1 1 ) ; -. .-- 9 . . .-. JUqK32 IS =IEL? ( C H P a ( 2 3 ) ) : .....
10 04TE 1 5 F l = L D ( f Y ! , Q ( 8 ) ) ; ..I I ..... - . . . . . . . . JUFJK03 1 5 =ICL3 ( C H C i D ( 3 ) 1 ; 12 TT'AE TS F I E L P ( C H c Q t 5 ) ) :
,.,,.,, 13 ,,...,., ..,.-u-,,,-..- JUbJt(3'i I 2 F I E L D ( C ! i t : ? ( 2 4 ) t ,. , - . . . - 14 C9Is 1 s F I ? L r ' (CHI!: ( , = 8 ! C L r F 4 ' ) ) :
. 1 5 . . . . . . . ZF.4 t 5 F ! 4 L 9 ( C Y t ' = ( l Z ? " t F h ! r 1 ) ; 16 T!TL: ! S '?:L3 ( C Y C o , ( ' T y X T L F C ' I ) ) ;
17 - . . . I .b l ,T=XT TS r ! = ~ n ( c , u h s ( c o ? n r 3 1 1 ) ; 19 ~ A G - T $ P = I S T I ? ? = ( v A ? ~ ? ~ L Y ( 4 c ) 9 b ) , V ! ~ L , ? ! ~ . ~ ; ' \ F : = X O ~ ~ , ? ~ ) ; --- / * k * t : . ? : + t k * * + ~ * ~ k ? ~ * * * * ; k ~ * i e ; + ~ . C * r ? * ~ r l Y ~ ~ f * . t + t : - r : t . ( L * f : h t : * 4 $ : 4 + ? : e f htf.t?t;.1C:?:i-f kC: / ..... ....-.
/ * *c /
. / " gESC.71PT?FbJ flF T C K G F T f : L = - . ? / . . . / * /
. . / ***%#*a$&%+%kf: C h k .':i:+rc?fra ~ t t j ~ f % : r r ~ * * t n ~ r a r t : k r : i ~ 9 : ~ ~ : + *?; .c .*$<**)?*?L(~+*+- . * + $ . i : J : k . I . I /
19 TF ILE IS F! ~ = f ?'. I ' -?"=.~Rc, , S T ~ C E ~ ~ = Y A ( , s ? 7 1;: ; .. 20 ..... 3 U T - Q r t c S D IJ 2 C i ? 2 n ( ruT-Iy"7 ( 2 : 1 ) , t r c - r a ? . r = * I J c r i > f c 1
20 , ~ : ~ ~ - T C X T 2 0 9 $ ! Z r = V ~ F ! r i L : : ( 4 7 ' 5 0 ) ) :
/t E A C H ' Q ' . I T - R E T ' ) S I > ' 1 s 5' *!?ST 4790 z t J C ? C 1-7\IG. THE ' f T I I 2 L ~ ~ \ l r , f ~ T s T ) ~ T ' ? : < T * ! : ~ k r ~ ~ r L ~ I y r ~ . ; h : * ~ r q ! ~ t q r ~ s r . ."I . a 1 1 3 ~ rc! ~i:*'
1 F!FL3S '717 - !Vz ,7 ' A ( : ? I l n l J T - T r X T l ...-- ...... . - . ~1
21 3UT,!'JF3 ! 5 523!.);'( - f . I T - P A T c - L ? F : : L 21 * T I I T - ? ! T Y
21 9 7 ' J T - T 1 '?"-L ',R :L 2 1 , "T - T I U::
2 2 , 3 l l T - T ! T L Z - L b q r L 21 r ?'.'T-T !TCE ) ; 22 7UT_.JhTE_LAi3FL I S F I F L D ( r I i L Q ( l O ) < - ' ( C C T C : ) ' 1 :
FIGURE 5 ~ : DM/DL LISTING
.. -. - . . -- - .- . - - . - -. - - . - - . .- . - - . -. . - -. . - -. - .. - - .- - .-- . - - - - --- - -- - -. - - -- - .- 7clJal-?'1: ~.. l , i . i : /*----------------- '--------- '----------------------------------------------
. - - . - . . . .- 1 ~ i , ~ ? . - . i : ; . . ~ 7 ~ - i ' j E r ~ * ; < i r ; ~ ~ ( J ~ j - ~ I < E Y';i~~-'~~~~Ui~S\Tf$~-'ttiE"~'~.j~ff~"T.-~r~ i--- 1 ..;[):Jl.i.-i F - ' : l . - l 'z l :?i ' .
. . . . I - . - - - - - - - - - - - - - - - - - - " ' - " ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * /
rbcL ZE* -;I 1 TI.,-. -: (611 I I - G S L ! ; ( ZE. , : .PTP I : . . . - .. -*-, .- - . .- -. -- -- - . -. ... --- / * I : , , J r ''5:t- 1 ,-1I1.[r.!j I:)' THE' - c [ { l \ - f : A c i f kt * = (
r" ; ; 'T , t ;r .: l:L I = \ . ! : .X(Z<" ' ,FL?, * = * )+qi . . . . . . . - - - -- .. - - .. -- .- - --- --------.-----.------
: * . k . - l ! I \ i : I i . zer I } - : ;
. . . . . . . . . .... . .. - . - . . - - . . - - - - -. -. -. - .-
- . -. . - . -. .- .. . . . . . . . . - . .- -. - . . - - - . -. . -. . - . . -. - -. . T Y ; . ' r a - ! I r : ; : t , k ,c ; /*--------------------------------------------------------------------- . . . - - ! .- { j ~ ;,, , j , . , -c k i y : ,.[.ii ~ , : i ~ L ~ ~ ~ - , - ~ - < 7 . ~ ~ [ , i --'-.!;I ~ ; ~ r f - ~ , T [ ~ - - T i ~ ~ - ~ ! r:TG.T[T-L-rTj. ir-- i- ! : F ! . t - ! i 1 l ' j I ~ F ' . I
. . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -* / !'ti \ I ? [ . ',FL'\ c - ! : i i ? ( 7 ~ : ' ? ) ;?PqE[. l (TI I'! E .[:TI.) :
, . .- / * 1 - 7 1 :. : . v k r . i T ; . i . . ' T : i.lF T u Ti t i LC:i(L. * ( T X C t i f T;;)* cli; * ( l L . . T ) * L /
(',p;.,:i'-: - . : I L i = p , ; : ( l : L L > i ' r i T ~ Z - l - L " + l ( - * ) , 1 I , ~ E K ( T I T L F - F L L ~ , * ( T * ) ) - 1 ; .- - .-
/ t ! I ' i . , [ , - . 1 - ~ .; c.( , ' : ~ ~ ' ; ; 3 T ' ; " ~ . t ' ' - " ~ : : [ 1 . ! I -, 1 7 ~ , r:Qt==.,S;.--:-7---- I F r;, .'. r - 8 ' 1 : - * ' I 2 < i 11:" C l . 1 C T - i Y f ' 5.41 l '= t i [ ''. (T;Tl . [ ' , } : I T r '==L* ) + ! 1: !ir 3 , , v < , . : ;
: L T x : . 11.: I ; . . .
/*-----,-----,,,------------------------------------------------------- - ~ I T s ! T T T R ~ - ~ ; ~ I - ~ \ OiJTTKL~?TT'FTWl3TRF:mcs ! d i m L K 'J i t 1.u 1 7 t IL I 1 TASC.f.T G t . ~ p *OLIT, l l !~?F'U* C X I S T S F?? A P ~ ~ R T I C U L A E RECOflO.
. . -. - - . - . . - . . . - - . . - - --- - . . - . - . . - . - - - -- -- -- I ,--,--,,-,---,,,,----------------------------------------------------.& 7- /* IF T I I F SC'I!KcF Giic"l l ' * I r ' ~ C t I ? f i k f l 0 ~ ~ l ~ EkISTS* TH€i\j T!i€ TARGET fIfCO
.-- ... , , . . . * - . - . .-. --- c t c i f - s r '.;l:L'T=rF I T,HFS!IL.T: -- , i , ; ; . . . . . . . . . . . - - - . - . . - - - - - - - - - - . - - . - --
FIGUFE 54 - 0:iTINIED
* == ' 1 Or: - . .- ..............-. - - --
9 =- * . * / 1 O C - i > : J = X : i L f ( ~ c i T q ' = ' ) :
- .. - - - .- .- - - - - F i i . : If- . J = L ~ Tk;; B J
,.,'\ . -- .-" * L r :.E=TFTT: C a r \I,FL.. ,Cti;,r\=CC'i\',FLC',CP.'? I i!. i If::
..... .. . . . . . - . . . . - . . . . . . . - ... - -. . . - . - - -- - -..-.- - -- - -- . -- .- - R t , T c l ~ - l :
f. I~ r; ;
t r L:. t . , : + : L 1 I ) : /*-----,------,--------------------J9=----------------------------------
- .- -- i T I , ~ , - , i < -ciT'.?Lki<SI r.:ri-.rC3[.;TIFr- ; ! f i I C U ' T E ~ ~ E T F s ~ ~ ~ ~ ~ ~ F ~ F i ~ ~ - I;\ .- 1
: i - ;,:J. ?.;.lt ,C:t;-.ik. k Jb:LL. ' T I T L E * !?&Fi:f<E I T I S P:/\f'PE:) I r j f 0 THC TAMGET 1 .-. - .- . . . - - . . . . . . . . . . . . . . . . . . . . -
I PIEL2 'CLIT-I T TLF' . I ------------------- .--------------------------------------------------
. . . . . . . . * /
-r; T r ; r v l f - ; - - . - .--- i C I - r : , i t c . : f , . r ? + f > i ; - i , ~ L i l ( T ) ;
- .- - . -- .. - , CC .....;.. ; - , . :- - ! f l L l : f: , ' . . ( ? I < ) :
. - . - . . -. . - . . . . . . - .- - --- -.- ... -- f CL 1 c c e ; f r-*, $'-I:! -1- I , = * * :
- . ,'+ , '1 ;.i ( . . . T 7 - 7 7 i;V ' T : T ~ . E * T7l T i : r LC(lAL. ' T T C ' . . */-.-....--- I ! - : t :: d..L :..: * : . 7 ! z . ; , . \ - k - l t ) ; ... .-., w-...- .
....... -.-.---- ' -. / x , ni\-TT". t ' ~ . : - . ? j . - ~ C G r " c - . ~ a t ; T ~ - ~ ! T E T - n T - f - ~ C ~ l . c . . . * z = - ' t
......... . ~ . . . . . . . . . . . . . - - . . . . . . . . .. == '1- 0% -. -- ..- -- * = - ' . - -.
* / ..... . ......... . -- ... --..--. -- .-.-- 1 r * [ - c : , j = l ~f : ( y l ~ . * = * :
1 : I F . . I = < T!.F: : .... - ............. ----.- * . -------- - - - .-I ,
I . ' " . L I ' ,:=TTL : -. , , - r i l , , i . ; - , , - - .- . .
1F (:<I:i. 5.T;. ( C ~ * ~ : . L - C I . . L ~ , C ~ ' ! : , E * 197 I = ' T Y X T , ' ) T H C I j C O ~ . ! I , F L C , ~ ~ ~ ~ , ~ , = ' ~ ~ : ~ ~ ~ [ C C ~ ; V , F - ~ ; O , ~ ! { : , R , B - ) ; '- - - - ------------.-----
iiET[,!,'., i . - .- -. . C-;; ; -.------..--- - - - - - - - - - - - - - . . - -- -
. : : l : , - l - g q , ; L f :
If: [.S',-<-STT(-TTL ,-..*I , 2, .= ' =,.",-~- - - - - - - - - - . - ' . . - - - . - - . - - - - .
( S l l f S T t ( T T l - r , J + l s 2 ) = ' = ' 1 L --.- . ----- .---- - - --.------ - - - -. . -. ----..-
( S i l I , S T i ( T ? L , ~ + l r ? ) = * , ' 1 T i f f ~ ~
- - CDNVERT
" - . . . . . . . . . . - . . . . . . . -... - .... - - - . . - . . .- .- . - . < . . - . " - - -
1 R YGG-TAPE TAPE . . 2 r
FIGURE k : CROSS-REFERENCE TABLE
. .
REQuTPED DD-CARDS NEEDED TO RUN THE OBJECT ( P L / l ) PROGRAM: -23-
......... .....- --- --- .--.
Figure 5d. Required JCL Needed to Run the Generated Program.
;+ *- 0-
O ' r
4
1
I
i ..I -0
n - " =' < 8-1
I- 5 J w =: r
LC' LL - 2 u i t J c l-8, z. L, t
12: -L - - J - = L? - 1. - -. - L Y .
i v'
x A r-
L: - T / - 1 5 2 -' Y
? - , . . :
m F
z r r lc F' r
i I
1
I
i I
I , *- ' L I
C I- r. 1 . 4
; + ! - a 3
1 U I - i
i 2 L t re -0 - - - P . 3
< I t ., - t
L," *- t - -
L , I It k- L >' !>I ,"- -- .,. 'I -- L-
I
I
F U M
'c C G,
0-
L
- .-, -- *.
- J C C.'
-- Q
l = q ; I 'r
I I ; C w I : I I . I
1 x 2 I i I 1 'd 4: , I L 5 I I I - I
I t ' I
I
i I/.
; 1 I W I I -
: l G J L I , > 1 1 I l l I t I ; L? I ! Z I L I d I 1 ! ' J I.=
:I' 1 1 " I - ; 12 : 1s' 11 I I I
. I
; : i '
4 I I
I
1 , i
I
i I I I : I
I I I
8 I
,
, , *- I : '- 1 ,, I I . .- - I '2- I , 0 - I -. .- I ,a I ,, I I c ' I k I
. C - rt , -
I
I I ' m
I
, , ' Z
i: I I
1 --' - '
: , c c: J 1 1 7 - .* - l i t- L I C I I - I & - - - I - - -
1 L + , L- I I :.-
I ' 1,' .- 1 c '- -:. - - t ' T 7 -7 1 t L - - -. " t V.
I l i : I , + , , . , 4 - I -. \ *L
L:
r: U
I, I L , I + I I 1 3
I S I 2 I n
: f 1 ' 3 I t
I I c 'C
I Z I 2
-I
i2 j
I L - I t - t i
-.:
:'. - 'Z - I c
-
.- .- L -. L'l .- +,
1 1 " : - -. L..
r: - .-r- - - - . - A i-:
If: I ;3 +
I - -!\ +, I
I L : I I 2 I - I.
t 1 1 I I u , I ' m !I ,- 1 I., .- I : z I
i t I - - rc 1 . Z I - - I > r i I + 1 - !f; .t ! I:, I ; r: - I I .- -:)I, - i l L I - L. : I, I - * e I t I I - c4-l I! i I I&* 1 :,- - , , - 1 I, I )- Lit. - s I + I 5 Ii; t I I I - Lly - , I t : I
;I - "i I * I 11- I l a I I, 1 I r I d I I, I I < I I C i , I I I I I',
I! +- I. II
I I 1 ;1 I
I z I ' U ! : I C , I 1 8 3 : I I ' 3 I
' I : I= , I I S - I I k r l I ,_' SC I I - L ' I I ;& C I I d I I I Z I l Z C l I J ' I I; I 1 . c 3 1
I PC! I .- 1 G . 4 1 I - : I
- . / ( :.. 1 b I - , 1 t G I
f L' ,. I .. lh,=tl - I 1 - I
C I & L C . 1 . d l : I + * I - \ - --. I
!
j
i t
1 I
I r , ,'- C
I
1 1 I I !
1 1
I ,i l I - - I I 1- I i s , 1 -- I , I
i ' I ;.I
% h'- - i t ! ~ - i - - a +'
>.'L w i
L', t ,a :/I- - .- ::,w x9 - Z *IF id z i ; r
C- L - I L 3 - l * i L + I t '
& = - +' - t- * k -.: r -A';
:s - + v.. < ~ i x - I 7- ,u,= - e L;: -
1
G r P C Z [ r + u . i: . . d ,; Y & , L ; i F ' " > M I L
J l - 1 L
* ' I
- - : - A & :
5 - '1 1 b- ,L!
- . * t - 1
I b . , t I - : . 1
L I
! .- L
,I L A 1. , y -, C- ,
r C. 5- I- Ai - C I ! t: i - t - : ; - r i
,,';--L'r I
. a - :p.- a ; ; - . - \ - '. -- L .L..
: I
i !
1 I c.' C, t%tv fit
I 1 1. 1
b ; J e t \ L L - : < ' < . r F C / C F
i I
I i
I 1 : i i !
I . I
I I - --'. I cr: r ' I C L . I I I I t : L I I u i C I I I - I I Y l 1 1 -, I I , , I I - ! - I I I
I I I s , I I - ' + 1 I Y ! t 1 3 1 I I l C L I I r L I I U I C I I I I , I I u. u, I I C I
: !?' I
-!i I 1e :k I I L I , , . I
I
t .-,sz I I - / - I I : i
I
. - - 1 I
t I
( 0 4 T E ) 06/03/7 1 ( T I Y F .JQ : 1 5 -34- ( T l T L C ) SZC7417 :in7 3 9 ( i - ' q & h ( ? h ' T F P V T - , J ) X X X C3'J t I?'? 3 T I7FJS 3F SYFIDt THY, ( T X f F 3 P ? s ) C)(JFST:r):I: l N l ~ l f T ? S T lJE S T C q l T C T f . . p F f c ~ f ! ~ T c ~ s I ~ 5 ~CHIDWL:VTS qc ; n V t F T ~ 2 ~ 5 ~:i F C ~ P T ? Z y C d E ' : C ! 3 S T "\ ? L L , 7 1: d - - l T ' w i \ ~ ( ; **:,-* LJ . ~ C I V T ' - T " ? L ! ' Y L J C . ~
SEE?.: CC"$J j T F b . j T I ? ' rt-l! 5 ' "TT " 2 ; !?:Cr 1 3 5 7 . f q ? [ J " J F 'H:C 1 5 1 L S ' g 2-err; >?i r.7 74.: . . { r~ t -~ ( r , l ' - . t . ! F $ C T T W J T ? < D r = ~ H:< p FC ;'uF c T C Z Y < f P , I ? : - : 1 - 5 T ~ . F'ypT V T T , + T s : ~ E $ K C P ! ~ - J ; 1 , - , l 4 b S ?!gT WC:Y (>>-AT ; c ~ l ~ ~ V T ' ~ - \ T ~ = - U 1-5 P=fr:r .-c ~3 :,LL!::. TM: - r u y , @ T ! : ' l ~ r C:L.!L? :SF:: ~ I : + , + T - - - - .. - -r C L L Y :-' y-IJ? k!:?:,: L.JC 3 : ~ n D P n n t r h t I % r $ ~ 1 4 ~ C I C T F , y '.:, .. - A ran ,..., T fi CI ' . 'Gt = 5 " n T X b l . ? s *4nVE'>.
1 T r ' - 3 Y i : j L2;- ' Y T ' ; ; ' 7 "LL.' t r y r rip y r i l ~ I~;.CP 5 4 1 . 3 ~
? , ~ C ~ ! ~ J L . ~ ? L V : C i . - z - ? \ / : : , W T : ' ; r i ;*. f i ; : P - ? C ~ > F . L ~ 3 1 _c?~:c , : ~ , Y ( J I TL(- L ? D f , t :IV!CT pzE';:~!r,F. Tu:R-F.'J::r T c l r 9s;" \ J I ! ' T C C ~ :TT~I ,E HI^ ? T t,l\l G I J L D L ~ T ~ : T Y A T I T S ;"= ~t':.:.: 1.r : C Y P T : ~ : L L ~ ~ P I T ; $ ' J = T!? 3 ; ~ t y ~ JL?F? ~ ~ 9 ~ 7 . T c r c 9 E f T Tz 3'' T ~ ! < 1 s '-7 S f C : , ' ' i ~ T t ~ - ~ l I T S ~ T ! T I I S rht? FEFST?:;-: 1% T M r
FGYDT!finJ LR'fiY PY S Y I P D I ? k ! r , &<r.!s. T F ' L I F V f T F f ? : h L 5 ' 3 h 3ESI?c T 7 T q C E A T - h d ; * j " P Q - S c ! J ? ' 15; $ E L :yz THY ;J'.!lT=c S T L T C S Q Y SbY!F.!G: " I T YI1.J "3 " 7 T T 1 K r L J ~ V"3 ; 'f\lTF l ! c r l ( j t J r , h f 2 V A Y B R E A K ? U r e c ' I P F L l C v ' T 4 f K = 1 5 -2 VCAY F'?WCQFlJL, P ' R S I F T F V T WP-P ,7F \ I E P V E S H t q f . . - . . ,
3UE.STI3N: 4rJ3 !T IS !JY:::l; T!-I:SE C'3:;pTTIqb.'S T H ~ T Y?IJ ~ b v ? R E C E I V F ? il=?CIRTS T J A T '4!5-23*5 , l F c Qf!I;{C, SENT T 7 T Y F = s y p T ! 4 V S ? LVSv iE i? : 3 F T . 3 ' J ? S F t aLT'4~! fC+- I ! ? 4 c 2 , " t g L E OF nCP!V!N?--PC 1 3.Y NOT C 4 0 4 B L S CF C 7 Y F T Q Y I N G AS C F A C T - - T H b T P t A N F S rJ= T P T S TYPE H i V E > R R I V ' I 3 . Q I ) C S T I ) ' j : Y?!J 3 Q E \ I@T C A P j 3 L E l 32 Yp't cn '..j(JT \.Ii?JT T 3 ? b Y S W E R : 1 M E P r . 4 T H Z ! ' ' ! t ! ' ~ ~ Y 4 T I I 7 % 1 P 9 S j E S $ "q ' J 3 T F 6 J ? \ q ( _ E $12 T c S b Y N I T 4 t Z t 2 T A ! s T Y d H f T a i P '3Ti IinT SUCq P L t . h F E H b \ l t A Z R 1 t J F C . WHAT !S T_LF??R I S Tt-tC,T ?-'hP4Y t?!C,tt-3[1ALITy k ' k 4 D ? Y S Fl!VF ti;CI\tc3 d V T THAT
THE Q A T E nc SHIP\'IE:!T 1s q 1 ~ 4 . TS-ICIS, W Y E T ~ I F P A ~ E P C ! ~ : C ~ T U T THIS n p ~ 4 1 ~ 17959 T Y D ~ J = P L ~ \ I = :,z F G ~ : J D 711 P F T D ( J ~ ~ r l c t . . - - \!~JT A ~ D ? R
. OFTACT : & Y r ~ I x ! ~ , f k 4 5 " C T I? TU,;T f u=Q= I S 5 fT\yT!P!!j;?!.IS Q c I v f 3 7 S f wf PIT 9F: Ti lE E G Y 3 T 1 4 ' 4 ' 4 I L I T h Q y ~ ~ P L ~ Y 1 . ' ~ h i T 5)' r q " U 5 c G , C92. T p 7 95P77' 9
! Av 5tJ2 Tf-4.fT TUF 3:- , l I . ! Z * . ! c i : iV'" ' 7.3 I T ?!: L l \ l K ? ? T r ; THC 5FF')ST s ; 7 T r
T O C A L V E G Y P T &P.SUT S r l V ! T T ?YT=!vTITihl': 4N3 TC P P E S S I J G F ! 2 ? A E L AY3 71-4: UIy ITE3 S T d T t 5 . -!??,? I ' 1 ~ 1 5 ~ 5:y T V ~ T T W " .. ~ v r ! ? n ~ ~ ? ; - Q ~ , ~ c T ~ ~ - + ~
T ? Tw:';? 2 c 3 J P T s P Y U.S. 3"''\1?- 3 . " ' ; r T F 2 Y L t y Q r . W 6 5 V':CY R F Y = F I c . I PL, WE 5113 THESE Q = P Q 1 T S b f ? d S C U ? C = ? F b,t';n@Y A P ! T \ !!TF 1;FLL-FQ(,Jhj?rn 4 Y 3 T H t T 74: :J\!IT::> S T i f t s :.!:LL V J ~ T Fjll?GF ~ " l ' ! I T S Pf?L: CY 12' P c F V = . I T 15JG A,PJ ( J C S r T 3 X S G ? , E L IS ! > ? S PiLt&jC-, QUf STIC' ' .J : T'.{r ;(J,SS!&'jz ?-ILVr P s , z V E ? p.."Cr T y p h l r,?\Jf C TL(:.f TLlTY QFTE\? C?f.t9JT '432' 3.4 Ttj-!: ' j > J i " C c . - b ~ - b K >.??'-!Tf TH;.\~ nr?~ H $ V ? W ~ !! c='d[t?\T: C F S l a C T O DtJT TH,:?; TLdnZATS !vTr) ? . ? / I C T l c E , ' G p c V TFC Fjq\I=:.!Y : < I T q S T \ h l ' j TCI: p a z s s u ? ; , ~ ; c c ~ y f ~ f : ~ ! 3-f . t ; S ? ~ . ~ C - T L . ~ = ? . .- T L I G F ~ C r l l j 7 t! E,: ;i p:?.:.g 2 I F I d f q r T.1 C S X Y 2 ' J t ST : , Ufil.! F C Y T P " ! WE G ? !" T 4 1 $ "TT'q, \r!YI.T ki3UCn Y 3U F F P L Y ? L!?SSWT$: ! 3" r:7T T , I I S . J K U I S T 3 " ? 3.15 5:.Y - F ? C : P . C l . T ~ J * . T I T S h ! f o V i S 8 ; V I P Z z \ i ? ! J ' I h : ( ; 1'4: L ? f T F:'.I Y . '?FS, AT Lk:Y K . P T = ,
WF H A V E P:rVEQ H E & F 3 SUCH & C c h c ? L S I ! ' J T FQ.?hq E ? T p = ! 2 P I t P e \ ' . : M j ' s 32 ! 3 1 * ! i 5 F ? 3 711- Z'-(?y8r = t n'- c ? V I '7 .- ! ?;fr.r:vr *.I+ ! r~ , 9 ! "1 r.lDT FCr ,3$4Y= 'J f ' Tt-: \T \./' TY'.?!d >:l4:4t!.!"; I+,! ?\ C:F] IT T r T:{' y T = \ ( j T,4,!!7 Wf t : r ;>.ARfi,LYZ,p .I\;? 1 q ' " C ' C ' F I ~ ; C :? T:? IJTTI - I~ : ' **, T us:? 7 A R E , AFT>:. 4 L L , SE_V-c? .L 7F.STACL'S 141 tH- pATk8 CF y Q V ! p T ~ ? . T ~ ; V C ~ T ! ( ? ~ , F I Q c T 2 s L L L , 9!J3 P']W== ?\i TbI: A Q C b I S ' (77 ! y C 3 V S ; ? F < A P L E p 4 : ' ) T q E !.!S!:S ' C s T R Z V G T I 4 1s r33T J',:L J Y I T T J . i;,CG:.j7, Tc?: t j j S F A T T { , f 4 f t ! . i ~ ! ~ ~ T
C. Features and Capa;Jilities of the DaL Language and Processor
(1) DRL language - data definition A descriptive staten-ent is of me £om
nmne IS at tr ibute (description) ; - where narrrt is an identifier given to a particular attr ibute, -
at t r ibute can be a FILE, REmRD, GEOUP, FIELD, TAPE, DISK, or CARD, and
description is a s ta temnt of the characteristics peculiar to that 1 I
particular attr ibute name. 1
To categorize and i l l u s t r a t e these points, examine the follawing table: I
FILE
EQRU
E C R I PTI 3i
STATES ME NAME OF THE STORAGE M€DILIM ON WHI Cn 3iriE F I L E I S FOLJND
STATES THE NAME OF T ~ E RECORDS WHICH COMoRISE TiE FILE,
LISTS WE NAMES OF WE COWONENT I'BBERS OF THE RECORD,
GIVES THE LENGTH, IN BYTES OF A LOGICAL (USER) RECORD,
LISTS ALL THE SUS-GROUPS AND FIELDS S4HIa-I COMPRISE I T ,
~)ESCRIBES M E ATTRIBUTES OF THE FIELD,
SFILE (LINE 2) IS T ~ E
so%k f h l IT I S STORED ON . AND I S COMPRISED OF R E ~ R B 1?4-8EDm8
OF FIELDS CALLED ~
dm, m m f l , AND I:I-TEflt G UP CALLED f.ibh86:i8 RP T HAS A
0 IC4L RECORD LENGM OF 43b BYTES I
IIUFOWTIr3~4 (LINE 6) IS A GROUP COMPOSED OF 10 F I EU)S 1
KG'S3 (LINE 8) IS A FIEID U CHARACTERS LONG
STORAGE MEDIA
THESE STATEMENTS GIVE A TflGGT/$'E ( 1 1 ~ ~ 1 8 ) I S M E NAME DESCRIPTION OF TAE STORAGE OF A DESCRIPTION OF A TAPE MEDIUL? AND THE PHYSICAL WIM ARIIULE BLOCK L E G M CHARACTERISTICS OF THE F I LEI OF 4 3 6 BYTES AN3 EXTERJAL SUCH AS BLOCK SIZE, RECORD NAME OF m2Bm ~ L L OTHER LENGTH, M E L S EXTERNAL ATIRISUTES FOR THIS TAPE ARE NAMES, ETCt DEFAULT TO WE SYSTEM; .
(-2) DlE language - data ma13ping-s
MAPS A CONSTANT INTO A TARGET FIELD
LLISTR9TI @I SEE FIGURE 5 ~ )
MAPPED THE CONSTANT ' (DATE) '
MPS A SOURCE FIELD OUT DATE (LINE 2 3 I S A TAR5ET INTO A TARGET FIELD FIE^ INTO 'MICH I S r4APPED
THE CONTENTS OF THE SOURCE FIELD DATE
;UTE: THE DDL PROCESSOR MAKES IT VERY EASY TO ELIMINATE FIEDS FOUND IN THE SOU~CE FILES WHEN CONSTRUCTING THE TARGET FILE, SEVERAL OF THE SOURCE F I E D I S W AS E l ) AND BIs HAVE 3EEN EXTFtACTED BUT ARE NOT C9PI CD ONTO THE TAffiET FILE, AS SEEN I N M E TARGET FILE DESCRIPTION I N FIGURE k.
-38-
(3) IT& routines - data manipulation
LOCK
LENGTH
CRITERIA
M I S TYPE PROCEDURE DETERMINES WETHER OR NOT A PARTI C U M RECORD I S TO BE PROCESSED
SHIS TYPE ROUTINE PERMITS VARYING FIELD LENGMS FROM ONE RECORD TO M E NEXT BY COMPUTING TdE LENGTdS AT RU4-TIME
TriIS TYPE ROUTINE ALLDWS A GROUP OR F IEU) TO HAVE A VARIAI3LE N W E R OF MEFBERS BY WECKING T-IE EXISTENCE OF EACH SUCCEED1 NG MEMBER,
SPECIAL ROUTINES \#-IICH W I L L MODIFY R E CONTENTS OF A FIELD
LUST WT I @4 SEE FIGURE 5d
SHE LEN lli OF FBIS 8 (LINE I IS C Q M P ~ ~ E D W N A M I W Y BY M E DL ROUTINES FBISLENI
INFORMATION (LINE 3) I S DECLARED 0 APPEAR 3 TO 1 TIMES I N TI-IE SOURCE RECORD DEPENDING ON CERTAIN CRITERIA CONSIDERED I N THE USER PROVIDED WL ROUTINE INTROs THE T A K E GROW OUT-INFO 1 LINE 23)
APPEARS I F AND ONLY I F INFORFNTION D3ES
4 - PROC 4 (LINE 28) SCANS FOR AND ELIMINATES SPECIAL BREAK CHARACTERS I N IN-TEXT- BEFORE 7HE SOURCE FIELD I S STORED I N OtTT,TEXTI
(4) Ihe exanple shews the specification of a tape to tape q i n g
and canverc3ion of a file (=-TAPE (line 18) MAGAZINE (line 29 ) ) ;
oxversion &tween files on other storage media can be handled as well.
Sane interestirg statistics regarding the lines of ade, are
-ts, and the requLra~~nts during the various Mases of processing
for this saq le run are given in Figwe 7. The statistics regarding the
nmber of reaords processed and the time it took to transfer and manipulate
the data reveal that the efficiency of the generated program is amparable
.to one written by the anventiondl m u a l manner. At tbe samt the, hcwever,
it took a person a lot less tine and lines of DDa statemnts than required - in order to write the program by hand.
STORAGE AND TIME RlQUI-:
M I S m m FIGURES: CPU seconds to produce each logical output record - .0011 Channel secands to produce ea& logical output record - .0006 Minutes for trained human to r i t e DMJDML statements - 40 N W r of Rurns for trained hmms to get a
bug-£- program ----------------- 3 NOTE: All the above figures are based on a run of the exarrrple made on an IB.Wl68
Ccnputing Facility
? NUMBER OF' S~~ a? WCBE
30 DDL
125 Dl% I 272
3222 RYTES OF' rm3ENE LANGUAGE INS-CN
Figure 7 QUANTITA!l'IVE STATISTIS
~m CIIQIKATICkQ
.
BLDCK mGrH IN BYTES
4096 I,
7500
I
INPUT FIU
OUrPm FILE
mu S E m
2.82
03m
190K
I/O SElXNDS
14
NUMBER OF BLOQ(S TRANSFERRED
14 3
42 7
4
27
a
PL/I OOMPILA?rl:ON
NUMBEROF -= PER rn
1
100
1- sINm PL/1 03FPILER S E S 2.33 FS MLrII rnRE AS I AVAILhBLE FOR
33.9 ExEcWION 104K
i
-41-
11. CURRENT RESEARCH
Current research is concentrated on developing a Processor whose p r i n c i p l e
is similar t o DDL's , bu t mi& will be able to produce programs of a m&
wider class. 'Ihe cu r r en t processor is l i m i t e d t o genera t ing programs which accept
a s i n g l e s e q u e n t i a l f i l e and produce a s i n g l e t a r g e t s e q u e n t i a l f i l e , The processo r
i s c u r r e n t l y be ing extended t o enable it t o accept desc r ip t ions of mu l t ip l e f i l e s
whose s t r u c t u r e is not n e c e s s a r i l y s e q u e n t i a l . Such a processor would then gene ra t e
programs which would accept and process any number of f i l e s and produce a s output
any number of d e s i r e d f i l e s .
The processor would involve new techniques and procedures n o t p re sen t
i n t h e c u r r e n t processor . These techniques would have t o b e capable of producing
programs which would input t h e f i l e s and sequence t h e i r reading i n t h e most e f f i c i e n t
manner and t ransform them i n t o a set of des i r ed output f i l e s , a l l t h i s from non-
procedura l u se r s p e c i f i c a t i o n s descr ib ing h i s source and t a r g e t f i l e s . This would
involve cons t ruc t ion of networks of a l l involved da t a elements i n t e r a c t i n g wi th
r o u t i n e s t h a t process them, followed by designing and s t r u c t u r i n g t h e o b j e c t pro-
gram t h a t w i l l process t h e d a t a most e f f i c i e n t l y . The generated program would
c o n s i s t bf a l l t h e 11O'related i n s t r u c t i o n s , the l o g i c a l sequencing and c o n t r o l ,
and i nvoca t ions of DML rou t ines . Thus, generated llDdules would again me m~>- l e v e l of t h e d e s i r e d program wi th t h e low level d a t a manipulat ion t o be provided
by t h e u s e r ' s DML rou t ines . Such a processor would be ano the r s t e p towards
t h e au tomat ic genera t ion of d a t a process ing programs and would obviously cover
a much wider c l a s s of app l i ca t ions .
I V . OTHER POSSIBLE FUTURE WORK
Other p o s s i b l e f u t u r e extensions t o t h e s y s tem might i nc lude t h e fo l lowing
a r e a s i n o r d e r t o make t h e processor of wider use:
(a ) I f automatic genera t ion of COBOL r a t h e r than PL/1 p r o g r a m is d e s i r e d ,
t h i s could be e f f e c t e d by r ewr i t i ng t h e output modules of our processor .
(b) A s we have mentioned above, we could accept another s p e c i f i c a t i o n
language o t h e r than our DDL wi th t h e a i d of o u r SAPG.
(c) Research could be c a r r i e d ou t t o develop modules t o genera te r e p o r t s
l o g i c a l l y . That is, a processor which accepts non-procedural and l o g i c a l
d e s c r i p t i o n of des i r ed r epor t s could be developed t o design and produce programs
f o r r e p o r t w r i t i n g much i n t he same way t h a t t h e DDL Processor genera tes f i l e s .
Complete automation of genera t ing programs is , of course, a long way
o f f , bu t t h e above-described system is a smal l s t e p i n t h a t d i r e c t i o n . For a
more complete ana lys i s of the r o l e of automatic program genera t ion i n sof tware
development, s e e 121.
2. N.S. Prywes, "The Role of Automatic Program Generation i n Software Development," Moore School of E l e c t r i c a l Engineering, Univers i ty of Pennsylvania.
The author wuld like to thank Dr. N.S. Prywes, the project
supervisor, for his direction and s u p x i s i o n of the project.'
l!cknmle&~ermmt should be made to Dr. J. A. P m who, as a graduate
student, w a s system designer and original project leader of t k team
that implonented the first version of the DlL ?messor.
AUIOMATIC GbEBATION OF SOF'IwAE SYSTEMS - A SURIEX
N. PRYWES
Department of muter and Infomation Sciences, University of Pennsylvania
iaesearch and devel-t on autmatic prograrrcning has been underway
for nearly twenty-five years, and w i l l continue for many years. An ultimate
djective is the developnent of methods and facil i t ies to producJe software
automatically, on demnd, for the businessman, industrialist or scientist.
I'his paper considers this proposition and examines a nwber of related
questions: what is a plausible sequence of developrents?, what is the social-
e o x d c need for such automatic pmgramning advances?, what is the extent of
the potential inpact of such advances?, what are the envisaged metb&logies?
how w i l l they be employed? and what are th? o p research questions? The
paper is intended to provide rrotivatian for, and critique of, resear& Ward
the above ultimate goal of autanatic programing.
D m t of muter and Informtion Sciences, University of Pennsylvania Philadelphia, Pa. , 19 174
1. m W C T 1 a q :
Resear& and developrent on automatic programing 'has been underway
since early applications of d ig i ta l cosnputers, for nearly bventy-five years,
and w i l l wntinue for m y years. It has s tar ted with the use of the Ormputer 1
to relieve the programwr of miscellaneous detail . Its ultimate cbjective is
envisaged as a situation where software mufd be auton-atically generated for the
businessman, industrialist o r scient is t , on danand. The uxputer would have to
access the m i n e d knawledge of the respective f i e ld of the application and of
amputer system design and programing in order to generate au-tically the
needed software, ready for use. !ELLS ultimate dsjective of automatic
programing is the m a h stbject of this paper.
The paper is organized in ism parts. The f i r s t part discusses the wide
spread 0311- that wst and effectiveness of software developnent threaten t k
mntinued growth of use of amputers. This is offered as a mtivat ion f o r
acceleration of the research on automatic programTling to achieve the above cited
ultimate objective. The secnnd part of the paper a t t e q k s an a s s e s m t of the
methods of a&ieving the ultimate objective of a l l autonutic software generation.
The f i r s t part of W paper is divided into .two sections. H i s t o r i c and
eammic a n t e x t s of advances in automatic pragramning are discussed br ief ly
in the next section, as a basis f o r evaluation and projection of progress.
1. For instance, early developnent of mthematical routines at Hanmrd University, University of Pennsylvania and Canbridge University.
Work supported by OrJR Infomation System Program, Contract #N00014-67-A-0216-0014
-1-
FrPm midway vintage point betwen the beginning and u l t h t e goal, it is
possible to see that progress on autcmtic p r o g r e g has follwed a natural
sequence where earlier work establis'1ed foundations for l a te r advances. -Also,
that rate of progress has been a function of the ecoromic pressures of d m d
and costs for pmgramnhg in erqloyment of amputers i n society.
'Jhen, i n the section that follaws, the so£- developnent cycle is
analyzed ,to identify the coqonents that need to be automted and to assess the
benefits f ran their autaMtion.
Subseq~lent two secticm constitute the semnd pax-t of the paper, whiol
discusses future advances in autogMtic generation of sofdare. The advances
described i n the f i r s t of the two sections are currently underway, and are
believed to be capable of replacing the human programers who are engaged in
translating mn-procedural specifications into conrputer pmgrm for processing
data. This is referred to i n the following as aukmatic design and implmmtation
of program rrpdules. It is required that a caputer engaged in performing
this functim, have access to lawwledge on ccanputer system design and p r o q r d n g ,
but that it m y be independent of hflwledge in the f ie ld of a specific application.
The s a n d part, autaMtic generation of overall problem requhmmts, is based
on computer access also to knawledge in respective specific application fields.
PARr I CuRREm' Pm- I;g SOFTWARE l m l E m P M
2 , OVERVIEW OF HISTOIUC AND EO%JOMIC 03NSU;IERATICNS
The total process of developrat and use of data prucessing systems has
been pictured as consisting of many layers. Figure 1 illustrates such a
multi-layer structure by showing thirteen such layers. me exmination of
this structure is interesting in that it provides informtion on future areas
of progress of autmatic pmgramning. The layers in Figure 1 are nmrred to
indicate their general function. A reader desirous of m r e specific definitions
-2-
AUTOM4TION D W D
EVALUATION OF ALTERNATIVE AUTOMAT I ON PLANS
FWCTIONAL SPECIFICATIONS OF COMPUTER SYSTEM
EVALUATION OF FILE STRUCTURE ALTERNATIVES
PROGRAM MDW IDENTIFICATION
PRDGRAM MODULE I NPUT/OL~-PUT LDGI CAL SPECI F I CATI ONS
PROGRAM DESIGN
HIGH LEVEL (~WILER, JCW IANGWGE PROGMING
HIGH LEVEL TO ASSWLY LANGU4GE
ASSUvBLY LANGUAGE TO MACHINE CODE
PROBLEM AND SUPERVISOR WROS
PROBLEM INSTRUCTION SEQUENCES
MICRO I NSTRUCTION PROCESS I NG OF WTA
OVERALL PRCBLEM REQUI REMENTS
7 PROGRAM DESIGN AND IMPLEMENTATION
PROGRAM TRANSLATI ON AND OPT1 MI ZATI ON
FIG, I TMJSLATIO:VMP!M LAYERS I N MA
PWCES5IiJG SYST55 AID I N MEIR WLICATIONS
for the layers may have to add additimal layers. The top three layers
in Figure 1 are associated w i t h the process of determining au-tion
rquiremnts, mi& s m & i n ~ ~ requires definition of the problem. Note also
that typically, a prcblem envimnnmt includes several other uxp0nent.s beside
the computer. The next five layers mncern the design and inplesentation of
sofbrare, i n a language mnvenient for b e pmblan. The two layers below, are
ccmcerned wit;n ti^ translation and optimization of the program. Finally,
the three lowest levels are concerned w i t h the execution of the programs to
perbrm the desired automation functions.
One way of regarding these layers is as a hot-up sequence, in the sense
that the aubrmtion of a bottom layer is utilized in building the layer above
it. Historically, a bottom-up approa& has been taken i n autaMting these
layers. T h e f i r s t layers to be automated were those associated w i ~ program
execution. Tkis was followed by the layers associateii w i t h language translation
and program optimization. To date, a great w a s i s has also been placed on the
2 efficiency and u t i l i t y of programing l a q u g e s . Improved fac i l i t i e s were
quickly put to a test in a variety of applications. Relatively, l i t t le auknation
has been applied to the tnp seven layers i n Figure 1 and the translations £ran
one layer to the one below it have been done manually by appropriate sofware
specialists.
hmther, topdbwn view of Figure 1, pictures the layers as a series of
transducers - transla*=, &ere the flow is &mward so that output of a top
layer is used as an input to the layer belaw it. (A feeiback flaw is used for
oorrections and mdificatians)
While impmmms~ts in hardware, system software and programing languages
2 Jean E. m t , "Progranming Languages: History and Future, " Coamr. of the ACM, July 1972, Vol. 15, N u h e r 7, pp. 607-610.
-4-
continue to make prograrmcing m r e effective, they are not sufficient to
wnpensate for the dramtic projected increases i n d d for sofhare. One
approad projection of d d of software is as follcrws: 'Ihe rat io
of cost of sofbrare to hadware, wfiid-i in 1970 was 2:1, is projected
to increase by 1985 to 10: 13. The U. S . Bureau of Labor Sta t is t ics 19 70
es-tes show a work force of 3G0,OOCI engaged i n software developmt in
the United States. Of these 137,000 were classified as business p r o g r m ,
97,000 as business systms analysts and the remainder were arployed in
4 sys tem and scientif ic software . These estimates are on the low side as
they exclude some s-ts of the U.S. ec0nca-y and were registered a t a
low emmmic point of 1970. In spite of the decreasing costs of computer
equiprent, total U. S. revenues from cmnputing hardware have been increasing
since 1970 a t a real rate that m y be averaged a t 10% annually. 'Ihough costs
of m u t e r s have been decreasing, mnsidering tie large n m e r s of
potential users and new areas of industrial applications, this rate of
increase is projected to a n t i n e for the period of I270 to 1985. It w i l l
amunt to quadrupling the real annual cost of new computer equi-t by
1985. When this is coupled with the 1985 projection of 10: 1 rat io of cost
of programing to the cost of hardware, this would munt to 20 fold increase
in programning IM~~EXJW@~ by 19 85 (a 22% annual grawth rate) . Obviously
such a m-t would constitute not only a financrial d s t a c l e to
advances in use of anputers, but also su& a labor force canmt be recruited,
trained, o r wntrolled effectively. In order to keep software manpower
3 i3arry W. M, "Software and Its Impact: A ~uant i t a t ive Assessm~nt,'~ Datamation, May 1373, pp. 48-59.
4 B G i l d x i s t and R.E. Weber., "Rnployment of Trained Cbmputer Personnel- A Quantitative Survey, " AE'IPS Canference Proceedings, Vol. 46, .- 19 72, pp. 641-648.
-5-
inawes a t a pace with increases of total hardware costs (10% annual increase) ,
the mqmer requiremats w i l l have t o be reduced by 80% by 1985, as oampared
with present (mstly manual) mtlmds.
Cbntinuing the bottom-up sequmce of dwelopmt , there are considerable
efforts underway on the mmplete autanation of the five layers in Figure 1
that constitute program design and implamtation. Tne bottoan two of the five
layers, will provide automatic generation of program, based on program nodule
logical specifications; n d y , the autcanatic production of Ad Iioc prografis
in aqi ler languqes su=h a s 03BOL or PL/1. This w i l l reriuce, particularly,
the requirements for business programers. As indicated, these programers
represent 60% of m s e employed in business programning. Subsequently, work
of business systan analysts, who are engaged in the top three of the f ive
layers mentioned, w i l l be reduced as w e l l .
The manpower associated with the top four layers in Figure 1, of determination
of overall problem rqubsmmts, represents currently a relatively d l munt -
of -err w h i m is primarily trained in the respective applicatims rather
than in 03mpute.r systems. Most prabably &e bottomup sequence of developrents
w i l l continue and w i l l gradually effect the tap layers in Figure 1. EIwever,
tne automtion of determining overall problem requirems~ts m y be delayed
until aubmatic program design and generation methodology ( in lower layers)
has been w e l l established. The mthods under developreat are described in Part I1
below.
Advances in automation of programning are needed in large scale software
developrwt projects, particularily in the business data processing area
wnich q l o y s the majority of pmgramnexs and where there is likely to be
the mst g M in demand for such services. Exmnples of sucfi system are a
new financial systan r m e d by top managenrent to provide new reporting for
improved financial omtrol and planning, or system to support new products
su& as reservations services, medical services o r a new insurance plan. Large
scale projects are not the creation of a single or a d l group of managers.
Such systerrs have an impact on top managmt , business specialists i n areas
such as acoounting or finance, operational staff of the organization, and
finally the p&lic that interact with the organization such as wtwoers,
vendors, etc. This is one of the reasons thy large scale sofWare develogmnt
projects span several years of develop-rent time and involve activities of
various group w i t h i n an organizatian. The objective below is t;o put programing
autanration in the context of such projects, .to determine the requiremznts of
research in greater detail. Figure 2 gives an overview of the software
developent process, indicating the respective phases, by *can thqr are perforrred,
the end pmdwts and the languages lsed in the docunmtation.
Data on distributian of labor and costs i n software developrrent W e s
is diff icult to obtain for two reasons. Fi rs t , Mase classification in
5 accounting of developn=nt costs is rarely adhered t o systemtically . Semnd,
costs of software developrent projects vary greatly, depending on the quality
of planning and execution. Costs f-ly vary in the ra t io of 2:l for similar
project and in som instances ti= ra t io is much higher (20:l). Therefore, the
estimates that are mde below indicate widely accepted typical values.
5 Nelson, E.A., "Nmagemnt H a n m Fbr me Estirration of Cmputer Programing Qsts," SDCIM 3224, 1966.
-7-
SOFTWARE SYSTEM PERFORMED END PRODUCTS
DEVELOPMENT PHASES BY
OVERhLL PROBLEM TOP MANA(;EMENT
REQUIREMENTS
SYSTEM I BUSINESS (ACUIWI'ING, FUNCTIONAL Fm=, ETC.)
1 SPECIFICATIONS [ SPE(XALISTS 1.
IMPLEMENTATION I CDIYPUTER SPECZXISTS:
IDENTIFICATION OF CKIEF PmaAmEB QUI RED PROGRAM
STRUCTURE
DESIGN, CODE, DEBUG AND I I p-/
DOCUMENT A ~ Y S ? S
LANGUAGES
OVERALL r x s m O N OF SYSTEM. AD H E mT/BENEFIT ANALYSIS
m R M ? s r I a Y m, FORMAL F O v l m G AND SEQUENCING SYSTEM IxEamTION OF 03MPVIlER FUNaIONAL INPUTS AND OUI'PUrS SPECIE'ImCN CIEScluPnON OF DATA MIWLPULAT1:aJ
IEsQIIPTI:ON OF L?JPUT-OmUT mRMAI; Pm- AND DATA ~IE'UWITICBJ OF Em3 GRAM MDm m m 1 m
SPEcIF'ICATIy
J I 1- O ~ I O N A L SOFTmFE AD HOC 2 . B R D3CUMEPJTIYPICN
I MAINTENANCE I
LPROGIWI MODULE I
1 L
SYSTEM INTEGRATIO~' & INSTALLATION
MODIFICATIONS AND Y ADDITIONS
a)MPm PRIGRAW PKGIWMING - - & I2lcmwrATION
03MPUIER/BENESS 'IEAM
F I G . 2 OVERVIEW OF SOFTWARE S Y S T E m DEVELOPMENT PROJECTS
3,6,7,18 These estimates that are based on published reprts , and discussims w i t h
cnlleages. The estimtes are made to i l lus t ra te an approach to the projection
of the possible impacts of autrmating software develo-t. A reader whose
experierce indicates different estimates can stbst i tute h i s own estimates and
verify the validity of the cnnclusions. The es t imtes belaw are to be
considered as averages for all business data processing projects. Similar
analysis can be performed for other areas of pmgramning applications.
In the discussion belaw, reference is made to the plases in Figure 2.
Overall Prblem R q w h m n t s - This is a project kick-off +ase concerned
primarily w i t h determining what information management needs and indicaticols
of the resources needed for the developnent. The init iat ion of larye scale
so faa re developnent projects is usually p q t e d by important needs
detemnhed by top managerent. !lk phase includes preparing preliminary
es-tes supported by costbenefi ts analysis. ?his activity requires expertise
in the application area, as w e l l as sizing mnputer requiremnts. The written
description of su& activity together w i t h the indication of required
resources and the decision to proceed are then axtymmicated to individuals
charged with carrying out the decision. Tb give a relative weight, this phase
is estimated a t 8% of total project mst.
System Functional Specifications - These specificatiahls describe the
infoxnation flow involving h-, a o d c a t i o n s and cxnputers. They define
the transactions that would be involved as w e l l as m a n a g m t reports necessary
for control of the activities i n the system.
6 F. T. Baker, "Chief P r o g r m Team Management of Production P r o g r m g ,I1
IBM Sy~tarrs Jourrral, V6l . 11, I, 1972, p ~ . 57-73.
7 J. D. Aron, "Estimating Rsources For Large Programning Systarrs ," 2nd NA!Kl Conference, SofWare Engineering Report, 1969, pp. 68-79 , NATO, Brussels.
ale cmputer is envisaged as a black box where the functional specifications
describe all the transactions that are entered into the mnputer system, and
tile mnagem=nt reports and user in fomt ion produced by the system. The group
tiut prepares the specifications need not include ccarqxter specialists.
However, as w i l l be related further in Part 11, it has been found useful to
goploy a formal functional specification language i n docmmting the system,
which can be processed autoaMtically to indicate i n q l e t e n e s s o r inconsistenqy.
Ineffectiveness and w a s t e result mere the functional specifications are
inmmplete or anbigmus thus causing redesign and reprograming. The discipline
h p s e d by the use of su5-1 specification languages has been considered as
ueneficial to reducing total developrrent costs, especially in controlling the
progress and f low of work during a developnent project. 22% of the total
costs of software developnmt projects is estimated for this *e.
The renrainbg 78% of the cost of a sof- developmt project is
estirmted to be for d e v e l o p t of program n-odules that perform i n acmrdance
with the functional specification. If the functional specifications are
03np?le-, the work in this phase requires only q u t e r oriented skills.
Once the total ~ v i r o n m n t and hardware requiremnts -have been preliminarily
determined the softwa.re demdopmt in this phase may be sbdivided into three
steps*
File Structure and Mule Desiqn - The f i r s t step in this phase is the
specification of f i l e structures and program mxlules . me functional
specificatians written by the business s p c i a l i s t s in the previous step are rn
broken durn into distinct logical specifications for each program d u l e .
Fwthermore, the data structures on which the modules ac t can r m be specified.
A program IlPdule is typically associated w i t h a transaction, an updating
or a reporting function. In a typical $1,000,000 project there would be 50 t o
100 program mdules each consisting of 1000 to 2000 lines of high level
language code. The abjective of this step is to cbtain a sequence of input-
output operations and data organizatbn tha t minimize the aost of data processing.
The pmdu=tof the design activity is the generation of f i l e structure
specifications and program d u l e logical specifications which inmrporate the
system func t iaa l specification on a per-mdule basis. 15% of project cost
is estimated to go into creating this specification. (In many projects th is
step is integrated with ?rogram design, described below, and it is not possible
then to estimte msts separately).
Program Design, W e and Debug - Ihe next step is the design of each
program d u l e , its coding, debugging and doamentation. The &iff iculties
enmuntered currently in this step are due to having to supervise large
nmbers of p r o g r m r s , and the lw managemmt visibil i ty of progress or lack
thereof. Therefore, prablenrj are discovered l a t e during ~e debugging of
individual program mdules, even l a t e r o r during installation, resulting i n
delays and msts beyond original estimates. This step is estimted to require
currently 25% of the total project cost.
System Integration and Installation - The last step in the programing
g b s e mists of integration of individual programmodules into the total system,
testing and ~~ parallel operation of the system. It is during this w e
a t pd lems that have not been previously visible to mnagemnt a n e to light.
lhey my appear as malfunctions -t must be wrrected. I f difficulties are
discovered.in user operation and control of the system, t ?e indicated dxmges
must be commmicated to modify the functional specification of either the
entire system or specific program xrodules and only then can mdifications be
-11-
TMLE I S M 13F ESTIiWTES OF FfREJTAGES aF SOFI',fARE EVELOPFCJT DSTS
ATTRIi3UTBL.E TO ?HIKES, AID ENVISAGED FEDUCTIOIYS DLE TO AUT3WTION
PHASE DES CR I PT I ON
DETERMI NATION OF PROBBLEM REQUIREMENTS
GENERATION OF SYSTEM FWCT IONAL SPECS
ESTIMATED z OF TOTAL COST
WITH TRADITIONAL P R O G M I NG APPROACH
PROGRAMvlI NG: FILE AND E.13DULE DESIGN
7D CODE* TEST* DEBUG AND IX)CWNT
ESTIWTE OF PO NTI AL REMJCTION~ (IN OF COST) DIE TO:
3
TOTAL Ia -32 -15 -22 -11 20
made. Depend i tq on the quality of test.hq prior to installation this l a s t
s&-@mse m y acaunt for 30% of the btal costs of the project.
~vlaintenance - After t2e system has been in operation, it w i l l require
maintenance to correct errors m t determined during the installation process.
But e m m r e so it w i l l require maintenance to rrpdify and add facil i t ies.
This is a post-sofbmre-developnent *ase which must be facilitated during the
dewlo-t i t se l f . The software develogmnt should provide a mthod by which t .
mdificatims can be orderly entered in the specifications, the program nodules,
tne doamentations and tiw operational system i t se l f .
The autanation of any one phase imposes a disciplim on the entire process
w h i & brings savjngs i n the adjacent phases of the ?mess as w e l l . For
instance, the discipline provided by a requirerent t o specify program rrpdules
in a forrral functional specification language and an automtic generation of
programs would assure that relatively bug free program be provided tie
system integration @-we.
Table 1 smmrizes the estimtes of distribution of costs over the pk.1ases
of the sofbmre developnent process as indicated previously. These estimates
are necessarily subjective as indicated previously. A bottom up sequence
of develo-t is ass- i n Table 1, with autonatic program design and
generation amnplished first followed by autcmatic f i l e and mdule design,
aukmatic functional specification and finally autaMtion of the determination
* The estimates of savings due to' aukmation of program generatim are inclusive of savings due to improved operating systems and language fac i l i t i es shown in the five bottom layers of Figure 1.
problem requiments. The bject ive of such a swcession of d e v e l o ~ t s
is to red- the m s t of software development by 80% over a period lasting to
1985, as illustrated in Fig. 3. 'Ihe estimtes of savings of cast due to the
four envisaged incr-ts in automation of programning, represent a m s of
the autimr, after extensive discussions with coworkers in this fisld. The
e s t h t e s of potential mntributions of autamtion of software developrent
V e s are also based on considering the potential methocaOlogies as described
below. Therefore, mre w i l l be said on these estirrates, a t the end of Part 11. .. - - -- -
PAKI' I1 FVCUR3 ADVXJCES IN AUrOMATION OF SOlXWAlE LEVDBPMENT
4 A U K , W I C ESIQl AND -ON OF P-
This section examines the automation of the five layers in Figure 1
sham as constituting program design and implementatim. T h i s activity requires
only cmputer related -ledge. The autaroation activities of the higher
layers in Figure 1 that require lrnawledge of specific applications are discussed
in a subsequent section. The "pure" m u t e r art dependent structures are
on a higher abstraction level than the business functions of a specific type
of industry. The automting of the generation of these structures can serve
as a foundation, and can be used in a variety of businesses and industry
applications.
The discussions in this section involve only logical-abstract descriptions
of the autanation. The translations fran the logical-abstract mdels b
physical devices are perfor& in the an-1 program in lower five layers
of Figure 1, such as D a t a and Teleprocessing Access Nethods , etc. xwwer, i t ' s important to m t e a t this point that approaches to
autQMtiq sofware development, where application and ccmputer related W l e d g e
ESTLMalE OF POTENTIAL CONTRIBUION M COST REWCTtUi
AUTOIWTIC F'HOGRAM GENERATION
A U T W T I C F ILE 8 M W E DESIGN
AUTOMATIC FUIJCTION SPECIFICATION
AUTOMATI C PKB LEM REQUI REMENTS
TOTAL
1373 SOFWARE BUSI NESS PROGRAF~FP~ERS BUS I NESS ANALYSTS SYSTEM 2 SCIENTIFIC
TOTAL 3f33.93 *AFIPS, 'THE STATE OF M E CDFPUTER INDUSTRY I N THE UISlt ~NNALE, 8.J. I973
FIG. 3. SUMRY i)F SORdAWHARlklAE QSTS ~~ POE4TIR a3URIBLJTIWS TO
mT FIDUCT1O:lS -15-
were integrated, are being pwcsued as w e l l . One sudn approach mnsists of
using prefabricated program a q m e n t s oriented to a specific type of
business o r industry. The mnpnents are appropriately parmetrized so that
they can be adapted to use by m y oqmiza t ims . Typically a potential user
selects functional amponents tiat are required in his operation. Questicnnaires
and cneck-lists are provided to faci l i ta te gather- the user requimnmts.
Also an Editor and a P e r t Generator are provided t o enter user parameters
and report formats. Sudn systems are used by service organizations and
tmnputer manufacturers to install d l business system for wholesale and
8 distribution industries . There are shortmmhgs with this approach on two
levels. Fi rs t tnere is a continuing requirmt for programner skills for
selecting mrqmnents and detemjning the values of the parameters. Also
frquently, necessary functiolls cann;>t be p e r f o w by previously prefabricated
03npnents and additional special purpose program are required. On amther
level, use of such packages requires mlding the needs for automation of a
business into the structure of the prefabricated sofware packages. No
provisions are mde to determine managarujnt's cr i t ica l decisions regarding
efficient operation and whetkr data for decision making is indeed made
available to managemmt. %is appro ad^ can be based on a m r e general and
p e r f u l program generation method described below instead on prefabricated
9 -ents and w i l l be discussed further in the next sectim.
Follawing the bottom-up s-ce (Figure 1) , au-tic program m e
generatian is discussed belaw f i r s t , and is follmed by the automatic f i l e
8 Examples are IEM Customizing Service for users of IBM System 3 and the proprietary services of Keydata and others for the distribution industry.
9 A.C. Hax and W.A. Martin, "AutOBMtic Generation of Custanized, W e 1 Based Infonration Systens For Operations Managanent," Pmc. of the -ton mnference on Research on wuters in Organizations, Philadelwid, Pennsylvania, Octcioer 1975, H.L. mrgan, E d i t o r , pp. ll.7-121.
s&we and mdule selection mthotblogy.
Automatic program nodule generation: This mth&logy is based on
the use of processors -le of generating broad classes of programs.
Figure 4 illustrates this methodology. Box (1) a t the bottom of Figure 4
illustrates a broad class of programs, dnaracterized as intended for business
applications where they have to process a number of input data [or message]
fi les and to produce a nunber of output f i les [or reports]. Box (2) illustrates
a processor which can generate the program rtpdule for (1) . The Program
Mule Generator (2) consists of tsa parts, for processing the input formal
non-procedural functional specification of the desired program nodule, and
for p&fonnhg design and code generation.
The design and m e generation progranr; in box (2) , enbody a mathemtical
mdel of a program design process. They check the consistency and the
canpleteness of input specifications by tracing each value i n the output
data to its sourrpc. From these traces as w e l l as from mquimmnts imposed
by f i l e structures of the respective f i les [e.g. sequential or indexed] they
determine the sequencing of the input -ds, mrrputation and output ammnds
to attain program nodule efficiency.
The program Rodule spxifications used as input in this process are a
s a s e t of the overall prablan non-procedural functional specificatims.
Several £orrial languages for stating non-prccedural functional specifications
have been developed and some have been in uselo (see also ref. 2, 18 and 19).
10 D. Teichrm, "Survey of Languages For Stating - T E e q u i m t s for m u t e r Based Information System, " AJ?IPS Cbnfermce Proc. , Vol. 42, Fa l l 1372, pp. 1203-1244,
r m
LANGUAGE DESIGN SYNTAX
. METHOD - DESIGN AND C GENERATION 0
ANALYSIS CODE PROGRAM PROGIp GENERATI ON GENERATOR
SEMANTICS + ' GENERATOR SPEC - - b
BUSINESS PROGRAM
MODULE NON-PROCEDURAL DESIGN AND
FUNCTIONAL CODE
MANIPUTLATION GENERATION SPECIFICATION PROGRAM
: PROGRAM LISTING - AND DOCUMENTATION
m OUTPUT FILES
FIG. 3 INTERACTIONS IN AUTOMATIC GENERATION OF A PROGRAM MODULE
Because of the eiqimsis in these languages on faci l i t ies b describe data,
tiley are very similar to languages used to describe data bases 11'12. 1t is
important to be able to process program module specifications that are given
in any carbination of several forms, such as in a formdl language, table
f o m t or in a question-answer f o m t . Also, these languages are still in
an experimental p a s e and little usage w i e n c e is available for their
evaluation. In order to have a capability to accept several selected languages
or f o r n t s , and to nndify them, it is desixeable to generate autcmtically
the language analysis program. %is capability is indicated in Figure 4 by
a higher level language analysis program generator processor box (3) which
autoPMtically generates the mdule specification analysis program based on
specif icaticns of language syntax and semantics.
Tne specification of a desired program mdule that is input t o the
program mdule generator omes in two parts whi& can be related to top - and mttom level parts of program code, i n a top.- program structure.
11 C X ) D S Y L Data Base T k s k Group Weport, Report to the (X>lXSYL Prograrmring Languages Coarmittee, ACM, New York, 1971.
1 2 N.S. Prywes and D. Pirog Smith, "Organization of Infomtion," in ANlUdl REtViw of Infomation Science and Technology, Vol. 7, C.A. Cuadra, Ed. , ASIS, W a s h i n g t o n , D.C. , 1972, pp. 103-158.
13 The qwtation mlw from II. .Nills explains the tnpdown p r o g r w
structure:
"We can begin a process which we can repeat over and over unt i l we ge t the wfiole program defined. This process is to formulate a one page skeleton program which represents that hundred page program. W e do this by selecting same of the mst i q ~ r t a n t lines of code in the original program and then f i l l i ng in what lies bemeen those lines by names. Each m name w i l l refer to a new s-t to be stored in a library and called by a macro faci l i ty. In this way, we produce a program segnwt with sorrething under 50 lines, so tha t it w i l l f i t on one page. %is program segmmt will be a mixture of aontrol s tatments and macro calls w i t h possibly a few ini t ial izing, f i l e , or assigrrment statemsnts as wel l . "
In a similar approach, .two levels are defined 5elm. The top level
of tirs program is defined to consist of a l l the data definitions, input/output
cxmnands and control logic statements. This part constitues also macro level
dccmmtatim, dispensing w i t h the need for flow-&art do-tation. In &e
bottan-level would be mutines that provide the mre detailed doamentation of
data manipulatim. These bm levels have been identified because they can be
related to two parts of the rtodule specification. %e top level mcro design
act ivi ty is largely based on ~e mdule input-output data specification. The
bottcxn level of tne program is based entirely on the data manipulation
specification (except where input and output data itenr;, records o r f i l e s are
associated by ormron n a n ~ ~ and the direct relationship of input to output is
-licit) . This relationship is sum~lrized in Table 2.
A system of the type described in Figure 4 , with a restr ict ion of only
one input and one output f i l e for a program mdule ( n w l ) , has been
developed a t the University of Pmnsylvania by Rarnilez14. Expansion of the
13 Harlen Mills, "Top r3mm Prugramnincj In Larye System, " Courant m u t e r Science Symposium I, July 19 70. Debugging Techniques In Large Systems, Randall Rustin Ed. , Prentice Hall, 1971, pp. 41-55.
14 J. Raonimz, "Autop~tic Generation of Data Conversion Program Using A Data Description Language," Ph.D. Dissertation, Univ. of Pennsylvania, 19 73.
-23-
BOTTOM
NON PROCEDURAL INPUT LANGUAGE
DDL
DM,
PROCEDURAL ' -- -1
WUt LtVtL GENERATED AUTOMATICALLY
-- TOP DEFINITIONS
CONTROL mGIC I/O
MAN1 PUATI ON-ODMPUTATI ON CONVERS I ON
---
system for handling multiple input and output f i l e s is currently underway.
Tne Ramirez systen includes autolmatic capability fo r generat- language
analysis program based on an extended BNF syntax specification and sb-
routine cdls timt express saw of the semantics (other sanantics a re i n
hand aS=d oode generation programs) . A non-procedural specification
language is used for input to t5e program generatmr. It is similar in
12 structure to titat developed by 03DASYL . It is also a d f i e d subset of
15 a language developed by Smith . The data mnipulation language [IMLI used
is a smset of PL/1. The generated program mdule code is in PL/l, requiring
a sdxsequent ampilation to prodwe a load n-odule. The Ramirez system
produces a lso the necessary JCL staterents and a variety of doammtation,
in addition to- 61e PL/1 program mdule listing.
Tne design process in the Program Mule Generator [box 2 in Figure 41
mquired a painstaking analysis to specify an acceptable hutan program design -
process and to state it in term of a mathemtical mdel, which has been
programed to constitute a part of t!e Mule Generator. r ~ l e there exist
extensive work on automtically generating language analysis proqr~16 there
nas been only very limited research on automatic production of code generation
w h i c h is one of tile m>st labomus tasks i n oonstructing srogram generators.
Ar t i f ic ia l intelligence researdl in the area of automatic pmblern solvinSl7
appears applicable to the automatic generatian of program to perform design
i n awrdance w i t h specified mthods.
15 D. Pirog Smith, "An Approach to Data Description and Conversion, " Ph. D. Dissertation, University of Pennsylvania, 19 71.
16 W.N. McKeemn, et.al. , "A wiler Generator, " Prmtioe Hall, 1970.
17 For instance, G.S. Sussnran and D. m t t , Why Conniving is B e t t e r Than Planning, " AFIPS Conference Proceeding, Fal l 1972.
The methdlogy to generate automatically design and code generation programs
is the l eas t developed part of the techmlgy that is necessary to produce
program d u l e generators efficiently. Until such tedmokqy is developed and
applied it is possible only to proceed s l w l y and laborously by manually
producing design and code generation programs. As w i l l be further discussed
below, this inabil i ty to easi ly "tea&" a cmputer how to anplay a method,
that a h m can easily learn is an extremly d i f f i cu l t abstacle to sclrrrpunt
on the way tcward all-automatic prograrrtning.
F i l e S t r u c t u e and Program l a d e Definitions: This activity is b e d
on functional specification of the total amputer system, mnsisting of
a mn-procedural functional specification of the totdl input and output data
and a preliminary determination of the system M a r e and sofmare that
is required. The outame of this process are the mn-procedural functional
specifications of the respective d u l e s . T5is is a mre g l W sof-are
design act ivi ty then the mdule design. Refin-ts are presently carried out
i teratively, where a human designer relies on autmat ic simulation for
waluatim. Recent dwelo-ts of automation of this are reviwed b e d 8 .
The first step of the process is to analyze the overall systan non-
~mcedural functional qec i f ica t ions to determine campleteness and consistency.
An example of this capability is an analyzer developed for functional
specif icat ims expressed in the ADS language19. Analysis reprts include indices
18 J. Daniel Oouger, "Evolution of ausiness Systgn Analysis lkdmiques, " Cbnquting Surveys, Vol. 5, No. 3, Septenber 1973, pp. 167-198.
19 J. F. Numaker, et. a1 . , "A Non Procedural High Level Language For AutcaMted Design of r n l i c a t i o n Systars , I' m u t e r Science Dept. , Purdue University, W. Lafayette, Indiana 47906.
See also, J.F. N m m k e r , Jr., "A Methodology for the Design and CQtimizatim of Information Processing System, " AFIPS Proc. , 19 71, SJCC, pp. 283-294.
of data elements, and m s s referencing of data nmipulation routines and
the respective source (input) and target (output) data elements. Groups
of data elm- tfiat are co~mected mqh hierarchial relationship are
identified. N e x t these groups are also cross referenced with the routines
that process the data elanents in respective groups. A nebmrk can be
gmerated here groups of data elements that interact in amputations muld
be mected. Closely connected groups of data element, constitute candidate
files. Tine related processing functions represent candidate program mdules.
A t t a p t s are then to consolidate or partition mdules and f i l es to
increase efficiency. For instance, i f t w processing functions occur in the
s m processing cycle and if t ~ e preliminarily selected data f i l es overlap
greatly in having ammn data elewats, the res,pective processing functions
and f i l es may be clonsolidated. To d e such decisions it is necessary .to
refer m t only to the logical structure of the data and the data manipulatim
rules but also to the f r ~ c i e s and cycles of the processing functims.
P a r t i t i o w of the processing files, as well as use of intermdiate f i l es
scmtirms hpmve efficiency. For instance, effect of pre or post sorting
to order the data may be an important consideration for efficiency. A third
type of ansideration is to evaluate inpact of alternative f i l e organizations.
For emnple, whether the data is accessible s e q m t i a l l y or on a randm access
basis has impact on efficiency of processing. Such alternatives may be
evaluated tkroqh
20 A. F. Cardenas, "Evaluation and Selection of File Organizaticm-A P4xbl and System, " Comn. ACX 16,9, Sept. , 19 73, pp. 540-548.
-24-
'lhe analysis, synthesis and evaluations of alternatives can be perfonred
piecewise w i t h the aid of automatic simulation and evaluatim.*l Zhe
integration of these functions requires human guidance. .An all-autamtic
process w i l l requFre a data base of global ccnrputer design kmwl-e
accessible to a mute r . It w i l l be necessary t o research f i r s t how to
f o d i z e su31 knwledge or h w to input it to a mmputer in a natural
language ad-hoc manner. U n t i l such c a m i l i t y is developed, it will be very
costly to enter such information through manual mdelling and pmgramning.
!lherefore, the achietmmt of an all autamatic process w i t h no human
participation will be necessarily delayed for some tire.
5 AWMATIC GENERATICN OF LaN-PFXEDUIW SPECIF'ICA!TIQVS
The bp-level systan design activity discussed in this section corresponds
to the top three. layers in Figure 1. !the top layer, named in Figure 1
"automation denand", is mncerned with determining what information would
management need to evaluate ecr,mmic and business alternatives and to make
decisiw for their overall o q d z a t i o r a l progress and effectiveness. T%e
second and third layers are oncemed with developing an autaMtic system that
would clollect and mke the indicated infoxmatian available to mnagemnt. ?he
second layer mnsists of generating candidate operatianal concepts and m u t e r
am£iguratians and the evaluation of these aomputer mnfigurations
establish mst/benefits of alternative proposed infomatian systems. The
third layer o n s i s t s of specifying the selected system in a foxmal manner to
be directly applicable i n l m e r layers. Simulation technoloqy for performing 18,21 s a evaluations is highly developed
21 J. Yeh and J. Minker, "Key Word In Oontext Index and Sibliography on m u t e r Systems Evaluation Techniqcuas , University of &Ezyland, Omputer Science Center, Qllege Park, Maryland, TR-246, June 1973.
Performing tle top layer activity i n an automatic fashion presents the
greatest difficuliy. It is the mst complex and imaginative part of the
total process. It nas little t o do, i f any, with ccarrputer mthodology,
mlicn oecmes important only in lower layers. Traditionally this process
involves interacting w i t h many participants, with expertise in different
disciplines : with top managmt , staff specialists , oprational staff and
s~~ with outside the organization such as cus-, ven&rs financial
and go-t organizations. Presmably, a future cmrputer system that could
this activity autZgMtically would need access to the e i n e d knwledqe
of the present participarts in this process. Current techniques for ~ t e r i n g
into a q u t e r knwledge on LKXJ to evaluate q l e x econcanic or business
situations consists of aoding the knwledge i n program form, hi& reqlires an
enorrrous m u n t of manual analysis and structuring. Tnis is t'ne mjo r problem
in autormting tixis activity. Wo reported approaches to this p d l a n , by
9 llax and 1- and by 6 a l z d 2 are summized and reviewed belaw.
Trle dax and Martin approach has already been briefly described previously,
in 031111ectian witn use of prefabricated program omponents for the operational
side of a business. Ot ice r features of their approad-1 are: 1) specialize in
a relatively narrow application field, rqmrtedly in Inventory Control.
2) Inmrporate simulation nodels for evaluating economics and business questions
or operational rethods. 3) use a r t i f i c ia l intelligence t&ques for
c d c a t i n g w i t h the wmputer interactively i n English language for the entry
of additionally needed information into the q u t e r .
Two areas of concern in th is approad are discussed beluv. First , whether
due to tne prefabricated pmgranrj feature, the structure my be too confininq \
22 R.M. dalzer, "A Glcbal View of AutmMtic Programning," Also -randm on 'Autormtic Programning,' Septenbsr 1972, USC Infol.11~tion Sciences Inst i tute 4676 Admiralty Way, Marina Del Ray, California, 90291.
-2 6-
and restrictive to be used in situations where .technology, o r business and
ec0mmi.c conditions &age rapidly. Second, since the area of application
is highly specialized and relatively narm, the axt of the sofaare
generation system develo-t may rot be justified by potential utilization
opportunities. B o t h the usefulness and end value of scr=h a generalized
Inventory Qntrol systern could !lave been tested, for instants, during the
situation of major snortages in essential materials that arose a t the end of
1973. Could the systen for instance, have qenerated an inventory control
system for o i l products that would be effective for conserving o i l and for
planning utilization of o i l products to minimize impact of shortages on the
eoonmy? Tne aLrrPst instantaneous availability of su& a s y s t m would have
dmnstrated its value as surely being sufficiently great to justify the costs
of developrent.
As indicated previously, existing s y s t a s of prefabricated program
ampnents have editors and question-answer faci l i t ies to collect and enter
user requiranents. It is not clear h w the use of cited a r t i f i c ia l intelligence
tedmigues17r23'24 would mteria l ly enhance s& faci l i t ies .
& d z d 2 proposes Me construction of a amputer system which w i l l have
a generalized learning capability that could be utilized t o enter applications
related knuwledge into the computer. The qmtaticn below smtarizes the
functions of the mmputer systan in his proposed ooncept of its operation:
23 T . Wbpgrad, "Understanding Naturdl Languages, " Academic Press, 19 72.
24 C. H e w i t t , "PLI1NNER: A Language ?l?br Proving Theorems In mts, " Proc. of Intl. Joint Cbnference on Artificial Intelligence, Mitre Corp. , 1969, pp. 245-301.
"1. Praulem statement in natural laquage in terns of the problern dcPMin.
2. Kraawledge about the domain acquired interactively i n natural language in terms of the cmplete rrodel of the prablan &main.
3. Resulting pmgrams which are optimized with respect b data representations, control structure, and code.
This approach requires significant advances in Artificial Intelligence techniques, in such ar5as as -ledge representation, inference systems, learning, and problem solving, and in the d f i c a t i o n of programning knmledge in the areas of data representations, algorithm selection, and optimization techniques."
Item 1 and 2 in the above qmtation refer to the top level design
activities addressed i n this section. Item 3 refers to program generation
and optimization activities similar to those discussed in the previous section.
me reference to "domain" is similar to the use of the word "application"
aoove. Tne starting kmwledge in the oomputer is assurned to be mnfined to
timt of ccmputer system analysis and design. As stated, i n item 1 and 2, the
description of the problem that needs to be solved, &gether with the >
knawledge at is needed to solve the problem would be h p r t e d to the q u t e r
system thmugh inte~act ive user-computer question-answer sessions o o n d ~ t e d
in natural English language. The m q u t e r would then learn £ran the user about
his business to be able to determine the infomation needed for business
decisions and system r ~ ~ t s . The dependence of th i s type of activity
on a r t i f i c ia l intelligence metimdology is stated in the second paragra* in
tile above qmtation.
Balzer a h i t s that his proposed system concept is conjectural. There are
questions in regard to kt? effectiveness of the process and feasibility. In
regard to eff&veness, the approach implies, for instance, that a president \
of a capany would find it beneficial to teach his prcb1e11-1 and his business
to a ccarcputer that is equipped with only amputer oriented knawlwe, so that
the m u t e r a u l d integrate the tw types of knowledge to provide an
effective solution to the president's prablerrs. Additionally, som
- of the informtion would have to be abtained f m the vice-presidents for
operations, marketing and finance. Oonsider the prcblem of a l l these
participants enter* infomation in a consistent mer so that it all can
be integrated. I f the ar t i f i c ia l intelligence techniques, cited by Balzer,
are to be used, the hmms interactizg with q u t e r muld be required
t o have -ledge about h m the ocmputer a a p i n s kmledge.
A basic assuption of this approach is that interactive ammmication
in English is an effective way to teach -ledge to a mmputer, although this
is a relatively slow prr>cess in teaching h-. Note also, that when h m s
are t a q h t by interactive ammmication, they alxeady have a basic b l e d g e
of word meanings and relatiomhips, whi& would not be true for the computer
system. This prdblem is discussed further belav. It sears that it would have
been less conjectural if it was proposed that the cmputer could accept text-
books as input materials and incorporate the respective kmwlec3ge into the
system. The text naterial would than also constitute a base l ine of the
bowledge in the computer on whid.1 further krwledge incarporation my be based.
Also, s ~ h a systan could be antinmusly tested as the information was entered.
For instance, at the end of entry of a Chapter f m an I n t r o d ~ r y Emncmics
texl-book, ~e problems a t the end of the Chapter would be sdmitted as w e l l ,
and the umputer would be required to use the knowledge in the Chapter to
produe answers for tne problerrs.
Another prcblem area is the need to enter into the oxpute.rs large
vocabularies and the inadequacy of present ar t i f i c ia l intelligence techniques
cited by Balzer for handling volunmus English language cammications with the
17,23,24 m u t e r , The systems cited by Balzer to daronstrate
that tne tecimlogy is available, have mczhularies
of few hmdred words. To amnunicate app1i~a~d~n.s -1-
would require vocabularies of tens of thousands of words. The problem is
not simply in the larger nuber of words needed for English language aomrmnication
of application knowledge, but in the m u n t of work that it takes to enter
multiple word meanings and relationships. Developrent of ~llethodology to 2 5
tabulate multiple marings and relationships of mrds has been reported . It estimates that there are 8000 high usage words which have acquired marry
manhgs and usages. Tnese mrds , as well as many other wrds , of lesser
usage, w i l l have to be integrated within detailed mdels of particular
applications. To enter all this informtion, mrd by word, in an interactive
process would require a long time. Other techniques, by which a camputer m y
amre howledge of words purely from ~e usage in text, must be developed
to enable rapid entry of an applicatian oriented knowledge base into a
mmputer systan. Ztis would eliminate the need to tabulate maning and
r e l a t i m ~ i p s in vocabularies. Processes of tbis type have been ansidered
and developed by workers in the areas of infomiation storage and retrieval,
2 6 cnntent analysis and text processing .
All the questions that have been raised above seem to be open research
questions that snould be the subject of future research. It appears, therefore,
that tile adequacy of art if icial intelligence teddques for implementing the
25 Louis L. E a r l , "Use of Word Gmemmnt in Resolving Syntactic and Semantics Arrbiguities," Conference Proc. Computer 2 b c t Processing and Scientific Researcn, Off ice of Naval %ear&, Pasadena, California, 15 Mar& 1973, pp. 55-96.
26 N. Prywes, A. Lang and S. Zagorsky, "A Posteriori Indexing Classif iaation and Retrieval of Wxtual Mta," to be p&lished in Information Storage and Retrieval.
type of system envisaged- by Balzer is fa r f r m proven and feasibility of
such a sysbmwill still need to be demnstrated. Therefore, also an
effective autcaMtion of this generalized high level analysis and design
process canmt be forseen w i t h confidence.
6. cDNCLEICNS
Predictions or proj ectiom of tedmological d e v e l o ~ t s are always
hazardous, especiallywi~en mde for a prolonged period such as the period
lasting to the year 1985. Therefore, it is in order to cement on reasons for
confidence, o r lack of, in the projections.
ale p r o j d n s of grckzth of software m a n p e r requirerents are not
reliable. T k y are based on a study of future U.S. Airforce software
xqubxmmts whid have been applied to the total U.S . econcmy. NEW industrial
uses of amp- through 1985, that should figure pruminently in such
projections , imve not been considered. The ab jective in making the growth
projection was for estimating a target for manpower savings from adwinces in
autaMtic programning. Even i f the grawth prpjectims are 50% too high, there
would still be need for the advances described in the paper.
One assuption made in the paper was that software developent w i l l
cantinue in a bottan-up fashion indicated by tl'le layers i n Figure 1. The
alternative would be sanre major breakthroughs wfiich would upset the past order
of progress. For instance, breaktilltoughs in the f iela of a r t i f i c i a l intelligence,
by which coarp?uters muld quickly "learn" mthods a u l d have such an impact.
dut as indicated in Section 5, them are important research questions that
need to be answered before such breakthroughs can be predicted.
Large and extensive research and deveI.0-t act ivi t ies in the areas of P
aukmatic program generation and systems and files design and evaluation are
underway. These efforts are indicated in the references in this paper, and 18 21
especially in the survey paper and bibliography that nave been cited.
This, as well as examhatian of prolpsed m*ods, form the min basis for
confidence that tl.le autcanation of program design and irrplerentation would be
successfully developti and receive wide industrial and business use by 1985.
This w i l l take place in a nuher of i n c r ~ ~ ~ t s as discussed in Sectim 4.
Finally, the present prospect is that detemhation of system requiremnts,
leading to a system functional specification would be perfomd semi-au-tical$y,
with business specialists serving as system innomtors and integra~rs, and
that t~ley w i l l be aided by various evaluation and language processing system.
The a u t a a t i c integration of these system would have to await admnces i n
lower layers of Figure 1 and probably also great advances i n a r t i f i c i a l