108
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

  • 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

ROUTINES FOR LEXICAL AYALY SIS SY:.r'TA?( Ai'JALYSIS FPR

EBNF/KSC

CODE GENERATION F.OCTIMES FOR DDL

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

FIGURE 5 ~ ; CONTINUED . . . . - - . . . . .

.. -. - . . -- - .- . - - . - -. - - . - - . .- . - - . -. . - -. . - -. - .. - - .- - .-- . - - - - --- - -- - -. - - -- - .- 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 ~ ~

FIGURE 5 ~ : DDL COMPILER DIAGNOSTICS

- - CDNVERT

" - . . . . . . . . . . - . . . . . . . -... - .... - - - . . - . . .- .- . - . < . . - . " - - -

1 R YGG-TAPE TAPE . . 2 r

FIGURE k : CROSS-REFERENCE TABLE

F I L E 11

. . . . . . . . . F I E L D

FIGURE 5 ~ : CONTINUED

. .

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