Copyright Q IFACRealTimeProgramming Kyoto,Japan. 1981
CENTRALISED PROGRAMMING SYSTEM FOR PROCESS COMPUTER AT KIMITSU WORKS OF NIPPON STEEL CORPORATION K. Inoue, Computer
H. Mitsuoka,
S. Fujii, J. Yamashita
and J. Matsuki
System Planning Office, Kim&u Works, Nippon Steel Corporation, Kimitsu City, Chiba, Japan
Abstract. Programs for a process computer system are prepared and tested using either a target computer or a business computer. At Kimitsu Works, a target computer had been used as a test machine until 1975, when a new program preparation facility employing a business computer was developed as a means to improve software productivity. We call this facility the CPS (abbreviation of Centralized Programming System). The CPS has numerous functions including a source program library. Programs for process computer systems installed at Kimitsu Works are prepared using the CPS. Adoption of the CPS in preparing programs for process computer systems has a number of advantages over the use of a target computer. Key Words. Process computer; programming; documentation; cross compiler; run simulator; source program library; programming facility.
PREFACE
MEASURES TAKEN TO IMPROVE SOFTWARE PRODUCTIVITY
Kimitsu Works started operation as an integrated steelworks in 1968. Initially, the Works has four process computer systems. Today, as many as 31 process computer systems are in operation, and the total number of application program steps amounts to approximately 1.5 million.
The improvement in software productivity has been attained mainly by: (1) Reorganization of process computer section of the System Planning Office in charge of process computers, and (2) Development of the CPS The reorganization and the circumstances which led to the development of the CPS were published in an IFAC paper (Practical Management and Control System in the Steel Industry: A Case Study of KIIS by H. Mitsuoka, Y. Inoue, K. Takanashi, Y. Iwahashi, 1981, International Federations of Automatic Control 8th Triennial World Congress Case Studies Sessions CS5.3 p ~~118). Therefore, emphasis shall be placed on the technical aspects of the CPS.
On the other hand, the number of personnel engaged in the development and maintenance of process computer systems has remained almost unchanged since 1970. Under such circumstances, various measures have been taken to ensure effective development and maintenance of process computer system with limited manpower. In the following sections, description shall be made of some of the typical measures taken to improve the software productivity of the process computer systems.
t
1,416 /
P 30
21 26
,h 20 4
;; 2
1,000 P =: Y
15
10 t:
31
50 b---J-48 47
45
4g
48
5'
40
z j_i 30 500
I0
~ 1970
Fig. 1.
72
74
76
78
80
The number of process computer systems.
1970
Fig. 2.
72
74
76
78
80
Program steps (Simple sum of steps in high level languages and steps in assembler languages).
77
Fig. 3.
The number of process computer personnel.
78
K. Inoue e-t: al, Source
POSITION OF THE CPS -
The development of software for a process computer system goes through the phases of planning, design, production of software, testing, and the process computer system makes a start in operation. The CPS is a software development facility that is applicable to the phases of production of software and unit testing of programs in the development of software for process computer systems. The scope of the CPS application is shown in Fig. 4.
Source Program Library
Program Entry __-._
Source Program Replacement, Correctionand Copy
-
Sequence Number __-_Rew1
ElCPS
Load Module/ -Object Module Library
* Structural design /m Production of software
'Flow chart drawing 'Cndino
Load Module and _. Object Module
Module Specification Auto-docu~n-
$ ::
----..;I
,Debugging -_ Testing
L.
System test Maintenance and improvement
Maintenance and improvement
Fig. 5. Functionsof the CPS. Fig. 4.
Software development works. (w ; CPS scope)
FEATURES AND FUNCTIONS OF THE CPS (1) Features of the CPS The CPS prepares and tests software for various kinds of process computer systems with different languages. * The CPS permits the programmer to interact with the business computer via a CRT and keyboard to prepare programs for process computer systems. * The CPS provides auto-documentation function which prepares module specifications, module configuration diagrams, module-to-module cross references, flowcharts, etc.. . The CPS puts out data necessary for software productivity management, such as the number of program steps prepared in a given period of time, the manpower and machine time spent, and the causes of program modifications.
Source program entry Source programs can be entered onto the CPS magnetic disc using a keyboard entry, card reader, CRT with keyboard, or paper tape reader. However, the keyboard entry is most frequently used for entry of programs.
l
(2) Functions of the CPS The CPS has six functions as shown in Fig. 5. Each of the six functions is described below. Source Program Library The CPS programs for each process computer system it supports are stored on magnetic discs. The Source Program Library registers source programs for each process computer system onto the CPS magnetic disc, or replaces, adds, or deletes programs already stored on the magnetic disc.
Source program replacement, correction and rl-ln" --l-r’ Uzg a CRT with keyboard, the programmer can easily add programs to the library, or correct, delete, or copy the source programs stored on the CPS disc. Sequence number reassignment If the sequence numbers of programs stored on the CPS disc are disordered by additions, corrections, or deletions of source programs, the programmer can reassign the proper sequence number to each source programs steps by giving a simple command.
"Cross Compiler/Cross Assembler" The "Cross Compiler/Cross Assembler" in this paper means such a group of software in which a business computer can compile or assemble programs for various process computer system, However, unless some measures are taken, a business computer can not compile nor assemble programs written by different target computer languages due to minor differences in the programming language by the type of target computers. As the measures, we have developed "generalpurpose cross compiler". Using a business computer, this "Cross Compiler" consists of
Centralized Programming System for Process Computer own-developed "general-purpose cross compiler" and other several types of unique cross-compilers which are recently preparedby computer suppliers. "Cross
Assembler" has the same kind of functions. Most of process computer systems at Kimitsu Works employ a high level programming language.
79
"load Module/Object Module Library" This library, using a business computer, permits preparation of load modules and object modules of programs for process computer systems, and permits outputs of those modules in the form of magnetic tape, card, paper tape, etc..
"Auto-documentation" "Run Simulator" The "Run Simulator" in this paper means such a group of software in which a business computer can check the logic of a program for a process computer system. The CPS has "Run Simulator" which consists of own-developed "general-purpose run simulator" and several types of run simulator for each specific systems prepared by computer suppliers. The "general-purpose run simulator" has the following features over the other types of run simulator:
* "General-purpose run simulator" prints process input/output data, CRT data, typewriter output data, etc., corresponding to the process flow.
* "General-purpose run simulator" prints data only when the contents of a file or table have been changed by processing.
* "General-purpose run simulator" traces program statement numbers.
(Translation of the 0
"Auto-documentation" in this paper means such a group of software in which a business computer can analyze the contents of programs in the source program library or load module library and printing out documents for design, maintenance, and improvement. This "auto-documentation" system developed for Kimitsu Works is capable of printing out various types of documents, such as module configuration diagrams, module lists, module specifications, flowcharts, and cross references. In addition, this system allows the use of Japanese characters and Chinese characters, as well as alphanumeric characters. Thus, it is especially useful for the Japanese. Some of the typical applications of "Autodocumentation" are given below. Module configuration diagram. This document diagrammatically shows the processing hierarchy and module configuration of a given process computer system. It is printed on a laser printer connected to a business computer. Fig. 6 shows an example of module configuration diagram.
above Japanese version)
Dl
DlA
E03DT
DlBl
EOZDT
i~~~~~~
Fig. 6.
Module configuration
diagram
(Example of actual computer output).
80
K.
Inoue
Task Name
Decision pro. cessing of abnormal q;ali;j data
ierachical
Indexins
ndex
Code
DlA
E03DT
al.
1
Module
No
et
Module
Name
Outline
of processing
.
1 Starting at an interva' of 2 seconds.
. .
Comment
St.eps
Pro
am Size
State-
Logic
Working
Inent
Size
Area Size
99
61
38
104
99
61
38
104
112
60
52
201
467
239
228
184
72
223
104
119
488
39
2 Judging data on abnormal fluctuation of mol. ten metal level in rold 3 If abnormal, sends dati to the host computer. 4 Updating data about molten metal level in mold.
Minor Total
.JOBN . TSKN LEVL P-NO
:e Card
Decision processing of abnormal qualit) data (H-08E)
JOBN = *TSKN= - LEVL = . P-NO =
Processing of nbnormal quality data entered autonatically at regular intervals
SOI Total
DlBlA
E02DT
Processing of abnormal quality data entered automatically at regular intervals
= = = =
1 Starting at an interval of 10 seconds by instantaneous data processing. 2 Checking the timming of initiation of abnormal quality data processing 3 Reserving file (LEIDB, LEODB) related to abnormal quality data. 4 Editing common
OlBlB
E02Dl
Connon processing of abnormal quality data entered automatically at regular intervals (1)
DlBlC
E02D2
Cornnon processing of abnormal quality data entered automatically at re ular intervals 9 2)
data.
1 Being linked by cornnon processing. 2 Deciding on abnormality of following items. 3 Updating quality control monitor file 2 according to the associated charge number.
I Being linked by process ing of abnormal quality data (1). 2 Deciding on abnormality of following item. 3 Deciding on abnormal quality data related on TD. 4 Performing decision processing of abnormal quality data concerning double teeming.
81
Centralized Programming System for Process Computer
Module list This document describes the tasks and modules included a given process computer system, a summary of processing of each module, the number of source cards, etc..
Table 3 shows an example of software productivity report print out by the CPS.
CPS SOFTWARE/HARDWARE CONF~GU~TIONS
Table 1 shows an example of module list.
The CPS software configuration is shown in Fig. 7. The CPS can operate in either interactive or batch mode. In interactive mode, the CPS permits the programmer to interact with a business computer to modify, compile, or run his program.
Cross reference The CPS can print out various cross reference lists (common area-to-module, file-to-module, module-to-module, etc.). Table 2 shows an example of common area-tomodule cross reference list.
The CPS hardware configuration is shown in Fig. 8. The CPS facility is operated on a business computer whose processing capacity is 2.5 million instructions per second, and is used for program development for a business computer and process computers. The shared printer is a laser printer that can print 10,000 lines per minute. This printer is capable of printing Kana characters (Japanese characters) and Chinese characters, as well as alphanumeric characters.
"CPS Maintenance and Improvement" In addition to the above-mentioned functions, the CPS has the function to collect and print out data concerning software productivity and software production cost such as manpower and machine time spent. This enables the supervisory system engineer to detect early any problems in preparing program for his system.
TABLE 2
Common Area-to Module Cross Reference List (Example of Actual Computer Output)
rlusber i Module Name c %?I x pfi
F-Af1 module names in the systeinreferenced by a given module
I
IOCTYW
‘I ~_
I
_
ARNlS
LBASB
5
AAOlS ADRCS ATD3S BDT3S BSMPS
TABLE 3
’
ATOUYC PAGEYC
CLTOYC PCTR%C
f%
e
xp 14
EFLOYC
EOCVYC
ARNlS _____..
ARN25
ARN35
BRNHN
BRNlS __~
BRNZS BRN3S --...
AANPS
ARN3S
BRNlS
BRS25
tlRN3S
AADSS ANC4S BADZS BMAlS BTA3S
AADBS ANCSS BAD35 BMAZS BTA4S
ARNlS
BRNHS
BRNlS
AADPS ANCTS ATD4S BDFCS BSMJS
AAD3S ANQS AldMN BDFHS BTAlS
AAD4S ANC3S BADTS EDRCS BTAZS
f~?-sAi&f$& 7%
80,866
968
266,958
137,059
1,875
467,711
251,822
_--e---_ ,,I-
c-
~Ir.insiatron
j
a
w
FTASYC
IJICYC
IJOCK
_..~~~__
ABSMN ASHUT BAD4S BMA3S BTA5S
ACOSS ASMlS BADSS BMA4S BYBlS
ACOST ASMZS BAD6S BMASS BYB3S
IOFTYC
LTIOfC
OPIOYC
._ -. __~_._._~
_... - _____.
.._-. . .___
ACDlS ASN35 BBSMN BMClS BYB4S
ACDZS ATAlS BCDSS BMCPS BTHMN
ADA15 ATAZS BCDST BMC3S
AOAES ATA3S BCDlS BMC4S
ADA3S ATAilS BCDPS BMC5S
ADFCS ATA BDATS BSHUT
ADFHS ATDIS BOA25 BSMlS
(Example of Actual Computer Output) 7@!@Y&t+?+F~~
(A)
310
_
h FSTSYC
j%-@
%(A/B)
ii&Et
597
>xt.A c -_____.
3 FOCVYC
.____.-
Control Table
i
% i-i, .__
FLDSYC
._
.>xiI. A .~__.J--H ---.
,
EFINYC TSRCYC
‘/7i.'1=
’
P
DTSTlC RCHKYC
Software Productivity
;;c%a%&
i
DTLAYC PIOSYC
119,887 -
12099
! 504,756
284,801
Of tile above ,rpanese version)
-Effective Programs* (A)
A system
Programs Produced** (E)
Yield Percentage
Quantity of Maintenance Program
82
K.
Inoue
et
az.
CPS
I Interactive Processing
Batch Processing
I I
I
I
I
I I
Maintenance and Improvement
Utilities
I Cross Compiler
Run Simulator
I Load-module Preparation and Output
I Auto-documentation
-CRT display output
.List output Card output
~II Module Specification
,Printing out manpower in each work phases
I /
-Magnetic tape output
Module Configuration Diagram
ing Fig. 7.
CPS software configuration. rects
Shared Resources
CPS Resources
Business Computer 2.5 MIPS Card Reader
Printer
Magnetic Disc
l
(-GG7x3
Keyboard Entry Device
Paper Tape Reader/Puncher
x 24
Fig. 8.
CPS hardware configuration.
it using the CRT with keyboard, then re-stores the program on the magnetic disc (step 3). The program which is proved the completion of logic tests puts out its load modules to cards, paper tape, magnetic tape, or other medium. Load modules which have been put out to the specified medium are loaded into the target computer (step 4). Any program loaded into the target computer is subjected to integration tests and system tests on the target computer (step 5). If the program fails the integration test and system tests on the target computer, it is returned to step 2. When all the programs have passed the integration tests and system tests, the process computer system becomes ready for making a start in operation.
SCOPE OF THE CPS APPLICATION At Kimitsu Works, most of the programs for the process computer systems in operation are prepared using the CPS. Table 4 shows the process computers supported by the CPS and its functional scope available for those computers.
EFFECT OF THE CPS PRACTICE OF SOFTWARE DEVELOPMENT USING THE CPS Fig. 9 shows the flow of software development using the CPS. The source program coded by the programmer is input to the business computer via a keyboard disc entry, and stored on the magnetic (step 1). The programmer calls his program stored on the magnetic disc using the CRT with keyboard, and the CPS compiles, assembles, and tests the program (step 2). If an error is detected, the programmer cor-
The CPS developed at Kimitsu Works has produced tangible results as follows:
(1) Improvement in software productivity: The use of the CPS has appreciably improved the software productivity for process computer systems, especially the productivity in the phases from preparation of programming to unit test.
(2) Redution of opportunity loss by timely software modifications: Formerly, software testing could be con-
83
Centralized Programming System for Process Computer
ii)
Magnetic Tape
[Scope of d Target Computer)
(Scope of the CPS)-----
9. Practiceof softwaredevelopment using the CPS.
Fig.
TABLE 4. __
--
Scope of the CPS Support
Functions
ducted only when the plants were not in operation (e.g., during regular maintenance of plants, etc.), The CPS permits conducting unit tests of software whenever deemed appropriate, enabling to reduce the opportunity loss due to delayed modifications of software.
(3) Standardization of programming procedures and documents: Thanks to the CPS, the programming procedures and documents have been completely standardized. Formerly, they were roughly standardized, with details left to the judgment af the supervisory engineer of each system.
(4) Centralized control of programs for process computer systems: Formerly, each system kept its programs in the form of paper tape, card, or magnetic tape, preventing thorough control of program modifications. It also frequently occurred that a load module did not match the source module, causing great difficulties in the modification of programs. The CPS permits using magnetic disc as the unified storage for programs, and makes it possible to implement thorough, integrated control of modifications to the source programs and load modules.
11. MELCOM 350
G) Leveling of programmer work-load by
ASS. Assembler
i\: Supported.
FOR: Fortran-equivalent Pr~~ra~iflg Language
a: x
Partly supported,
: Notsupported.
centralization and pooling of programmers: Formerly, each system had its own programmers, making it difficult to level the work-load of each individual programmer.
K. Inoue et al.
84 CONCLUSION
The CPS developed at Kimitsu Works has been playing a vital role in improving the software productivity and reducing the development cost. Almost all of the programs for process computers installed at Kimitsu Works are prepared by the CPS. By expanding the CPS functions, we have been endeavoring to improve the software productivity, prevent troubles due to modifications to programs, and thus respond to plant's necessity through timely program modification. Remarkable are the recent rise in personnel expenses and the resulting increase in the software production cost. We are determined to make ceaseless efforts to further improve the software productivity for process computer systems by reinforcing the functions of the CPS, such as reinforcing the simulator function, auto-documentation.
REFERENCES Mitsuoka H., Y. Inoue, K. Takanashi, and Y. Iwahashi, "Practical Management and Control System in the Steel Industry: A Case Study of KIIS," Proceeding of 8th IFAC Congress Case Studies Sessions CS-5.3 p cs118 TakanashiK.,S. Fujii, and K, Inoue (1976). Keisokugijutsu, Vol. 4, 1976. 8, Japan pp 78-86.