MATHEMATICS IN SCIENCE AND ENGINEERING A SERIES OF MONOGRAPHS AND TEXTBOOKS
Ecllted by Riohard Bellnlan Univllrsity of...
58 downloads
720 Views
5MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
MATHEMATICS IN SCIENCE AND ENGINEERING A SERIES OF MONOGRAPHS AND TEXTBOOKS
Ecllted by Riohard Bellnlan Univllrsity of Southllrn California
1.
2. 3. 4.
5. 6.
7. 8. 9. 10.
11. 12. 13. 14. 15. 16. 17.
18. 19.
20. 21.
22.
TRACY Y. THOMAS. Concept! from Tensor Analysis and Differential Geometry. Second Edition. 1965 TRACY Y. THOMAS. Plastic Flow and Fracture in Solids, 1961 RUTHERFORD Aats. The Optimal Design of Chemical Reactors: A Study in Dynamic Programming. 1961 JOllEPH LASALLE and SOLOMON LEFSCHETZ. Stability by Liapunov's Direct Method with Applications. 1961 GlIOllGlI LBrrMANN (ed.). Optimization Techniques: With Applications to AeI'OIp&Ce S}'ItemI. 1962 RIOHAIlD BALLMAN and KxNNETH L. COOltE. Differential-Difference Equatiol1J. 1963 FRANE A. lLuOHT. Mathematical Theories of Traffic Flow. 1963 F. V. ATltINllON. Discrete and Continuous Boundary Problems. 1964 A. J.....y and T. TANIUTI. Non-Linear Wave Propagation: With Applicatiom to Phyaics and Magnetohydrodynamica. 1964 JULIU8 T. Tou. Optimum Design of Digital Control Systems. 1963 H..u.Lay FLANDlUlll. Differential Forms: With Applications to the Physical Sciences. 1963 SANFORD M. ROBIllT8. Dynamic Programming in Chemical Engineering and Process Control. 1964 SoLOMON LEFBCHETZ. Stability of Nonlinear Control Systems. 1965 Dmrrars N. CHORAFAll. Systems and Simulation. 1965 A. A. PuVOZVANSKII. Random Processes in Nonlinear Control Systems. 1965 MAllSHALL C. PEASE, III. Methods of Matrix Algebra. 1965 V. E. BENES. Mathematical Theory of Connecting Networks and Telephone Traffic. 1965 WILLJAII F. AilES. Nonlinear Partial Differential Equations in Engineering. 1965 J. ACZEL. Lectures on Functional Equations and Their Applications; 1966 R. E. MURPHY. Adaptive Processes in Economic Systems. 1965 S. E. DREYFUS. Dynamic Programming and the Calculus of Variations. 1965 A. A. FEL'DBAUIl. Optimal Control Systems. 1965
MATHEMATICS IN SCIENCE AND ENGINEERING 23. 24. 25. 26. 27. 28. 29.
30.
A. HALANAY. Differential Equations: Stability, Oscillations, Time Lags. 1966 M. NAMIK OOUZTORELI. Time-Lag Control Systems. 1966 DAVID SWORDER. Optimal Adaptive Control Systems. 1966 MILTON ASH. Optimal Shutdown Control of Nuclear Reactors. 1966 DIMITRIS N. CHORAFAS. Control System Functions and Programming Approaches. (In Two Volumes.) 1966 N. P. ERUGlN. Linear Systems of Ordinary Differential Equations. 1966 SOLOMON MARCUS. Algebraic Linguistics; Analytical Models. 1966 A. M. LIAPUNOV. Stability of Motion. 1966
In preparation A. KAUFMANN. Graphs, Dynamic Programming, and Finite Games MINORU URABE. Nonlinear Autonomous Oscillations A. KAUFMANN and R. CRUON. Dynamic Programming: Sequential Scientific Management GEORGE LEITMANN (ed.). Optimization: A Variational Approach Y. SAWAGARI, Y. SUNAHARA, and T. NAKAMIZO. Statistical Decision Theory in Adaptive Control Systems MASUNAO AOKI. Optimization of Stochastic Processes
F. CALOGERO. Variable Phase Approach to Potential Scattering
J. H.
AHLBERG, E. N. NILSON, and J. L. WALSH. The Theory of Splines and Their Application HAROLD J. KUSHNER. Stochastic Stability and Control
CONTROL SYSTEMS FUNCTIONS AND PROGRAMMING APPROACHES Dimitris N. Chorafas CORPORATE CONSULTANT IN ENGINEERING AND MANAGEMENT, PARIS
VOLUME A Theory
1966
@ ACADEMIC PRESS New York and London
CoPYRIGHT © 1966, BY ACADEMIC PRESS INC. ALL RIGHTS RESERVED. NO PART OF TillS BOOK MAY BE REPRODUCED IN ANY FORM, BY PHOTOSTAT, MICROFILM, OR ANY OTHER MEANS, WITHOUT WRITTEN PERMISSION FROM THE PUBLISHERS.
ACADEMIC PRESS INC. II I Fifth Avenue, New York, New York 10003
United Kingdom Edition published by ACADEMIC PRESS INC. (LONDON) LTD. Berkeley Square HOUBe, London W.1
LiBRARY OF CoNGRESS CATALOG CARD NUMBER: 6~26392
PRINTED IN THE UNITED STATES OF AMERICA
To H. BrainardFancher
FOREWORD
Lewis Carroll observed in his "Alice in Wonderland" that it was necessary to run as fast as possible just to keep up to where one is. As the fund of computer knowledge unfolds about us, this is an apt description of the situation confronting man in his efforts to harness the spiraling capabilities of the new era of automation. Professor Chorafas' book is a necessary tool for those who would productively utilize the systems of man's ultimate logic. He has achieved the rare combination of the personal experience with the practical applications of computers coupled with the theoretical knowledge and the ability to express this clearly and logically. In his earlier books, Professor Chorafas has clearly traced the development of the computer and the disciplines necessary to effectively apply it to business systems. In this book, he has moved ahead to the broader subject of digital automation and explained how the computer with its capability of operating in real time can, on the one hand, provide the means to improve the operations of the continuous process industries such as steel and power plants and, on the other hand, be the essential element for missile guidance and control. Lord Kelvin once said that until you can express a problem in numbers you really do not know very much about it. This certainly expresses the demands of the computers which require a systematic numerical input. But as Professor Chorafas has put it so well, man is still the key element in the equation and all our complex systems let him reach new goals and take the drudgery out of previous tasks. This requires new insights on the part of management: management must visualize even more complex systems and develop its plans with the assurance that the multitude of unknowns which have limited human capabilities is rapidly shrinking. It is more than ever incumbent on the successful enterprise to utilize the new systems which the computer has ix
x
FOREWORD
spawned. Failure to grasp this new capability could be as fatal as the legendary buggy whip manufacturer who was convinced that the automobile was the plaything of the rich. H. BRAINARD FANCHER General Manager Bull-General Electric
PREFACE
Professor D. N. Chorafas is the well-known author of several books in the field of computers and computer-related problems. "Control Systems Functions and Programming Approaches" starts with some very important statements which may well identify the interest ofthis work: "An organization that installs an efficient information processing system gains an advantage over its competitors ... Progress now depends on a deeper understanding of the interaction among men, communication, and machines in the light of information requirements ... The admission of not being ready to face the challenge posed by system studies is the real deficiency that exists in sophisticated methods of analysis, and in people able to implement these methods." This book of D. N. Chorafas is really an excellent tool toward decreasing the deficiency in methods of analysis-bringing the necessary information to computer users, to administrators, and to managers. The text is easy to read, and will be appreciated by people other than computer experts, as well. Yet, this text is scientifically oriented as it is based on a very broad and sincere experience with all implicated problems. I hope that the book of Professor Chorafas will find many readers. I am sure they will learn a lot from it. PROFESSOR DR.-ING. K. STEINBUCH Director lnstitut fur Nachrichtenverarbeitung und Nachrichtenubertragung Technische Hochschule, Karlsruhe
xi
CONTENTS
ix xi xvii ili
FOI.f.WOiiiD
PltE.fiAC'£
C0!1M"F-NTS OF VOMJ\tE 8 l ''TI.OOIJCriON
PART l The Dynamics of Digital Automation Chapter I.
Evaluating Data Control Opportunitk!s Basic Needs in Jnformatjon Technology
Oraprer II.
Chopttr Ill.
Chapter IV.
3
s
Dichotomies in Computer Usage Functional Aspects of Data Control
10
Utilizing Past Experience
18
The Functions of a Data System Defining Opernting Conditions OUtlining Control System Functions
22 23 26
Factors in Sys.tems De"•elopment
.lO
Systems Mechanics and ~1emory Spcc:ificatkms
37
14
Stud)ing tlw Gt>neral Structure
41
Examining the Processing of Information
42
Multicomputer Systems Channels and Multiplexing Requirement.s
46
Principles of S ystems Analysis
57
51
Critical Questions and the Systems FUJlction
58
Establishing the Systems
63
l,rofc..~!l ion
Systems Work and Mathematical Analysis
xiii
70
xiv
CONTENTS
PART II
Data Collection and Teletransmission ChapurV.
Chapter VI.
Data Collection Problems
n
Developing Acceptable Sensory Techaiques Owificatioos in Data CoUection Some Data Collection Activities Eumin.ing an Interface Unit
83 88 91
Con•ersion Methods
96
Dynamics o.f Signal Processing Mechanics of Aoalog~to-Oigital Conversion
Chapter VII.
77
99 107
Data Carriers
liS
Data Transcription for Transmission Purposes Data Transmission through Various Medla Automatic Syt~em ofTdepbooe Uchanac
116 121
Chapttr VIII . Structural Aspects of Teletrammi55ion
I3S
OperacionaJ Features ort.he "Tclcsyscem'" Uample of a T eletrans.missioo Ncrwork Design Approocbc:s to Tdecommunicatjon Problems
130
ll6
142 147
PART Ill
Numerical, Logical, and Stochastic Processes Chapter IX .
1lle Use of Numerical Systems Developments in the Art of Calc:u!.Jttioo The f,·olution of NumericaJ Systems Numc:ricaJ Sys.tc:ms for Use with Ekccronic: M achine~
Arithmetic Operations Tho
Chapter X.
Process of Complementing
Fundamentals of Boolean Algebra E.laminint the Boolean l..ogic The functions o f Logical Sas M..in.imal Forms of Boolean Functions Boolean Matrices Black Box Analysis through Boolean Tools
Chapter XI.
IS7 ISS 159 162 16S 169 173 174
116 180 ISS 186
085Sifications in I nformation Retrieval
190
Automalic Infonnation Retrieval Techniques I ndex.ing for Retrieval Purposes
191 194
Uterary Sets and Subsets
197
Information Regeneration and G uidance Profiles
201
CONTENTS
Chapter XII. Stochastic Searching
XV
206
Dynamics of Lhe Communications Problem
2<11
Evaluating Stochastic Searching Machine Records and the Upkeep of a Dictionary The Sophistication o r t.hc Document and the Over-All Effort
211 214 217
PART IV
Mathematics for Systems Control Chapter XIII. Analysis, Spcculatioo, and Evolution
223
An Analytica1 View of Data and Models
224
Technological versus Natural System' Refle<.1ions on the Process of Evolution
228
T he Means and the End
237
Chapter XIV. The Mathematical Simulator Black Boxes fo r Process Control Applicatio ns
Formulating Adequate Mathematical .Mode.ls Dynamics of Mathematic-al Expe-rimentation
234
241 242 245
252
' Chapter XV. Evaluating Mathematical Programming
257
Linear Approaches to Scheduling and Control
259
Scheduling Programs through Electronic Media
263
Establishing Validity before Usage Integrating the Model. the Computer. and the Field Requirements Mathematics for Design Auto mation
266
Chapter XVI. Establishing Systems Reliability
269 273
278
Systems Reliability Fundamentals Convalescence and Jts Computation
279 289
Defining Utility Functions Matters Concerning Systems Value
296 298
PARTY
Programming for Real-Time Duty Chapter XVII. Considering Programming Approaches Programming Ski11 for Process Control Constructing a Process-Control Program Examining Special Programming Features Gcner~l.izi ng Progr.tm Characteristics
307
308 310 315
320
xvi
CONTENTS
Chapter XVIII. In-Memory Operations
Chapter XIX.
326 328 33 1 332 337
Real-Time Executive Routines
342 343 348 352 355
Developing an Exec.utive Program Establishing Fundamc.ntal Characteristics Mechanics of the Supervisory Control Summariz.iOg th.e Executive Action
Chapter XX.
P rogramming Aids for Process Control Designing an Assembler-Generato r Critical Subroutines and Function Programs Assembler Commands and ~.fucro-Operation s Some Reliability Co nsiderations
INDEX
m
Selection in Memory The Deadlock Problem Access to Memory Memory Dumps and Semiprograms Date Retrieval and Priorities
362 363 366 370 374
379
CONTENTS OF VOLUME B Part VI. Process- Type Cases and Data Control Chapter Chapter Chapter Chapter Chapter
XXI. XX/I. XX/ll. XXIV. XXV.
Computer Usage in the Process Industry Applications with Technical Problems The Rationalization of Management Data Applications in the Field of Accounting Controlling a Power Production Plant
Part VII. Applications in the Meta/Industry Chapter XXVI. Chapter XXVII. Chapter XXVII/. Chapter XXIX.
Computer Usage in the Steel Industry Evaluating the Data Load Production and Inventory Control at the Forge Metal Works Quality Assurance as a Real-Time Application
Part V/ll. Guidance for Discrete Parti'Cles Chapter Chapter Chapter Chapter Chapter
XXX. XXXI. XXXII. XXXIII. XXXIV.
Airline Reservations Systems Guidance Approaches to Air Traffic Aircraft Detection and In-Flight Tracking Railroad, Subway, and Car Traffic Problems Digital Automation in Banking
xvii
Introduction
For several thousands of years now man has had increasing control over his own fate; control over "destiny," which essentially means control over his evolution. The evolution of "homo sapiens" from an ape-like primate ceased being a strictly animal phenomenon some twenty-five thousand years ago. The growth of human populations has been of utmost importance in this developmental history of man, as have been the growth and elaboration of the brain, the perfection of the erect posture, the slowing down of the postnatal development, and the development of ingenious tools and weapons. In the course of the Pleistocene period, man made chipped stone implements and some crude weapons. This was the Old Stone Age, and it may be divided into a series of cultural levels, according to the technique and perfection of man's stone work. The Old Stone, or Paleolithic, Age was followed by the New Stone, or Neolithic, Age. This began perhaps fifteen thousand years ago. Neolithic man made polished stone implements in addition to chipped stone tools, and accomplished striking developments in the art of building weapons. Fifteen thousand years is a relatively long span of time considering man's prominence on earth. Yet, in some parts of the world, as in many Pacific islands, the Neolithic stage of culture has persisted to the present day, only now being replaced by something "new." But in man-made evolution, what does the word "new" really mean? Some five thousand years ago, man began to learn the use of metals, and the Bronze Age began. This was followed by the Iron Age, when great civilizations arose and flourished. All of these civilizations have been erased by something "new"-not always more efficient, more developed, or leading to happier societies. Then why the change? Change is the word of the day. Change and mutation have been the driving xix
xx
INTRODUCTION
force behind evolution since life on earth began. As such, change in itself is desirable, though there exists (or ever existed) no universal truth or aim for which to struggle. What is basically wrong with man-made evolution is that its creator disproportions his use of time, skill, and gray matter. He places too much emphasis on technological developments and too little on "far out" planning and structuring of the societies and of the systems to come. Man thrusts himself on the mechanics and fails to pay the proper attention to philosophy. History gives plain evidence that ideology and scientific knowledge have not gone hand in hand. This is a failure in human adaptation. Adaptation, whether in anthropology, biology, or technology, is nothing absolute. It merely connotes a relation to a particular environment, one which permits survival. The environment to which "belief-systems" and "knowledge-systems" are created is not just "nature," but man's apprehension about it. It is a man-made world: ideas, beliefs, myths, rituals, and forms of art are all expressions of man's basic faculty for abstraction and idealization. At no other time has this been more pronounced than it is now. While the last twenty-five thousand years help provide an understructure, it is really the last twenty-five years which gave the spearhead to fast-moving, man-controlled evolution. Control over "environment" has increased at a prodigious rate. More than ever before in his history man has assumed crucial responsibilities for himself and for the world in which he lives. The manner in which he fulfills these responsibilities will determine, to a very substantial extent, the course of "history" in the years to come. The purpose of this book is to discuss and explain in a fundamental manner some of the control systems functions which became important in industrial practice during the very recent years. In so doing, an organized attempt will be made to present the structure of a guidance logic and the mathematical understructure behind it in a manner which can be effectively useful in process control applications. To bring this whole field under proper perspective we will start with ensembles of the present and of the future, with the theoretical aspects behind their evolution, and the programming approaches which can be taken. We will then proceed with a substantial range of applications--induding a good number of practical examples. Throughout our discussion explicit reference will be made to mathematics and to stochastic analysis, abstraction, and idealization. As hereby defined, "mathematics" is a noun.ysingular, meaning a complete system built with the objective to aid in "an abstract formulation of the interrelation and interchange of components in an ensemble." With this, we do not pretend to bring forward any "new scientific discipline," but, rather, to present under one cover the current state of the art, while making reasonable extrapolations and projections as to future developments and values. Scientific evolution
INTRODUCTION
XXI
has often been founded on "praxis first" and "theory later": the steam engine was invented and in use before there was a scientific discipline known as thermodynamics. To better appreciate this "way of seeing things," it is necessary to underl ine the dynamics of the changing environment in which we live. The last twentyfive years have seen fundamental changes both in the characteristics of industrial operations and processes, and in the functions of the mechanisms and the men who run them. Industrial operations have geographically expanded, products have experienced fast rise and speedy decay, markets have been generated to disappear only thereafter, and processes have become enormously more complex. With these developments, very difficult control problems have arisen. The function of the human component in this whole range of activities has basically changed. At the top management level, we think in terms of long-term planning and of "exception" techniques. At the plant level, operations are being regulated and governed by some form of control system which, in turn, is supervised by a master information machine. Electronic computers have been used effectively for logging industrial data and in a few plants the stage has now been reached where the individual process controllers are themselves supervised by a central data processor. This development we will call "digital automation." In our examples, we will be concerned with data control applications from process industries to discrete articles. This span of coverage is necessary for a subject as broad as digital automation: many industrial processes are neither of a strictly continuous nor of a strictly discrete nature; they involve characteristical aspects from both types of operations. Our attention will focus on research aspects: from the domain of application with currently existing hardware to the evolution of our own analytic ability. We will consider work in the automatic handling of information centers on data and analysis. In some cases, as for instance with problems in mathematical statistics, we are mostly interested in data reduction. In other cases, the greatest importance is given to data guidance, for instance, the case of the automatic operation of a refinery. Still in other cases, we might be primarily concerned with data transmission techniques and the problems posed by real time requirements for huge spatial storage. The right information in the correct form at the proper time has been a long-standing technological goal, posing a problem that has defied the best managerial engineering and scientific minds until recently. Modern organizations are plagued with huge volumes of data work. From this may come significant information from management decision, but also other, trivial data. As prophetically stated some forty years ago by one of the mad killers (or, more politely, Chiefs of State) who thought of himself as being master of the world:
XXll
INTRODUCTION
... the principle is to retain the essential and forget the non-essential ..
This statement was made with reference to "data," and even if its implications were political, social, and military, it can well be regarded as one of the original organized attempts "to control by exception." Its need was brought about by the rapidly increasing systems complexity to which we made reference. Today, from manufacturing to process industries, from market analysis to air traffic, data control problems are in the front line. Data are the carriers of information, often redundant in their content. The collection, recording, and treatment of data, in order to extract from them the significant information they may contain, has some generic aspects which are semi-independent of the particular application. And this is why, in the present work, we will be interested mainly in these fundamental structural aspects of data collection, transmission, reduction, and guidance. To keep this work within reasonable limits it was necessary to include certain applications and exclude others. Our criteria have been both the technological state of the art and the financial acceptability of digital automation in certain fields. Many applications will have to await price reductions in order to be appealing. In data control for discrete particles, for one, discussion could well be extended beyond the limits of Part VIII to include numerical control for machine tools, order filling, retail store operations, and mail automation. We decided to omit these last few subjects as a matter of evaluation and choice. Similarly, filtering of subjects had to be done in what concerns the input, throughput, and output of a data system. Inputwise, this has been the case with the speech analyzer; outputwise, with the verbal machine communication and the 3-D display. Adaptive logic and all subjects relative to neural nets have not been treated within the present context-considered as a structural development important enough to provide the basis for a whole separate work. The use of terms such as "interleaving" and "polymorphic systems" was carefully avoided because such terms have not yet been established in asolid manner. Inversely, the underlying fundamental concepts have been duly stressed, as is the case with the switch in emphasis from the arithmetic unit to the "mass memory" box. The-basic difference between remote terminals and time sharing is duly emphasized-and so are the two prevailing views in time sharing: (a) making maximum use of the components and (b) making the central machine of maximum value to the user. In a few instances, our choice was oriented by our disbelief in the wisdom of taking a certain course. This is the case with computer-controlled teaching systems and their corollary "automated teaching techniques." Our firm faith is that, in teaching, the crucial item is not the amount of data to be
INTRODUCTION
xxiii
transmitted but the personal feeling carried on to the student by his teacher or professor: this, no machine can give. In fact, teaching and love are the two areas of human endeavor in which automation should not mix. As Julian Huxley states ("New Bottles for New Wine," pp. 227 and 229. Chatto and Winders, London, 1957): Love presents, in intensive form, man's central and perenial problem--how to reconcile the claims of the individual and of society, personal desires with social aims ... (and) ... can provide some of the highest fulfillments in life. It also provides an important means for the development of personality: Through it we learn many necessary things about ourselves, about others, about society, and about human ideals.
Teaching is the other pillar of the intellectual, moral, and cultural development of man. It cannot and it should not ever be implemented by machines, no matter what their type or purpose. Only men can teach men how to subdue the resistance of sheer intellectual laziness; how to conquer the fear of nature; how to overcome the roadblock of new facts, the dislike of new ideas; how to find fulfillment in evolution as against the "comfortable assurance" of the "established order," and order which has become too routine to be worthwhile. Only men can teach men the spirit of analysis and the joy of a never-ending search. This matter is all too important to human civilization; particularly so since we now are in the middle of a tragic poverty in new moral values. Technological revolutions have the peculiar characteristic of inducing major changes regardless of whether or not the revolution is completely successful. Far and beyond that, technology is, quite unintentionally, a fundamentally "amoral" critter-though a very efficient one: • It does not care whether it is used for "good" or for "evil"-no matter
what good and evil may be. • It does not care whether it is used by friend or by foe, neither does it have
any "national" or other loyalty. • It does not discriminate-it will eliminate people or polio, sparing only
those who know how to get ahead and keep ahead of the times. This is why, to preserve the basic structure of man-controlled evolution, the important thing in systems design is to include man as the valuable building block he is. And though it is certainly true that many of our systems today are adapted to suit man as he is now, there is reason to believe that in the future we may be able to develop a race better adapted to changing environments than at present. This, of course, is long term projection. With it, we would need to create a whole set of new ethics, and manestablished rules and values. The essential thing is to realize that from now on "development" is predominantly a matter residing inside the human brain. The writer was
xxiv
INTRODUCTION
pleasantly astonished to find, throughout the meetings he held on four continents during 1966, that this is rapidly becoming a matter of world-wide conscience. Life-long learning, computers, and the spirit of research is no longer the exclusive asset of the so-called "developed countries." The fact that the billion people of the world start realizing that "underdevelopment lies in the human brain" is an event of tremendous significance. The current efforts in space exploration can give a good example of the approach this endeavor could take. Air and land were just as foreign to the creatures that crawled out of the sea, millions of years ago, and evolved into animals, as space is to man today. The move into space is merely a logical continuation or logical manifestation of what is still an evolutionary part of the process of life. So is the need for the development of new concepts in data control. Though we are still some time away from any formal discipline that could describe the structure of digital automation, we can say that, in a general manner, the following "sequence of events" leads to an integrated data ensemble: • Information is collected by means of sensory pick-ups. • Information is transmitted to a central point for processing by means of a transmission network. • At the processing center, information is sorted, compared, revised, and combined into a form suitable for final use. • As a prerequisite to the foregoing step, a mathematical model is developed, and programming approaches are taken. • After processing, information is transmitted in its new form from the center to the point of end use. • Information is used for control purposes. It is these generic aspects that the present work wishes to bring under proper perspective, aiming to present to the reader the latest thinking in the domain of real time integrated data networks. By "real time" is meant that category of electronic information machinery which is able to meet deadlines, to record, transmit, process, and retransmit information at the pace set by the physical system to which it is assigned. The word "integrated" is being used hereby with a double meaning: the unification of files and the elimination of routine human linkage from the point of data generation through transmission and processing to use. Finally, the title "Control Systems Functions" has been prefered for two reasons: First, in order to avoid overused and misused words. Second, because much of the text comes from research projects the author personally conducted and whose underlying subject was data control. The writer wishes to thank a number of persons who contributed to the
INTRODUCTION
xxv
success of the research projects on which the present work has been based. Chronologically, this reference is to the research on industrial and economic development made in the French business scene during January-s February 1964; a similar research made among leading Belgian companies in steel, power production, transportation and chemicals in April- May 1964; an extensive study on systems development in the Italian business and industry in September - October 1964. On the American side, this research was followed by an analysis on industrial development, which involved every major branch, placing particular premium on digital automation but essentially covering the whole range of subjects which influence the future of industry. This work was realized '-/hile the writer was with the faculty of Washington State University, February to June 1965. To test the hypotheses so far obtained, and help develop a unified systems theory, the foregoing research was followed by a thorough investigation in the second industrial power in the Western world: Germany. This involved personal visits to 77 industrial combines, government ministries, and universities between November 1965 and February 1966. (Special mention should be made in this connection to H. B. Fancher, General Manager, BullGeneral Electric. The writer's association with Mr. Fancher as a consultant on policy was a leading consideration in the German research.) This study was followed by a product scope and product definition project, on behalf of AEG, for all matters concerning information systems and touching the activities of this billion-dollar combine. Finally, the European research included England and Switzerland and was followed by a world-wide study which involved some 50,000 miles of air travel and included conversations with Prime Ministers, Ministers, University Professors, and leading industrial executives. Four continents and twentyfive different countries were visited, among these were Japan, India, Brazil, Argentina, Chile, Iran, Egypt, Kuwait, Greece, and Israel. This allowed a look into the subject of systems development, and the associated digital automation topics, under a variety of angles, including sociological and human. Similarly, the writer wishes to thank the men who contributed to the correction and evolution of this text, first and foremost, his graduate students at Washington State University (Seminar on Advanced Topics on Information Science): A. Lang-Hing-Fung, J. D. Munro, O. C. Olsen, R. D. Petersen, W. Tate, and T. R. Tully; also his undergraduate students: P. C. Alley, J. P. Ford and W. S. Spenser. The writer is indebted to Mr. J. P. Boss for his reading of Chapters I and II; to Mr. J. Bellec, Dr. M. Gandais, and Dr. S. Hinz for their contribution in Chapters V, VII, and VIII; to Mr. A. Delapierre and Mr. O. C. Olsen for
XXVi
INTRODUCTION
their collaboration in the development of the concept of "convalescence," and to Mr. J. Raison for his ideas in matters concerning "scopostic" behavior. The credit for several typings of the English text goes to Gisela Hierse and Toby Mozenter. Miss Hierse also contributed the major work of reading the galley proofs and assembling the index. July, 1966
DIMITRIS N. CHORAFAS
PART I
Chapter I EVALUATING DATA CONTROL OPPORTUNITIES The pattern of computer use in industry today is largely one of single, independent units operating in isolation. In only a handful of instances have integrated communications permitted the development of computer networks able to perform the advanced control tasks that we know to be within our reach. But even if progress in computer guidance advances at too slow a pace, the integrated real-time system represents the future of "information electronics" and, as such, an answer to an existing need. Progress now depends on a deeper understanding of the interaction among men, communications, and machines in the light of information requirements. This places a mounting emphasis up'on the development of efficient methods for systems analysis. Given the emerging needs of industry in automatic guidance and control, it is only reasonable to assume that one of the greatest challenges in the years ahead is in the analysis of control systems functions. For the manufacturers of "information electronics" this is a matter of growth and survival. The entire computing and data processing industry is built on the foundation of civilized man's need to compute and to communicate. The degree ofsuccess achieved by a person, a company, or even a nation is largely determined by the effectiveness of its communications. An organization that installs an efficient information processing system gains an advantage over its competitors. To keep pace, these competitors must proceed with corresponding improvements. And so it goes, each improvement calling for further advances. But if the need for data integration and control work has been with us for years, why is it only now that we face this lag in the study and analysis of control system functions? Before answering this question we should first admit that we are not yet ready to face the challenge posed by systems studies. This admission brings to the forefront the real deficiency that exists in sophisticated methods of analysis, and in people able to implement these methods. 3
4
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
It is exactly this lack which, over the past years, has created the "com-
munications gap," a gap that represents a real challenge to technology. This challenge became evident only with the rapid advance in the development of the computer itself. Since their industrialization, in the early fifties, computing machines have become faster, smaller, less costly; and more reliable. But, in the area of applications, very little has been done which could be considered as achievements. The conception and use of digital control systems require people with an intimate knowledge of the new technology and with the vision and the vigor to apply this technology skillfully. It requires people who understand the necessary techniques of transition, so that digital control can be applied without disrupting and paralyzing existing functions. It also requires an organizational structure that will permit full utilization of the necessary talent and skill-an organization which at the same time is flexible enough to adjust to the changes resulting from the new technology. A major handicap in applications work has been the lack of information theory about the internal dynamics of "the organization," be it a company or a process. We know very little about how an organization works exactly, because very little research has been done in this area. Thus, working in isolation and with a "software?" that leaves much to be desired, computers have tended to proliferate rather than combine and reduce the amount of data with which modern industry must cope. This is not all. As a systems analyst, man still has much to learn. In our evaluation of technological progress and of its aftermath, we often tend to forget certain fundamental data. One of them concerns brain power: of all the scientists and engineers that have ever lived, some ninety per cent are still alive today. From an evolutionary point of view, the technological explosion is faster than the evolution that takes place within the human mind; a fact bound to have its impact. In industrial developments, new processes, new materials, and new components have opened many new horizons in manufacturing and marketing. They have caused a high rate of capital expenditures for new plants and equipment, as well as the updating of present process, and have generated an expanding market for consumer and capital goods. Advances in electronic technology have made available digital control equipment of much greater reliability and accuracy. Yet, the fundamental change in information science necessary to substantiate this evolution in hardware is still to come. Up to a certain point, manufacturers, through advanced guidance equipment, have been able to supply materials and products of consistently improved quality. It will be impossible to continue in this direction without the proper "information understructure."
* The word
"software" is used in the present work in a very broad sense.
I.
EVALUATING DATA CONTROL OPPORTUNITIES
5
The preceding few paragraphs help to explain the reasons behind the rising demand for the integration of systems into larger complexes capable of sending a continuous and coherent flow of digested information from various sources into the main streams of management. To the examination of the basic principles underlying this objective, the present work isdevoted.
BASIC NEEDS IN INFORMAnON TECHNOLOGY In the course of their evolution, data control systems are assuming a structure similar to that of an organism, with sensory devices, motor activities, and a central nervous system. Examining control systems functions, we can identify three fundamental components, operating in a manner analogous to that of the human nervous system: receptors, effectors, and, for the central nervous system, a computer. Each of these components can consist of a number of building blocks. Each has a characteristic behavior and a throughput of its own. Its functions can be determined, and its efficiency evaluated, only when taken in reference to the requirements of the total ensemble. Whenever the pace of the receptor and effector organs sets the tempo of the central nervous system, then the processing of data through the computer must be carried out within a pre-established time interval. Computers that can meet such "deadline" requirements, usually called "real-time" or "on-line," are growing very rapidly in importance. A computer, then, is said to be performing in real time when it is an integrated part of an operating system and meets the data requirements of this system accurately and within the "allotted" time. Examples of areas of applications are many, most of them partially or not at all explored as yet. In "direct control," the digital computer, instead of only furnishing set points to the instruments, differentiates, integrates, and does certain summations in place of the instruments. A promising industrial field, for instance, which has, at present, very few data control systems operating, is the refining of primary metals. Studies are under way in the control of blast furnaces. Some installations for data logging in blast furnaces have met with success. Food processing is relatively untouched, with the first systems only recently sold to bakeries. Similarly the communication control constitutes an excellent field for future applications. A computer is also needed for the complex problems of time sharing* and unscrambling in sophisticated guidance systems for chemical, petroleum, and other industries. *Time sharing is the handling of several operations simultaneously by a man-made information system. Adequate control of programs is necessary to avoid overlaps, undue delays, and cancelations.
6
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
In teletransmission* technological advances are leading toward a worldwide communications system. Such a system will probably be capable of meeting the demands of an increasingly scientific and industrialized world. Future data carriers will be designed to supplement, rather than replace, existing systems; they will employ submarine cables, radio and communications satellites. Even some three years ago, these notions would have been sufficient to describe the general functions of control systems; today they are incomplete. The horizons of man-made systems and their applications have broadened immensely: first, our imagination is working harder; second, we are getting experience in multiprocessing, time sharing, and real time. Even if only 1% of the currently used computers are on-line, predictions indicate that this percentage will grow to 50% by 1970and to some 90% by 1980. Within this framework, the following classifications could be advanced for control systems functions]: 1. Demand Inquiry
This area of applications in information technology requires a system with a large-scale memory, important Input/Output devices, and remote installations with teletransmission capabilities. The value of this ensemble comes from its completeness. Eventual developments might lead to networks of computers able to intercommunicate and time-share "distributed storage libraries"-recording each piece of information at one location only. Such applications include: • Airline reservations • Banks and loan associations • Social security and tax problems • Utility application. 2. Message Relays Systems in this class may vary substantially in importance. Practically, all. time-sharing and real-time classifications involve message switching, but the emphasis here is on the "message" itself, on a given multicomputer structure allowing addition of modular components, and on the use of many processors of high-speed random access memory. Peripheral and I/O equipment composed of high-speed switching devices must be developed and integrated in an appropriate manner. Applications include:
* See also Chapters VII and VIII on data carriers and the structural aspects of teletransmission. t This results from a research project the writer has undertaken to that end.
I.
EVALUATING DATA CONTROL OPPORTUNITIES
7
• Military operations • Nation-wide and international teletransmission networks • Hospital operations • Stockmarket data. 3. Instrumentation and Process Control
The value of these systems will rest with their "in-factory" completeness, depending on both the hardware and the software aspects ofthe system. The on-the-job analysis will be of great importance, and with it the development of special instruments, AID converters, scanners, and interfaces. Amongthe fields of applications are: • Space and missiles research • Nuclear energy • Chemical and petroleum industries • Steel and other process-looking industries. 4. Design Analysis
Computer-aided designing and drafting is one of the few lines being exploited now. Eventually this could lead to a communications network between widely separated research centers. Through a time-sharing technique, and some scheduling and design algorithms, a group of researchers could work simultaneously on the same product-provided they equip specialized, inexpensive consoles with cathode ray tube display, or something equivalent. Adaptable keyboard structures, status information displays, and buffering subsystems will be of great importance. The field of potential and projected applications encompasses all research and development laboratories, all engineering work, and eventually all field-feedback activities on equipment performance. University installations should be among the first to contribute to and develop the necessary experimentation. Five main fields of interest can be stressed: • • • • •
Design automation Competitive design analysis Standardization and value analysis Numerical control with automatic access Reliability studies and field feedback.
5. Traffic Guidance
This can be taken as part of "Instrumentation and Process Control," but the problems encountered are substantially different. The applications in traffic control focus on discrete particles, from mail to highway traffic. They
8
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
call for improved peripherals, for adaptation to new systems concepts, and for the overhaul of a wide range of parameters in design. Applications are just beginning to get a start; they involve: • Mail and parcel automation • Railroad channeling and command • Subway control • Highway, car control, and destination • Maritime freight automation and command at the ports. 6. Special Applications Most of these applications are of a "special nature," due to the current state of the art. With experience obtained from study and research along these lines, special applications would eventually be included in one of the five classifications already mentioned. In this reference we think about industry-wide information networks possessing some kind of artificial intelligence, capable of coupling themselves with the real world. Automata come under this heading, along with advanced pattern recognition, stimulus response, and the like. Devices able to recognize, say, holes and knots in plywood or to evaluate meat quality for automatic channeling and packaging are still lacking; other developments are long overdue. In pattern recognition we have not experienced so far any significant breakthrough as is the case with fire control and with the development of missiles able to direct themselves to the target. Most special applications today are too limited in scope, in horizons, and in research, treating the applications subjects as stationary. Among the major breakthroughs in the years to come will be the development of sophisticated diagnostics: for example, a "systerneter" able to automatically follow the operational pulse of each component and device, foretelling drift, degradation, or impeding failure. The work currently being done on "fail-slow," "fail-soft," and "feed-forward" is a significant step in this direction. * Just as the central nervous system works with the organisms made by nature, so an information machine with an availability of99.999% is needed for the types of work mentioned.t This is in contrast to what has been our
* See Chapters XVI and
XXI. t An excellent example on the aftermath of a failure in information systems is given from a report on the McDivitt and White Gemini flight: "Roger," said mission control. "All you've got to do is hit the spot." But, flying an old-fashioned re-entry because a million-dollar computer on board had gone dead, Maj. McDivitt fell short of his target by 48 miles. A mission-control operator had told him earlier, "I have a bet with your wife that you will get within 5 miles."
I.
EVALUATING DATA CONTROL OPPORTUNITIES
9
data processing thus far. As such, it identifies one of the fundamental differences which exist between "digital" and "analog" automation. With analog automation, control was largely a matter of accurate magnification of power, and this led to purely deterministic control mechanisms. But animals and men are capable of accurate control without such a deterministic approach and in situations which almost defy it. They achieve this by random trial-and-error movements and by adopting successful control strategies. If the principles underlying the behavior of an operating system could be discovered, a big step forward would be taken in the automatic control of complicated industrial processes, by using methods of mathematical analysis. This is exactly what we are striving for. The role mathematical analysis plays in this total scheme can be best exemplified by stating that an early, crude model should be reasonably accurate and descriptive of a certain process. This model must be open to improvement, preferably self-improvement, through adaptive means. Adaptive control cannot easily be discussed in a general way: it has been equated variously to learning, conditioning, and self-optimization. In industrial practice, a control decision must often be made on the basis of insufficient data. Ordinary computers cannot aid in decisions of this kind, unless equipped with "digital simulators." It is in this area that applied mathematics and industrial electronics technology meet. It is the task of these simulators to make efficient use of available data and to quickly examine the results of their own decisions, so that they can always adapt their future output to the best information available. This is the true meaning of the word "control." A phenomenon will be said to be controlled when, through the use of past experience, we can predict within limits how the phenomenon may be expected to vary in the future. The impact of electronic computation can best be felt by realizing that any realistic, adaptive control system must be carried out at very high speed. Real-time control must also present some basic features essential to the handling of deadlines. These include prefix addressing for program relocation, chained control words, input-output control, interrupt stream, rapid program switching via program control words, and interval scanning timer, error scans, and shared memory for intercomputer communication. These requirements suggest many questions: • What is the data rate a computer must be able to handle? • Is the data to be transmitted in bulk or in a continuous stream? • What kinds of transmission media are available and what is the reliability which could be attacked to them? • What error rate can be tolerated and what countermeasures should be taken to assure accuracy?
JO
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
• Should redundancy be added for error detection or should the system employ a direct or feedback error correction? • Is the information divided into words, frames, or single characters? Should the transmission and processing be done serially or in parallel? • How and at what point should the multiplexing of data be carried out? • Where and how should the relative priorities for data handling be established? The last two questions lead to the consideration of the possibilities of "borrowing" the central computer for a short time in order to control the different phases of a process. This will be practicable only if the computer is a very fast one and if the "borrowing" is organized automatically whenever it is required, so that the programmer need not be unduly worried about it. Other questions relate to the input-output requirements a guidance system must employ. Regardless of the particular field of application, the operations of a computer working in real time are largely dependent upon the entry of .data by terminal operators, interface machines, or instruments. Digital control depends upon these functions in the sense that it must accept, process, and respond to the data immediately, or within some "very short" interval of time. This is a necessary condition if the operations in the controlled environment are to continue in an orderly fashion.
DICHOTOMIES IN COMPUTER USAGE
Not only is research at the applications end of data control systems behind other domains of the information technology, but, also, the proper setting of the applications domain is still in a state of uncertainty. Data control systems are influenced by the existence and availability of materials, and of logical means for their abstraction; but systems evolution is an entity in itself. So is the development of mathematical simulators. The computer can be used as a controlling device only when the process under consideration is understood well enough to be formulated as a mathematical model with predictable characteristics. It has come as a shocking surprise to many that due to our relative lack of experience in this field only few industrial processes can be reduced to a precisely stated problem, meaningful to methods of machine solution.* Among the hardware aspects of computing machinery, random access, automatic interrupt, and high-speed buffers, while facilitated by the existence
* See
also D. N. Chorafas, "Systems and Simulation." Academic Press, New York, 1965.
I.
EVALUATING DATA CONTROL OPPORTUNITIES
11
of materials, are in themselves very important systems concepts. It is most important to bear in mind this material-component interaction, since there exists a substantial feedback between hardware systems and their range of applications (Fig. 1). The effects of this interaction can be magnified by noting that a long period of time must elapse between first conception and final acceptance of an industry control system.
FIGURE
I
At the applications end, information electronics can be characterized by two dichotomies. One concerns the specific function ofthe machinery: calculation or guidance; the other makes reference to the treatment of data: reduction or generation. Of the resulting quarter-spaces, the least exploited to date is that of data generation and guidance (Fig. 2). Function Application
Calculation
Guidance
Data Reduction
Main use
Some use, mainly with missiles
Data Generation
Some use, mainly for simulation
Least exploited area to date
FIGURE
2
Computer usage in "calculation" refers mainly to off-line utilization of the machine, for example, in engineering design, scientific analysis, business data processing, and even some experimentation, provided no deadlines need be met. In these areas, experimentation is an example of data generation, while applications such as payroll and accounts receivable are, for the most
12
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
part, examples of data reduction. Applications along this line can now be called "traditional," though an increasing number of improvements are felt to be necessary, some of them leaning toward the guidance function. For instance: . • The utilization of multiple, job-oriented, on-line display consoles* • The investigation of time-shared operation of general purpose computers • The integration of multiple central processing units • The utilization through an electronic switching arrangement of a common pool of auxiliary storage devices and special purpose equipment • Experimentation with multiple remote input-output terminals • The development of advanced methods in numerical analysis • Experimentation through mathematical simulation on high-complexity engineering problems • Computer utilization for multifunctional planning purposes • Query languages so that the computer can address itself to the line user. Research is being carried out on the time-shared operation of a single computer, followed by investigation of the integrated operation of multiple computers, each of which may be operated in a completely time-shared mode. This evolutionary path in computer usage has been followed in connection with missiles and with process control systems, whose application is an example of automatic guidance. When "guidance" involves data collection and data treatment with the attainment of certain inferences as the objective, we usually talk of "data reduction." When we experiment on the future course of events by means of mathematical simulation, we talk of "data generation." An example of a data reduction process is the usage of a digital computer in connection with missile flights. The machine receives telemetered information on the flight of a missile and forecasts its trajectory faster than the projectile itself flies. In industry, within the guidance function of computer usage, the power companies have the largest number of planned and existing installations, with some 37 % of the total digital automation systems to date. These applications include steam power generation, comparisons of heat rates, monitoring and alarm scanning, combustion control, automatic startup and shutdown, regional and local economic power dispatching, nuclear monitoring and alarm scanning, burst cartridge detection in gas-cooled reactors, and test
* For example, see the discussions in Chapter XV on DAC-I and in Chapter XXXII on the SAGE system.
I.
EVALUATING DATA CONTROL OPPORTUNITIES
13
reactor monitoring. The second largest user of process control computers is the steel industry with some 20% of the total installations. Here, computers have found application in areas such as production scheduling, billet cutting, annealing, sintering, hot and cold rolling mills, galvanizing lines, tinning lines, and basis oxygen steel furnaces. Within the framework of the data control system, the chemical industry is a good third with an estimated 14% of the total; for such applications as ethylene, ethylene oxide, direct hydrocarbon oxidation, methanol, synthetic alcohol, synthetic rubber, ammonia, butadiene, vinyl chloride, acrylonitrile, nylon, nylar, high-pressure polymerization, soda ash, and pilot plants. The petroleum and gas industries are the fourth largest users of process computers with about 9 % Applications include fluid catalytic cracking, crude distillation, catalytic reforming alkylation, lubricating of processes, gasoline blending, gas purification, multiple unit control, integrated refinery control, gas distribution, petroleum and gas pipe line research. Some other real-time applications should also be mentioned. The paper industry, for example, which just recently began expanding its use of process control computers, has an estimated 4 % of the total. Applications here include digesters, paper machines, and drying. The cement industry also has a few installations, which are used for controlling raw material, wet and dry blending, kiln control, preheaters, and grinding. Computers are being used in many other areas as well, e.g., weather data reduction, missile checkout, air traffic control, television program switching and scheduling, highway traffic control, electronic component manufacture, engine testing, and telescope positioning. The foregoing examples are enough to describe the broad horizons of digital control systems. In the general area of industry, data control applications include*: • Petroleum. Crude oil distillation, catalytic cracking, alkylation, reform-
ing, polymerization, gas and liquid products, pipeline operation, dispatching. • Chemicals. Ammonia, petrochemicals, plastics, synthetics, fibers, synthetic rubber, paper pulp. • Metallurgical. Blast furnaces, open hearth operations, rolling mills, tin, iron, and steel works, ore processing, smelting, and refining, for the nonferrous metals. • Utilities. Conventional power generation, nuclear energy processes for power production, economic dispatch of power, gas production and *These applications should not be confused with those presented at the beginning of this chapter.
14
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
distribution, allocation of telephone networks, data transmission operations. • Product assurance. Components testing, reliability studies, information feedback for quality purposes, quality records, wind tunnel studies, missile test stand studies, medical research and diagnosis, experimental communications, weather reconnaissance. • Management planning. Mathematical forecasting and extrapolation, automatic budgeting, analytical inventory control, cost-efficiency evaluations, operational planning, and the like. • Discrete particle control. Air traffic control, highway traffic control, railroad classification yard control, reservation systems (air, rail, or other nature), navigational control of ocean-going vessels, military logistics. Most of these processes are distinguished by three characteristics: multiple objectives, a large number of variables, and complex interrelationships between the variables. Some of these interrelationships are not only complex but also incommensurate, conflicting, and not comparable. This very fact helps bring the whole matter of data control dynamics into its proper perspective. Other distinctions could also be made with respect to automatic data control systems and their applications. For instance, in the an~a of applications, we may classify a system according to the type of control provided: control over environment, control over processing, or control over "future actions." In any case, a computer used on line must be connected to the process by the proper sensory and effector means. Information fed into the computer can consist of signals transmitted by the "on-the-process" transducers, analog-to-digital converted signals, manual input, and logged variables. A process-computer system with its interconnections is presented in Fig. 3. Data-collecting devices receive information from the in-process operations and transmit it over communication lines to the data-control unit. The type of data used would depend largely on the process. * The action of the computer is, at present, governed by the procedures established in the machine program. We shall return to this subject in the following chapters.
FUNCTIONAL ASPECTS OF DATA CONTROL The function of the central nervous system of a certain process, be it a human or a computer, is the storing and handling of the input data and, on the basis *Here the word process is taken in a broad sense to include every process, and not in the limited sense of, say, a certain process control application.
I.
EVALUATING DATA CONTROL OPPORTUNITIES
15
The process
~--Tro~d;;~--l
Noise
~
\
',.-..
~
~
~
t-.
Lr-,
'--'
y
r--Eif~t~s---
i
i
(sensing devices)
~
(motor activity)
ttffitNO'"
!Digital- to , analog conver er
I
I
~Noise
Analog-to-digital converter
Computer
FIGURE
I
3
of the established procedures, the transmission of the required output. This output consists of instructions to control devices in the ground floor of the in-process operations. The prerequisites for the establishment of an efficient control function include: • The definition of the control procedures to be followed • The description of the input data and the determination of the capability of the contact input to check the execution of the desired control sequences • The amplification and motor activities capable of performing the control functions • The effective monitoring by the central computer. Data inputs fall into four major categories, each with different significance for tests and evaluations. These are: • • • •
Control-oriented Non-control-oriented Manned Computer-generated.
With the exception of information generated within the central nervous system through simulation techniques, data inputs come from the environment. As defined here, the external environment ofthe computer contains the physical units or equipment whose behavior is to be controlled or influenced. The computer-generated data differ from all other types of data in that they are created by the machine on the basis of some predetermined criteria and
16
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
as such they influence the further action of the real-time data system and of the operating devices under its control. The control-oriented inputs of an automatic guidance system come from sources in the external environment over which control can be exercised, in a predetermined manner. Since we are considering the total aspects of processing, we can add that controllable inputs should conform to the computer throughput instructions. For an all-automatic system, inputs of this kind can be described in terms of data transfers operating on the basis of computer commands. Alternatively, non-control-oriented inputs come from "nonplanned" sources in the environment. Several types of such inputs may be conceived, not necessarily following a certain pattern. We have also spoken about manned inputs. These result from monitoring action by the human controllers, based on systems situations calling for inspection and action. More often than not, these inputs are unpredictable. If they are predictable, there would have been no need for the human intervention and the computer program could implement the actions directlythough it is possible that human intervention has taken place either because of a certain systems failure or because it was purposely put there in the original systems design. * The fact that the digital control system must be efficiently connected to the process for data logging operations is self-evident. A number of transducers, such as thermocouples, would need to be scanned at a number of points per second. The established scanning rate for a certain process, or portion thereof, must be maintained whether the values scanned are within the alarm limits or not. Nevertheless, the amount of work that the computer has to do when a point is within the limits is less than under alarm condition. An example on in-control data stream for input purposes will help clarify this reference to work volume. It concerns a recently developed data control system with improved operator efficiency, reduction of over-all volume, trend recording, and digital capabilities-all significant appeals to users of process instruments. The input equipment is essentially a multiplexed analog-todigital converter, which collects product and process data fromthe indicating control stations. It converts this information into units suitable for engineering, research, and accounting, and can be setto log process trends at 5-, 10-, 30-, or 6O-minute intervals. A demand log can be initiated by the operator at any time. A channel stop feature permits scanning to be stopped at any selected channel number, if fewer than 100 channels are to be logged. A complete lOO-channel print-out can be carried out in less than two minutes. Millivolt, thermocouple, square root extracting, and digital time inputs permit direct logging of all process variables.
* See also in Chapter II, the
discussion on open vs, closed loop control.
I.
EVALUATING DATA CONTROL OPPORTUNITIES
17
The foregoing paragraph also implies that the machine's internal operating speed must be sufficient to carry out the largest amount of calculation necessary in the given time interval. If, as is the normal case, the machine is processing points within the alarm limits, there will be idle time between scans. Another implication has to do with memory requirements. This is not only a reference to storage space; it is not a matter of having around something like a box where the machine can insert a piece of data and retrieve it later, hopefully unchanged. Memory requirements for data control imply more: a self-organizing faculty that can keep track of its own structure and efficiency. Memory requirements should extend to special registers for usage with the trapping mode whenever an emergency or crisis occurs. This brings into perspective the interrupt faculty a data control ensemble should possess. It is of utmost importance that a real-time control system have automatic interrupt capabilities enabling it to undertake time-sharing operations without neglecting any priority operations. We can distinguish three main types of "interrupt." Failure Interrupt • "Time-out," or internal computer failure • "Data failure," in transfers from storage • "Illegal control storage" (operation or command) • "Program error" which thus far has sneaked through checkup and operations undetected. Internal Computer Interrupt • Error in the allocated memory addresses • Possible memory overlaps • Execution delays • Special computer signals.
This internal interrupt feature, combined with special purpose instructions, facilitates the concurrent processing of many transactions on a real-time basis. External Computer Interrupt. For this, a number of ECI keys, equal to the number of the input channels, is necessary to enable the computer to be aware of the condition of these channels. The generation of an ECI word could help the computer establish the exact condition of the external device in question. The following are some of the means to that end: • Emergency signal, transmitted to the central computer either through a slave machine or directly by the control device-depending on over-all systems design.
18
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
• Computer-detected failure, which has as its origin a component's malfunction and not a data error. • Emergency computations made either by the central system or a subcomputer on the basis of process tendencies, established through the normal error-free acquisition of data. Unmistakably, the foregoing points to the need for diagnostic programs which will be able to keep coherent, continuous, and comprehensive histories for both the digital control elements and the controlled system itself. Data checking and quality assurance techniques are based on the sophistication of machine programming. With real-time systems, the frontiers in this area have to be pushed farther in order to avail automatic recovery from failures through means to be yet conceived. Emergency reasons and in-control operations, as well, require the existence of efficient machine-ta-man communication media. In a number of actual cases, the control computer is asked to type out a log of some of the points every hour or on demand. The operator may demand a summary print-out or wish to alter an alarm level by the manual switches, and this must be interlaced with the scanning cycle. To make possible this form of operation, a system of priorities must be established through a sophisticated method, by which the machine can test what must happen next. UTILIZING PAST EXPERIENCE Establishing the necessary functions, rules, and deadlines is the theoretically correct way of viewing problems in information technology, but, in practice, many points come up defying "theoretical" answers. For example: • What is the starting point? • How does one determine the utility of more powerful electronic media? • What criteria should be used to select between alternative ways and means in the implementation of a control system? • How can the system be altered so as to keep pace with changing conditions? • How can the profitability of digital automation to a given process be evaluated? • How can the limits of systems expansion be identified and set? • Why can we not live without new approaches to "information electronics" and its implementation? • Why are many information-handling installations failures? • What new approaches to data automation work best and why? • What can be done to obtain efficient control functions and optimal financial results?
I.
EVALUATING DATA CONTROL OPPORTUNITIES
19
• How can scientific manpower be utilized most effectively and why is it so often wasted? • How can facts be distinguished from fiction? These questions are not exclusive to data control. They are present whenever a conversion to newer, more efficient systems is in balance; be it a power network, a weapons development, or any complex systems works. In information processing, excellent examples of difficulties and pitfalls can be found in the early efforts in data automation, and from the results obtained with the first computers. The Bureau of the Census, for one, has been involved in the use of electronic systems for business-type operation over a long period of time, perhaps longer than any other Government agency. The initial computer application in 1951 was for certain tabulations of the 1950Census of Population and Housing. In this application the poor performance of the then available card-to-tape machine and relative inexperience led to useful lessons but not to a very high return in terms of cost reduction and rapid compilation of statistics. As Bureau of Census officials put it, from these applications it was learned: • That the computer does not give easy, automatic data processing • That the ingenious management of the flow of work through the computer is a matter of analysis, and not a simple incident • That "even the mechanics, such as the handling and labeling of tape, and other operating procedures have to be carefully planned • That the over-all management and control of the operation is a problem calling for a great deal of attention. Since then, hundreds of other governmental organizations and private companies have passed through the same maze, learning their lesson the hard way, getting to appreciate that on some jobs the work of preparing instructions for the computer can exceed the work required to do the job by less automatic methods. Only after due care and considerable thought have been given to the data automation of a certain process can the use of computers turn out to be a profitable operation. But how often does this happen to be the case? Quite often, the true difficulty is not in undertaking the study of a certain system but in inducing its user in the proper discipline. Once planned and installed, the implementation and use of digital control systems will result in fundamental changes in managerial techniques. At this point, it suffices to distinguish generally two aspects of the utilization of this new technology: the first is the way in which management uses technology to change operating procedures and methods. This is important, complex, and can occupy many
20
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
people for their entire life. Yet, it is the smallest and least important part of the total subject, though it becomes the center, and to many, the entire problem itself. The second of the disciplining problems brought forward by new technology is the way in which management uses these developments not only to change the manner in which a task is done, but to determine what task should be accomplished. Thus, an important part of the management's problem will be the determination of what questions to ask. This also involves the ability to see a pattern emerging from changing techniques, so as to introduce wholly new ways of performing basic functions, of fulfilling user needs. Fundamentally, this requires a good deal of the entrepreneurial flair, which looks to technology not simply to improve the way ajob is performed, but rather to see whether this job is needed at all. Other problems in digital automation are more technical in their nature. Because of an outstanding lack of careful study and applications research, both on behalf of the users and of the manufacturers, the answers often given to crucial engineering subjects come just short of being superficial. Research on materials, for instance, has attracted much more interest than research on the efficient use ofthe machines which will eventually be made out of these materials. The same is true about planning for control systems evolution. To view this subject of efficiency under the proper perspective, one should also consider that there is no existing universal, standardized pattern for solving real-time problems. Individual situations in information technology differ markedly. Methods for problem solution must be tailored to the circumstances present, but the need for diagnosis, synthesis, and evaluation of performance should always be emphasized. Before attempting any problem solution, it is evident that the problem itself must be defined, its variables identified, and their degree of severity noted. This can best be done by an analytical or diagnostic study of operating practices, procedures, policies, everything relating to the questions on hand. * After identification of the problem, it is necessary to assign responsibility for solutions and to establish the priority of attention to be accorded. As with many other cases in new product development, information systems are characterized by a tight relationship between research, marketing, manufacturing, engineering, and after-the-sales service. An active hand must also be taken in building the proper relationships, or the user and, eventually, the manufacturer will be hurt. The contemplated engineering-sales coordination involves four steps. First, the required or necessary relationships should be identified and described. Second, the existing relationships should be measured against this
* See Chapter IV on The
Principles of Systems Analysis.
I.
EVALUATING DATA CONTROL OPPORTUNITIES
21
standard to locate weak spots. Third, a program must be instituted to correct these identified gaps. Fourth, the "necessary control points" should be built into the system. This attitude may help to avoid cases such as: • The installation of two computers of the same make, one tape oriented, the other basic, at the same location of a major mechanical manufacturer, where the user was obliged to program most of his problems on the small machine so that he could have backup by the big one.* • The installation of a tape computer in a bank before either peripheral equipment or programming had been thought of, so that the machine remained inactive for over five months. • The installation of a minor computer expected to handle accounting, inventory, production, and some simulation work for one of the largest steel combines in the world. • The proposed installation of a minimal punched card configuration to a 35,OOO-people petroleum company, to handle everything from payroll to budgeting, including inventories. • The use of two non compatible punched card installations, made by different manufacturers, and of a computer with a punched tape inputoutput, at the same location, by the same firm, for directly related jobs. • The installation of three tape computers to an automobile manufacturer at the rate of one per two months before the user was able to put to work the machine he had already received. • The "promise" by a manufacturer that a certain data processing installation would do about five times the work it was finally able to do. • Proposals for the installation for teletransmission media where neither the need for instantaneous performance nor a justifying rate of data transmission were present.
*The word "obliged" can be given several interpretations. Certainly the lack of systems balance is evident-as is the lack of rational machine choice. Even with an irrational configuration it might have been better to use in a steadier manner the larger and faster computer, giving to the programs a downward compatibility for backup reasons.
Chapter II THE FUNCTIONS OF A DATA SYSTEM
It is fairly obvious that the primary objective of a data control system is to "control." Less obvious are the requirements the pursuit of this objective implies. The first step to satisfactory implementation of the functions of digital control is to decide on the limits of the problem to be solved by the system. What is it supposed to do? Is it going to have a secondary as well as a primary function? Can and should it perform extrapolations, forecasts, or other calculations? The analyst must also decide how deeply into each problem the system is to go. Is it expected to work only as operator guide or is it intended for closed-loop control as well? Will the system control startup and shutdown on the basis of a dynamic program? Such questions must be posed and settled at the outset, for they constitute operating decisions. Only after the nature and extent ofthe problem to be handled by the control system have been defined can work start on suitable control strategies. Throughout this study, the operating personnel should be considered as major contributors. They will be responsible for the maintenance of the plant after it has been automated. In fact, their contributions will be project-long. Since the need for some control media may not be obvious until the actual program takes form, consultations will continue throughout the life of the project. One matter that should attract a major part of the system analyst's attention is the consideration of error procedures. Automatic error detection and correction media must be provided. This means preventive error detection hardware, since programs must be able to perform automatically and continuously. Hardware and programs must be designed to pinpoint potential weak spots of both the controlled process and the control system. Weak spots must be predicted and corrected before they become serious enough to cause unplanned system shutdowns. Only a thoroughly planned and established quality history can be of significant help in this direction.
22
II.
THE FUNCTIONS OF A DATA SYSTEM
23
In the study of process control dynamics, the man responsible for the systems work has to study and follow seven basic steps: • Decide on the limits of the control problem • Define the process output and the pickup means • Analyze all sources of error detection and the ways for error correction • Forecast "intermediate loops" for error detection and correction • Program for data reduction and smoothing • Develop process diagnostics based on the quality history • Write the criteria for digital decision and optimization • Synchronize the control activity with the requirements of the total system.
DEFINING OPERATING CONDITIONS
In the process industries, the term "continuous" relates the treatment or handling in bulk form of energy or matter (liquid, solid, or gaseous) with its conversion or modification, by chemical or physical means, to provide the products desired therefrom. The process may continue to function without interruption for days, months, or, in some instances, for years. This uninterrupted operation is the major basis for naming such a process a "continuous" one. Petroleum refining, iron and steel conversion, electric power generating and transmitting, and glass and plastic making are examples of continuous processes. Manufacturing operations, such as stamping, assembling, and cutting, are discrete. A rudimentary form of control has-been exercised since the earliest times, when raw materials were first processed. The operator, in refining copper, added fuel when the fire was low and ore when the fire was hot. He varied the rate of adding fuel depending on the temperature in the furnace, and he timed the firing of the ore by the furnace temperature he believed best for purity. The philosophy of manned control has not basically changed for thousands of years. When the variables were few and the process simple, the human controllers of a certain process were able to manufacture a product of relatively uniform quality and quantity. This might have been the case even if their production varied: an experienced operator often improved the quality of the copper and increased the quantity by changing certain of the variables in the light of what he thought was happening to the ore in the process. The smelted copper was a measure of his skill and judgment. Even with the most skilled workers, this mode of operation was not conducive to the maintenance of consistency in quality or quantity, from one batch
24
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
to another. This inconsistency as to the quality and quantity, known and acceptable as it was, became amplified with the increase in the volume of production. A number of industries felt the need for radical changes in the media of control. This need became more pronounced as the processes developed into systems complex enough to defy orderly, manned control. Another reason for the orientation of research toward automatic control media was the frequent incompetence in defining in unambiguous terms a "variable" and its range. A variable is any temperature, pressure, flow, level, or other measurement that determines or indicates the state of the process. Variables are further characterized by disturbances. It is the nature of variables that they often are interrelated in complicated nonlinear ways rather than in a simple additive manner. If the variables in a particular function reacted independently of the whole, the analyst's task would undoubtedly have been easier, In industrial processes, the independent controllable variables are the temperatures, pressures, flows, and liquid levels that can be directly controlled. The independent uncontrollable variables are composition of the raw material, ambient temperature, power generation load, and the like. These may vary unpredictably, and, by so doing, they create "disturbances" in the process. Central action is necessary to compensate for them. Dependent variables cannot be directly controlled. It is impossible to change a dependent variable independently of the other variables in the set. Certain internal temperatures, pressures, and flows in a process may be significant dependent variables, if there is a reasonable chance of their approaching their constrained limits. We may classify the types of process variables as: • Independent, directly controllable-temperatures, air and liquid flow rates, applied to a process. • Independent, uncontrollable at the process-level-composition of raw material, power generation load, ambient temperature, catalytic deterioration, etc. • Dependent, controllable only through the manipulation a/independent variables-temperatures, pressures, concentrations, and the like, that result within the process.
Independent variables can be described as variables that cause process behavior; dependent variables as the effects. Independent variables are inputs to the process; dependent variables are the results of these inputs and of the interactions which characterize the process itself. Digital process control is thus oriented toward variables that are controllable at the process level. A computer can observe, compare, analyze, and make programmed logical decisions, related to these variables. If provided with the appropriate output equipment, it can report, record, and initiate corrective action. It can:
II.
THE FUNCTIONS OF A DATA SYSTEM
25
• • • • •
Collect process data Count, add, or subtract product increments Solve equations that include any or all of the input data variables Locate and identify abnormal or dangerous conditions Perform a series of routine operations in a precisely programmed sequence • Alert a manned system for appropriate actions requiring judgment beyond its programmed capabilities • Compute and print out data on the process and its operations, in the forms most convenient for the operators and the factory accounting system • Register and prepare inventory reports on material in process • Classify produced material according to quality-quantity and keep a complete quality history • Prepare summary production reports by hour, turn, day, or any other desirable unit. Some criteria which may be used to identify and evaluate the applicability of computer control to particular processes are as follows. Is the annual value of the product sufficiently large so that even a small percentage improvement is able to justify digital control? Is the process a complex, multivariable one, with many production specifications and operating constraints to be observed? Is the expected lifetime of the process sufficiently long (no foreseeable obsolescence) so that the benefits from computer control could continue for an appreciable time? Also, the systems analyst should well establish whether the process is subjected to relatively frequent disturbances which alter the efficiency of operation; and if it is possible to adjust the control variables to compensate for these changes. Finally, it is important to know if the state of the art concerning this process is such that its nature is well understood, its mechanics are well instrumented, the necessary quantitative relationships (which constitute the model) can be obtained, and the performance can be measured accurately. It is most essential to emphasize the last point for it constitutes a major pitfall area for both control systems manufacturers and users. In 1964/65, in a northwestern paper-pulp factory, one of the leading computer manufacturers installed a semiclosed loop digital control system which: • Proved both financially costly and operationally unsuccessful • Presented, technologically, unacceptable oscillatory conditions. After the failure, the computer manufacturer (who, it should be noted, proposed the installation on the basis of his own initial study) accused his
26
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
customer of being "unfit for on-line control." The manufacturer's logic was as follows: "Your process equipment is no good. Our computer is perfect. We'll pull it back for one year to give you (the customer) time to expand your operations." This example also emphasizes the need for careful consideration on the adaptability of obsolete equipment to on-line digital contro!. This is equally true for both the controlled and the controlling units. At the digital computers end, a company planning to install on-line control systems obviously should strive for the latest technological advances. Computer generations to date can be broadly classified as follows: First Generation (1950-1956) • High-speed calculation • Electronic memory principle • Stored program principle • Introduction of core memory • Initial approaches to buffering Second Generation (1957-1963) • Solid-state circuitry • Advanced buffering and multiplexing practice • Random access memory • High-speed/ density magnetic tape units • Initial satellite computer practice Third Generation (1964-1970) • Time sharing, multiprogramming, and multiprocessing • Advanced satellite computer theory • Large, low-cost, high-speed memory • Microelectronic, integrated, and monolith circuitry • Operational real-time systems with multichannel capability.
OUTLINING CONTROL SYSTEM FUNCTIONS We have thus far spoken of the controlled system, and of some of the characteristics the controlling system must possess. The first of these, we said, is the capability of a computer to operate on-line. Off-lineness has no meaning in automatic process contro!. With off-line operations, a computer is fed data indirectly by means of punched cards, tape, typewriters, or similar equipment. "On-lineness" refers to a computer that obtains data directly from the process. Degrees between complete off-line, and complete on-line, and hybrids are possible, but will not concern us for the moment. Similarly, "open loop" refers to a computer
II.
THE FUNCTIONS OF A DATA SYSTEM
27
whose output does not go directly to the process. The system is not, therefore, totally self-correcting. "Closed loop" refers to a computer that is connected directly to the process. Its output completes the loop to make the system selfcorrecting. Figure I illustrates the four quarter-spaces into which the whole field of digital computation and control can be divided. The off-line, open-loop type of application is the most traditional and the one with which we now have considerable experience. Next to it, we have an on-line operation with an open-loop end; this is the type used by most companies until substantial insight is obtained on process dynamics and associated operational characteristics. Our lack of experience with closed-loop systems makes it advisable to restrict digital control to decision-making functions, and not use it to regulate directly a process variable. Because no "total approach" to digital automation has yet been devised, analog-type local regulating loops are being used. They receive manual command signals, which themselves are based on indicators provided by the computer. Even this intermediate approach requires that a systems analysis be made in the most thorough manner, including an evaluation of the on-line computer's ability to prepare integrated management data, such as pay records, order and stock flow, and utility records. The latter functions add little to the cost, but often produce large and readily calculated savings, provided they are organized in a manner that will not interfere with the main purpose of the computer, that is, guidance and control. The most sophisticated type of application for digital control systems is, of course, on-line and closed loop (Fig. 2). Other things being equal, we can
-. ~:::>
a.
E
s- ea. u
~
-0 -= E
~
.t=
~~ a.
~
Ci -
0
X
Off - line open loop
U
= £1 0
Indirectly to the process
,g
c: U
Directly to the process
U
0
U
Data from the centrol computer
u
~
.t=
On-line C losect
loop
On - line open
loop
E
,g
FIG. I. Divisions of digital computation and control.
28
PART 1.
THE DYNAMICS OF DIGITAL AUTOMATION
Computer
+ + Computer
Actuators Actuators
I1
I j
B FIG.
2. Closed-loop end of digital computer control.
say that process presents the best potential, that is, continuous, with a high production rate and assured process value; its characteristics require no manual handling of the product; it can be fitted with fast accurate regulators on all vital process variables, while having many variables affecting production rate and quality; and it can be operated on mathematical principles and well-defined procedures, methods, and systems. With this, we can say that, in their most basic form, the control system functions start with on-lineness, and, therefore, with data logging. In principle, data logging should be confined to those process variables which yield useful data. Process input data can be classified into: "Operating" and "Record" information. Operating information will usually be confined to print-outs of alarm, that is, abnormal conditions. The selection of logging points will, in general, be determined by the requirements of responsible plant engineers, and will usually include records of the unit outputs, real and reactive powers, auxiliary power, steam, temperatures, pressures and flows, feed-water and cooling-water temperatures, composition, and the like. The long-term variable of certain parameters can give very useful indications of such things as the fouling of boiler tubes or condenser tubes. These trend points can be logged as a secondary automatic logging cycle or alternatively this may be arranged as an "on-request" function. The print-out of information, such as a summary of all points in alarm and lists of the high and low alarm limit settings, is most useful, particularly when a new operating shift comes on duty. In its general aspects, the operation of data reduction involves sampling,
II.
THE FUNCTIONS OF A DATA SYSTEM
29
analog-to-digital conversion, systematic recording of instrument readings, alarming, data transformation, and possible retransmission of this collected information. A digital computer integrally tied to the data collection unit will then provide the central tool for analyzing process data by mathematical techniques. Correlation and regression analyses of the process data can give better understanding of the process and lead to the upkeep of the mathematical model. Particular attention should be paid to the sampling function within the framework of digital automation. The optimum use of data control equipment requires the establishment of the elements in the universe which must be sampled. Computers provide ease of access, the flexibility of sorting and rearrangement, and flexible facilities for control, accuracy, and efficiency. But with all these characteristics it is not a replacement for sound, precise establishment of the population of data and of the statistical approaches to its handling. These mathematical-statistical approaches derive of course from the fact that a fundamental criterion in probability sampling is the development of maximum information for given resources. The fact that the computer disposes the capability for optimization does not in itself displace the role of mathematical sampling. In data acquisition, ease of access, accuracy, and lower cost are hallmarks. Greater sophistication in estimation and analysis can be the results of careful, skilled preplanning. In an optimum sampling design the following elements are involved: • Determination of the population to be sampled • Decision as to the relative priorities existing within this population • Selection of primary sampling units and ultimate sample elements, to be chosen through one or more stages of sampling • Study of the data pickup and transmission media which will be used • Collection of data, which may involve listings and enumerations • Analysis of data reduction and data generation techniques • Development and operation of adequate decision-making and control methods • Estimation of control results and of the quality of the total application. In Chapter I, we have made reference to another basic aspect of digital automation, that of meeting deadline requirements. The implication of a deadline requirement is that immediate action is taken by the computer to maintain the process at its optimum operating point. All elements of manned control must be encompassed in the closed loop. In addition, electrical outputs to the process from the computer should allow the plant to be brought swiftly and safely to its optimum operating point as conditions in the plant change. Functions performed under computer control may include startup,
30
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
shutdown and emergency sequence control, normal process control, and production scheduling, all in an optimal manner. The subject of instrumentation must, therefore, be considered. Instruments may be divided into two broad classifications: "measuring" (analyzing, sensing, indicating, and recording) and "controlling." Instruments in the first class are important to digital control because they are the means by which the computer senses the status of the process. Instruments in the second class are important because they enable the information machine to control the process. Under this perspective, the essential functions performed by the digital control system are estimation, optimization, and guidance. In the estimation step, information from the process is converted to meaningful units, such as weights, pressures, temperatures, and levels, and the performance status of the process is determined. Optimization refers to determination of optimum operating conditions within the region defined by the statement of economic goals and the process constraints. Guidance provides for determining adjustments to be made, testing for effects of such changes on systems stability, and making changes in controller set points.
FACTORS IN SYSTEMS DEVELOPMENT The problem of making decisions in a complex, constantly changing situation was recognized by the military, particularly the Air Force, in the early fifties. Techniques for real-time electronic data processing started then to be developed. These techniques, put into operation by the Air Defense Command in the SAGE (Semi-Automatic Ground Environment) system, pioneered the electronic control methods.* The situation in many large private industries resembles the military in control systems complexity and the associated data requirements. However, each case has its own characteristics and special considerations. In no way is one application, be it civilian or military, a facsimile of the prerequisites and systems characteristics of another. From a systems analysis point of view,t we can conceive a certain digital automation system as being organized in a number of different "control levels." The number of control levels and the sections in each one of them will depend on the magnitude of the control problem; the higher the level, the more complex are the calculations that have to be performed. The essential information regarding the plant operation and performance is passed up through the various levels, and each receives only that information which it *See also the more detailed discussion on the SAGE system, Chapter XXXII. tSee also Chapter IV.
II.
THE FUNCTIONS OF A DATA SYSTEM
31
requires to perform its specified task. Both the upward movement of information and the command action from the central nervous system to the effectors must be considered. Instructions will be transferred down the line.through the different levels. This, of course, is not an exclusive approach and many control systems engineers disagree strongly with it. As a major Belgian steel manufacturer puts it, whether a one-level or a multilevel approach should be chosen, depends greatly on the techno-economic study and the systems function which will be established. This major steel combine chose one-level control with two perfectly compatible central processors.* The on-lineness of the computer is currently under development, in this particular steel combine, with the data logger already installed in direct connection to the process. To help train the personnel and debug the quality assurance system, some 300 quality control charts are now kept, on-line, by the computer. The quality charts are calculated with a weekly frequency, and relate to the different phases of the production process. They include upper and lower control limits, percentiles, and trend calculators. Separate listings are prepared by the machine bringing to management's attention the process sections that tend to deviate from the established norms. The foregoing is a very important point indeed, and should be properly stressed. Because of the division of work at the production level, if a failure occurs in a given part of the process, control action can be taken immediately. The proponents of multi-level control stress this point when arguing for the division of work and the provision of separate guidance mechanisms for the different sections of the process. The substance of their argument is: If a failure occurs at a certain part of the control system it will only be that one which will be affected, the rest of the digital control will continue to operate normally. Within the process itself, the functions of the section that failed would be performed by other sections, using the various available interconnecting paths. For this approach to work, a redundancy of the interconnections will be required. In addition, the control system must keep a watchful eye over "the neighbors" of a process section which failed, in order to channel functions in the event of failure, and be able to signal this failure to other sections. Figure 3 presents three different solutions to the problem of interconnecting the digital control system to the process: (a) A one-to-one computer-process combination. Here, of course, the computer could be composed of two compatible systems, for reliability reasons.
* See Chapter III
on Multicomputer Systems and Multiplexing Approaches.
32
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
-~8 Computer
(0 )
FIGURE
3
(b) A two-level control solution, where each of the regional computers will be reflected into the central processor which will then assure the backup. The central processor also works as the primary machine of the data automation ensemble. (c) The process is divided into a few major sections; one reason for this division is geographic location. Each section is controlled by one computer, but telecommunications media assure the backup by making it possible for the other machines to take over the digital control functions ofthe one which failed. The prevailing philosophy on control systems design should be influenced by the known structural aspects of a natural information network, such as the human nervous system. An excellent example is the distinction between
II.
THE FUNCTIONS OF A DATA SYSTEM
33
sympathetic and parasympathetic subsystems. The visceral nervous system consists of afferent and efferent nerves. The visceral afferent nerves match with those serving the somatic afferent functions; they form the autonomous or autonomic system. On the basis of function and outflow from the central nervous system, this is divided into: • Thoracolumbar or sympathetic • Craniosacral or parasympathetic. Each division employs two neurons for the transmission of impulses to the structures concerned: the preganglionic, located in the spinal cord or brain stem; the ganglionic, which has its cell body in either the vertebral or a collateral ganglion. Most visceral organs receive both sympathetic and parasympathetic impulses. A major possible exception is to be found in the peripheral blood vessels, for it has been established that they receive vasoconstrictor fibers from the sympathetic division, but it is not yet known if they receive fibers from the parasympathetic as well.* Another important consideration in information systems theory and practice concerns the recent emphasis placed on machine design. In the past, machine design was taken as a last moment problem. The designer was considered to be nothing more than a specialist in packaging who should dress up the different gadgets developed through generally uncoordinated efforts by specialist laboratories. This lack of emphasis on machine design has radically changed with the concept of the "functional mass" defining the boundaries of the system into which the components must fit. Data channeling is a good example. In a substantial number of cases, in order to achieve the kind of relationship desired with respect to the rechanneling of activities, it is necessary to keep the on-line section of a controlled process as small as possible. In this way, not only will a failure cause the least possible disturbance, but also the implementation of the redundancy will be less expensive. The availability figure for these sections will be high due to their small size, and probably the over-all availability figure for the complete integrated control system will be acceptable. Odd as it may seem, at the higher control levels, a break in operation may have little visible effect on the complete system, assuming, of course, that the failure is of a reasonably limited duration. It may, for instance, be sufficient to supply adequate buffer storage facilities, so that the messages that should be transferred are temporarily held until they can be dealt with. The adjustment of the actual plant controls is best achieved by maintaining
* See also D. N. Chorafas, "Introduction to Product Planning." Cassell, London (in preparation).
34
PART I.
THE DYNAMICS OF DIGITAL AUTOMA nON
conventional controllers for the purpose, and arranging for the relevant section of the system to change remotely the position of the set point. So, fail-safe operation could be ensured. If the section generating the change instructions should fail, the set-point will remain at its last position. It is then feasible for a human operator to take over and move the set-point manually, if necessary. Dividing the digital control system into a number of sections is only a minor part of the total job. These "on-line" sections would need to be placed on the production level of the process. This brings about the problem of their interconnection. The distances between the various sections may be considerable, even as far as many miles, and thus a method of accurately transmitting data is required. This problem has some generic aspects concerning standard communication channels, though the noise introduced into signal lines can be more troublesome. To reduce this to a minimum, lines should have a low impedance and be properly designed. To prevent the alteration of the message or part of it as a result of the noise, error-detecting codes should be used, so that, if an error occurs, an automatic request for its repetition can be made. Depending on the application, the error frequency and severity which it will imply, it may also be advisable to use an errorcorrecting code. Hence, the proper design of the data control network will unmistakably have to be worked out at the "communications links" level. The distance covered by these links can be many miles, and it is quite practical to simulate its behavior before definite design features can evolve. In this way, the control system may efficiently embrace a number of widely scattered installations with the result that a group of establishments will be centrally controlled. The reference is much broader than has been exemplified. Any man-made organization can be ultimately regarded as a feedback system. In this, data transmission is of crucial importance, self-correcting features are basic to survival, and mathematical expression is fundamental. An industrial organization, for example, acts as both creator and modifier of events. Its development is a function of the number and the nature ofthe feedback loops its management has known to establish. We can also ask if, to a certain extent, the time of adaptation, the time of reaction of the enterprise, the delays for decision, and the like do not have their direct similitude and counterpart in a natural system. We are inclined to think they have.* • The structural study concerning the data transmission aspects of a control system boarders on the subject of neural cybernetics. By definition, "neural cybernetics" is a set of postulates concerning a large number of very simpleinformation processing elements, arranged in a random or organized network. It is, also, the study of processes for facilitating orinhibiting their activity.
II.
THE FUNCTIONS OF A DATA SYSTEM
35
Cost-effectiveness should also be given due consideration. Such considerations touch the crucial problem of problem definition. Real time, is an example. In our professional practice we have been faced with "pseudoreal-time" situations. As analysts we have been accustomed to work directly on the problems that were impossible to solve indirectly. The reason has been that indirect methods did not dispose the necessary elements to do the job. But is this true today? A substantial proportion of the cost, associated with digital automation, lies in the ground floor region, at the factory. This covers a wide range of devices from "on-line input" and "output control" to the transducers, the effectors, and other peripheral equipment. * The same is true for a substantial proportion of engineering difficulties encountered. These difficulties reflect the fact that standard transducers are not always available orthat peripheral equipment must be sound enough in design to meet technical specification and to provide the necessary reliability levels. To complete this list of technological gaps and their aftermath would require a considerable number of pages. As with other applications concerning integrated data systems, the development of input-output units presents, as of today, a good deal of lag. Using off-line data transmission through punched tapel cards, memory-tomemory or tape-to-tape, may be permissible if the data carrier can be adequately loaded and is the correct medium for computer input. Nevertheless, because of the sporadic nature of the data generated at the factory floor, "adequate loading" means rather complicated and expensive multiplexing schemes. Research towards the evolution of technically feasible and economically acceptable input-output schemes should be oriented in the direction of modulo designs of a homogeneous and interchangeable nature. By using a standard range of units which are all compatible, the cost of a given system can be reduced. In addition, the systems engineer is not worried about detailed circuit design but need only be concerned with the function ofthe modules. Thus sections of the plant can be investigated independently and the advantages of digital control achieved in progressive steps. Furthermore, total automation not withstanding, the systems analyst will be well advised to give the proper consideration to the capabilities and limitations of the human elements which will be around. Figure 4 presents a schematic diagram of man-machine interactions, with due consideration to the environmental interference. It is the responsibility of the designer to assure the satisfactory operation of the man-machine system, under normal environmental conditions over a relatively long period of operation time.
* See Chapter V.
36
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
Environment
1-----------
------,
I I
I
I
I
[
I
I r--------'\
I
Ionizing radiation
"imuliB : G Visual display.
Mon.
Acoult;c Diroct motor outpu:
Machine
Electrical failures
IndlrKt regulator.. action
I
I I I
I
I
I
I I
I I
IL
_
I
____________J Environment
FIG. 4. Man-machine interactions.
In dealing with both automatic systems and human subsystems, the analyst should consider machine design, effective human load, system optimization, and man-machine performance. In broad terms, the necessary steps in his design are: • • • • •
Define process objectives Determine the process boundaries Analyze process variables Develop alternatives and select the optimum alternative Re-evaluate the economically optimum alternatives for input, throughput, and output requirements • Study the instrumentation, the automatic devices, and the memory elements • Determine process dynamics.
With respect to design these problems are much more complex than they may appear at first glance. Take the input-output requirements as an example. For one thing, the buffer store must serve the purpose of recording information intended for other sections of the control system. Not only is this an imperative for the transmission of information, but, because of reliability considerations, it must serve as a buffer for sections that are
II.
THE FUNCTIONS OF A DATA SYSTEM
37
temporarily out of action. When a control section becomes operational again, the stored information must be rapidly entered so as to enable it to "catch up." Other technico-economic considerations relate to channeling and multiplexing. Arrangements must be made to ensure that one message isread before the next can be entered into the data accumulator, regardless of the level considered. In other words, with real-time and time-sharing systems, memory protect equipment should be provided to allow the currently operating program to be "locked out" of all but one part of the memory. It should have dynamic capability and be under flexible control of the executive program, since operating areas of the memory change on a millisecond basis. Similarly, design for real-time channels should be given particular attention. The cost of a channel is but a small part of the total cost of a realtime operation: computer time can easily be over 90% of the total cost, with channel time less than 10%. Thus, it appears that the comparative cost of channel time is so low that the user might want to stay on the line until an answer is released. The design implications of an approach taken along the foregoing lines could be immense. The speed of a data control system is usually limited by the capacity of the input and output devices. With present-day technology this speed is about 600 bits per second. Most real-time operations include a human being whose capability of comprehending information is considerably less than 600 bits per second; a fact that is bound to have a profound design impact, if we consider as the basis for an open-loop operation the human's need for immediate information.
SYSTEMS MECHANICS AND MEMORY SPECIFICATIONS Because of the deadline requirements imposed by the operating process, the speed of the computer is a key consideration in specifying digital control. The speed of an information machine is a function of internal logic, instruction type, and average memory access time. In considering a certain computer for process control functions the systems analyst should ask: Can input, output, and calculating be partially or completely overlapped? What is the average time required to read or bring in data from external storage? Can the internal memory be optimized in a complex control program? Both an internal, high-speed memory, usually magnetic core, and a random access auxiliary memory, either magnetic drum or disk file, are required by most control systems. Factors to be considered in establishing the ratio between internal and external memory are: flexibility in ability to communicate and to make transfers between those two levels, access times, internal
38
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
control and data checks, and ability to optimize file organization. As an example, the memory of a certain information machine, designed to meet real-time requirements, has been divided into three main groups: • Control storage (a) Channel word. One per available communication channel. (b) Process word. • Process storage (a) Data words. Containing 5- and 12-bit fields, each with a variable length character. (b) Instruction words. Containing the op code, address, flag bits, register specifications, and field sizes. (c) Limit words. Constituting the control element for a chain ofdata and for specific, pre-established data groups. • Storage registers (addressable and nonaddressable) (a) Channel service. This is the means through which the channel requiring new storage service can identify itself. (b) Interface data. Enables the subsystem in question to communicate input and output to the central computer. (c) Interface control. The function is the same as with the interface data register, only that this one is being used for control purposes. (d) Mode request. Through this register, the subsystem holds requests for priority program services, as instructed by the machine program. (e) Mode status. This is the main device for selecting priorities within the "mode request" function. We will return to certain aspects and implications derived from the foregoing outline when we consider programming approaches and media. Here, it suffices to say that the word "size" can also play an important role in system performance. In most optimization routines, iterative techniques are employed. These usually introduce a problem of "round-off' error if the computer word size is too small and may force the use for so-called doubleprecision arithmetic with a resultant increase in over-all computing time. It is fair enough to add that a mathematical model which characterizes the process is an essential element in programming the computer to estimate, to optimize, and to control an operation. The arithmetic capabilities of the machine, in coordination with the available memory size, should provide an overseeing intelligence: • Storing hundreds of thousands of items of information about the process. • Experimenting on acceptable, alternative solutions for the dependent variables.
II.
THE FUNCTIONS OF A DATA SYSTEM
39
• Precalculating dependent variables or effects that cannot be measured directly, by substituting values for the independent variables. • Performing complex mathematical calculations rapidly and accurately. • Taking into account a large number of pertinent economic and other statistics, and almost simultaneously effecting the necessary control action. • Initiating corrective action consistently, continually, and repeatedly with no diminution in the speed or accuracy of performance. One fundamental requirement in operating a real-time digital control system is that of an expandable and essentially infinite memory. Important control and guidance decisions must be based on events that occurred months or even years in the past. This makes the hardware implications substantial, as is the case with thOe logic requirements. How will a machine find an item once it has been stored? General transaction-tracing routines would need to be developed and, as far as memory requirements are concerned, they would take more space. These routines would allow for the rapid performance of the following functions in response to real-time requests. Given a specific item of stored information, the computer must extract all transactions (inputs, programs, and outputs) that affected the subject item. Given a transaction, the machine may need to determine which items of information were affected by the subject transaction, and to restore the items affected to their original condition. The incorporation of historical memories and the transaction tracing facilities would make available most of the information about what has happened inside the system-how many events have been caused by a certain transaction, how a certain amount came to be what it is, and the like. Language and retrieval problems exist here, in addition to those of logic and programming. We will treat the fundamentals of information retrieval activities in one of the following chapters. In summary, the decision to proceed with digital automation always raises a series of design questions relative to storage requirements: How large should the memory be? Should tapes, drums, or disks be used? How far can you trade access time for memory size? Is one-level or multi-level memory preferable? Questions such as these cannot be resolved by a general discussion. Rather, they must be answered only after a detailed study of the tasks the computer is expected to perform. So it is with all aspects encountered in designing a real-time system. A few examples are given to illustrate this point. Response Time. Is the central processing system expected to return an answer to incoming messages? If so, is the answer expected within seconds, minutes, or hours?
40
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
The answers to these questions will determine the media used to store real-time files. Generally, magnetic disks or drums are used when response times are measured in seconds; magnetic tapes for longer response times; thin films and magnetic cores for "instantaneous response" propositions. Priorities. Should messages be processed on a first-in first-out basis or should certain control stations have priority over others? More often than not, priorities are the case with digital control systems, but their establishment can be made only on an "individual" basis. The subject of priorities is, in fact, so tightly connected with response time and with queues, that it can be considered only on a comparative basis with them. Waiting Lines. How important is an occasional delay in receiving a response? What is the cost of increasing memory and computer size vs. the operational service to be derived from this investment? In any inquiry system, there is the remote possibility that everyone will attempt to query the computer at the same instant. The result will be a queue in which some control posts may wait several minutes for a response. A queue may also develop during periods of peak use. Whether the decrease in queues justifies the increase in cost, by increasing the size and speed of the system, must be determined for each application through a skilled systems analysis and a cost-effectiveness evaluation. Data Efficiency. How should information be recorded to meet interrogation requirements? Should the interface and other remote devices record transactions while communicating them to the central computer? How should files be protected from unauthorized use? In the most general sense the digital control system must be able to identify remote devices, to demand specially coded messages, to prevent any nonintentional changes to its files. At times it may be important to keep selected samples of the original information in order to regenerate certain events . . Fallback. What provision should be made for the occasional periods when the system will be "down?" Even when a control system offers "unusual reliability," backup provisions should be made both at the central processing level and at the periphery in order to account for intermittent failures. Memory here is at a premium and so are the computational aspects of the ensemble.
Chapter III STUDYING THE GENERAL STRUCTURE
With the current evolution in computer technology, we can readily forecast that a substantial number of the forthcoming process control applications will simultaneously observe, compare, and analyze process performance, and make programmed logical decisions. This, we have said, implies certain structural capabilities, such as: • Collecting process data by means of pickup sensory elements • Counting product increments and calculating probable courses of corrective action • Using the input data as variables and extrapolating guidance decisions accordingly • Identifying abnormal or dangerous conditions, and informing the monitors-human or automatic • Issuing alarms for those actions requiring judgment beyond the programmed capabilities • Performing a series of routine operations in a precisely programmed sequence, including the logging and print-out of data on the process and its operation • Registering reports on material in process, and classifying produced material according to quality and quantity • Preparing summary production reports by hour turn, or day, as requested by management. An endogenous information system can be identified with respect to the particular purpose for which it is being structured. Such action requires a reference to preconceptions about where trouble areas in data handling might be encountered. The system itself must be designed with a susceptibility to technological, process-oriented prerogatives. This is an effective means of classification, provided that the subject prerogatives can be formulated 41
42
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
as to the informational, structural, operational, environmental, and behavioral aspect of the system. The transformation of the critical variables from behavioral to informational presents a prerequisite for the establishment of prerogatives with reference to priority and decision rules, resource allocation, quality, retention, and routing of information. One approach to the type of study is examined in the present chapter.
EXAMINING THE PROCESSING OF INFORMAnON As a matter of principle, in order to attain operational suitability, the reasons behind the several guidance activities must be identified. Identification will require at least a brief description of: • The operational environment within which the activities of the ensemble are confined • The total man-machine system • The electrotechnical subsystems which are involved, and their hardware configuration • Teletransmission subsystems and elements of linkage • The logical properties the endogenous information system has. The over-all effort in the usage of digital computers, in the control and coordination of the demands posed by operating ensembles, can be divided into four phases. Each phase is made up of homogeneous activities, and the completion of one phase constitutes a prerequisite for the beginning of the next. We will consider an outline of the necessary sequential activities, in full understanding of the fact that the attempt to generalize sometimes results in the delineation of such sequential phases which may, in respect to certain specific applications, be more arbitrary than natural. Applications Study Phase Gaining an understanding of the application. collecting data. interpreting and evaluating application information, choosing andformulating a general systems approach. This study phase must, of necessity, consider priority and decision rules, at least in their first, tentative form. In principle, the priority rule used at each activity is a technological prerogative, which can be manipulated. Because data move from activity to activity, they have a propensity to form waiting lines. It, hence, becomes necessary to identify the manner of choosing the next "data block" to work on. This gives rise to a choice of scheduling procedures. In control systems the identification of these rules is necessary at each activity whether it pertains to the production proper or to the behavior of the control system's components.
III.
STUDYING THE GENERAL STRUCTURE
43
Similarly, within the production process the critical guidance prerogatives relate to the choice of decision rules used at each activity. As far as the control system dynamics are concerned, the particular manner in which information carried by the data block is combined with the information available to the activity itself can be characterized as the raw material on which the "decision rule" must work. The control functions will be best served through the system's ability to manipulate the choice of rules. This ability enables the identification and quantification of the decisions that govern the operational ensemble.
Requirements Determination Phase Choosing and developing a detailed external procedure (flow ofinformation and related actions outside the information machine) along the general systems approach. Applications data from the first phase will be valuable in the present operation. The analyst should also orient his attention toward: • Choosing and developing detailed internal procedures (record and program contents) • Analyzing and summarizing data • Providing requirements in data processing terms, such as number, size, and usage characteristics of files, programs, and the like. The manner in which resources are allocated to activities characterizes the type and nature of a data control system. By manipulating the way in which resources are allocated, it becomes possible to identify the effects on requirements on the projected means of control. It also becomes possible to establish whether "timely reallocation" of guidance resources, through some learn-as-you-go scheme, is more effective than a deterministic allocation established as to its exact nature from the beginning. The choice of quality, timing, and accuracy of the particular information associated with each activity is one of the basic decisions the analyst will be faced with. Identification of the quality of information at each activity permits measurement of the effect of inaccurate or late data. As far as the research analysts are concerned, it becomes possible to measure the effect which might be rendered with more timely and more accurate information and to establish a basis for trading off other system characteristics in order to improve information quality. Similarly, the routing of source and semi-processed data between activities is a prerogative exercised by the analyst. The concern here is only with the direction of information through the system. Manipulation is limited to consideration of alternate communication channels, such as generally appear in every process control case.
44
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
System Design Phase Choosing and developing "logical" principles of operation based on the information obtained from the foregoing studies. Examples of this type of work are: • The determination of the conditions under which information is to be transferred from one location to another • The choice and development of detailed logical procedures to implement the preceding phase • The establishment of specifications for component configurations to perform an integrated systems design • The determination of the type and nature of the "interrupt" techniques to be used • The making of the specific decisions to be followed in the programming of the control system's work. To a substantial extent these questions would receive their answers from the specific capabilities of the digital control system that will be used for the job. But the programmer has at his disposal certain prerogatives, as, for instance, those relating to information retained in file. It is necessary to identify information generated at each activity as introduced into computer memory. This identification makes it possible to establish criteria useful in the objective design of the process control ensemble. It then becomes possible to measure the incremental contribution of each additional effect on any other characteristic of the system. One of the most crucial characteristics will, of course, be that of real-time servicing-which, in tum, amounts to media and possibilities for automatic interrupt. Automatic interruption techniques call for more hardware, while the simpler testing procedures require more memory space, and the burden is on the programmer to incorporate the test in the appropriate spot in his program. In a process control system, time can be lost if the tests are not placed at appropriate intervals. This can happen in a program with a series of intricate control loops. In some instances, besides losing time, it is also possible to lose information. This may happen when the information is not transferred from the sensing element within a specified period oftime. In such cases, equipment should be built into the system to warn the programmer that something like it has happened, and where it has happened. Furthermore, when several interruptions can occur, a system of priorities has to be established. Some interruptions must take effect immediately, even if the system is in the midst of handling a different one. In the automatic interruption system, the obeying of priorities requires complex control equipment and memory able to store the order in which interruptions should be performed. It can be seen that the job of the analyst goes well beyond the
III.
STUDYING THE GENERAL STRUCTURE
45
definition of certain operational requirements. By the time the systems design phase is launched, the analyst has plenty of problems, ranging from specific hardware features to the all-important programming aspects of the machine. System Evaluation Phase Testing ofthe data control system specified by the design phase againstfunctional applications requirements and comparative evaluation of different system configurations. Along with the various technological tests, a systems cost determination and comparison should be made against cost objectives. This is an imperative requirement since it is perfectly possible to develop a technologically feasible but financially unacceptable system. This approach has been followed in many a process, although it is not an exclusive characteristic of the development of a process control system. Yet, because of the current state of the art, the intricacies that sneak into process control ensembles make the job more difficult and, therefore, more challenging. Stated in different terms, the fundamental steps involved in the evaluation in respect to the advisability of a process control system are both technological and financial. The financial aspects involve: • Current savings vs. current costs • Accumulated savings vs. accumulated costs. Both have as a common basis evaluation with respect to investment. Often, the financial justification of digital automation becomes a question of timing-provided the proper preparatory work has taken place. Several questions, which have to do with the basic techniques of a certain process, do relate to the subsequent financial considerations. In a paper mill application, for instance, should the automatic setup dispose of fifty or of one hundred points on the "wet end" of the paper machine? Should digital control be on-line and should closed loop or open loop be preferred, at least in the beginning? If on-line is chosen, to what degree of sophistication should the computer automatically prepare operator guide instructions for handling the paper machine? The foregoing are by no means idle or academic questions. The degree in which a reduction of grade change time, a reduction of off-grade production, a controlled repulping of off-grade paper, a dependable moisture control, and increased uniform production rate will be achieved is dependent largely upon seeking rational answers. These are the critical factors which can make it feasible to improve the user's competitive advantage of satisfying customers' dependency on uniform quality when reordering, through the accumulation and analytical handling of quality research data.
46
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
MULTICOMPUTER SYSTEMS
The magnitude of the process and its control problems will dictate the size of the computing system and thus the number of components used. As the complexity of the process increases, the size of the digital control system required can become relatively large. This requires a re-examination of the total structure, if an adequate availability figure is to be maintained. The reexamination should provide an indication of the dependability ofthe control system, establishing the ratio of the useful time to the total time during which uninterrupted operations constitute the salient problem in systems performance. The need for continuous examination is always present in digital automation, for, no matter how instrumentally it has been designed, a control system will have finite capabilities, which should be carefully evaluated. Memory, speed, and input-output all have finite capabilities. Each function selected for the computer uses up some portion of the available computer capability; a subject that many a systems analyst forgets when studying the dynamics of data control. In anyone case, the total capability utilized may not necessarily equal the total obtained by simply adding the demands and requirements of each function. Functions X and Y may require 18 %and 7 %of the data system's capability, respectively. However, if function X is added to an existing set of functions that required 45 %of the machine potential, the total may be only 55 % Or, when function Y is superimposed on the "existing" capability plus X, it may bring the total to 70 %of the capability, with interlocks taking care of the difference. Discrepancies in the addition of functions may also be due to the use of common subroutines shared by applications which tend to reduce the effect of adding new control loops, and to conflicts in scheduling which may cause a great increase in using up the availability when functions are added." One way of achieving a more powerful data control ensemble is to tie together several computers into an integrated network. With such a network, the desired increase in problem-solving speed can be obtained by dividing the total job into different pieces and by having the different computers in the system work on these pieces concurrently. Substantial advantages can be obtained if each of the computers in the system is specially designed for carrying out certain particular portions of the total job. The ability to start with a small system and then grow proved indeed to be attractive to many users. Say that an experimental project of this nature contains three independently programmed computers intercommunicating ,.See also Chapter XVI on the measures of utility and value.
III.
47
STUDYING THE GENERAL STRUCTURE
I E"""m"'1 r--It~--r-r-I---I I I I I I I I
I
I I I
I I I I
I
I I I
I
I
I
"Third" computer
JI
---L
---l
L
II Firstll (primary) computer
FIGURE
"Second" computer
1
in a way that permits all of them to work together concurrently on a common problem: each machine working on a piece of the problem for which it is individually best suited. Figure I illustrates the organizational setup of the system: the three computers, with their associated storage units and control units. The "first," or primary computer, is a high-speed, general-purpose machine which carries out most of the arithmetic' calculations and logical processing operations. The computer to the right of the primary is a smaller, secondary machine which acts as its partner. It keeps track of various parts of the program and carries out routine manipulations on data for the primary. The results are supplied automatically to the primary computer. Both machines, acting as a team, can carry out complex operations.
48
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
The "third" computer of the system has charge of interpreting and modifying the data that flows into or out of the network via the peripheral external units. This computer is supplied with information about the anticipated needs of the primary computer for external data, and is able to search external storage media and a substantial range of input-output devices. It can scan a number of logging units attached to the data control system; it can inspect and convert the data in these devices to the proper form for internal use, and feed information into the primary computer at the proper time. Several parallel paths are provided along which data can be transferred concurrently in either direction between the internal storage units and the external gear of the system. It is possible to maintain two continuous streams of data simultaneously flowing between any two external units and the internal storage without delaying the computing and data processing program. The size of the blocks of data that may be transferred in this way can range from a single word to the entire contents ofthe storage units. Transfers can be initiated by a single instruction word. The buffering storage of the third computer has six single word registers associated to it. Four of these are shifting registers that are used to assemble complete words from the characters as they come in from the peripheral gear. When a word is complete it is transferred to the fifth register, and an "interrupt program" signal is sent to the central processing unit. This causes the computer to stop obeying the main program and enter a special sequence of orders to deal with the accepted word. At the same time it records the place where it left the main program. The special sequence or orders checks the parity of the word, adds it to the sum check if necessary, and stores it in the appropriate part ofthe memory. It then advances the count register. If the end of the block has not yet been reached, the computer returns to the main program. The sixth single word register is a provision for lockout during transfers. It has associated to it twin rings of four bits each, to account for the case of more than one "interrupt program" signals which may come at the same time; or one special sequence of orders which may be interrupted by another. The machine program would, hence, need to interrogate this register before proceeding further. With respect to design, the foregoing works by dividing all possible interrupt signals into a predetermined, small number of classes. These are allotted an order of priority, and any incoming signal can interrupt the program immediately only if this is of a lower priority class. If the program being executed is of the same or of higher priority class, the interrupt signal is merely stored. At the end of a sequence of orders of one priority, the machine scans the waiting list and starts to operate on the call with the highest remaining priority. We considered this operation when we made reference, in Chapter II, to multiplexing devices.
III.
STUDYING THE GENERAL STRUCTURE
49
In the over-all, the amount of information to be stored is determined by what use the interrupting program makes of these common registers. In this way, no time will be wasted in storing more information than is necessary. This constitutes one approach to the problem, and, though the system oftime sharing so far described is quite complex in its operation, the hypothesis was made that the computer network in question required time-sharing facilities on this scale. Variations are obviously possible, but we need not consider them at this point, since this is cited only as an example. To pursue this same hypothesis it can be said that the applications in the "environment" to which this third computer is attached might include batch and continuous processes, materials handling, and blending operations, among others. Depending on the scale and the complexity of these applications, the third computer can be used to coordinate a number of other smaller machines, each controlling a portion of the process. Furthermore, several "third" computers can be attached to the primary, which itself retains means for communicating with the environment, as can be seen in Fig. I. Each third computer is modular. Basic modules are a central processor with core memory, input-output equipment for communicating with the process, an input-output typewriter (for programming and datalogging functions), extra core memory units, tape readers and punches, printers, and a library of standard programming routines. Figure 2 shows a schematic diagram of the main component units of the "third" computer. With respect to performance, while the "third" computer of the network is input-output oriented, the "second" computer is weak in input media and strong in throughput. It is designed to be particularly suitable for simulation studies, differential-difference equations, on-line real-time statistical analysis, problem manipulation through Monte Carlo and random walk procedures, and editing, smoothing, and data generation.* Due to the nature of the calculations it is entrusted with, the "second" computer disposes visual display devices. Figure 3 presents a schematic diagram of this subsystem. Digital information can be encoded into analog information at various signal levels through a monitoring program. The signal level is chosen by the user: In this way, high contrast or subtle shading, on the display, can be obtained. Digital data are steadily held in memory, allowing the display to be held for study. The current real-time situation image may then be continued. Finally, the "first," or primary, computer is a high-speed general-purpose machine which carries out most of the high-precision arithmetic calculations and logical processing operations. It can also carry out complex sorting
* For a discussion on tools and models for mathematical simulation, see "Systems and Simulation."
50
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
Designotors High-speed memory
r--I I
r---
I
Adder
~-~yr"----'
+
Input Output-
Output registers
Interrupts
FIGURE
2
operations. Being the coordinator of the data ensemble, the "first" computer also has the task of interpreting and modifying the data that flows into or out of the ensemble, supplying the other machines with information about the anticipated needs of the process. As stated, several parallel paths are
Interface with primary
I
..
Second computer storage
Write
Read
..
Storage address l09ic
I
Videa sweeps in binary notation
..
Anal09 signals
Digital- to- analog converter
FIG. 3. Main components of "second" computer.
III.
STUDYING THE GENERAL STRUCTURE
51
provided with both the second and third computers, along which data can betransferred concurrently in either direction. We can push our supposition further by assuming that the described data network is able to accept data from a wide variety of external devices, both digital and analog, and from a number of different media. Special monitors written for this system provide it with flexibility in this respect. Figure 4 shows the "three-computer" system operating as a central ensemble, associated with a variety of peripheral gears. In practice, not only must this network be able to operate compatibly with a great variety of external devices, but for some applications it must be able to operate at a remote distance, and accept commands and data from these remote places. Often, this must be done on a completely unscheduled basis. We will return to this subject when we discuss teletransmission. With the computers and external units interacting in this way, internal traffic deadlocks might develop. To automatically cope with this possibility, the system can be supplied with decision rules in the multiplexing sense.
Analog computer
Digital computer
Analog computer
----I-
---
~
---
Central system !three computers time - shared by several smaller systems)
----
Analog computer
----
Digital computer
-----
Analog computer
--------
FIG. 4. "Three-computer" system as a central ensemble.
Automatic controls and interlocks can be built into each input-output path by means of which the system regulates the flow of traffic in either direction. Particular attention must be given to this point, for the total system should be able to accept data from a wide variety of external devices, both digital and analog and from a number of different media.
CHANNELS AND MULTIPLEXING REQUIREMENTS We have, on several occasions, directly and indirectly implied that, if a data control system is to be "truly automatic," it must be both in-line and integrated. It must be able to schedule itself to meet the requirements of the
52
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
operations of the business, provide information on demand whenever and wherever needed, and communicate directly with automatic controls, operating personnel, and management. To perform these functions, the on-line system will need to respond to the requirements of a number of input-output terminals. Furthermore, as a consequence of the integrated nature of the system there is a need for gaining access within a short period of time to records on the basis of different selection criteria. Multifield memory addressing utilizing the contents of records as the selection criterion is a possible solution to this; but the problem still remains on how to channel the different requests for service, allowing for near simultaneity of access to the central machine. Other questions are also important: • How do we run several transactions simultaneously? • How do we prevent access by one transaction to information being worked on by another? • How do we keep track of interrupted transactions? • What waiting lines are necessary for control and for data? • How do we handle overflow of waiting lines? • What kind of monitoring and coordination should be provided between scanning cycles? Questions such as these arise whenever we consider the design of a system which will allow several programs to be processed simultaneously rather than a one-transaction-at-a-time plan. It is also desirable to avoid restraints imposed on the programmer; this is particularly true for deadlock problems where conflicting requirements for facilities or information between a group of programs make it impossible for any of them to proceed. A simple illustration is the simultaneous processing of two programs, each having a record that the other needs. While servicing, deadlocks may result when the computer is unable to choose between several demands with equal priority requirements. The field of monitoring and efficient control of conflicting input requirements is one of those problems that evade "final" solution. With the advances in computer technology the word "multiplexing" has taken on a variety of different meanings, both in concept and in essence. In a real-time system with, say, some 250 input channels, multiplexing is essentially reduced to scanning. For a central processor that disposes only a limited number of input channels, the multiplexer performs the functions of a gearbox in an automobile. Basically, multiplexing is the simulation of simultaneous operations implied by the processing requirements of the ensemble, which are not realized as such. A different way of formulating the foregoing statement is to state
III.
STUDYING THE GENERAL STRUCTURE
53
that the projected simultaneity of the operators of the terminal units and the channeling of information in and out of the central nervous system bring about the need for multiplexing. The system's monitor program should be able to handle inquiries to the computer at any time. This in fact is the orientation of all third generation computers. A recently announced data processor uses each channel as an independently operating device, serving both as a data path and as the controller for data traffic to and from the input-output devices attached to it. A selector channel is designed primarily for tape units and disk files. In the data processing system mentioned, whenever the selector channel is directed to make connection with one input or output unit all other units on that channel are locked out until the first unit is released. This operation helps exemplify the method of handling multiplexing requirements. Similarly, an important feature to be considered is the overlapping of data so that a stream of data can be fed to the storage while the processing unit is performing arithmetic or logic operations for another phase of the program.: With respect to operation, the address register, the word counter, and the operation register are filled simultaneously by a "command," which is a single word called from memory by the channel. The address of the command is obtained from the "location counter," which itself is a part of the channel. The location counter is advanced by one after each command is called, in a manner analogous to the program counter of a computer. One of the channel commands is interpreted as an unconditional transfer, thus changing the contents of the location counter, and allowing the construction of a channel program with loops. A monitor unit connects the communication channels to the computer. It is basically a standard input-output channel which has been time division multiplexed, and which has been provided with certain communication control facilities. Figure 5 indicates the data and control flow for this monitor. The multiplexing is accomplished by providing a magnetic core storage unit which is used to hold a complete set of channel register contents (both control and data) for each communication channel. The corresponding register contents are read from the cores into the channel whenever a particular line requests the transfer of a data bit. They remain in the channel line registers until all the events required by the last bit received have transpired, and are then returned to the cores. The communication line control functions performed on input lines include the checking of the longitudinal redundancy character; the recognizing of the character synchronization group, and the subsequent acting; the identification of the end-of-message characters; the acting following a "goahead" message, which is addressed to the channel and, when it occurs, traps the computer; and the monitoring of the lapses of the input line carrier.
54
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
If a lapse is excessively long, for instance, the trapping mode is followed. This allows prompt restarting of the line scan and can be of use in diagnostic work. Furthermore, the monitor recognizes several logical control characters, such as backspace. It stores a status word, showing the state of all error and special character indicators, as well as the end, of, message character, and the longitudinal redundancy check character, after the last data word of the message has been handled. On output lines, the monitor compiles and appends the longitudinal redundancy character and provides additional characters, as required to maintain line synchronization when data are not available for transmission. In this matter of input-output and monitoring action a major unanswered problem area is exploiting new and novel low-cost devices and components in the implementation of terminal acts. The multiple use of terminal sets in integrated data processing will become more and more attractive only as radically new techniques permit greatly reduced terminal set costs. Several devices and techniques leading to low-cost input-output terminals meeting the requirements of the human factors need to be explored and evaluated. For digital automation purposes, these studies must emphasize both in-plant communication and long-distance channels. We have also made reference to critical questions presented in the assembly of all messages from a maze of incoming wires and sending them into the central data processing equipment. Say that we dispose a system in which the input and output channels can be preswitched to a number of different alternatives; this makes it possible to connect many types of peripheral gear to the central processor. For on-line working, additional inputs may come from analog-to-digital converters, which themselves are connected to the appropriate transducer. The multiplexing facility must enable the equipment to select transducers in any order and read the point value into the computer. If a printed log is taken of these inputs, or of samples thereof, then a real-time clock is necessary. The multiple channels, the interrupt facility, and the real-time clock are among the fundamental components that distinguish a digital control system from any other type of computer. The multiple channels permit simultaneity of operations. The interrupt feature avails for process alarms and certain machine conditions to interrupt computation and initiate special program action immediately; while each condition is treated in order of importance. Finally, the real-time clock is the source of computer-readable digits for computation of elapsed time between unscheduled events. It also furnishes signals to the program at selected intervals to initiate scheduled cycles of computation and data collection. In this manner, multiplexing is reduced to a simple transfer of the data
III.
STUDYING THE GENERAL STRUCTURE
55
Control
en
~
"5 CD
A,
B,
C,
0,
E,
F',
Data
Buffer and calculator
t
EJ Data and control
I
I
t IDecOding device
I
Evaluator
FIG. 5. Data and control flow for monitor unit.
line; a modulator of inputs between the channels. The actual transfer of control is largely procedural, provided that backup facilities are in a ready standby status. In that case, a "transfer of responsibility" would proceed as follows. The operational and start over programs would be read into the backup computer. At the same time a program alteration switch is set to direct the on-line computer to transfer all waiting and subsequent messages to the machine that is now taking over. When this transition is complete and all partial messages have been transmitted, the program notifies the operator with an indicator light.
56
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
At this point, all peripheral sensor and effector sets will be in one of three conditions, in order of frequency: • Waiting for a reply, which will be sent imrnediately . • Ready to re-enter a transaction that was interrupted In the keying stage and thus never got in • Waiting for a reply that they will not receive, since their transaction was interrupted during transmission.
In the event of an unscheduled switchover, there will almost certainly be some information lost or garbled in the system. Hence, the proper safeguards must be provided for data assurance.
Chapter IV PRINCIPLES OF SYSTEMS ANALYSIS
The preceding three chapters make no secret of the fact that the adaptation of increasingly complex electronic equipment, and of the respective techniques, to the requirements of the job and to the limitations of the people who must use them, presents a great challenge. To meet this challenge, we have come to rely increasingly upon the comprehensive and logical concepts brought forward by systems engineering. The systems approach is broad in scope, ignoring the boundaries that separate the formal professional disciplines. It cuts across industrial functions and is usually of substantial breadth, including subjects that may appear at first glance to have little to do with one another. Systems analysis involves optimization along with compromises, since success in developing complex systems normally calls for sacrifices at one or more points ofdetail, for the sake of the whole. The man entrusted with systems functions must be able to examine every aspect that bears upon the function of the complete system. Analysis for data systems is concerned with the definition of the problem with which the researcher is confronted, and the determination of the basic requirements for digital control: • How to fit the control system into the schemes of operation • How to determine the prospects for advancement in the technical areas applicable to the problem • How to evaluate the optimum system that can be achieved in terms of the various objective functions that are involved.
In cases where the ultimate solution of the problem is still in the "world of ideas," the systems analyst must be able to determine whether interim solutions will permit development of the system as a whole, pending ultimate development of the lagging individual parts. It is also within the systems 57
58
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
function to establish whether a certain projected digital control setup can be developed so that it can be operated by personnel with the training (or lack of it) that will be available. Quite often, the principal reason for developing automatic systems is to surmount the limitations of human perception (physiology, or temperament), memory, and calculating ability. This is true whether the system involves the control of a nuclear submarine, the solution of complex mathematical problems, or the handling of a large quantity of industrial data. The analyst should also be able to determine how much degradation is to be expected during systems use in actual operations, establish whether the system can be supported logistically in the planned operating area, examine the extent to which a system design is susceptible to control by human operators under the conditions of use, and so on. All these points fit into the general problem faced by systems engineering. Each of the answers must be included in the design concepts and in the operating regulations. Requirements like the foregoing apply with equal force to almost all cases, whether the objective is an automatic inventory control proposition, a system for traffic control of the airways, or the automation of a refinery.
CRmCAL QUFSTIONS AND THE SYSTEMS FUNCTION Whether the systems with which the analyst is involved are purely scientific, mathematical, technological, industrial, managerial, or of any other nature, the breadth of his experience and of his background must range from philosophy to applied science. Modern technological developments, linked with accomplishments of the past, have resulted in the need for optimizing the interactions between man-machine, and man-machine-environment. In his work, the systems analyst must carefully and logically couple machine capabilities with the job on hand without forgetting that men will still be a vital link in the data system. Figure I presents a possible general structure for an integrated, real-time data control system. On the supposition that the systems analyst is faced with a certain chemical industry process, a continuous flow of information has been established to provide for an integration of functional management data with factory demands for digital control. Laboratory work, quality history, product analysis, blending experimentation, and the like are also connected to the central processor on an on-line basis. Figure 2 is based on the supposition that the digital control system and the operating process are coupled. The guidance function has been subdivided into three main subjects: the "estimator," the "optimizer," and the "controller." Each one ofthem receives a program of its own. The task ofthe estimator
IV.
PRINCIPLES OF SYSTEMS ANALYSIS
Top management
Equipment policy
!
Inventory evaluation Functional monogement
59
o perat ing reports
Purchosing data
Central cornputerts)
Accounting data
Optimizing criteria
I
Q~ality
I Blending demonds standards
t
I
t
[
1
Process data
I e.g. Quality analysis
e.g. Blending control
FIGURE
I
is data sampling and filtering. That of the optimizer is the calculation of the most economic solution in accordance with the objectives. The controller points to corrective action through the proper coordination of the process variables. Among the crucial factors the system analyst has to study in this connection are: • • • • • •
The The The The The The
process output pickup elements error detection and correction devices mathematical model for data selection, reduction, and smoothing process diagnostics and their organization in a machine program optimization and decision elements-and how they are affected ways and means for actuating "control motor activity."
The process of coupling digital control to a certain operating process involves more than just a method of "getting the job done effectively." It presents three requirements, which, when successfully fulfilled, provide an effective approach for the solution of even the most complex problems. • First, the proper determination of the objective • Second, the consideration of all factors involved in approaching the objective
60
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION Noise
"uncontrolled"j (process) variables
The process
Digital control B-B-IEstimatorl
j Set objectives FIGURE
2
• Third, foresight of future developments, demand, and implications. The first two of these requirements are not new in the approach to problem solution, but modern systems technology points to the importance of this analytic type of mind. The third is a particular characteristic of our fastmoving age. To face his task with a reasonable probability of success, the analyst will need clear, unambiguous thinking, a determination to be guided by objective-not subjective-considerations, and a definite resolution to substitute experimentation for "common sense." As Dr. Oppenheimersaid*: Common sense is not wrong in the view that it is meaningful, appropriate, and necessary to talk about the large objects of our daily experience as though they had a velocity that we know, and a place that we know, and all the rest of it. Common sense is wrong only, if it insists that what is familiar must reappear in what is unfamiliar. Common sense is wrong if it leads us to expect that every country that we visit is like the last country that we saw. Common sense, as the common heritage from the millennia of common life, may lead us into error if we wholly forget the circumstances to which that common life has beerr restricted.
How many of us in our professional experience have been faced with the dilemma of taking the known, easy path of the common sense rather than engaging in long, tedious experimentation? How often have we given in, only to find out the hard way that our own biases have badly misguided us? This path of least resistance, attractive as it is, should be carefully avoided by the systems analyst. The control system he is studying, most often will
* V. w. Oppenheimer, "Science and the Common Understanding," Simon and Schuster, New York, 1953-1954.
IV.
PRINCIPLES OF SYSTEMS ANALYSIS
61
be applied to parts of the plant, and the gradual buildup may not produce the most sophisticated outcome. If he fails to experiment, if he forgets to forecast, a point will soon be reached where any increase in the system produces no improvement in operation. To discuss "the correct" approach to control systems studies would require the detailed examination of a number of applications. If this were done-which cannot, for obvious reasons, be included here-it would be found that "the correct approach" in a generally applicable sense does not exist in practice. The experience from other digital control studies from information systems previously installed would be helpful in arriving at a "sound" design. But without the proper experimentation, the fallout of past experience will be minimal. This must be properly explained and emphasized. Recently, a symposium on technical information for management use identified four factors in improving data performance: • Find out what data costs actually are-an important factor not presently known. • Get top industry management involved. • Integrate technical data efforts of the different services into a "joint, cohesive program." • Manage data to the same degree as hardware. The magnitude of the work to be done in this connection can be better emphasized through the references given in another symposium on data control. In the United States, it is predicted that computer control systems will expand from 1000 or so today to 3000-4500 in the next 5 years, and will span a range including "white collar" and "blue collar" computer systems. It is also predicted that the use of small computers as integral components of control and sequencing systems will be of major importance in the growth of digital computer systems. Closely related to the growing role for small computers will be the increased appearance of satellite machines. The larger control computers will exercise supervision and coordination. The division of "blue collar," or process computer systems, and "white collar," or planning systems, will be a key point. Furthermore, a similar "white coat" and "white collar" class of systems may be operative in hospitals. The "white coat" would serve as the regional common access for patient records, for medical research, and would serve as a surgical aid, while the smaller system would serve hospital functions. This field of application is scheduled to receive great emphasis in the years to come. When considering the proper steps the systems analyst should take, we can only define the headlines of the main tasks involved in studying a complex process. These are:
62
PART I.
• • • • • • • •
THE DYNAMICS OF DIGITAL AUTOMATION
Define objectives. Form application groups. Perform preliminary process study. Prepare preliminary functional specifications. Select digital control characteristics. Prepare detailed specifications and operating functional aspects. Train personnel, complete preparations, then install the computer. Follow up and evaluate results.
Simultaneously with the engineering and human preparatory steps, the systems analyst should ·proceed with the technico-economic aspects, which are tightly associated with any conversion to digital automation: • Establish price. • Critically analyze specifications agreement. • Give proper consideration to the type of memory and access time, on a cost-effectiveness basis. • Consider the number of channels and the simultaneous characteristics. • Evaluate operational speed clock frequency, add/subtract time, multiply and divide time. • Examine the number of instructions and the programming flexibility they provide. • Consider the input scanner type and the quoted scanner speed. • Evaluate the rating of components and their reliability. • Establish the nature, type, and capability of the required peripheral equipment. A third list of critical questions relates to the computer manufacturer's organization, its experience in the field, its preparedness and willingness to collaborate in the installation. This implies:
• Examining the manufacturer's over-all experience in control applications. • Considering his real-time experience, special to the subject under study. • Weighing the process and system analytical assistance this manufacturer can ofTer. • Analyzing his service organization and the way it is utilized for the customer's disposal. • Examining his program library and assistance with applied programming work. • Considering the diagnostic programs which will be provided with the machine. • Examining the maintenance programs provided by the manufacturer, and his conditions.
IV.
PRINCIPLES OF SYSTEMS ANALYSIS
63
• Evaluating the cost of spare parts, particularly as to hidden charges. • Observing the nature of customer training facilities and what could be obtained thereof.
ESTABLISIDNG THE SYSTEMS PROFESSION The foregoing were but a few of the crucial aspects the systems specialist in charge of a process control problem will be faced with. In general, his task will undoubtedly involve more than just the different points which we have outlined in the preceding section: • • • • •
Problem identification and description Establishment of the problem boundaries Detailed analysis of process to be controlled Construction of a preliminary mathematical model Simulation of the process control relationship, using an off-line computer • Repeated experimentation to obtain additional performance data • Refinement of the tools on hand: from the mathematical model to the data control elements • Review of the systems economics and decisions on the limit to be followed • Specifications for the projected computer control system • Process control on off-line, open-loop basis • Installation of the closed-loop system • Testing the control system and drawing operating procedures • Final closed-loop control • Steady and careful follow-up. Some' of the foregoing components of the systems work have been used before but under unhomogeneous and uncoordinated conditions. Now, our objective should be to bring mathematical order to the chaotic state of system theory. In academic circles, system theory is in search of a curriculum. In industry, it is in search of formalization in discipline and in practice. Weare gravely in need of methods for measuring, evaluating, and predicting systems performance; methods and approaches we do not yet have. At present, an operational theory for on-line systems is badly lacking and our approaches to it are just beginning to get a good start, with only a small percentage of the problems solved. Although the greatest lag at this time is in applications research and analysis, we are also behind in certain areas of hardware design and development. This is the case with
64
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
improved I/O outputs with "overhaul" of the entire range of parameters: of systems instrumentation for finding out what is happening inside an on-line system; of man-machine communications devices; and generally of components specifically designed for on-line operations. At the applications end, it is of great importance that users know what they want from systems consultants and manufacturers. With unified management information systems, the vital question for the user to consider is howto make the computer really a tool of management rather than a massive paper processor. Not surprisingly, the objectives at the factory end are the same, even if phrased in different terms. Any system has a number of objectives, and the balance between them may differ widely from system to system. We must then seek to optimize the over-all system function according to the weighted objectives and to achieve the maximum compatibility of its parts. These are not very new or "unheard of' functions. It is basically a matter of: • Methodology of work • Acceleration in change • Scale of systems. From the earliest times man has ceaselessly applied his ingenuity to the task of improving his productive means, his skills, his tools, his machines. Aristotle dreamed of the day when "every tool, when summoned, or even of its own accord, could do the work that befits it". In the technological history of humanity before the industrial revolution, the items of greatest importance were the invention of fire, the handling of heavy weights, the raising of water, mining and metal working, and the development of missile weapons. In the first century A.D., Hero of Alexandria described the wheel and axle, lever, pulley, wedge, and endless screw as the five "simple machines" for "moving a given weight by a given force" and these held forth well into the 19th century as the primary or constituent parts of all assemblages called machines. In the 19th century, there were pressures of territorial expansion, world trade, a general demand for a greater variety ofgoods in large quantity at low price, an enormous scientific curiosity, a greater awareness of physical facts, and other reasons why tremendous technological advances were made. Characteristic of these advances was the change in ideas about machinery when Reuleaux in 1875 defined the basic mechanical components of all machines as the screw, wheel (including gears), crank (as linkwork), tensioncompression link (belts and chains, hydraulic lines), cam, and ratchet. A history of the human effort involved in the making of machines and mechanisms is very difficult to piece together. The "engineers" of ancient times wrote very little, and the historians consistently omitted the mechanical details associated with the events they wrote about. There is often doubt
IV.
PRINCIPLES OF SYSTEMS ANALYSIS
65
about whether an individual actually is the inventor or merely the "reporter" or whether devices really existed or existed only on paper, wood, or rock. As the various empires fell, the few libraries were destroyed, either by accident or intent, since the conquerors had little or no interest in the culture they had destroyed. The oldest nation known to man, Sumer, is generally credited with the wheel concept, the first man-made device that had nothing similar to it in nature. About 3500 BiC, it was used on vehicles and pottery-making "machines." Approximately 1500 years later the heavy solid wheel was replaced with the spoked wheel on war chariots, because speed and maneuverability were the primary design considerations. Missile weapons played an important part in the history of machines. Here again, necessity mothered the invention of the crossbow by the 4th century BrC. Later, about 250 B.C., another crossbow was developed that fired a six- or seven-foot arrow and required a winch to accomplish the draw. This system was able to increase the shooting range and power with a sacrifice in fire rate. Artillery, such as catapults and slings, was worked on seriously at the beginning of the 5th century B.C. At about the same time Dionysius of Alexandria invented the polybolon, which was a repeating crossbow and would fire arrows automatically by turning a crank. Water raising and other weight-lifting requirements were responsible, at an uncertain age, for the development of gears in the form ofwheels with inserted pegs. Hydraulic devices, such as siphons, were in use in Egypt about 1500 B.C., and by the first century, A.D., a single-acting force pump or syringe was invented and described as a fire extinguisher. The Egyptians ofancienttimes made use of fluid pressure to raise or lower large weights. This was accomplished by tamping and ramming sand under the weight to raise it and slowly removing the sand to lower it, a method which is still in use today. Prior to the electrical era, power transmission was accomplished to a limited extent by means of hydraulics. London, in 1883, had a hydraulic power system which by 1899 had 150 miles of pipe carrying water from five steam-driven pumping stations whose total capacity was 6100 hp. Manchester, Glasgow, Antwerp, and Geneva all had hydraulic power systems. Vacuum and compressed air systems were used long ago in Paris and still are in operation. Power transmission by belt, rope, or cable was tried in France, Switzerland, and India before 1900. Archimedes, in the 3rd century B.c., did some work on the lever, such as a calculation on the length of a weightless lever capable of moving the earth assuming a fixed fulcrum point, but probably his major contribution to technology is his work on the helix. His work on the helix consisted of a 200-to-1 gear reduction using worm and spur gears. This gear reduction was used in a winch required to bring the largest ship of her day, the Syrakusia,
66
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
to the water. The extensive use of bronze fastenings and lead sheathing on this ship added to the difficulty. An odometer made in the first century B.C. had four worm wheels driven by a type of spur gear. It was used to record distance traveled in a carriage or ship by three dial readings. A later improved model included a mechanism that recorded each complete cycle of the indicators by dropping pebbles in a metal drawer. Poor tooth form, inadequate materials, lack of machinery, and unskilled workers resulted in highly inaccurate gears. In fact, until the early 19th century, the formation of gear teeth was measured completely by eye. From the 5th century to the 16th century many mechanical devices were lost or forgotten, having to be reinvented. The screw is a good example of this. Though it had been invented by the first century A.D., it was not until the 19th century that it had been developed to a substantial degree. Up until that time screws were generally made by hand and interchangeability was unheard of, since each shop made a screw and nut in mated pairs and each shop had its own ideas about lead and diameter. With the coming of the 17th century came also the age ofre-enlightenment and its cultural, philosophic, and scientific evolution. Since that time, evolution has continued at an accelerating pace. The development of the mathematical tools at this time made possible great scientific advancement. It was the 19th century which essentially created a favorable climate for scientific thought. But analysts still had a long way to go to develop working processes of self-control and adjustment. * Control processes, to be applicable to man-made systems, required first the "discovery" of the principles of interdependence and of feedback. Technological feasibility and economic acceptability had first to prove itself in situations in which information about the output at one stage of a process is returned, or fed back, to an earlier stage so as to influence its action and hence to change the output itself. Presently, the control problems the analyst is called upon to study may involve: • Frequent changes within the process units to keep pace with variations in demand for specific products. • Ability to meet production goals without waste of potential product or energy. • Cost reduction through increased efficiency in operations. The systems analyst's efforts in the study and implementation of digital automation should be far more extensive than is sometimes necessary for *Newcomen's engine and Watt's controller are purposely omitted for reasons of "overexposure."
IV.
PRINCIPLES OF SYSTEMS ANALYSIS
67
the implementation of a data processing system. His work must more closely approach original planning of operations than a simple evaluation and installation. The sequential steps of this effort are exemplified in Fig. 3. To succeed in his task, the systems analyst must be able to visualize the "ultimate" data control ensemble; he must also possess at least four critical faculties: • He should have a very "wide view." He should not be restricted to one field of specialization, but make use of all disciplines and abilities. • He should be able to coordinate departments and people who otherwise would consider themselves unrelated. • He should be capable of compromise in system design, but still retain desired objectives. • He should be able to design systems working at a higher level of reliability. • He should exhibit personal flexibility to his work without abandoning his objective. • He should be able to proceed with a complete financial justification of his designs and undertakings. Systems work is often performed as a team function. In this case, the team should be composed of personnel with varied talents but have the common ability of cooperation toward the achievement of the objective. The team is generally provided with a leader whose main function is to further the "teamwork" in the accomplishment of the goal. In addition to the requirements already given for effective systems management, proper attention must be paid to the solution decided upon. The following questions should be answered before a solution is implemented: • Will this solution provide every result desired as well as expected? • Does this solution employ the most efficient means? • Does it regard technical advancements along similar lines? • Will this solution provide for expansion as needed? • Can this solution be maintained under all normal conditions? • To what degree will it work under abnormal conditions? • Does this solution fall within human limitations? • How susceptible is it to human control? Control systems work, whether practiced by one man or a team, requires superior knowledge, vision, and the art of achieving "the impossible." It is a special kind of skill whose concept is expressed by two words: system and
68
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
Problem formulation
General system inveshgation
Diagnostic study
System designs
Prcqrorninq
File-making
Program ossembly and testing
Procedural work
Reports Forms Records Data flow
1_.Application (problem solution)
FIGURE
3
engineering. Webster defines the system as "an assemblage of objects united by some form of regular interaction or interdependence," and engineering as "the art and science by which the properties of matter and the sources of power in nature are made useful to man in structures, machines, and manufactured product." While other definitions of these two words have been given, the ones mentioned will well serve to build a picture of the concept under discussion. Let us consider, for a moment, the word, "system." Its definition includes the word, "assemblage," indicating that it contains more than one thing, and the expression, "united by ... interaction or interdependence," showing that system engineering is not just a lot of things or concepts superimposed like a hill of sand, but an assemblage of skills, one interconnected with another. If, then, we accept the definition of engineering as that art and science which forms useful products from nature's matter and energy, system
IV.
PRINCIPLES OF SYSTEMS ANALYSIS
69
engineering is the art and science by which nature, man, and machine are arranged to form an assemblage united by interaction and interdependence, to create products from nature's materials and energy sources. In other words, system engineering is the special skill of analyzing, designing, and synthesizing a productive man-machine-environment system. To some people who have received the traditional engineering education as a civil, mechanical, electrical, or chemical engineer, this concept of "system" or "system engineering" may sound a little like heresy to their profession, but, in truth, it is neither strange nor heretical. Every civil engineer who has ever planned a building, made it to fit certain equipment, and made it large enough to move certain goods around in it, has done a phase of system engineering. So did the mechanical engineer who made sure an operator could work efficiently around the machine he had designed, and the electrical engineer in studying a power system or in analyzing the input-output requirements of an electrical device. However, while the classical divisions of engineering deal with phases of engineering, the systems engineer deals with things as a whole. It is the industrial and the electronics engineer who come closest to this ramification. Yet, here too, there is a difference. The difference lies in the scope of the endeavor. While the industrial engineer deals mostly with production processes in an industrial enterprise, the scope of the systems engineer is much broader: • He must be something of an electrical, mechanical, and civil engineer. • He is expected to be an economist, a mathematician, and a physicist at the same time. • He deals with systems of man-machine-environment intersections, be it in an industrial enterprise or an office, a military organization or a transportation line. Among other things, systems engineering, regardless of the particular orientation of a certain project, has two important functions: planning, designing, operating, and evaluating working ensembles and conducting research on future systems. To carry out these operations, several methods of analysis and synthesis are embraced. It involves operations research but it is not operations research, it involves management theory, but itself does not exercise line management functions, it involves electrical and industrial engineering but should not be identified with either. The systems engineer must be able to analyze all phases of a project and to study all subjects pertinent to engineering research, development, and design. He must know how to evaluate alternatives and to understand what is feasible, with the available means, within the prevailing conditions and under the outstanding financial limitations.
70
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
SYSTEMS WORK AND MATHEMATICAL ANALYSIS*
In studying a complex case, the systems analyst must be able to find the amount of possible simplification without loss of accuracy, to construct a mathematical model, by making sound assumptions regarding the manner the system operates, and to proceed by building this mathematical model. The development of a simulator often is of importance to the performance of the data control network. Experimentation by mathematical means helps define the crucial variables, establish their interrelationship, and generate data on which can be based, while the system is still on paper, follow-up and optimization procedures. Thus, a systems engineer will need a strong background in operations research, yet systems engineering and operations research are not one and the same thing.r Often times, operations research and systems engineering have been confused with one another. In the minds of many people they have hazy boundaries. Perhaps this can be attributed to the fact that, even in literature, there exists a great deal of confusion in regard to definitions, terminology, and scope. Perhaps a better understanding can be obtained by examining some of the methods, techniques, and approaches used in system work: by identifying jobs having entirely different functions but the same title, and by separating the scope of systems engineering and operations research and providing distinctive definitions of each. In Part IV, we will discuss mathematical simulation for systems work; we will briefly review some of the origins of the history of exact sciences. In these origins exactly lies the foundation of modern mathematical analysis. Observable phenomena are variable and contradictory, but the analytical ideas which lie behind them cannot have contradictory properties. Why did Plato attach such tremendous importance to the culture of mathematics? Why did he require all his pupils to obtain a thorough knowledge of mathematics before being initiated into his philosophy? It is because in mathematics man can learn that it is possible to reason about things which are neither seen nor heard, but exist in thought only. The study of "analysis" through mathematics develops and sets into operation a mental organism more valuable than generations of experience. Through it alone can the unknown "truth" be studied and reasonably apprehended. "Truth" in itself cannot be contradictory. Hence, if a certain preliminary hypothesis leads to a. contradiction, then this hypothesis must • See also Parts III and IV.
t For the OR part of this discussion, reference can be made to D. N. Chorafas, "Operations Research for Industrial Management." Reinhold, New York, 1958; and D. N. Chorafas, "Nouvelles Methodes d'Analyse Economique." Dunod, Paris, 1%3.
IV.
PRINCIPLES OF SYSTEMS ANALYSIS
71
Decision made
Actual state
H o: acceptable
HI: not acceptable
H o: acceptable
Correct
Error
HI: not acceptable
Error
Correct
FIGURE
4
be rejected. Here exactly lies the foundations of stochastic thought and of statistical process*-a science that forms the basic framework of our modern methods of analysis. The basic element of mathematical reasoning and of statistical inference is that of testing a certain hypothesis for acceptance or rejection. We do not know the actual situation, but we are compelled to make adecision. We select a level of confidence and test the null hypothesis, H; vs. HI' Associated with the acceptance of any hypothesis is the risk that the one selected is incorrect (Fig. 4). Since we are compelled to base our decision on a sample, there can be no certainty that an error has not been made. But can there be any certainty at all in any human affair? Is it not better in the face of uncertainty to know at least the probability and the risk? The great difference in the appreciation of mathematical analysis between the "present" and the "past" lies in the complexity of systems and in our awareness ofthis complexity, its impact, interrelationships, and ramifications. The problems faced by the operations analyst, even during the last war, were conceptually simple compared with the "coming systems." He was usually asked to study a situation in which there were given definite types of equipment, with definite and fairly well-known objectives. The problem was simply to decide how to use one's equipment in the best possible way given the stated environment. Under the circumstances, a theoretical or analytical approach, especially if it could be made qqantitative, often proved to be fruitful. Often, any technically competent person could turn out useful results. Contrary to this, today we no longer have a definite context with specific equipment. Sometimes, we do not even have specific objectives. We deal with problems which concern operations further ahead in time and we take a broader look at problems than was the practice twenty years ago. This accounts for much of the difference. *See also D. N. Chorafas, "Statistical Processes and Reliability Engineering." Van Nostrand, Princeton, New Jersey, 1960.
72
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
Dealing primarily with the future, the present-day systems analyst is less constrained by the specific equipment and modes of operation he happens to have at this time. If, for instance, he is required to design a system capable of meeting contingencies which will arise some time in the future, he must not only design the system but also decide under what conditions it will be used and what he will do with its capabilities once they have been attained. In this manner, the recommendations of the systems specialist are normally concerned with matters pertaining to development and to research. Work of this nature involves substantial mathematical analysis, but it goes well beyond the scope and breadth of a simple experiment. It bears about the same relation to operations research as does strategy to tactics. They both look at the same sort of problems, but systems work deals with "future systems," while operations research generally concerns itself with present-day operations. Whether at the tactical or at the strategic level, the systems analyst is confronted with multivariable problems. To perform his duty in an able manner, he must have a thorough understanding of the workings of the data control system he must study. He must be able to define the problem in writing, for if he cannot translate his thoughts into written words his communication with associates will not be satisfactory. This is another faculty the systems engineer must possess; a faculty downplayed in importance until only a few years ago. After establishing the problem, the analyst must proceed with the location of the salient factors concerning the digital control system under study. First, he must consider a number of key variables, then, select the one of salient value. Such factors may involve: research, development, production, quality control, operational suitability, acceptance test, handling, transportation, base requirements for operation, storage, surveillance, maintenance, conditions of operational use, logistics support, replacement, obsolescence, divisionalization, timing, and the like. To determine the relation of these factors to the parameters of the system, the analyst must be able to forecast the future system needs, and those developments that could upset his present calculations. To obtain meaningful and lasting results, the systems analyst must be able to follow up the line of action he prescribes, and take corrective steps when necessary. Perhaps, most of all, he should have a fertile imagination, and what Steinmetz called "the blessing of divine discontent." He should believe that no existing system is the "ultimate," and that there exists always a "more efficient system." For this, the analyst must have the drive for perfection, and find joy in the search for the new. All factors affecting the life of a system need careful evaluation. To evaluate them in a rational manner, the analyst must know how to identify and measure them. Fundamentally, this is true for all control problems, both engineering
IV.
PRINCIPLES OF SYSTEMS ANALYSIS
73
and business. Engineering and business problems, regardless of their particular nature, have certain basic similarities. The engineer wishes to determine the behavior of a physical system that is subjected to given conditions. If his problem is one of design, he may then use this knowledge to 'alter the physical system so that it will have the required behavior for the given stimuli. The industrial manager is mostly interested in the collection, organization, storage, and retrieval of data, so that he can reach decisions pertinent to the prevailing conditions. Both situations deal with speculations, hypotheses, and uncertainties. The engineer has at his disposal two basic approaches for physical systems analysis: • He may actually build the physical system, subject it to the given conditions, then measure its behavior. • He may construct a mathematical model of the physical system, and then solve the mathematical system for the system behavior. Complex mathematical systems that represent, closely, the real system, can be handled through computer simulation. Mathematical problems such as differential equations can be easily solved in terms of difference equations, and 100 X 100 matrices, which by traditional methods might have required a lifetime to solve, can now be processed in a matter of minutes through highspeed data processors. The need for mathematical simulation stems from the fact that the problems of modern industry grow steadily more difficult. We encounter physical systems that do not respond to conventional mathematical treatment. This is the case with short-lived events in the atomic nucleus, new chemical processes, or new types of machines. Processes which formerly appeared to be linear are now recognized to be nonlinear, and this brings a new dimension to analysis. For the solution of these problems, it is necessary to apply a high degree of sophistication, and imagination. Even until five years ago the accountant needed to know about the voucher and the ledger and, to a substantial extent, this sufficed for his job; today, to be proficient, he should also master at least that part of applied mathematics which is associated with sampling, the handling of discontinuous data, and number theory. In every industrial discipline, a master of new trade is wanted, and this requires a new synthesis of studies. It calls for advanced work in the fields of mathematics, physics, measurement, communications and electronics, servomechanisms, energy conversions, and computational techniques. Eventually industrial management will have to take the necessary steps to raise the thinking of all its personnel to the systems level. Even in the most automatic offices and factories there will be men around, most of whom will have interesting and responsible jobs. They will be freed from the tiring,
74
PART I.
THE DYNAMICS OF DIGITAL AUTOMATION
nerve-racking, or even boring jobs of today. To win this freedom, however, they will have to upgrade themselves in skill and sophistication. The new machines and instruments will call for a higher level of precision of usage and maintenance. The component of a multimillion-dollar real-time computer cannot be hit with a hammer, if, for example, a certain unit does not fit into its nest on the first try. Men who have heretofore thought of electronic equipment as merely a metal chassis with semiconductors will have to become concerned with switching, flip-flops, peaking, and other circuits. They will have to judge when to repair and when to throwaway rather than stop production-and this means they will have to experiment. It is very fortunate, indeed, that people start visualizing the impact of mathematical analysis over the whole span of human affairs. For the progress of civilization and for our daily life we are interested in the transmission of knowledge. Experience cannot be transmitted if it is not formulated first. Mathematics offers a good medium in this respect, serving as a "communication link" among different organizational levels.
PART II
Chapter V DATA COLLECTION PROBLEMS
The selection of configuration for a data control system should come as the outgrowth of a careful study of demands, constraints, and of technologically available machines and mechanisms. Such a configuration can never be "final," even though in the course of the study some alternative has to be selected, which must be "frozen in," at least over a reasonable period of time. The choice of the systems designer necessarily influences the variables of the system in a way that makes it difficult to distinguish features due to conditions intrinsic to on-line integrated operations from features that are consequences of human bias-ifit weren't for matters generic to the organizational structure. In its organizational structure the information process which has been developed for real-time control purposes can be compared to the human nervous system. This information network may be divided into five sets: • The sensors • The transmission lines from the sensors to the central processor • The central data processing unit • The transmission lines from the processor to the effectors • The effectors. Since the starting point is that of data collection, the accuracy and stability of the pickup equipment must, of necessity, be carefully evaluated. The analysis must also indicate dynamic characteristics of these units. It is equally important that the mathematical model through which the subject data will be processed highlight the important parameters, their measurement range, and the tolerances allowed.
DEVELOPING ACCEPTABLE SENSORY TECHNIQUES Speaking from an industrial point of view, we have presently available data 77
78
PART II.
DATA COLLECTION AND TELETRANSMISSION
acquisition equipment possessing a wide range of dynamic response, but the wisdom ofusing one unit in preference to another must be carefully evaluated. Computing capabilities may also have to be considered at the pickup level, as for instance: zero offset and scaling, nonlinear function generation, square root, multiplication and division, integration, and some kinds of stream analysis. In process control applications, the variation of dynamic response of existing measuring instruments does not seem to be of great concern because of the time constants involved in most process industries. Of greater importance is the fact that often data collected by the sensory elements must be converted. This conversion is not necessarily analog-to-digital. Analog-toanalog conversion is normally accomplished by converting a shaft position, a time interval, or a frequency to voltage. The voltage may then be used to control flip-flop circuits to gate clock pulses to be used for analog-to-digital conversion. Shaft position using a coded disk can be converted directly to digital. Conversion of control signals to analog form is normally accomplished by a servo motor controlled by a subtractor, error register, and voltage encoder.* Measurements and the development of the necessary instrumentation should be seen as an integral part of corrective control action. So is the response to measurement. Two basic factors affect the significance and the performance at this stage: • How well does the measurement represent the characteristic or condition being measured? • What does this measurement mean with regard to the actual process operation? An excellent example on the operation of a data collection network is the input activity of the human nervous system. This activity is performed by the receptor nerves, conveying impulses inward to the central nervous system from the sense organs. The output takes place through the effector nerves, conveying impulses outward to the muscles and to the glands. In a living organism, equilibrium in control action is at a premium. In an input-oriented operational protocol each pattern, after seizing controlofthe machinery of action, should be in supreme command ofthe whole organism. This would simplify the guidance action, but as a process it will be highly inflexible. Animals, in many ways, behave in terms of stored subroutines in a dead-memory, with each subroutine specializing in one kind of action and coming in and out according to the job at hand. Man has achieved permanent unity of command on a flexible basis and with forecasting elements in it.
* See discussion on
analog-to-digital conversion.
V.
DATA COLLECTION PROBLEMS
79
This is the result of thought, which itself needs to be stimulated and enriched through the formal process of education: a necessary reference in order to bring the "balanced pattern" into perspective. Control systems, whether natural or man made, are composed of receptors, affectors, data transmission lines, and the central complex for storage and calculation. In a natural information system, the sensors are specialized organs that transform various types of stimuli into nerve impulses. These can be divided into three groups when classified by functions: exteroceptors, proprioceptors, and interoceptors. This classification is of great functional importance, for it can lead into critical classifications for man-made input devices as well. In a natural system, exteroceptors are located in the body surface and allow for the senses of touch, superficial pain, vision, hearing, temperature, and tactile discrimination. Receptors for touch, or tactile sensitivity, are usually considered to include nerve endings around, for example, hair follicles. Superficial pain receptors are free nerve endings ramified beneath and between the epithelial cells. Free nerve endings may also be connected with tactile sensations. It is not definitely known which receptors sense heat, but the bulbs of Krause are identified with the sensing of cold stimuli. Extreme heat or cold will also stimulate the free nerve endings connected with pain. Furthermore, the ability to recognize stimulation on two or more closely related points on the skin is tactile discrimination, and the copuscles of Meissner are important in this recognition. Vision is sensed by the rods and cones in the retina ofthe eye, and hearing by the organ of Corti in the ear. Proprioceptive sensibilities include the senses of position, movement, pressure, and equilibrium. The sense of position is the ability to locate various parts of one's body without actually seeing them. The sense of movement is the ability to identify various types of passive flexion or extension of a finger or toe; here the receptors are the muscle spindles and muscle and tendon endings. Pressure sense is detected by the pressure endings. Equilibrium is a special sense; its receptors are found in the saccule utricle and semicircular canals of the inner ear. Vibratory sensitivity (the ability to recognize repeated mechanical stimuli) and stereognosis (the ability to recognize familiar objects) are hybrid senses in that they are developed through the simulation of both exteroceptive and proprioceptive receptors. Interoceptive sensibility is divided into general and special. The general classification includes ·the perceptors of hunger, thirst, respiratory movements, and deep pain. These receptors are not highly differentiated, but consist of free nerve endings around smooth muscle and underneath the mucosal lining of visceral organs. Special sensibilities are smell, detected by the olfactory cells located in the nose, and taste, detected
80
PART II.
DATA COLLECTION AND TELETRANSMISSION
by the taste buds located in the epithelium of the tongue and epiglottis. In all, it is incredible how little we know about the components, the structure, and the functioning of the human receptors. As far as the numeration is concerned, our "knowledge" ranges from what seemed to be five senses* to some twenty-one senses recent research has helped to reveal. They are the following: 1. 2. 3. 4. 5. 6. (7.) (8.) (9.) (l0.) 11. (12.) 13. 14. 15. 16. 17. (18.) (19.) 20. (21.)
Hearing Equilibrium Black and white sight (rods) Color sight (cones) Superficial pain Deep pain Hunger Thirst Respiratory movements Blood pressure Tactile sensitivity, or pressure Tactile discrimination (two receptors or more stimulated) Cold Warm Smell Taste Vibration Vibratory sensitivity, or pallesthesis Stereognosis (recognizing familiar objects) Kinesthesis, or sense of movement Muscle sense, or sense of position.
Still, we are uncertain whether these are all, or there exist sensory pickups (generically different than the foregoing) whose existence we as yet do not suspect. It is also possible that some of the "senses" we identify now as distinct are nothing more than "stored subroutines" that are called into action by certain stimuli; or a combination ofthe two. The mechanism ofsuch action, should it exist, is as yet undefined. Candidates for this class are, in our judgment, those noted with parentheses in the preceding list. The information received by the sensory organs is carried through the nervous system, which is responsible for maintaining contact between the individual and his external and internal environments. In turn, environmental adjustments will be made through reflex arcs: receptor to afferent neuron, to spinal cord, to brain, to efferent neuron, to effector mechanism. Our
* This is still taught in schools
and universities.
v.
DATA COLLECTION PROBLEMS
81
knowledge on how the natural nervous system samples and transmits data is incredibly small. On the contrary, with man-made systems we have some established practices. We have already spoken of the need for data sampling, in data control applications, and of the problems involved in the processing of sampled data. These problems in no way differ from those of processing data collected on a complete count basis. Furthermore, the use of real-time computers makes possible the utilization of many alternative devices for dealing with imperfections of one kind or another in the data. Some of the advantages accruing from computer use in sampling a universe arise in the process of stratification. With the high speeds available, it is possible to sort out special universes for separate treatment. It is also possible to identify and stratify elements by many different criteria. In multistage probability sampling, a considerable amount of data manipulation is sometimes worthwhile in the determination of primary sampling units, and in stratification. Digital control opens the possibility of comparison of a wide variety of factors, to achieve the maximum degree of efficiency in the establishment of the primary sampling units. This can be done while maintaining a desired degree of conformity with the fundamental operational criteria for the system. Multiple matching of many variables together with the examination of the ranges becomes a matter of relatively small expense. More complex procedures, such as the determination of the regression coefficients of each variable on every other variable, through factor analysis, become feasible. Computer usage in process control applications makes possible the determination of measures of size of elements or clusters of the population from multiple sources of information. Further, in the process of selection of the sample of elements, the computer can keep track of the units selected. Thus, in multiple uses of the same list or record, it is possible to minimize the number of times we use a specified element in different samples. However, the obtained data can be significant only to the extent that the primary element is exposed to a condition or characteristic that is truly representative, accurately recorded, and crucial to the process. For example, in a simple temperature pickup the critical value is the temperature of the sensitive portion of the primary pickup element, the bimetal strip, the fluid filling, or the resistance wire of the thermocouple junction, depending on the type of instrument used. How well the measurement represents the true temperature of the process is a function of several factors. The first question is whether there exists one measurable temperature that is truly representative. In many operations, stratification, dead pockets, hot spots, and the like may result in important temperature differences between different pickup points. The desirable
82
PART II.
DATA COLLECTION AND TELETRANSMISSION
procedure is to eliminate these uncontrollable variables. When this is not practical, two factors are essential: • First, it is necessary to select the best available measurement point or points. • Second, and often neglected, it is necessary, when using the measurement, to recognize that it is less than truly representative. With the primary measuring element suitably mounted with respect to the process, the next point is instrument accuracy. How well does the instrument output correspond to the primary element? For instance, how close is the indicated temperature to the actual temperature of the primary element? This question of required accuracy is often a major factor in selection. Higher accuracy is generally available at added expense. Accuracy is almost invariably specified on a steady-state basis. Dynamic performance has only recently begun to receive proper attention. Lag in measurement is particularly unwelcome. If overshoot or instability results from process lag, this shows up normally in the measured record of performance. Yet, there is often no direct indication of instability that results from measurement lag. Usually, there is no dynamic measurement available for comparison. The measurement can appear smooth and stable, but variations that adversely affect product quality or processing operation can exist without showing up in the measurement output. In an automatically controlled system, time lags may cause delays concerning: • The changes in a manipulated variable in response to changes in the position of the final control element • Some changes in rate of energy transfer from the control agent to the controlled medium. Similarly, delays may be presented in the response of the controlled variable to changes in energy transferred to it from the control agent. If the lags in measurements can be eliminated, better guidance with less critical adjustment and wider dynamic range can be obtained. If lags exist in the measurement, either inherently or resulting from an application practice, it is necessary to make allowance for these lags so that they do not seriously effect process operation. In this sense, it is important to recognize and make allowance for the dynamic as well as the static characteristics of measurement if optimum results are to be obtained. Devices that measure composition or similar characteristics of a flowing stream usually depend on sampling. Hence, it is essential to understand the sampling problems, and to recognize the resultant effects on the validity and significance of the measurement. Another phase of significance is the actual
V.
DATA COLLECTION PROBLEMS
83
meaning of the specific measurement with respect to the process operation to which it is applied. What is to be accomplished as a result of measurement? Often insufficient attention is paid to truly significant phenomena" resulting in applications that fall short of what is desired. Only when both the exact nature and the accurate relationships of a measurement to the process are fully understood can there exist a basis for establishing what its usage can accomplish. For instance, the measurement of temperature of steam coming from a boiler can provide a variety of results. The temperature itself is a matter of considerable interest and can be used directly as the basis of automatic control. The temperature in conjunction with the pressure, and differential pressure, provide complete information with regard to quality and quantity of steam produced. This combined measurement can be used directly for control purposes, as a basis of plant balance efficiency, and the like.
CLASSIFICATIONS IN DATA COLLECTION
Within a specified operational environment, the analyst must consider how, where, and when the information picked up by the sensory devices will be collected and recorded.* "Recording" here is still a transitory state before forwarding to the central processor or its satellites. This function is reasonably independent of the environment, its main requirements being: • • • •
Real-time ability in data storage Analog-to-digital conversion (when necessary) Transcription in an acceptable data processing language Nonvolatile, nondestructive memory, with access time compatible with the total digital control process.
* A critical subject in instrumentation for control systems is the coating of the instruments, for they will have to face more severe environmental conditions than manned control has required. Industry is reacting to this need through work in development. A special ceramic coating applied by a hot-flame spray gun proved valuable for application on sensors such as strain gages, grid-type thermocouples, and resistance thermometers. A solid rod of pure aluminum oxide refractory is fed into the high-temperature atomizing flame of a spray gun and the released particles are blown against the prepared surface, where they solidify. The coating resists nuclear radiation, thermal and mechanical shocks, and generally demanding environmental situations. For a discussion on the dynamics of industrial research and the impact of research investments, see D. N. Chorafas, "Managing Industrial Research for Profits." Cassell, London (in preparation). Also, by the same author, "La Fonction de Recherche dans l'Entreprise"; "Editions de I'Entreprise Moderne." Paris, 1960; "Die Aufgaben der Forschung in der modern en Unternehmung." Olden bourg Verlag, Miinchen und Wien, 1963; "La Investigacion en la Empressa." Aguilar, Madrid, 1964.
84
PART II.
DATA COLLECTION AND TELETRANSMISSION
With respect to design, the data collection system should be able to save time in transferring data from action points (source information) to the digital control center. It should minimize the inherent delays in getting facts into machine-processable form for quick summary, records updating, deviation analysis, decision, and action. Its hardware characteristics should contribute to an increase of accuracy and uniformity in data collection, transcription, and transmission; this should be done on a system-wide basis optimizing the subsequent handling by a data processor and by the various levels of management. Similarly, a collection. system should also contribute to the elimination of physical delivery of data from outlying locations; to the reduction of manual interventions at action points; and to the practical elimination of outmoded linkages such as keypunching in centralized computer installations. To these, of course, should be added fundamental requirements in the timeliness and quality of periodic reports. Source information for whatever control action is desired should be as dynamic as the operation itself. In industrial practice, data collection systems can range from simple setups, involving nothing more than, say, a typewriter or a punched tape device, to advanced real-time implementations through interface computers. In fact, several degrees can be distinguished in matters concerning the nature of an on-line digital organization. We will consider the following four: (I) A t the present state ofthe art, the most sophisticated on-line system would include automatic data collection, processing, and dissemination. This implies more than a one-way process from the data collection point to the computer. A two-way path has to be established and kept open at all times. The return transmission can be either a response to inquiry from an input station, or an automatic reaction to certain data introduced from input stations. This reaction will be based on the calculation of alarm or controlrequiring conditions by the computer. To this necessity we have already made reference, and we will discuss this matter again in Chapter XXII when we talk about "feedforward." Digital feedback and feedforward control systems may themselves vary over a certain range of efficiency and complexity. Figure I shows a digital feedback possibility composed simply of a sensor-actuator system wherein a central computer processes sensor data and generates appropriate control signals. In an application like this, data rate should be maximized, in a way compatible with the transmission medium, to give high resolution and fastest response. In certain cases, a moderate error rate can be tolerated, since the sensor-actuator combination closes a self-correcting feedback loop which could take care of occasional minor deviations. A good example of the "new look" of on-line electronic instrumentation is a precision analytical computing device designed to process electrical
V.
85
DATA COLLECTION PROBLEMS Environment at the process site
r-------------,
I
I
The process
I
I
Sensors
Actuators
I
I
I I I I I
I
unit
L-----t-----...J
I
I
,.------_../'--_-------., Teletronsrnission medium
I-'-------~------~)
~ Central computer installotion
FIGURE
I
signals generated .by groups of analytical instruments, and provide a typewritten report of the data analyzed. This equipment can serve chromatographs and mass spectrometers; spectrophotometers, including infrared, ultraviolet, and visual; nuclear magnetic resonance spectrometers, and physical testing machines. As announced by its manufacturer, the standard system consists of a scanner, interface electronics, automatic attenuating amplifier, analog-todigital converter, central processor, and input-output typewriter. In the expanded system additional units include demand analytical instruments generating digital signals, digital buffer module, bulk memory, and a second technician station. Key data about each logged operating instrument are stored until a run is complete. Then the equipment uses stored information to identify known components; it normalizes the data and generates a tele-
86
PART II.
DATA COLLECTION AND TELETRANSMISSION
typewriter printout. This identifies the instrument, samples, name, concentration, and retention time of each component. (2) A lesser degree of sophistication in systems design and implementation, which would require on-line data collection and processing. What this essentially means is that all information entered at input stations should go directly into the central computer for instant handling, updating, and subsequent calculation. In many industries this becomes a "must," as manufacturing operations grow more complex. With the potential for data collection systems in the plants and warehouses becoming an increasingly important factor, the level of on-lineness we are talking about may well become a fundamental requirement.* Either of the two alternatives mentioned requires the existence of data communication units able to provide flexibility in transferring information between machines in distant locations. Interface gear available today permits two-way tape-to-computer, tape-to-tape, and tape-to-card communications, and the possibility of minor programming work in order to divide workloads among remote data processing installations. Units, lesser couples, permit temporary storage of data, thus leaving the computer free to complete jobs before accepting new information. A synchronizer or monitor function is also necessary to link the central computer, the transmission terminals, and different control units with telephone or telegraph lines. As subsystems usually grow both in function and in volume, interface computers are increasingly able to perform message auditing, logging, traffic reporting, error-handling, and other operations involved in efficient message controL They must supervise the transmission of messages by polling sending terminals, addressing receiving terminals, and checking communication channels. Some applications may further require a complex and broad mix of information through a network of sending and receiving units which are geographically scattered. We have defined the interface computer as a sending and receiving terminal complete in itself. It can serve as a communications link between different computing centers or between information gathering stations and the central computing system. The operation of these subsystems is, briefly, as follows: A block of pulses is sequentially read from the input media, and fed to a buffer storage which provides a serial output for transmitter modulation. The receiver demodulates the signal and sends it to another buffer storage which provides a record input on a certain physical medium. A variety of problems have to be solved in this connection, most of them being specific to the application. Data transmission over high-frequency radio, for one, presents problems that differ from those encountered on wire
* See the case study on an integrated data network for a steel industry, in Chapter XXIX.
V.
87
DATA COLLECTION PROBLEMS
Data-tone modulator
t
»<.
(
\
Teletransmission media (parallel transmission of serial informotion 1
I..
-......,.-
)
Dato - tone demodulator
FIGURE 2
lines, as, for instance, selective fading and multipath distortion. The normal method of transmitting data over radio links is to elongate each bit and transmit at a low rate. This means that high-speed data communication requires a conversion of data format from serial to parallel and simultaneous transmission of a number of parallel low-speed channels. Because the propagation time varies between channels, the parallel data at the receiving terminal must be rephased before it can be reconverted to serial form (Fig. 2). The interface units can be changed from a transmitter to a receiver by push-button control and can be provided with modulators and demodulators to match the communications link available. All transmissions are synchronized, validity checked, and repeated when in doubt to allow for maximum freedom from error. In the course of in-line operations, the central computer action may range from process sampling to the calculation of new controller
88
PART II.
DATA COLLECTION AND TELETRANSMISSION
set points, or the evaluation of numerous secondary characteristics derived from primary measurements. Complete control action can be attained by continuously redetermining system characteristics, thereby accounting for nonlinearities and time-varying factors, calculating the adjustment of the controllers accordingly. As we have stated, applications along this line demonstrate thatthedigital computer can serve as an automatic experimenter, adynamic controller, and a process supervisor. If the source inputs to the computer are established on a time-sharing basis, central control may be maintained for all phases of operations. This task implies the existence of certain machine capabilities. Factors affecting the design of a computer for use in a continuous control system are the rate at which solutions are required, the corresponding accuracy necessary from these solutions, the form in which information is received and transmitted, and the output form in which this information is required. (3) A much less sophisticated approach is the one most utilized today. It involves data collection off-line with, somewhere, electronic data processing media. This approach implies that some output and data-transcription means, for instance, punched tape or cards, can be moved manually at reasonable time intervals to the card reader of the central processing unit. In this way, system files can be updated but with delays caused by the interruption in the flow of data due to human interference. The existence of a computer at the datahandling end at least guarantees that the process data will be used in a timely manner to update records and print various summaries and reports for corrective action. This is not a level of digital automation in the literal sense of the word. (4) Data collection without electronic data processing, a fourth alternative, is mentioned here only to show the contrast. Yet this is a widely practiced manner today, and until the early fifties the only existing one. It calls for input stations to simply receive and transmit fixed data on prepunched job cards, with variable data entered by keyboard. Output at the central location is a printed card, used to update records without any type of processing of information, and with very substantial time lags.
SOME DATA COLLECTION ACTIVITIES A critical imbalance developed at the beginning of the computer years and still exists today. The improvement factor in arithmetic logic and memory access times multiplied dramatically. But refinements in our ability to rapidly feed information into a computer or to produce high volume output
V.
DATA COLLECTION PROBLEMS
89
have been extremely slow. A case in point is printing speed which, over the last 30 years, has been accelerated only by a factor of 10 to I. Another case obviously concerns data collection, conversion devices, and actuators. An examination of the product lines of leading manufacturers in the field would reveal such items as: • Photoelectronics • Electrical controls • Simple counters • Chemical process controllers • Angle and coders • Telemetering • Multiplexors • Data loggers • X-ray and y-ray instrumentation • Numeric controls of machine tools. Not surprisingly, most of these were leading items of many instrument manufacturers some 20 or 30 years ago. It is surprising, though, that performance has not improved significantly. Also, design approaches are not given yet the emphasis digital automation demands, with instruments still made as if to be used by exclusively human elements. Finally, as is often stressed in this work, an evolution of the systems approach to data col1ection applications is still lacking. A couple of references on research projects under way may help clarify this point. An experiment done in the chemical industry can help exemplify the essence of our discussion. It involved both data control and teleprocessing aspects, inasmuch as the calculation was carried out at a location remote from the factory. The process chosen to be controlled was a typical chemical operation. It consisted of a complete chemical conversion occurring in the presence of a reactive agent. Raw material was injected into two reactor units operated in parallel. Each reactor had a recycle stream to facilitate the reaction without large storage capacity. There was provision for feeding the reactor units with either 100% pure material or reprocess material. Pressure, temperature, and recycle flow rates were controlled automatically. Input material flow was controlled manually, and the reaction was input automatically. The vent losses were minor and were relieved through pressure control valves. Pairs of tanks were used as surge tanks. While one was being filled the other, of any pair, was being emptied. Measurement oflevel changes gave a measure of flow. In the test these measurements were made with standard dip tubes and pneumatic differential pressure transmitters. A solenoid-operated valve installed in each of the eleven signal lines was operated in sequence by a
90
PART II.
DATA COLLECTION AND TELETRANSMISSION
rotary switch driven by a synchronous motor. Thus each signal was fed in turn to the telemetering transmitter. The telemetering unit had a transmitting switch which,closed for a fraction of its operating cycle proportional to the value of the input pressure. The switch was keyed to a lOOO-cps oscillator. This produced a train of pulses with the number of pulses proportional to the pressure selected at that time by the synchronous motor. The pulses were fed into a speaker which was adjacent to a standard telephone headset on a leased telephone line. At the computing center end of the telephone link a digital display, an amplifier, and a cycle counter produced numerical information for the computer. The calculated data were punched on paper tape. The paper tape actuated a teletype reader and transmitter connected to a leased line. Upon reception at the plant, the information was printed on transparent cellophane tape and projected on a screen by a tape projector. Further control action was then initiated. The way in which this action was implemented makes it a good example of "on-line, open-loop" data control.* Another case of an "on-line, open-loop" data system is the shipboard unit, part of the Navy's antisubmarine warfare environmental prediction system (Asweps). It has been designed to measure, record, and transmit oceanographic data and is the first of many operational units planned to become part of a world-wide observational network to forecast "underwater weather." This constitutes a significant improvement over previous techniques, which required several different operations to obtain comparable information and laboratory work was required to obtain complete data. The device has three basic components: • A set of sensors contained in a cage-like underwater "fish" • A winch assembly to control the "fish" • A data-handling subsystem mounted in a self-contained shelter aboard the ship. The initial set of sensors are used to obtain data on sea-water temperature, sound velocity, and salinity as a function of depth, down to 2500 feet below the surface. In the operation ofthe system, sensor data signals are multiplexed in the underwater subsystem, so the data from all four sensors can be transmitted on a single conductor insulated sea cable. At the end of the cable, the signals are amplified, demultiplexed, and prepared for entry into a central data-handling complex. All sensor outputs convey data to the surface by means of the variable frequency of a subcarrier signal that permits recovery of the data on deck
* For a discussion on one of the first approaches to "on-line closed-loop" control systems, see in subsequent chapters the reference to the Little Gypsy installation.
v.
DATA COLLECTION PROBLEMS
91
by precise counting techniques. The data-handling subsystem is comprised of demultiplexing, conditioning, and digitizing circuits, a multiple-purpose computer, a keyboard, a magnetic tape recorder, and a paper t~pe reader and punch. In addition, a control panel is provided by which the system is operated, tested, and maintained. The subsystem digitizes the sensor output signals, assembles and buffers raw data for storage, prints a permanent record, selects priority data points, assembles and buffers data blocks, stores system programming routines and diagnostic routines. A plotter provides an "x-y graph" of all parameters for immediate visual display, and the raw data is encoded in alphanumeric format for recording on magnetic tape.
EXAMINING AN INTERFACE UNIT As an example, we will consider INTERUN, * a flexible data gathering device which has the capability of accepting input data from widely separated locations on various types of transactions. Its job is that of recording and transmitting that data for automatic processing in a computer. This unit disposes a pulse-count feature that can simultaneously record and accumulate the random occurrence of events without utilizing computer time or core storage; a low-level analog input with a three-level scanning rate of samples a second; and a faculty enabling sampling of high-level analog signals. INTERUN is designed on an Input/Output modular basis. t This means that, while it uses a magnetostriction internal memory of fixed size, it presents the capability of significant variations in input and output possibilities. To avail itself for a large-scale market, the central unit has been made sufficiently versatile for applications ranging from banking to refinery operations-sonline oron an independent basis. INTERUN's central unit can operate on binary, octal, or BCD mode, with configurations being commanded by means of a dead memory black box which can be attached to the system as an on-site alteration. INTERUN also has an input facility able to accept data in digital form as transmitted from remotely located measuring devices, such as high-speed counters, digital voltmeters, and other pure analog and analog-to-digital or decimal units. Another one of its features is a monitoring device that
* Fictitious name, to help describe an equally fictitious unit, which is presented as a composite of current technological advancements. tThe significance of this, for factory operations, in particular, is discussed in the following paragraphs. Similar arguments could be developed for banking, insurance, or planning applications.
92
PART II.
DATA COLLECTION AND TELETRANSMISSION
automatically notifies an operator when an abnormal occurrence is affecting the computer. To the need of a diagnostic capability of this type, we have already made reference in the preceding chapters of this work. The INTERUN system can be programmed to record the readings ofinstruments throughout a plant, compute the optimum control settings, and communicate with the central computer in order to establish mix specifications for best product at lowest order. INTERUN is a modulo principle unit, and additional features can be attached to it so that, eventually, through closed-loop operation, it would be able to direct the automatic controllers to the correct settings. When used for process control, this interface equipment helps monitor instruments measuring such items as flow rates, mixtures, temperatures, or gives "quick-look" information to detect a trend leading to production upsets because of deviations from specifications. With regard to applications, INTERUN can be used in process industries such as oil, steel, utilities, chemicals, paper manufacturing, and, also, discrete particles control-airline reservations, warehousing coordination, freight traffic, etc. Due to its module structure, an INTERUN user may limit the features to those needed for a particular job. A certain manufacturer, for instance, can log test and production data by linking only the digital input and pulse-count features to the central computer. The system can also be used in "hybrid" computing, combining digital and analog machines. When INTERUN is linked to a data processing system, it permits instantaneous computer processing ofinformation from remote points. Users requiring direct communication between a real-time computer center and a network of remote locations can apply its interface capabilities to link the data processor with the field. Operating as-a message center, INTERUN is connected to all points in the network by as many as 100 communication lines, with each line serving a number of sending and receiving terminals. The unit continually checks incoming lines for traffic, all 100 circuits being polled in less than a second. Messages received can be checked for communication errors and, depending on the memory size chosen, error correction routines can be actuated. Furthermore, messages can be routed to their destination or stored until the receiving terminal, as the central data processing installation, is free. These messages exchanged between INTERUN and the central computer can be subdivided into the following broad classes": • • • •
Data transfers Requests for action Inquiries about status Direct instructions.
.. See also discussion in Chapter III.
V.
DATA COLLECTION PROBLEMS
93
Data transfers are merely the transfer of information between the storage facilities of INTERUN and the central computer. Immediate action is not requested of the data processor on the receiving end of the transfer. Inversely, requests for action, or "ready" signals, are the means by which the interface unit notifies the central computer that it has reached a point in its program . where some action on the part of the recipient, to be determined by the central computer, is needed for the sender to proceed. The data processor must itself initiate similar action by issuing to any or all of the interface machines "inquiries" about status. These could be general in nature or the computer might inquire as to the status of some characteristic of the INTERUN and branch accordingly in a program as the reply comes in. Direct instructions can be given only by the master computer, or one of the peripherals at its request. They demand some immediate action on the part of INTERUN. The information transmitted becomes a part of the current instruction of the receiving computer and therefore causes some action, or preparation for it, to take place. The transfer of direct instructions from the primary to an INTERUN unit need not involve a complete program. It may as wen consist of the insertion of a new instruction word into the instruction register of the interface, or a transfer of data between the storage of the two machines. Such a transfer could obviously happen in either direction, but given the relative memory sizes the frequency will be greater from the periphery to the center-except in special cases. The design features OfINTERUN answer the most urgent questions concerning a transmission system: • How can the transmission of data from distant points be ensured? • How can data be stored and processed? • How can data be supplied to the required point? However, the choice of the exact configuration of a unit requires careful study: • • • • •
Of the Of the Of the Of the Of the
data flows created by computers output capacity of networks optimum structures of the network provision for communication equipment and control apparatus determination of economic gains.
The versatility built into INTERUN allows the machine to concurrently receive and send information while performing certain basic sort and merge activities. A chemicals manufacturer, for instance, can install INTERUN units at each of his factories. These units will maintain separate cost factors for each plant, with each direct-listing index composed of, say, four to fifteen component factors covering cost of crude material, manufacturing labor, and
94
PART II. DATA COLLECTION AND TELETRANSMISSION
maintenance. Assuming that some 1500 items have been broken down to about 7000 quality variations, this gives a sizable amount of factors that must be maintained. The necessary operation could be accomplished through a matrix. approach, by effecting any change to an item at its first level of usage and carrying the new cost into all intermediate and final goods using this item. INTERUN handles the necessary data collection activities and a basic part of the calculation. Assume further that, at each of the subject factories, some 40,000 transactions per month are required to reflect the movement of material from purchase through final product. In this case, data processing will be done by the central computer at the company headquarters, but INTERUN can classify transactions by nature, type, and inventory account before forwarding. This allows for a quick checkup of the particular inventory to be affected. Other data can also be added to the foregoing as they come, so that a realistic ending balance can be run monthly at the center. Ending material balances for each inventory will then be regularly updated, with all changes to standard cost factors reflected. Analytic costing and inventory follow-up are two fairly good examples of the "parallel" operations that could be performed by INTERUN on a timesharing basis, with physical on-line process control. Automatic messages between the interface and the central processor can be established through a concurrent trunk coordination system, used to regulate the transfer of information back and forth between the external and internal storage units. These input-output and intermemory trunks are independently operating units, able to receive special instructions, which actuate a specific number of words for being transferred between storage locations inside or outside the network. Other companies could use INTERUN in establishing a completely automatic order processing and inventory control application. Distinguishing orders from routine messages, in one simultaneous move INTERUN records the order and checks inventory, transmitting the results to the central processor for further action. This might involve the issuing of shipping instructions to the warehouse closest geographically to the customer, the preparation of invoices including discounts and taxes, and the sending of stock replenishment reports to points concerned if the item ordered is out of stock or reaching a low quantity level. At the end of each day, the order entry program could initiate daily accounting and financial control reports, while information for billing analysis is collected for each manufacturing division and price realization reports, tax reports, billing vs. cost reports, and analysis are prepared for the responsible personnel. For immediate reporting purposes, INTERUN data at the central computer installation can bypass the data processor using a long-distance data
v.
DATA COLLECTION PROBLEMS
95
transcription system. This system consists of a document scanner on the sending end, and broad-band transmission link (microwave channel, coaxial cable, or special telephone lines) and a document printer at the receiving location. Once fed into the scanner, an image will be converted into electrical signals for transmission over broad-band communication links. When the signals have been transmitted and received, they will be converted back into light images and the document reproduced in the printer.
Chapter VI CONVERSION METHODS
In Chapter V, we have spoken about data collection activities. The sensory devices for data collection are attached to the process itself. Signals from the process transmitted by, say, air pressure or some other nonelectrical medium will be transduced, i.e., converted to electrical signals. Electrical analog or binary signals from instruments or transducers will then be connected to the terminal units. In addition to measured values, the status, whether open or closed, contact or switch, the presence or absence of a pulse connected to the terminal units, must be "sensed" by the computer. This brings forward the subject of data conversion means and procedures. The functions of the analog-to-digital converter, which will undoubtedly constitute an integral part of a process control ensemble, are easy to define. This unit converts the input analog signals to digital values for use by the on-the-process computer, while the interface system performs other computations. Conversions can be made into either decimal or binary members, plus sign. The precision should, obviously, be consistent with current-day instrumentation and application technologies. An example of the impact the choice of the conversion would have is given in Fig. lea). This is a graph of an analog signal. The abscissa is time and the ordinate a digital code to represent the output at each time interval. Decimal digits equivalent to a 4-bit binary code represent the relative amplitude of the signal, and lit I would be the conversion rate. The effect of doubling the rate of conversion and using higher density in place of a 4-bit code for recording the height of each interval is shown in Fig. l(b). By increasing the conversion rate, more samples are taken per unit time, thereby giving a closer approximation to the analog signal. This increases the accuracy of the amplitude reading. A 4-bit code gives an accuracy of 1 part in 16, a 5-bit code I part in 32, and a lO-bit code I part in 1024. Furthermore, one of the most common errors in the regeneration of time
96
VI.
97
CONVERSION METHODS
14
6
4 2
't
12
13
14
-----------------
In -
(0)
28
12 8
4 OL......L~~....L...L....L--'-..J....JL...J....l-J--'-....L-L.......L--'-.L....L....L...L....L--'-:!__'"............
~~~-------------------~(b) FIGURE
I
series based on sampled data is due to defective approaches to interpolation. By definition, an interpolation error is the amount of variance between the original data and the approximated output continuous curve. This can be exemplified by the mistakes made when a human element proceeds with curve fitting on an obtained digital output. Errors of approximation are best exemplified when we perform linear interpolation: connecting two points with a straight line, we accept the probability that deviations do exist between the realized curves and our
98
PART II.
DATA COLLECTION AND TELETRANSMISSION
drawings. The error depends on the distance in time from the last sample and to the next. A common interpolation process today is the use of a step function. This involves the assumption that data values remain constant between samples and jump to the new value when the new sample is obtained. Another method of interpolation is through the use of filters for analog readout: the digital output is converted back to voltages, and the step voltages are fed into low-pass filters. The obtained output is an analog representation of the original function; its accuracy is influenced both by the sampling scheme and by the filter. Less cryptically, this means that errors can be produced during the sampling time and between samples; with this, the continuous curve output of the filter may not go through the original samples. Finally, another method of interpolation calls for the usage of on-line data processing media to help determine secondary points between the samples. In the latter case, not only the two immediately neighboring samples but also other data (both before and after the subject point) are taken into consideration. Other aspects must also be brought into perspective. The correct approach to the practical side of analog-to-digital conversion techniques, for one, calls for the analysis of the effect of errors in quantizing. The analyst must be aware of the errors in controlling sampling rates; these errors may be viewed as additional sources of noise in quantizing. A type of quantizing error results when it is not possible to distinguish accurately the boundaries between zones of a code disk, or if these are errors in the transmission of coded information. The quantizer itself may be considered as a source of random additive noise that obeys the generalized sampling function. Mathematically, the distribution of the sum of two independent errors is the convolution of their distributions. The use of mathematical statistics can be most valuable in this respect, not only in establishing proper sampling race but also in error detection and correction. * Self-checking codes can permit the automatic detection of errors that may occur in processing between transmitter and receiver. Self-correcting codes permit not only the detection of such errors but also their correction, in order to restore the message to its initial configuration. Similarly, output electrical analog signals representing control actions determined by the computer need to be connected at the terminal units to the devices or controller set points to be operated. Plant pumps, motors, relays, bells, and visual alarms to be controlled by the system will be connected to the terminal units for operation by plant voltages switched through computer-operated relay points. The digital-to-analog converters that will exist at the output line have the task of converting computer-determined set
* See also the
discussion on parity checks in Chapter IX.
VI.
99
CONVERSION METHODS
Actuation of visuol displays Trend indicators
Alarms Annunciator ponel
1.
Potentiometers Tochometers Thickness gages Strain gages Transfarmers Analyzers Thermocouples
I
~_~A
-----~)
Direct line to a master computer
~\
Process parameters Alarm settings Set points Manual data (
(
Recards
A
~\
Controller set points Specia I regulators Relay closers Valve actuators
Indirect transmission media Printed output Punched tope or cards
FIGURE
2
points to electrical analog signals and maintaining the signal while the computer performs other computations. Figure 2 presents the black boxes of a data control system including families of pickup elements, an analog-to-digital unit, the on-line computer, a digital-to-analog converter, and families of effector units, in what might be a "typical" connection.
D\'NAMICS OF SIGNAL PROCESSING Until very recently, on-line control was done with analog devices. This is the first approach to man-made media, since, not long ago, control was performed exclusively by human operators. Human operators can be considered as an analog device, though they use digital information for their action. Figure 3 gives the block diagram of an analog-to-digital converter: (a) through human linkage, (b) and (c) automatically.
Human
lI
~le }'Iemenf\.
FIGURE
3
(b)
(a)
IJ
Digita I output for further recording and transmission
t
I R}'O'
Sequencing
_~T~gger
Recording and possible transmission
(serves both as a controller and as a register)
settings
Comparator
t1\
Elemental conversion to digital (e.g. through a dial)
f
Reference source (analog)
(c)
Reference source
To .recording and transmission
sZ
en en
s:
en
Z
;J>
~
t"'" tTl -l
rn
-l
zc;I
;J>
o
-l
-z
o
tTl
rr-
o o
c;I ;J> -l ;J>
-l
~
;J>
-e
8
......
VI.
CONVERSION METHODS
101
Special characteristics concerning the human operator are critical factors in the design of man-machine control systems: • The gain exhibited by the human is highly variable. • Learning affectsthe process variables in an unfavorable manner in a variety of cases. • The human is limited in bandwidth. • The fatigue effects tend to provide major perturbations in the process. • The precision with which the human performs as an analog operator (integration, differentiation, summation) is very low compared with the performance of simple electronic or mechanical elements. • The human is a source of noise, which is found to be of high frequency. When man is operating as a closed-loop system element, frequencies will be found in the system which do not originate in the input, and which arise either within himself or as a result of his interactions with the machine elements of the system. To obtain a reasonably good man-machine system performance at low frequencies, research has shown that it is desirable to provide very high system gain at these low frequencies, and to maximize the gain provided by the human by designing in such a way that he need not provide phase advance to make the system stable.* Whenever insufficient gain is provided by the mechanical components of the system at the input frequency, it will be necessary for the human to provide this gain by acting as an integrator. The human is generally far less precise than machine components in performing some of the functions required in control systems. His characteristics include the tendency to generate a substantial amount of unwanted inputs in interaction with other system components. While the human continues to be a necessary system element, it is generally possible to reduce the order of the transfer function required of the human, and also to desensitize the system to his noise and inaccuracy. At least the following four critical factors have been answered in an able manner through digital automation: • Gain, and its variability • Transfer characteristics, or relationship of gain to frequency • Noise generated within the control element • Accuracy in control action. But in a numerically controlled system, the physical quantities must be converted to digital information before they can be accepted by the digital computer. Physical quantities can take the form of, e.g., pressure, range, velocity, torque, voltage, or frequency. Most converters available today fall into three classes:
* See also, "Introduction to Product Planning."
102
PART II.
DATA COLLECTION AND TELETRANSMISSION
Fixed -frequency pulse generator
1I11
..
11 1 1 !
Proportional time interval (0)
Proportional frequency
I r 1111111111
""'-"rn,-lot,,,,1 generator
..
~~~
L..J
~
----,,-1 (b)
FIG. 4. (a) Time-to-digital conversion; (b) frequency-to-digital conversion.
• The absolute digitizer generates complete digital code at each position. • The incremental digitizer records incremental changes only, and the absolute measurement is obtained by accumulation. • Thefrequency conversion digitizer records a pulse or cycle repetition rate proportional to the measured quantity produced. Figure 4(a) shows a means of obtaining digital information when the physical quantity is a time interval. When the quantity is frequency, the system shown in Fig. 4(b) can be used. As far as the black-box design for analog-to-digital processing is concerned, a sample and hold unit may be included as an optional item depending upon the frequency of the input signals to be digitized. Among the critical factors that help characterize a black-box we distinguish: • Code • Analog input • Input impedance • Mode of operation • Accuracy • Maximum conversion rate • Total control inputs • Output signals • Voltage levels for all output lines.
VI.
103
CONVERSION METHODS ~
.... 'b
The process
AID Converters
~
'"
~
I
Q-Q-Q-g~ Monuol inputs
..
~~
Input coordinotor
and shift register
FIGURE
rr: Coordinator-
Set points
5
Consider NABU* as an example. This unit has thirty input and thirty output channels available. Channel selection can be directly dependent on program instructions, or, by means of modifiers, dependent upon the results of previous operation. The value of this approach is apparent when the unit is used in a data-logging and process control role. Figure 5 illustrates the flow of information in the "data collector." Sensors, located along the line at the applications site, convey information to the logical circuitry. Two independent counting systems are provided with cross checking and continuous comparison. If either counting system fails, the other continues to provide the correct answer. Hence, the counting section
* Fictitious machine
name, after the God of Babylonian science.
104
PART II.
DATA COLLECTION AND TELETRANSMISSION
of the equipment can be serviced while the unit is still in operation. Electronic and mechanical failures of the data collection and conversion equipment left aside, there is always a chance of transient errors. The majority of such machine errors affect only a single binary digit in any word, and this fact permits simple automatic checking of the most critical parts of a processor. NABU design reflects a fundamental requirement to all time-division communication systems: bit synchronization and word timing. The receiver possesses information as to the basic data rate as well as word separation information in order to correctly interpret received data. This in turn means that the transmitter must code its message accordingly. The timing or bit synchronization information can be recovered from the zero crossings of the incoming waveform. If the bit train consists of non-return-to-zero pulses, then some number of transitions per word are necessary to provide the zero crossings. Word synchronization is accomplished by employing a number of the bits of each word as a recognizable pattern which the receiver identifies for each incoming word. Because errors can change the information bits mentioned, data transmission solutions have been worked out to obtain a proper balance between fast acquisition time, which allows a finite error rate, and appearances of false data patterns due to the "allowed" error rate. A high data rate with a low error rate has been achieved by application of two basic techniques. The first is a careful filtering of the digital information signal and the modulated carrier signal to generate a spectrum that matches the passband of the communications system. The second is the synchronous regeneration of the digital signal by sampling the receiver output at the midpoint of the digit interval to make a binary decision on the state of the transmitted bit. Filtering and use of single sideband techniques insure optimum utilization of available bandwidth. The analog-to-digital gear of NABU provides a method for converting shaft position to binary numbers. This is accomplished through a binary coded commutator disk using a double set of pick-off brushes to eliminate ambiguity. To reduce mechanical complexity and accuracy requirements, this gear is designed to use an all-electronic switching scheme. A brush may be shifted to an angle equal to full cycle on any track without changing its electrical output.* The converter carries eight binary digits on the input shaft, thus producing 256 binary counts per revolution of the shaft. Its range can be extended by use of additional bit code disks, appropriately geared to the first. The scan brushes can be placed in relation to the code disk pattern so as to facilitate serial readout and obtain complements. The commutator disk has a number of concentric rings corresponding to
* See also discussion in the
following section.
VI.
CONVERSION METHODS
105
the weighted values of the brush location. The 8421 binary-to-decimal code is used. * The code disk is separated into divisions, producing a corresponding range of coded numbers, The obtained output data are first transmitted to the "input coordinator" of NABU from where they are channeled to the twin "counter and memory" (Fig. 5). The input coordinator labels this data. Depending on the heading the data carries, it can be directly teletransmitted, used locally for a printed log, or simply recorded on magnetic tape. Logical circuitry at the analog-to-digital converter level performs the necessary function of choosing the leading or lagging brushes for all tracks, thus providing unambiguous output signals for all the coded parts on the disk. The same basic circuitry is applied to obtain the binary-coded-decimal (BCD) representation of the shaft position, though the interconnections between the units are different. The output data may also be obtained in parallel BCD form, if it is desired. z
y
x FIGURE
6
The method used to implement the switching circuits, to obtain the unambiguous binary number from the converter, is dictated by the requirements of the unit that accepts the digital information. A flip-flop is used to generate the output of the converter in a serial form. Figure 6 shows a transistor emitter with Boolean variables X, Y, Z. t Let us define these variables to be high on "I," e.g., when they are essentially at ground potential, and low on "0." The following logical equation is true: Z=XY' The converter has the necessary polarity of signals to be compatible with the logical equation. When its common lead is grounded, or "I," the output of each brush will be a "I" when the brush is on a conducting segment ofthe commutator and will be at a negative potential, or a "0," when the brush is on a nonconducting segment of the disk. When reading the code disk in a serial mode, a one-digit memory must be provided for the digit "n - I" so that
* For binary-to-decimal codes see Chapter IX. tFor a discussion on Boolean algebra, see Chapter X.
106
PART II.
DATA COLLECTION AND TELETRANSMISSION
proper brush selection can be made for the digit "n," This effect can be provided by a flip-flop, while a set of scan signals will also be necessary. With respect to operations, the flip-flop will be controlled to generate an unambiguous serial binary number in the form of its output voltage states: A, A', with the least significant digit occurring during each pulse position. The necessary brush selection signals can be provided by the output of the flip-flop to its input gating network. Though these features of the NABU analog-to-digital converter are not unique, they have nevertheless been designed for dependability of output. At the other end, digital commands from NABU are transmitted to the digital-to-analog converters via an interbuffer. These converters incorporate gates that provide for parallel digital inputs. Addressing of the individual channels is performed by lengthening the interbuffer to include a converter address. The address is decoded to select the particular digital-to-analog converter. Transfer of contents of the interbuffer is signalled by an end of each shift of information. This transmission can be accomplished over short or long distance lines. For digital-to-analog conversion purposes, NABU provides high-speed media. As an example of the mechanics, a simple low-speed approach of making this conversion will be explained first, then the electronic conversion gear will be considered. The digital output pulses 11101 represent the following number in decimal form: I X 24 + 1 X 23 + 1 X 22 + 0 X 21 + I X 2° = 29. All that is needed for conversion is a method of adding the pulses taking into account the correct power of the base. This can be performed by a circuit, as shown in Fig. 7.
~ ~-----=1
,.
Analog output voltage
lTSV L.c
1 •
-----------:Jf4V
1 ...
a ...- - - - - - - - - - - - - - - , 1 ...- - - - - - - - - - - - - - - Digital input FIGURE
7
The digital voltage is used to actuate the relays so that if a signal is present on a line the relay will close and introduce the voltage to the correct base into the analog output signal. In this example, relays one,
VI.
CONVERSION METHODS
107
three, four, and five are closed. This puts 29 volts onto the output terminals, which is the decimal number 29. Bythis means each digital group that appears on the relays is converted to an equivalent analog signal, and therefore a series of digital pulses of the same height have been converted to a single analog pulse, the height of which depends on the magnitude of the digital group. NABU disposes electronic converters using the same techniques, providing 100,000 conversions per second. The relays are simply replaced with transistorized circuitry that gates the standard voltages, depending on the incoming signal in a summing amplifier. The outpu t of this type of equipment appears as a series of plateaus since the output is held constant until the next digital signal is converted. To obtain a smoother curve, this series of plateaus is put through in integrating circuitry. This operation is shown in Fig. 8. The interbuffer is a shift register, which is used for intermediate storage. Data are entered serially from the digital computer for transfer in parallel into the digital-to-analog converters. The data linkage system may be almost completely under NABU control, through one of its units which runs through a sampling cycle periodically under control of its own clock. The type of component unit required depends on the application requirements. In the area of data recording, NABU can: • Print any or all measured variables and alarm limits on demand • Record a large number of variables periodically • Monitor performance by computing efficiency factors and print results. The operations are performed simultaneously while data logging and supervising on-line plant operations; monitoring input variables and comparing readings or calculated measurements to fixed or calculated limits; actuating an audible or visual alarm whenever a measured variable exceeds limits and print out the identification and actual value, and the like. The unit also performs normal plant startups and shutdowns, and executes emergency shutdown when instructed by the central computer.
MECHANICS OF ANALOG-TO-DIGITAL CONVERSION
To further explain analog-to-digital techniques, which have been briefly reviewed in the preceding section, some selected conversion methods for analog and digital signals will be presented, namely: • Feedback encoding • Magnetic encoding • Time-base encoding
108
PART II.
DATA COLLECTION AND TELETRANSMISSION
o Format ,
clock
Inter -buffer
I
~I
I
Address decoder
I
I ~ --lOlA Converter I a. 1! --lolA Converter I --lOlA Converter I --lOlA Converter
I
I-
I
Level change
t
Settings FIGURE
8
• Spatial encoding • Improved encoding masks. All of these approaches in converting analog information to digital form have both advantages and limitations. The commercial versions of these devices are produced by several companies in various forms to meet the requirements of different applications. Since many of the variables, such as temperature, pressure, and shaft rotation, vary at a slow enough rate to make the mechanical converters usable, there are many in use, but some applications require the higher conversion rates of all electronic equipment to accurately represent the function. In all, the selection of the proper conversion method and equipment becomes a matter of technico-economic analysis. Feedback Encoding Feedback encoding can be operated with high accuracy when the analog signal is converted to a binary code. The voltage to be measured must be clamped during the conversion period because the analog voltage must be constant while the comparison is being made with the "binary" trial voltages. Figure 9 shows how a voltage might be converted to a binary code. The
VI.
109
CONVERSION METHODS
unknown voltage (30 volts) is compared with a trial voltage of 32 volts. The highest trial voltage must be larger than the largest value of the analog signal. For this comparison, no signal is emitted if the trial voltage is larger than the analog voltage. Next, a reference of 16 volts is compared with the unknown voltage, a pulse is emitted because the unknown voltage is larger; the difference (30 - 16) voltage is then compared with the next reference of 8 volts, and if the difference is larger than this value, a pulse is emitted. The output for a voltage of 30 volts is 011110, as shown in Fig. 9. The pulse output is recorded in serial form. The speed of this type of encoding can be made very high, and by using electronic beam switching tubes, the conversion rate may be as large as 105 to 108 per second. For slower conversion rates, stepping switches may be used to apply the successive trial voltages. One disadvantage of this method is that extensive logical circuitry is required to reject and subtract the trial voltages. Magnetic Encoding Magnetic encoding can employ a binary coding system and a scan readout. Figure 10 presents an example. The sensing head is partially embedded in the head mounting plate. A magnetic field is produced by energizing the field coil. A "code disk" on which the natural binary code has been ultrasonically embedded rotates in the air gap of the magnetic circuit. The 32
Level of
-----
tncl vottcqe
30
Emitted pulse
Lt. ----Y.
16 14
I. t.v.
8
e.p.
6
_L!.~
4
__ e.p.
--,"'T-- ------
2 I
o
o FIGURE
9
110
PART II.
DATA COLLECTION AND TELETRANSMISSION
n
Rotor
R
Code disk high spots
Code disk low spots FIGURE
10
impedance of the sensing head is varied in accordance with the machined pattern on the disk. When a high segment on the disk virtually closes the air gap, the sensing head core is saturated by the field coil flux and the head winding has a low impedance. When the gap is opened by a low segment on the disk, the head core is no longer saturated, and, as a consequence, the disk is able to modulate the driver signal, creating the proper output. The requirements of the encoder help determine the field coil power supply and driver frequency. In itself, the readout circuitry may depend upon the length of cabling, the buffer storage input requirements, certain time sharing conditions, and operational characteristics such as speed and environment. The output from the magnetic digital-to-analog conversion is changed into a square wave. A diode linear detector is advisable for this application since the diode may also serve as an isolation gate if time sharing requirements develop.
Time Encoding Time encoding is probably the most highly developed method of converting signals from analog to digital form. A linear sweep circuit and a counting circuit in simultaneous operation are required to provide the analog-to-digital conversion. Figure 11 shows a time-base encoding approach. The linear sweep traces up to some voltage level higher than the analog signal, while the time required for the linear sweep to move from the reference level 1 to the amplitude of analog signal 2 is proportional to the analog signal amplitude. The time can be measured by a counting circuit composed of flip-flops.
VI.
CONVERSION METHODS
FIGURE
III
II
When the sweep voltage compares with reference voltage (1), a clock pulse generator starts feeding a counter; the count is maintained until the sweep voltage intersects the analog signal (2), at which time the counter is read. The number of clock pulses that pass through the gate in the time interval (t 1) is read out of the binary counter, and a direct analog-to-digital conversion results. The point at which the sweep voltage and the unknown voltage intersect can be determined by a voltage comparator circuit. The comparator circuit compares the sweep voltage with the analog signal, and when the two are equal generates a pulse which reads out the count on the flip-flops. The clock pulse generator can be a multivibrator or a crystal controlled oscillator. The limitations of this system would seem to be the interval of sampling and the allowable frequency ofthe clock pulse generated. The interval ofsampling is controlled by the sweep frequency. The number of counts in an interval is fixed by the clock pulse generator, which gives not only the magnitude of the signal being digitized but the exact time it is being measured. The basic advantage of time-base encoding is the simplicity of the circuitry. Spatial Encoding Spatial encoding essentially implies the use of geometric representations of digital codes to perform the transformation. The code patterns may be arranged, as shown in Fig. 12, radially on disks or on rectangular masks which are used in conjunction with other mechanical or electrical devices to accomplish the conversion. We made reference to this type of analog-todigital conversion when, in the preceding section of this chapter, we discussed the mechanics of the NO encoding scheme of NABU. The masks for the binary code shown in Fig. 12 are capable of expressing only sixteen different decimal numbers, but in actual usage there are more columns so that higher numbers may be expressed; the magnitudeofasignal is indicated on these masks by the horizontal line that is crossed in the pattern by the analog input. The complete conversion system may be entirely mechanical, such as a wheel with a raised code pattern and brush contacts, or it may be electromechanical using a mechanically positioned code disk and electronic means
112
PART II.
DATA COLLECTION AND TELETRANSMISSION
o D CJ
~D DO
1111-15 1110 - 14 1101 - 13 1100- 12 1011 - II 1010 - 10 1001 - 9
CJ CJ CJ 6~??= ~ CJ g:b?= ~
DD ,. . . .,
0100-
L - I 0011 -
CJ
0010 0001 ססoo
4 3 2 I
- a
(0)
(b) FIGURE
12
to read it, or it may be entirely electronic using a cathode ray tube and photocell combinations. An all electronic converter described, that uses a rectangular mask, is presented in Fig. 13. In the ND gear, the analog signal to be converted is applied to the vertical deflection plates of the cathode ray tube, the greater the magnitude of the signal the higher the trance will rise behind the mask and, therefore, the higher the output digital signal as read on the face, the lowest signal would be zero «()()()()()()) and the highest 63 volts (111111). A recurring sweep is placed on horizontal deflection plates and the photocell sees a series of pulses that are the digital representations of the analog signal. The output is not a constantly changing digital signal but a digital signal that is read at specified intervals, because the input signal must be held constant during the time of a horizontal sweep or the signal would cross several horizontal lines and give an ambiguous reading.
1==~~Pl
Vertical analog input
Coding mask Horizontal sweep
Digital output
Electronic spacial encoder
FIGURE
13
VI.
CONVERSION METHODS
113
Since the input analog signal is held constant, the information in the analog signal that occurs during the time the signal is "clamped" at a certain level is lost. The conversion rate of this type of system is limited by the cathode ray tube and the photocell to around 25,000 per second. If a monoscope tube containing a permanent photographic binary mask as its target is used instead of the foregoing system, the rate may be increased to around five million conversions per second. Another source of error exists in this circuit: if the input voltage is just large enough to lie between two horizontal lines on the mask, an incorrect reading may result. This limitation may be overcome by using a cyclic mask, as shown in Fig. 14,in lieu of an ordinary mask. This form offers the advantage that there are no "cracks" to cause trouble. Since the code is ofthe reflecting form, no more than one digit ever changes at a time in progressing from one number to the next. As the reader may remember, in the binary code as many as three digits may change at one time, therefore, the maximum possible error is relatively large. This cyclic code presents one problem in that it must be reconverted to ordinary binary code to be used in other circuitry.
~D
0
1000 10 0 1 1011 1010
15 14
O Do iii:
13
0110 0010 0 0 11 0001 0001
4 3 2
1100 0100
D g:~:
0
Cyclic mask
i2 II 10
9 8 7 6
5
I
o
1111 1110 1101 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 0000
= = = = = = = = = =
= =
= = = = Redundant mask
FIG. 14. Improved coding masks.
Improved Encoding Masks Improved encoding masks can take different approaches, one example being the "redundant mask." The "redundant mask" has an extra column that has marks only in the "cracks" ofthe mask, as shown in Fig. 14, so that if the input crosses one of the redundant marks first the input voltage is raised by one-half of a division and the reading cannot be ambiguous. If the input does not cross a mark it will be in error by only half a division. Another example of an analog converter is the "angular position encoder," which uses an electromechanical arrangement. The system samples the angular position of the shaft using a glass disk containing a cyclic code pattern of transparent and opaque areas and a light source that is pulsed by the revolving disk as shown in Fig. IS. The light passes through the disk, at transparent areas, to the reading slot and then to the bank of photocells.
114
PART II.
DATA COLLECTION AND TELETRANSMISSION
There is one cell for each track on the disk. These cells indicate an output only when light reaches them, and thereby give a digital representation ofthe shaft position. This system using a 13-digit code can sample at the rate of 60 per second for the shaft turning the disk at 360 revolutions per minute.
Cyclic glass encoding disk
Photocells
Slit FIG.
15. Angular position encoder.
Chapter VII DATA CARRIERS
As far as real-time operations are concerned, it is fairly correct to state that solving the problem of sensory pickups answers only a few of the questions concerning data techniques for systems control. The collected information has to be transmitted, and for this operation a satisfactory data-carrying network must be established. Sometimes the information has to be transmitted over long distances, through units able to bring high-speed digital communications to computing systems. These are usually composed of input-output media, of a control part, and of a modulator-demodulator device. INTERUN, which we considered in Chapter V, is such an example. By the middle of 1965, for example, a leading railroad system unveiled a 30-million-dollar control and coordinating center. This installation emphasizes three significant developments: • It claims the world's largest privately owned microwave communications
system, with the exception of systems owned by communications companies. • It has a centralized computer complex that is described as the largest in the railroad industry. • A new long-distance Xerox system permits large volume facsimile transmission between freight yards, terminals, and the Atlanta Computer Center. It has been announced that this system is able to handle 85,000 messages daily on car movements and will cover 50 freight yards. Available almost instantly will be information on location, destination, and loading data on any of the railway's freight cars. Applications of this type are among the forerunners of the unified operation which, we expect, will constitute the
115
116
PART II.
DATA COLLECTION AND TELETRANSMISSION
majority of the information processing installations in the early seventies.* At the present time, the application of remote input-output devices associated with computers remains limited, largely to the terminal equipment of common carrier lines. Little use has yet been made of well-established microwave techniques for computer-to-computer communication over long distances. Yet to be exploited are recent laboratory advances, including, under appropriate circumstances, the application oflasers, with the prospect of a vastly expanded data communications capacity. Considering the mounting need and the advanced technical potential of data transmission, it is likely that remote computer-to-computer communications will rival remote person-to-person communications before another decade has passed. It is equally likely that all electronic data processing will by that time be made through real-time systems. This will demand on-thespot devices capable of absorbing data as it is generated, reading out at pre-established rates. Such devices will function within integrated networks linked by private high-speed communications. Processing along these lines will be in sharp contrast with present-day practice, where leased telephone or telegraph line is the most widely used facility.
DATA TRANSCRIPTION FOR TRANSMISSION PURPOSES
During the last ten years two basic carriers have been used for the transmission of data: paper tape and punched cards. Paper tape transmission over telex or telegraph facilities has given good results, whereas punched card transmission has been practiced over leased telephone lines.t To speed up data transmission, developments centered around magnetic tape-tomagnetic tape and direct memory-to-memory communication. Either magnetic or paper tape buffer storage can be inserted into most data communication systems (Fig. I). These buffers can operate at the data source, the destination, or both. Tape buffering at low-to-moderate data rates introduces no special problems, but atthe higher data rates, where synchronous operation is required, the variations in data rate introduced by the mechanical portions of the system can become serious. Rapid variation
* For a discussion on the usage of data networks in the railroad industry see Chapter XXXIII. One important subject to be emphasized is the formidable sales engineering task implied by systems work and the industry of information electronics at large. We treat this subject in our book, "Sales Engineering." Cassell, London (in publication). t As of recently, with high-speed paper punch units (up to 1200 bauds), paper tape transmission over telephone lines is given a new perspective. In France, for instance, paper tape-to-paper tape is preferred for use with telephone networks.
VII.
117
DATA CARRIERS
Modulotor unit
t
A
(
\
Tetetrcnsrnission media
I..
)
V
Demodulator unit
FIGltRE
I
detracts from the communication margins unless the data is time-regenerated between taping and transmission. Long-term speed variations can be eliminated by applying a servo correction to the tape speed or by employing a clock at the receiving terminal which is capable of slaving in frequency over a comparatively wide range. Medium rate variations can cause the time position of a given signal to shift in excess of a full bit length. Again, current technological developments make possible the usage as terminals not a direct tape-to-tape transmission but one accomplished through memory-to-memory interfaces. This can be brought about through the usage of small-size tape-oriented computers at the terminal points, or of data synchronizers with core memory availability. Furthermore, transmission of facsimile and voice information can readily be accomplished with digital techniques, provided the digitization rate is high enough to achieve satisfactory resolution of the picture or voice. A schematic diagram of the operation is shown in Fig. 2. But the digital error rate in this application can be relatively high. At present, paper tape is used mainly for transmission of messages, but in the near future the greater proportion of such transmission will probably be taken up with data for business use. Equipment now available allows faster speeds to be obtained through the use of paper tape over telephone facilities. A unit recently brought out on the market is designed to make punched card data available at a central terminal from a remote location. This works in
118
PART II.
Feed back for checking purposes
DATA COLLECTION AND TELETRANSMISSION
Voice transmission medium \.~----- ~----~)
y
FIGURE
2
connection with wire communication facilities, over existingtelephonelines. Data are entered into the unit from punched cards, or they are keyed directly. Data are transmitted from cards and magnetic tape through the core storage of a computer. They may be transcribed on cards, magnetic tape, or printed reports. Depending upon the volume of data, the frequency of transmission, and the amount of voice traffic, either toll or private lines can be used in connection with these data transmission units. Transmission over voice lines is accomplished by connecting the seven bits of a coded character, recorded in parallel. Binary notation may be used. Records transmitted are, preferably, between 300 and 1000 characters in length.* Some interfaces
* Our reference to these quantitative indicators, and to the bits-per-second and pulseper-second speeds discussed in the following page, is in regard to earth-bound systems. Space research, for one, may reveal quite different dimensions: while a 3OOO-character-persecond transmission is good enough with earth-based systems, considering present technology, the use of satellites multiplies this rate by a factor of between 102 to 103, bringing it up to some 1,000,000 characters per second.
VII.
DATA CARRIERS
119
would accept variable block lengths, down to 128 characters per block. The main expected development in punched card operation is a higher transmission speed. Developments along that line will, however, be shadowed by the expected generalized use of magnetic tape for transmission purposes. The inclusion of magnetic tape in the field of data transmission is particularly important because of the input-output times characteristic of computers. Direct computer input is relevant in four main application areas: • First, it applies to the small user whose loading on his equipment permits him to work the main computing system in off-peak hours as the data terminal sets itself. • Second, it is important to those who have problems that must be solved instantaneously, in seconds or less, for example an airlines reservation system, which must determine instantaneously such factors as seat allocation in response to an inquiry. • Third, it is critical in the remote usage of central facilities equipped with large-scale computers. Today practically all firms offer direct input as a standard feature on certain of their computers. • Fourth, most large-scale systems will normally function on a multiprogramming basis. These developments point to a substantial increase in transmission speed. The subject of parity checking for accuracy of transmission, therefore, becomes more than ever relevant. In most systems, data are checked at transmission and reception, and also for errors caused by any interference during transmission. Such checks include character validity, bit count, character count, and bit parity. Let us consider a system designed and built for data transmission through telephone lines, which helps eliminate equalization networks. It consists of a transmitter converting binary pulses to an audio frequency signal, which can be transmitted and demodulated at the receiving end with a maximum error possibility of one bit in one hundred thousand. Phase reversal modulation is used to produce a signal whose essential frequency components all lie within the delay distortion-free portion of the phone spectrum. * The digital data is carried by the axis-crossing of the modulation carrier, rather than the voltage levels, to minimize the effects of gain fluctuations. Synchronous detection and filtering at the receiver minimizes the possibility that impulse noise will mask an entire bit.
* A distinction should be made here between frequency and phase modulation. In Europe. for instance. CCITT normalized frequency modulation for transmission on dialed lines up to 1200 bauds. This induced certain American manufacturers to limit phase modulation at higher speeds.
120
PART II.
DATA COLLECTION AND TELETRANSMISSION
Within the transmitter, the processing is accomplished in three steps: • Input • Code translation • Phase-reversal modulation. These steps are controlled by a timing generator. After conversion of input to serial form for transmission, data is gated to a 5-bit shift register by a 2400-pulse-per-second timing pulse train and then transferred through a translation matrix after every fifth bit to a 9-bit shift register. The contents of the 9-bit shift register are gated out by a 4320-pps pulse train. This effects a continuous flow with 9 bits leaving the 9-bit register for every 5 bits entering the 5-bit register. Each 5-bit code group is translated to an equivalent 9-bit code group chosen so that no consecutive "ones" occur.* In the phase reversal modulation step, the 9-bit code groups are then gated to a "ones crossover" flip-flop that transfers on negative-going pulses. This happens only on the trailing edges of "ones" pulses. Since no consecutive "ones" are possible, no more than 4320/2 or 2160 crossovers per second can be produced. By using the "ones crossover" of translated data to reverse the phase of the 216O-cps carrier, the required signal bandwidth for transmitting a data rate of 2400 bps is companded to 2160 cps. When the modulated carrier is filtered to match the 300- to 3OOO-cps band pass characteristic of the typical phone line, the signal then consists essentially of 1080-cps half-cycles representing "zero-one" sequences and 2160-cps half-cycles representing "zeros" not followed by "ones." The transmitted signal then fits into the delay distortion-free portion of the typical phone line spectrum between 1000 and 2200 cps. Since phase rather than amplitude is significant, the received signal is amplified and then limited to a constant amplitude signal to minimize the effects of gain fluctuations or fading, preserving only the axis-crossing information. Only a few millivolts input to the receiver is necessary to detect axis-crossing. The received signal is also split into another channel, delayed by a l-bit time interval (1/4320 second), and then amplified and limited to the same amplitude as the undelayed signal. The delayed and undelayed signals are presented to opposite sides of a bridge-type synchronous detector that generates a "one" when the two signals are in phase, and a "zero" when they are not. The output of the transmitter-bit shift register is thus recreated by the receiver synchronous detector. To keep the receiver in step with the transmitter, axis-crossings of the synchronous detector output are used to excite a 4320-cps tuned circuit in the * This example is, of course, applicable to a system working on 2400 "bauds" or bits per second.
VII.
DATA CARRIERS
121
coherent timing recovery circuit. Pulse trains of 4320 and 2400pps are derived to control the translations of the 9-bit code groups back into the original 5bit code groups, which are then reconverted to parallel format. Another teletransmission device will operate as on stored-program inputoutput control basis, to accept data from several types of remote terminals over transmission networks, convert the data to machine language, feed it directly into the system for processing, and return data to the remote location. The unit has the capability of determining priority and has a magnetic storage of up to several thousand words.
DATA TRANSMISSION THROUGH VARIOUS MEDIA Generally, in planning a data transmission system, one of the first considerations is to determine the volume of data to be transmitted within a certain length of time. An industrial concern planning such an installation should consult the communication company to determine which facility can be provided, the rates, and the availability of the service. Channels known as private-line for full period service are generally furnished on a monthly basis, 24 hours a day. Many computer manufacturers have stated that the future growth of their business is dependent, to a substantial degree, on the ability of the communication companies to link together all the locations between which data must flow. But the solution of the data transmission problem may be as varied as the particular nature of the application. The development of the telephone system has been characterized by rapid growth in the number of telephones and increased dialing over long distances without the interference of human operators. The advent of equipment to perform the complex processes of routing and changing has opened the way to subscriber trunk dialing.* Replacement of the trunk operator by automatic equipment gives faster, more reliable connection and stimulates traffic. The introduction of automatic dialing in national networks is paving the way for international subscriber dialing; but what about the machine-to-machine communication? Up to the present, telephone switching techniques have been based on the electron-mechanical relay. In this field as in many others, however, attention has turned toward electronic switching systems, and the development of wholly or largely electronic telephone exchanges with expected advantages of
* Automatic dialing is not applicable in Europe at the present time. This situation is expected to prevail until about 1968, with all the restrictions to systems design this matter involves. Exceptions do exist on a regional level, such as is the case with Germany.
122
PART II.
DATA COLLECTION AND TELETRANSMISSION
compactness and low maintenance costs. Some of the possibilities being studied are: • The speedier setting-up of calls • The use of press-buttons to replace the dial • The automatic transfer of calls to alternative numbers • The direct calling of private automatic branch exchange extensions without operator intervention • The call of frequently used parties by means of coded two-digit numbers • The electronic metering as a step toward the automatic preparation of accounts. Developments of this nature are of major importance in the evolution of real-time data control systems. Discussing future uses of teleprocessing equipment, the President of a major telecommunications concern has said that by 1970 computers will be linked up across the United States and will be communicating with one another on a national and intercontinental communicating system. He predicted that, by 1970, the value of the communication equipment handling data transmission among computers will be equal to the value of the computers themselves*; as of today, it ranges upwards from 20% of the central system. Certain developments in modern telephone are in themselves quite interesting in that they reflect possibilities about the industrial systems of the future. This is the case with the electronic telephone exchange, which could handle calls one thousand times faster than present equipment. The system commits to its memory a list of numbers each customer frequently calls, and this helps to provide easy access two-digit numbers for each one of up to one hundred parties, thus saving dialing time. Businessmen away from their offices can notify the memory unit of the exchange, which will automatically switch all calls for them to their temporary numbers. Another example of recent developments is the "dial-an-appliance" household equipment. It enables a housewife who is downtown shopping to start dinner before she starts home: she simply telephones her home, then by dialing additional digits turns on the oven, and sets it to cooking the roast. Vacationers heading home after a three-week absence can telephone their air conditioners en route and find the household temperature under control when they arrive.
* A study done by the writer among leading European industries and banks, in late 1964, indicated that by the same time the on-line peripheral gear of an information network would account for about the same value of the central installations. Should these two estimates be correct, then, it can be broadly stated that the control systems market will, in the early seventies, represent an evenly balanced market potential between the periphery, the teletransmission, and the central processors.
VII.
DATA CARRIERS
123
The communication channels used for industrial data transmission are generally of the same type used in public telephone services. Channels are available which have a variety of band widths extending from the slow-speed (thin band) channels up to the high-speed (wide band) channels. The term "high speed" should not be interpreted here as meaning that the miles per second at which the signals travel is faster than that of low-speed circuits. Rather, it means that the high-speed circuit can accept and deliver fastersomewhat like having a bigger water pipe. Special terminal equipment is required to adapt these channels to data transmission, nevertheless, conventional telephone switching techniques and equipment are easily adapted for setting up the necessary connections. The transmission of information in digital form over voice band circuits is definitely an application that presents excellent grounds for being perfected. As an example, on the current state of the art, we will consider five forms of equipment available for transmitting data over telephone wires*: • • • • •
Data phone] Data transceiver Recorded carrier Digital subset Telex.
With each system, a unit is located at the sending station and another at the receiving point. Also, with each system, the machines may be applied to transmission over telegraph lines, microwave, or short-wave radio circuits. The Data Phone The transmission of data and text at high speed over regular telephone lines is becoming one of the most significant electronic developments in communication and computing. Data phone usage for intercity or across-thecountry link between a wide range of computers is now coming into greater prominence. It links business equipment into a vast and efficient communication system. It enables the automatic transmission of any type of data in any machine language over regular telephone lines at low or high speeds, from and to any point having a standard telephone.
* Our intention is to consider these systems as structural developments rather than as the products of a certain manufacturer. For this reason, we considered changing their names, but finally decided to use them as identifiers in a very general sense. +"Data phone" is a trademark of Bell Telephone for special data transmission equipment with telephone lines. It does not include, to our knowledge, operation on 48-kc coaxial cables or microwave transmission between magnetic tape units with 15,000 characters per second. In the years to come it willbe most difficult to avoid that the term "Data phone" becomes a common synonym for "Data Transmission equipment."
124
PART II.
DATA COLLECTION AND TELETRANSMISSION
The system is especially useful in handling accounting and billing information, invoices, inventories, sales orders, payrolls, and other forms of business data. In a typical ensemble, compact data phone sets are placed between the business machine and the telephone at both the sending and receiving locations. Regardless of the distance, data are transmitted from one machine to another with the flip of a switch after a telephone call is placed to the receiving station. As of today, this system carries up to 1600 words per minute and handles information from any media, such as cards, paper tape, or magnetic tape. One option of the data phone service consists of one more sending station linked to a central receiving station by telephone at regular rates. The receiving station accepts transmitted data, simultaneously punching these data into cards, which are then ready for processing by computers or punched card equipment. This is a development of significance; small city offices, for instance, could communicate directly to a large computer situated in a rural location where office space is not expensive. Similarly, centralized accounting or record keeping need no longer be subject to delay in mail, and certain on-line jobs can also be performed. Any manufacturer may use the public network facilities by meeting the circuitry and safety specifications that are imposed by them. The data phone receives facts and figures from the originating machine in the form of "bits" of information. It then converts the bits to tones-oftransmission by telephone. At the receiving end, another data phone unit converts these tones back to the original bits, which feed into business machines, teletypewriters, or other recording equipment. Transmission can be varied to meet individual needs-up to the present maximum of 1600words per minute. But even at 800 words per minute, the speed at which some sets operate, a store's entire inventory of some lO,CXXl items can be sent in about lO minutes. This is based on 20 seconds of transmission time being equivalent to the inventory position of about 150 items. The same list in printed form would be about 100 feet long and take hours to read over the telephone. The advantages of using the public network are: first, an individual pays only for the actual time he is on line, and, second, whereas in the case of leased lines the communication is generally from X to Y, on the public network it is from any point to any other point in the network where the appropriate modulating/demodulating equipment is installed. With respect to economic acceptability, special land-line facilities come right after the usage of a public network. These include 48-kc coaxial cables, sometimes provided by the telephone organization. Such facilities are generally expensive and are a long-term proposition. Discussions between the Post Office and the manufacturer may well take a number of years before the required installation can be set up. The advantages
VII.
125
DATA CARRIERS
of private facilities derive from the fact that considerably greater speeds are obtained by this means: on 48-kc coaxial cable these can reach 4000 characters per second. Other facilities include microwaves and very high frequency. As an example, communication by microwave can take place between two magnetic tape units at a speed of 15,000 characters per second. The Data Transceiver
This unit (see Fig. 3) provides means of transmitting punched card data directly, from one point to another, without storage or other intermediate steps as the punched tape previously required for the transmission of card data over telegraph circuits. The design of the transceiver is such that the receiving machine "supervises" the operation of the transmitting machine and the connecting circuits. The receiving machine operator must signal the transmitting machine operator to start. As long as the receiving machine is "satisfied" with each card, the flow will proceed without interruption. Following the transmission of each card, the transmitter sends a signal,
)ataon~fD Tr~nsmit~terr LY
ouncbed ----.oIl cords Input
'/
Dato transmission through telephone lines
Reoder and decimol- to - binory converter
(01
~ Modulator - - - - ,
Binary
..
informotion
....
......---""'" Input unit
Shaping filter
---,
I
t
Sideband Output 1_--:---:-:-filter ---.... amplifier circuit
Oscillator (b)
From Shaping transmission Amplifier - - gear circuit
EJ
Detector -
Lowpass _ filter
..
Synchronizec Binary modulator- 1_---'-information omplifier
(c)
FIG. 3. The data transceiver: (a) transmission system, (b) transmitter, (c) receiver.
126
PART II.
DATA COLLECTION AND TELETRANSMISSION
which in effect asks the receiver if everything with the card received is under control. If a go-ahead signal is sent back, the information on the next card is transmitted. If the receiver is not satisfied, the go-ahead signal will not be sent, and the transmitter will stop until the card is corrected. Each completed card at the receiving point represents a complete and checked transmission. Transceivers can divide voice channel into four separate channels, 500 cycles wide, to provide as many as four simultaneous transmissions of punched cards. To save telephone time, cards should be checked and ready before transmission begins. Recorded Carrier This unit accepts pulses at low speeds (about 75 bits/sec of 100words/min), it increases this speed for line transmission and it reduces it to normal at the other end. Briefly it works as follows: pulses from some input media (paper tape, punched cards, and the like) are changed to FM signals which are recorded on magnetic tape moving at slow speeds at frequencies of about 185 cycles. The machine is connected to the line and the tape is played backwards at a higher speed (of 8 to 1 ratio). This playback serves two purposes: first, it sends data backwards over the line in 1/8 the time it took to record it, and, second, it increases the frequency, thus putting about 1480cycles on the line. At the receiving end, the data coming off the line are recorded on the tape at high speed (backwards, of course); the tape is then reversed, slowed down, and the original bits are recovered at the original speed and order. Digital Subset This unit receives strings of "on-off' pulses (of any code or language), modulates them (FM) for line transmission, demodulates them at the receiving station, and delivers a reasonable facsimile of the original pulses. There is one unit at each end and transmission can go only one way at a time. When both ends are idle, there is no carrier on the line. Either end can initiate a request to send; with this, the transmitting machine sends as long as necessary, then stops. The receiving machine, at the other end, can then have the line to send an acknowledgment, request for repeat, etc. This can go on as long as desired; if neither end does anything for 5 seconds the subset interprets this as end of transmission and signs them both off. The digital subset thus performs much the same kind of a function with respect to data as an ordinary telephone does for speech. That is, it takes any language whatsoever, modulates it for transmission, demodulates it at the far end, and makes sure the circuit in between is always conditioned for transmission in the right direction. The digital subset is a flexible device since it works at virtually any speed and with any language. It is possible to set up a circuit that can send and/or receive data of various kinds either
VII.
DATA CARRIERS
127
at machine speeds (through the digital subset) or at, approximately, eight times the machine speed (through the recorded carrier set). This arrangement is essentially a combination of the latter two types of transmitting devices. Telex
The automatic telex service is an important development in the communication field. Each subscriber's line is allotted a distinctive national number, and calls are set up by dialing. The messages transmitted by either party are recorded on teleprinters. The caller can transmit his message without cooperation from the called office as the system permits reception of message in offices that may be temporarily unstaffed. Although telex is completely separate from the telephone system, the telephone cable network is used for routing telex circuits, with up to 24 telegraphy circuits provided on one telephone circuit. Similarly, there is an increasing interest by the users and manufacturers of computers and automatic data processing equipment in the use of the Post Office telephone network for the transmission of data between various centers. Private point-to-point circuits, as normally provided for telegraph and telephone purposes, are suitable for this application. The public telephone and telex networks also permit data transmission, and to facilitate this application consideration is being given to the design of units for use at the subscriber's promises to enable a simple changeover to data transmission to be made once the connection has been set up. The value of data transmission equipment has, in general, little relation to the size of an organization. It is rather a function of the geographical location of its integral units and of its customers' requirements. Considering the Media for Transmission*
At present, the network of telephone and telegraph lines connecting the larger cities is mainly composed of underground coaxial cables in which some 1000 telephone conversations can pass simultaneously over each cable. Special terminal equipment is provided at each end of the cable to assemble the channels in frequency band for transmission over the cable and to separate them into their constituent parts upon arrival. The composite high* A combination of teletransmission means has often given distinct advantages. The Space Agency, for one, uses, between Cape Kennedy, in Florida, and the Manned Space Craft Center, in Texas, the media: • Two wideband data channels • Eight medium-speed data channels • Two TV channels • Fourty-eight grade channels • Six teletypewriter channels
128
PART II.
DATA COLLECTION AND TELETRANSMISSION
frequency signal in each direction is fed over a single tube with amplifiers at 6-mile intervals. In some applications, the complete frequency band is used for the transmission of a television channel. Developments in tubes have now made it possible to handle a frequency band up to 12 Me/sec using amplifiers at 3-mile intervals. Telegraph equipment has been widely used for transmitting information. In general, a circuit properly designed and maintained for private-line telegraph service will be suitable for alternate transceiver use. Major telegraph companies design and install several systems throughout the year. One of the best has been. developed for an electrical and electronics manufacturer. This system consists of 12,000 miles of private-wire network connecting 55 locations in 51 cities in 19 states. This is probably the first system to tie-in a company's "whole operation" by such a network and, in addition, feed the information into a computer for analysis. The telegraph company supplied the wire service, transmitter and receiver equipment, the switching equipment, and necessary personnel at a yearly cost of a quarter million dollars. The goal of this data system is to process the thirty different statistical budgetary and cost reports used by management and to provide a tight control over the diversified dispersed company operations. The initial minimal coast-to-coast hookup used 15,000 miles of circuit and involved equipment able to transmit 10,000 messages per day. In addition to the cable system, an extensive network of microwave radio-relay links has been established in most countries for the distribution of television programs. This network is being extended to provide large blocks of telephone circuits. The stations are spaced some 20 to 40 miles apart, and operate in the 2000-400O, and 6OOO-Mc/sec bauds.* The two complementary systems, coaxial cable and microwave radio relay, are expected to account for the growth of the trunk traffic, at least for the next decade. The next development stage may well be the application of the circular waveguide in which the signals are converted to very high frequency for transmission. This approach is now being studied, both in respect to equipment and systems integration. Using radio transmission, transceivers may be operated over long distance.
* It should be said that Europe is not yet ready for high-speed data transmission. With current transmission media, it is profitable to connect interrogation stations in Europe to a central computer in the United States, or vice versa. Companies such as Air France and Lufthansa are planning to install a small computer system in the United States, and proceed with computer intertalk. On the contrary, Pan American has installed interrogation stations in Europe directly connected to a central processor in the U.S. The difference in design philosophy is dependent on the volume of data transmission and interrogation applicable in each case. The Pan American example is thus justified because of reasonably low data rates.
VII.
129
DATA CARRIERS
No changes in radio equipment are required when the terminals are equipped for telegraph printer service. Radio transmission requires duplex circuitsone channel for transmitting and one for receiving (Fig. 4). Today, the longdistance international network is composed of submarine cables and shortwave radio circuits. A major advance in submarine cable systems has been the introduction of submerged amplifiers and coaxial cables which made possible transoceanic telephone by cable. But in spite of the successful application of the submarine repeater cable, a substantial part of the longdistance international network is still composed of short-wave radio circuits, and increasing demand is being made for such services. However, the instability of the ionosphere remains a limiting factor to the achievement of greater performance and reliability in short-wave systems. Short wove
Radio control center B Radio
Radio
Telegraph printer
Telegraph printer
(Land wires)
-----~
"0 '" 0
(Switch) ,/
~
~
'" '" "0.=
i
o~
Signal unit
Signal unit ~
.~
a.
s:
s:
0-
0-
0
0
Telegraph printer
Location A -
~
c'"
'" .~
C;.
C;.
Telegraph printer
'"
Q)
I-
XXX Miles -
~'"
Location B
FIG. 4. Transceivers connected by radio links and land lines.
130
PART II.
DATA COLLECTION AND TELETRANSMISSION
Since the early sixties, computer manufacturers have been testing a new microwave data link for high-speed digital data transfers between computers situated several miles apart. These experiments have been conducted with satellites: a number of intermediate-size computers communicate with one large-scale system and associated peripheral equipment. Magnetic core memory-to-memory transfers have been used in the technique. The new microwave link allows satellite systems to communicate over many miles, limited in distance only by "line of sight." This distance could be extended "indefinitely" by the use of unattended repeater stations. In connection with these experiments, digitally modulated microwave impulses have been transmitted in two directions, via a 12,OOO-Mc broadband microwave communication system. Checked data were transmitted at a rate in excess of 1,200,000 bits per second from the magnetic core memory of one computer to the magnetic core memory of the other. Because of the current state of the art, the use of frequencies higher than conventional microwaves for communication appears to be highly overrated. While millimeter, infrared, and laser techniques open excellent opportunities, it is doubtful whether these will be competitive in existing microwave applications. The future application for microwave systems will be influenced by increasing congestion of the lower frequencies. Given, then, that space reflectors are now practical and completely overcome the previous line-ofsight limitation of microwave frequencies, new possibilities can be opened in that direction. Our reference in this context is to the challenges such development can offer in the field of computer communications. The economical transmission of megabits through microwaves will enable proper utilization of future central processors.
AUTOMATIC SYSTEM OF TELEPHONE EXCHANGE* Some 10 years ago, Richards, speaking on the evolution of computing machinery and its connection to data carriers and transmission networks, made the following staternent t:
* Admittedly, this subject of a telephone exchange requires some stretching of the imagination in order to fit under the chapter heading on data carriers. Nevertheless, as discussed in the first paragraphs of this section, it is a legitimate topic within the context of information processing, and its omission would have been regretable. t R. K. Richards, "Digital Computer Components & Circuits." Van Nostrand, Princeton, New Jersey, 1957.
VII.
DATA CARRIERS
131
For many years the electronics industry was devoted almost entirely to the subject of communication or the transmission of information from one place to another. Besides wire and radio communication the industry included sound recording, hearing aids, television, and other information handling systems. In each of these applications the principal objective of the various pieces of equipment is to reproduce the input signal as accurately as possible at the output device. In other words, it is desired that the output signal be a linear function of the input signal; any deviation from linearity is called distortion and is highly undesirable. More recently the concept of information "processing" has been developed, and the devices used to process the information are known as computers. The nature and usefulness of the information, however, are not at all the same in computer applications as where the information is in the form of voice sounds. music, or pictures. In computers the term' 'data" would probably more aptly describe the input information. Broadly speaking, the data can come from one or more of at least three different types of sources. In one source type the data are generated as the result of physical measurements on quantities such as position, velocity, acceleration, pressure, temperature, voltage, resistance, charge, current, or time. It is often desired that data from these sources be supplied to the computer directly from the measuring instruments, although in many applications it is appropriate to transcribe the data manually or to employ a recorder of some sort to store the items until the computer is ready to process them... ,,*
This statement properly identifies, in the areas of hardware and applications, the interconnection existing between computers and teletransmission media. If necessity is the mother of invention, + the evolution of automatic systems of telephone exchange is one of the best examples stressing the human ingenuity needed in information processing. Almost as soon as the telephone exchange idea had taken form and the necessity for switching telephone lines at a central office became apparent, men began to devise methods for switching "automatically." Here, "automatically" means under remote control by the subscriber, rather than switching manually by the central office operator. The present discussion is concerned with approaches toward the design of an automatic telephone exchange. There exist three general types of au tomatic or machine-switching systems. One is known as the "step-by-step" system. In this system, each switch has its own driving magnets adapted to move the selecting contacts by rapid successions of short steps, usually in two coordinated directions. The driving power is derived from impulses of current through the driving
* If the data input system collects a great quantity of information, such as is the case from a radar, the price of the transmission system (microwave) is very high. It might be less expensive to use a small computer near the input system, which processes the large lot of information collected, subsequently using a slow-speed transmission system. t Almon B. Strowger (1839-1902) is said to have invented the automatic selector in telephoning because of a peculiar case in husiness competition. He was an undertaker by profession; the girl friend of his immediate competitor was the telephone switching girl, who channeled to his competitor's establishment the incoming calls for undertaker services.
132
PART II.
DATA COLLECTION AND TELETRANSMISSION
magnets. The second type isthe "power-driven system," wherein the switches through individual clutches derive their power from moving their selecting members from a continuously operating motor common to many ofthem. In this setup, the selecting impulses serve to control the application of the common source of power to the individual switches. The panel system of the Bell companies is the prominent example of a power-driven system. The third type is the "all-relay system," wherein relays, instead of progressively moving switches, are used to connect and disconnect the lines. Here, the selecting impulses serve merely to determine which combinations of relays shall be operated to close the desired one of the already existing paths. With the usage of a "trunking plan," the desired group of trunks is selected by the subscribers and the individual trunk in the group is automatically selected by the switch. This idea of the selection of a group oftrunks by the subscriber and the subsequent automatic selection of an idle trunk in that group seems to have been the dividing line between success and failure in the automatic or machine-switching telephone. Although this step is presently a vital feature of all machine-switching systems, at the time of its conception it was a bold idea, since it demanded of the central-office apparatus some sort of intelligence. The "panel type" machine switching system derives its name from the fact that its contact banks take the form of flat panels. It is the type of equipment generally used by telephone firms in large cities and is gradually replacing older systems elsewhere. In modern telephone exchanges, the trunking plan is always complicated, while the service requirements are varied and frequently subject to change. Obviously, where each modification of service or operation affects a large portion of the equipment, a flexible system becomes important. At its adoption, an automatic dial system must be introduced into a manual exchange area where the service and trunking conditions are already very complex and where the large number of subscribers involved makes it impossible to introduce any rapid wholesale changes in their method of placing calls. The system must be capable of handling, economically, the calls requiring interconnection between manual and dial-system subscribers; and, when manual offices are replaced by dial offices, the conversion should be accomplished with the least possible expense of time and equipment. At any stage of its life, the equipment must permit rapid changes in trunk routings or in the number of trunks in working groups. When new offices are placed in service, the new trunk groups necessary to reach them from the offices already working must be readily established. Such flexibility under changing conditions is an outstanding characteristic of the panel system. The two most important means of providing this flexibility are the use of a "sender" and the provision of a switching train made up of selectors with a
VII.
DATA CARRIERS
133
large trunk or line access. Many other details of apparatus and circuit design have been dictated by the same requirement. With the panel system, when a subscriber initiates a call, his line isextended to an auxiliary unit of equipment called a "sender." As he dials the office code and line number he desires, it is the "sender" who receives and records this information. The subsequent control of the selectors, by which this call is routed, first to the desired office and then to the desired line in that office, is exercised by the sender and not directly by the dial. This centralization of the reception and the control of the call in the sender serve many useful purposes, the most important of which are as follows: • The arrangement of the interoffice trunks on the selector banks is independent of the code digits, economy and convenience being the controlling factors. • It is possible to change the routing of calls to a particular central office or group of central offices without affecting the code that the subscriber dials or changing the routing of calls to other offices. • The steps of selector operation, being under the control of the sender, are not dependent upon the speed or other limitations of the subscriber's dialing. • The decimal basis of selection, upon which the switch train must be arranged when under the direct control of the dial, is no longer necessary, and freedom of selector design is gained. With selectors under the control of direct dialing, it is necessary to provide space on the selectors for every office code that can be dialed, whether used or not. This necessity is eliminated with the usage of the automatic "sender" since the latter recognizes nonworking codes and routes them all in the same way. Furthermore, tandem operation is greatly facilitated, since any code can be routed through tandem without reference to other codes and, having been so used to determine the routing from the local office, it can still be used as a whole to control the routing in the tandem office. Freeing the selectors from the necessity of following the decimal system of selection and making them independent of the time elements of dialing permit the use of larger banks and selectors of longer travel. Advantage has been taken of this in the panel system to use selector frames upon which 500sets of terminals appear before each selector. This has two fundamental effects on the selector train. In the first place, it reduces the number of selectors through which a connection need be routed by increasing the number of routes to which one selector has access and, in the second place, it permits increasing the size of the trunk groups over which the individual selectors may test to find an idle trunk, thereby improving trunk group efficiency. Figure 5 shows in a summary the elements involved in establishing a
134
PART II.
DATA COLLECTION AND TELETRANSMISSION
~-------I Calling line
I !
~
u
'--
I
I
I
Line finder
1I I I
District selector
Sender
I
Office selector
r-------,
,
I
I I I I
I
I
!
I
I
I I I
I
I
I I
J
) I L __ Originating~fice _ _ --1
FIGURE
-
I I
I Incoming selector
Finol selector
II I
I I I
I T.. . I L _ ~lOat,,~~__offlce_ ~
5
telephone connection through panel equipment. The subscriber's line terminates on the banks of a line finder. When a call is originated, an idle line finder searches out the calling line and makes connection with it. To this line finder a sender is then attached into which the subscriber proceeds to dial the number he is calling. The selection of the interoffice trunk is made through the district detector, one of which is permanently associated with each line finder, and through the office selector. On some calls the latter is omitted and the desired trunk is selected directly by the district selector. In the terminating central office, the selection of the called line is made by the incoming and the final selectors. The incoming selector is permanently associated with the interoffice trunk. Its function is to select the final group in which the desired line appears and to choose art idle final selector in that group. The subscriber's lines appear upon the banks of the finals selector frame, and the selection by the final selector of the particular line desired completes the setting up of the connection. All stages of selection from the district selector on are under control of the sender. When the called line is reached, a talking path is established between the calling party and the called party and the sender releases.
Chapter VIII STRUCTURAL ASPECTS OF TELETRANSMISSION A teletransmission center is the focal point of a communications network. Messages are received and routed to their destination through a switching unit. Teletype switching centers operate with electromechanical devices like paper tape readers/punches, and crossbar line switching apparatus. Computers can be programmed to handle data traffic with the same ease they handle more traditional operations: • Messages are assembled, routed, and distributed under program control. • A high degree of message protection is guaranteed. • Polling and selection of stations on way-circuits is accomplished in a programmed manner. • Communication facilities, operating at different data rates, can be effectively utilized. • In-transit storage is available for message queuing while journal storage is provided for recording message headings. • Interface facilities provide a means for storage of messages for stations closed, due to limited time of operation, station malfunction, or noiseaffected messages. "Message switching," as defined in present-day practice, refers to the functions performed by a central installation to facilitate the interchange of data-between remote terminals. The switching center accepts a message from the originating station at its own speed, stores the message, and forwards it either to each of its addressed receiving stations or, when the appropriate transmission circuit is available, to another switching center. If the system is set up with a store-and-forward capability, then the sender does not have to wait for a direct connection to the addressed station(s) before sending his message. He may also continue to send new messages as soon as the transmission to the switching center is complete. 135
136
PART II.
DATA COLLECTION AND TELETRANSMISSION
Some of the major functions desired from a message switching system include the following: I. Perform the necessary monitoring and control requirements for controlled input lines. 2. Accept start-stop teleprinter signals from controlled or uncontrolled telegraph circuits at the speed of the transmit station. 3. Store the telegraph inputs for later transmission and retrieval, and (as an optional feature) for permanent historical records. 4. Edit the received message for proper format and determine to which station(s) and on which circuit(s) the message is to be routed. 5. When an output line is available, recover from storage the next message for output based on message priority and time of receipt. 6. Transmit any necessary control signals to activate the receiving requirements and transmit the message as a sequence of start-stop teleprinter signals at the correct speed for the circuit. 7. Prepare and store input and output logs that summarize the source of each message, the number of addresses, the times of message receipt and transmission, and other reference information for later retrieval and reports. 8. Provide circuit and message assurance via such techniques as automatic reports, alarms and intercepts, message retrieval capability, and automatic processor switchover. 9. Provide a man-machine relationship allowing system control by communications personnel.* The uses of a message switching system are numerous, with more being continually added. A few areas where such a system is applicable are: military command and control, military digital communications, missile and satellite range control, air line reservation and seat control, remote deposit accounting in banks, on-line order processing, on-line inventory control, stockbrokerage, industrial process control, multiple-access scientific computing systems, and a variety of library cases characterized by information storage and retrieval.
OPERATIONAL FEATURES OF THE ''TELESYSTEM''
Fundamentally, a teletransmission center is a data accumulation and distribution system collecting digital data in message format from a variety of remote terminals, and distributing information to remote terminals. Apart
* These are not the only functions of a message switching system. Most companies, based on their own needs, will want to add to, or subtract from, this list.
VIII.
STRUCTURAL ASPECTS OF TELETRANSMISSION
137
from its real-time aspects, this operation can provide a convenient and automatic means for conducting business after normal working hours or when immediate response is not a critical factor, hence increasing its economic acceptability. We will consider, as an example TELESYSTEM, a digital teletransmission network. * The core of TELESYSTEM is a real-time digital computer, disposing a family of input-output channels and efficient means for data flow coordination and priority processing. A variety of message types and transmission codes can be accepted, though the message traffic is always in digital form. Each message is composed of three characteristic elements: • Header • Text • Ending. The "header" contains all the information needed to route the message through the network and a certain redundancy for message protection. The "text" is composed of the data to be transferred. The "ending" uniquely marks the end of a message or of a transmission sequence. Throughout the network, messages are interchanged by sending them first to the nearest switching center. They are then relayed among switching centers and distributed to the addresses. Each switching center may interchange messages among many types of communication terminal equipment such as teletype, punched card transceiver signaling units, and high-speed digital data transmission devices, which may have a number of incompatible characteristics. Data transfer rates may vary substantially, the rate itself depending upon the type of subscriber terminal device used. Data characters may be transferred in a variety of codes ranging from five to eight elements in length. Redundancy features are employed to permit automatic error detection and correction. TELESYSTEM is a twin computer center whose common carrier facilities terminate in a switching complex. In this complex the individual incoming and outgoing communication channels are made separately available (Fig. I). Facilities are provided for channeling each incoming and each outgoing channel to the appropriate switching center location. An "Input Facility," coordinates the transfer of inbound traffic on each tributary and trunk channel, providing some form of storage for each incoming channel where messages are accumulated and made ready for routing. "Channel sequence
* This example is hased to a substantial extent on the structure of "Autodata,' one of the first successful attempts to provide a teletransmission network capable of receiving messages originated on a variety of data transcription media, controlling their distribution and delivering them to their destination in an able manner.
138
PART II.
DATA COLLECTION AND TELETRANSMISSION
number," "coordination signaling," and other controls are exercised at this point to improve the effectiveness of the over-all system. As with most important data transmission networks, all communication channels terminate in an equipment complex that contains switching facilities for the connection of the various types of communication channels. Patching one communication channel directly to another allows any subscriber to be connected directly to any other subscriber in the network. This becomes an important feature in cases where large volumes of traffic are to be transmitted to a single destination, provided the intervening communication channels are compatible. Structurally, the input facility is composed of the storage buffers, a buffer-coordinator, code translators, and an "input ring." Environment
Central switching facility
Coordinators of tope drives and of random access mass storage devices FIGURE
1
VIII.
STRUCTURAL ASPECTS OF TELETRANSMISSION
139
The buffers provide independent termination for the various communication channels. A family of buffers is available for use with the various types of communication terminal equipment. The buffer coordinator causes all the buffers to be examined on a millisecond basis. This speed is fast enough to require storage of only one character in each buffer. Code translators are available: one for each code conversion is required. Throughout the system, each converter is shared by all the data channels using its assigned code. Its job is that of converting characters in the received code to characters in the common language code of the center. Channels using the common language code do not need to use the code converters. Finally, the "input ring" consists of a magnetic core memory with storage areas assigned to the individual incoming channels. The exact storage location for each incoming character is obtained from tally information, also stored in the high-speed memory. The following helps to further characterize this system: • Channel coordination is affected by the receiver. • The tally information provides the basis for channel coordination. • Simultaneous operation is feasible. The number of routines that can take place simultaneously is a function of the relative speed of the devices involved and of the complexity of the individual routine. • The simultaneity feature is highly useful for file searches, general housekeeping, and the servicing of on-line input/output devices. • Provisions are made for overlapping operations of different memory units. • Instructions are of variable length with provision for index registers for relative addressing, and address substitution to achieve direct addressing. • Data tagging is provided for automatic identification of messages as well as for subsequent data separation. Messages received by the telesystem are translated to an internal code when an "end-of-block" status occurs (Fig. 2). Then the terminal character of the message is overlaid by a record mark. For an "end-of-storage-area" status, the group mark with a word mark terminating the incomplete message is not overlaid with a record mark following translation. For an "end-of-blockcheck" or "control-end-of-block-check" status, the receive routine is scheduled, but the message is not translated. Messages can be transmitted with a send macro-operation. The message, terminated by a record mark, is moved to the input-output area where it is translated to telegraph code. Then the record mark is overlaid by the telegraph terminal character, and the message is transmitted. Retranslation of the message to internal code is then performed, except when a "transmitend-of-block," "end-of-block," or "control-end-of-block-check" occurs.
140
PART II.
DATA COLLECTION AND TELETRANSMISSION
The expediter's terminal character is overlaid by a record mark, and the transmit routine is scheduled. To ensure dependability, a message either received or transmitted by the telesystem schedules the diagnostic routine when a "diagnostic flag" is detected. A diagnostic message received from an expediter's terminal cannot be automatically retransmitted to the originating terminal. Therefore, when the diagnostic routine is not used, an "end-of-block" status schedules the receive routine, as for any regular message. When a message is transmitted, it is retranslated to internal code following transmission, except when a "transmit-end-of-block-check," "end-of-block-check," or "control-endof-block-check" line status occurs. In this case, the diagnostic flag cannot be detected, and the transmit routine is scheduled. Channel coordination is affected through a "message processing function." This interprets the heading of each message and directs it to the appropriate outgoing channel. As the blocks of a message are received from the input, they are transferred to the "in-transit memory." With respect to operations, only when the message is complete does it become a candidate for transmission. As each outgoing channel becomes available, the message processing function transfers to output the oldest message in the highest precedence category for that output channel. Teletransmission subroutines have been included in the real-time programming scheme to provide it with automatic program interrupt features. These routines perform the following basic functions: • Code conversion for 5-, 6-, 7-, or 8-level codes . • Pack/unpack, for data concentration with a view toward a more effective use of memory and of transmission facilities.
E c:
c:
o
siii
'in
c:
.2
.2
E V>
'"
Q)
"0",
Q)
o~
0 0
"0
o
0>
o.~
c;
'0"'0
-~
.
v
1
2
3 4
5
6
~.~
o
a::
en
V> ~
o
;';:0' '';:
header
C
c:--
Q)"O
-
" 0 Q) "
7 8 9 10 II 12 13 14 15 16 17 18119120121 22 Message
c:
~.~
r-"->
..................
" " "
Message - - - ending
FIGURE
2
VIII.
STRUCTURAL ASPECTS OF TELETRANSMISSION
141
• While "pack" performs this concentration, "unpack" prepares data for serial transmission to remote stations. • Input/output for the initiation of the "receive" and "transmit" operations, upon receipt of parameters from the main program. The important contribution of this design philosophy isthe combination of data transmission and data processing functions. Functionally, the "intransit memory" provides a buffer for traffic when outgoing lines are busy. It permits any "subscriber" to send messages whenever he wants to, without having to get a through connection to the addressee, through request addressed to a third switching coordination center. By queuing messages for long-line transmission, a fewer number oflong lines are needed to provide the required service. Using telesystem, messages can be queued for outgoing lines either on a first-in - first-out basis, or through priority handling. This permits certain classes of messages to pre-empt facilities, close-circuiting queues and interrupting transmissions in progress for lower-priority work. It also provides the means for repeating the interrupted messages after the higher priorities have been cleared. This throughput function of teletransmission makes possible seven critical functions: 1. 2. 3. 4.
Handling by priority or pre-established associative criteria. Selection by age, key, or destination. Routing according to single, multiple, or collective message addresses. Intercept, sort, and merge selected traffic according to the directives received by the master program. 5. Edit and format conversion for transfer among the different types of computers that constitute the network. 6. Actuate alarms for messages that have not been processed within the forecasted time period or in a pre-established way, specified by priority. 7. Perform housekeeping functions automatically, including the collection and display of traffic statistics and the evaluation of failure indicators. The system's "output facility" coordinates the transfer of outboard traffic on each tributary and trunk channel, providing some form of storage for each outgoing channel. Messages are transferred to this storage via the cross office function. Once messages from various sources have been accumulated in the "output message buffer" they are transmitted character by character through code conversion to make them compatible with whatever language is used for communication. After conversion, the characters are distributed to the various buffer units and are then transmitted to the designated communication channel at the correct transmission rate. Channel sequence numbering, coordination signaling checks, and other controls may be exercised to improve the effectiveness of the over-all system.
142
PART II.
DATA COLLECTION AND TELETRANSMISSION
Proceeding from the output message buffer under supervision of the output "tally service," characters of a message are transferred out one at a time and translated into the language of the receiving equipment. Each character is then converted from parallel to serial form and transferred to a data distributor, where the character is stored until such time as it is in agreement with the proper output buffer. It is then transferred into that output buffer and out to the communication channel. This transfer is executed at a speed compatible with that channel. To ensure dependability, the transmitted message is retained in the output message buffer until an acknowledgment of correct transmission is received. Elements of the system that are common to all channels are duplicated to provide backup capability. One "Communication Computer" has enough capacity to handle all the switching center channels and normally carries the entire traffic load. A backup computer is kept in semi-idling status, exercising and performing subordinate tasks for the operating unit. Both machines have access to the high-speed memories of the other, to input/output gear, and to the external memory devices. The operating communication computer continuously updates address lists in the idling machine so it is always ready to assume the traffic load. Contrary to this, no automatic backup is provided for those elements whose failure would affect only a single channel or a small group of channels. This is a technico-economic consideration, and according to the case it may need to be technically revised.
EXAMPLE OF A TELETRANSMISSION NETWORK For a second example of the usage ofteletransmission media in a computer network consider an automatic store-and-forward message switching center. This center is designed to handle messages that are digital in form and to provide a very flexible facility for relaying them throughout a worldwide communications network. * The basic objectives in the development of this system were to provide: • An automatic transfer of data over widely scattered communications lines. • A transfer of data between dissimilar equipments using different data rates, different codes, or different formats. • A flexibility in the choice of data-transfer rates on all trunk and tributory circuits in the network.
* For a third example, see in Chapter XXVIII the discussion on production and inventory control at the Forge Metal Works.
VIII.
STRUCTURAL ASPECTS OF TELETRANSMISSION
143
• A high degree of message protection, including automatic error detection and correction. • A flexibility in the choice of message-handling procedures. • A compatibility with a variety of common-carrier terminal facilities. To visualize the structure of this system, consider that messages are originated and terminated at tributary stations or on electronic computers. The stations are connected to the switching centers via tributary lines. To complete the network, the switching centers are interconnected via trunk lines. All communication lines and their associated terminal equipments, including technical control, are rented from a common carrier. The message traffic is always in digital form. Each message is composed of three characteristic elements: header, text, and ending (Fig. 3). The header contains all the information needed to route the message throughout the network as well as special codes needed for message protection. The text contains the data to be transferred. The ending uniquely marks the end ofthe message. Messages are interchanged throughout the network by sending them first to the nearest switching center. They are then relayed among switching centers and finally distributed according to the particular addresses. Each switching center may interchange messages among many types of communications terminal equipment such as teletype, punched card transmitters, and high-speed digital data-transmission devices. Data-transfer rates may vary, depending upon the type of subscriber terminal device used. Data characters may be transferred in a variety of codes, ranging from 5 to 8 elements in length. Redundancy features are automatically employed to permit automatic error detection and correction. Facilities are provided for automatically assigning each incoming and
(l)
~
Cfl.~
c:-= VI_
''""
C (l)
:2:~
u;
C'
0
~.~ _
0
VI
'"
c
c
.2
'"
cen
"'u
u
0
wo I
"£
0
en
0
0
,
A
9 "
,,I,,
=,.,-0
0
u o
Q)
:::J
6
iiu
_"0 VI
O u~u
CJ, , ,J.
c
VlVlO
Q)"O
G "
0
C'
Q) "0
f-
Vl
-0 0_ '(30 C Q.C'
Q)
en'Ii>
'"
"0
"0 C
0>
::!: C'
W"O
VI
-" U
Q)
s:
U
I .s
0
I ,.,-'= Q)
0
f-
C
Vl C' Vl'Q)Vl
~
_,.,"0 c
~
.... 0
Q)
,,[][I].··U
Messagee headers s a g e text LI<M r;--------------------------4~ FIGURE
3
::>
Message ending
144
PART II.
DATA COLLECTION AND TELETRANSMISSION
each outgoing channel. The input function coordinates the transfer of inbound traffic on each tributary and trunk channel. This function usually provides storage for each incoming channel where messages are accumulated and made ready for routing. Channel-sequence number checks, coordination signaling checks, and other controls may be exercised at this point to improve the over-all systems performance. The "cross office function" receives messages from the "input function," interprets the message header, and directs the message. The "in-transit storage function" provides a reservoir for traffic when outgoing lines are occupied. This feature permits any subscriber to send messages whenever he wants to. He does not have to get a through connection to the addressee, being able to address one message to any number of addressees and not concern himself with the need for a conference call. By queuing messages for long-line transmission, a fewer number of long lines are needed to provide the required service. Messages are queued for outgoing lines on a first-in-first-out basis, unless priorities have been assigned. System priorities will permit certain messages to be serviced by circumventing queues and interrupting transmissions in progress. The output function coordinates the transfer of outbound traffic on each tributary and trunk channel. This function usually provides some form of storage for each outgoing channel. Messages are transferred to this storage via the cross office facility. Channel sequence numbering, coordination signaling checks, and other controls may be exercised at this point to improve the effectiveness of the over-all system. Each incoming trunk and tributary channel is independently terminated to suit the type of communication terminal equipment used. This permits different data-transfer rates, different character coding, and different coordination signaling on all channels. All the commonly used 5-to-8 element codes are provided for by means of a family of code converters which are time-shared among all incoming lines. They convert the code of the incoming channel to the common code of the switching center. Switching devices in the center will "read" the routing characters as they arrive and automatically speed each group of figures to the correct receiving machine. A data input coordinator will recognize invoice data and transmit it only to a recording machine receiving "invoice data." When a switching device recognizes a message as "process housekeeping," as opposed to data, it will transmit the message to a telegraph printer where it will be received ready for immediate delivery to the department or person concerned. Once messages from various sources have been accumulated in the output message store, they are transmitted character by character through the code conversion function to make them compatible with whatever language is used for communication. After conversion, the characters are distributed to the
VIII.
145
STRUCTURAL ASPECTS OF TELETRANSMISSION
various buffer units and are then transmitted to the designated communication channel at the correct transmission rate. To send a message, the transmitter requests permission and is directed to proceed by the receiver. During the transmission, the receiver checks the accuracy of the message and requests reruns if errors are detected. At the completion of transmission, the transmitting station must receive an acknowledgment signal from the receiving station before it can switch into another transmitting function. This operation involves a nation-wide transmission system, with both internal and external company communications (Fig. 4). Prior to the automation of the message switching functions, the data traffic was handled by means of punched card, punched tape, and teletype transmission. A message Internal
company
environment
c., E c
e>
.,c o
.,c ~
>< lJ.1
In- transit storage function Campany management
FIGlTRE
4
146
PART II.
DATA COLLECTION AND TELETRANSMISSION
originating anywhere in this system was transmitted to the central switching office where it was punched on paper tape by the machine connected to the originating line. It was repunched on paper tape on the machine connected to the proper outgoing line, as identified by the address code of the message, taking its place in a message queue for that particular line. Before its replacement by computer switching, this operation used several hundred kilometers of paper tape per month. The system received and redirected thousands of messages daily, and the number grew rapidly. The transmitted message was received as punched paper tape at the order processing center, and punched cards were prepared directly from this tape. These cards were manually fed to the computer, as they were prepared for each order, thus the processing was accomplished by a manual link. The computer program performed checking, editing, and updating functions. If an item was out of stock at the warehouse nearest to the customer, it was searched for at warehouses progressively nearer the factory, and finally at the factory itself, in order to minimize the transportation costs. Having located the required items, the computer provided cards from which a teletype message tape was directly generated, directing the warehouses to ship the items and preparing the tables, bills of lading, and packing lists on the receiving machines at the warehouses. With the conversion, one of the terminals on the network is an order processing center. The facilities of this center have been devoted entirely to the automatic processing of teletyped orders and the maintenance, in computer file, ofthe inventory records for all the standard company products, stocked in warehouses throughout the country. The factory inventory of most of these items is carried in the same file, which also contains the billing and shipping addresses of thousands of regular customers. The company's sales offices served by the teletype system can originate an order message using an ordinary teletype machine to prepare the message tape in the specified format, including coded customer identification. The address code of the message directs it to the order processing center, which makes the whole affair a routine switching process. On a concurrent basis, the price extensions and sales taxes are calculated and the invoice printed, ready for mailing. Inventory records are updated in the process, reordering points critically examined. A sales data tape used later for the development of sales satistics, is also produced during the processing of an order. With the introduction of interface units, the throughput operations at the center remain basically unchanged, but a major improvement took place in the teletransmission and switching operations. The company in question obtains detailed, up-to-the-minute status reports. The system permits various production departments to transmit daily order status reports on customer orders by means of ordinary telephone
VIII.
STRUCTURAL ASPECTS OF TELETRANSMISSION
147
communications, helping expedite order production and shipping dates. It also provides the ground work for speeding up an order to accommodate a customer with an emergency situation, to make changes in the order at customer request, and to help improve the scheduling of work loads. Before the automated system was established, it was the practice for each sales office to call for the execution of sales order on the warehouse nearest to it. Orders were prepared on paper forms and most were mailed. Associated with each warehouse was a clerical operation handling its own orders, maintaining its own ledger records, and producing the necessary information for billing purposes to a separate accounting activity, usually located elsewhere. Replenishment of stocks was controlled jointly by the individual warehouse stock control groups and the manufacturing plants. The latter received and correlated periodic reports from the warehouses to determine when production runs were economically justified-a tedious job in itself which was only approximately approached until the introduction of the central computer. Besides operational advantages, the financial advantages derived from the introduction of the data network were substantial also. The pooling in a common record ofthe nation-wide stock of a given item, including the factory stocks, has helped to effectively reduce stockouts and to eliminate excessive inventories. Since reordering points are recognized the moment they are reached, there is no need for periodic correlation and review of separate reports from the warehouses, while extra protective stocks become unnecessary.
DESIGN APPROACHES TO TELECOMMUNICATION PROBLEMS As with the foregoing two case studies, we talk about an "automatic data ensemble" when we are confronted, from a microscopic point of view, with operations performed by machines interconnected in a data network and having no human linkage. The output of one automatic data system becomes the input of another system or subsystem, without the interference of manned operations. The degree of "integration" may vary from installation to installation, but, in general, a data ensemble must be free of human interference from the reception of the source document to the final report. Automatic data reduction alone would not make a system integrated in the sense defined. Integrated networks for data handling are becoming increasingly important, particularly in the areas of management application and of technological control. In the first case, the objective of such a network of cascaded computing and transmitting devices would be data transmission (of the
148
PART II.
DATA COLLECTION AND TELETRANSMISSION
source document or of intermediate calculations), and data reduction for the final report. As far as technological control is concerned, apart from data collection and storage, the system may involve both data reduction and data generation. In either case, the computers of the system must be able: • To • To • To • To
meet deadlines communicate among themselves offer a multiplicity of input channels time and log their own operations.
Data ensembles or, more precisely, integrated data control networks have four general application domains: (I) data recording, (2) data classification and retrieval, (3) data reduction and calculation, and (4) record making and exception reporting. Data recording starts with data collection. Accuracy in data collection, as we have said, is very important because, in an integrated data processing system, data errors can be propagated virtually forever. A study in the data ensemble domain can effectively take several phases. Of these, the first two are of a preliminary, yet critical, nature. First Phase The question to be answered in the first phase is: What is the end product? This means that in the first phase the systems analyst should be concerned mainly with determining objectives. In the preceding chapters, we have consistently emphasized that the application of digital control should follow a deliberate, careful procedure. The process to which the computer isto be applied must be precisely defined. The limits of computer operation must be established from the beginning, even if it is apparent that this is only a tentative specification and many changes will need to be made in the subsequent steps of the study. Equally, the existing equipment and components must be critically evaluated and the devices needed to complete the system estimated. Furthermore, the operation of the process must be projected and, even if tentatively, it must be described, analyzed, and changed where needed to provide greater efficiency and system simplicity. Essentially the establishment of the objectives and the subsequent preparation of specifications that are clear and adequate is an art that should be brought under the proper perspective. Preliminary, tentative specifications must be prepared, mostly functional, describing what the digital control system is to do, when it is to do it, how frequently and how accurately. The hardware necessary to satisfy these requirements should then be approximately determined as to nature, type, capacity, and cost. Most often, the cost of a digital control computer is related to its projected functions, operating speed, and accuracy requirements.
VIII.
STRUCTURAL ASPECTS OF TELETRANSMISSION
149
It is not an exaggeration to say that a crude computer, properly fitted into a well-conceived system, will out-perform the most sophisticated machine fitted with hastily selected te1etransmission media, input-output equipment, sensors, and actuators. In the course of this first phase of his work, the analyst must very carefully examine systems priorities, load peaks and valleys, computer economics, and network suitability to the job. Can he group the different elements to be controlled into broad priority classifications in order to share the central processor in a more efficient manner? Will the network he is designing be able to carry load fluctuations within predetermined limits or are these limits too vague to avail for efficient design control?
Second Phase The second phase consists of a detailed survey of the data network that is to be automated. This involves consideration of the source document, of its content, of the available means for coding, and of the need and significance of the information it carries. Some specific hardware features should also be included. Possibilities for changes and transformation of data must be considered at each and every step in the course of the study process. Data coding, for one, requires a considerable amount of experimentation because it can affect the performance of the integrated data system. A data code should always be forward looking because code changes at a later date cost money; not counting the major upset such a change can bring to company operations. In fact, for companies needing a data ensemble in the first place, the question is much more involved than it sounds: Should all company operations, regardless of location, participate in reorganization? Who is to pay for this reorganization? Under whose authority will this operation be carried out? How can a clash of personalities be resolved? Studies on integrated data processing may show that a change in the form of the documents or a variation in the volume of documentation is required. This is the first, basic, but not most difficult step. Data recording for further usage may well be reduced if statistical techniques are applied for effective data reduction. Many interpretations have been given thus far to this term. We will use it to mean a reduction in the usual redundancy of data without any loss of information. This, by and large, will be done using mathematical statistics. But should the computer store the data reduction results or, rather, the original raw data? Problems posed by the teletransmission aspects of the network should also be considered. The error rate to be expected in a given time under specified
ISO
PART II.
DATA COLLECTION AND TELETRANSMISSION
circumstances is the usual figure of merit in this connection. The transmission systems functioning will have drastic effects on the performance of the data ensemble, and, therefore, evaluations are very important to program and implement. Critical questions arise from simple facts; for instance, there exists no standard voice telephone circuit with clear limits on such important parameters as amplitude and phase response, inpulse noise values, and transmission stability. Defining a nominal voice channel is a statistical problem which has only recently been attempted, and it is a field open for research. To obtain confidence limits on the pre-established outcomes, error performance evaluations should be made using several different methods. One method is to establish the result of averaging all recorded data without regard for the cause of marginal conditions. Another method is to study the error performance when probable but controllable troubles are eliminated. Still another approach is based on a careful analysis of the effect of the delay distortions, since there exists a direct relationship between effective delay distortion and error rate. Greater safety margins and low error rates could be provided by auxiliary equalization to appropriately condition the lines. Teletransmission applications will almost universally require error control, which is frequently achieved by horizontal and vertical parity checks. A choice will have to be made among available coding circuits able to detect error bursts or to be used for the correction of adjacent error bits. These utilize an efficient nonfeedback method for error control with block parity in which .:t redundant digits are included in a code word of length n = 2.:t - I, where .:t is any positive integer. Since the length of the detectable error burst is a function of the number of redundant bits, it is the function of the systems analyst to properly experiment in order to establish the right redundancy level. It is also his duty to carry this solution backward to the source of the information and forward to the corrective control action, in order to establish all possible hardware and software implications.
Third Phase The third phase in the study of a data ensemble involves a step-by-step tentative design of the data system, a consideration of the necessary hardware, and the effective integration of these component functions into a working total. This should include a detailed investigation and engineering study to determine specific parameters for the approach necessary to solve the problem. The purpose of this phase is to make an analysis of the necessary equipment and system performance, investigate new instrumentation that might be required, and make payout studies based on economic justification of the system. The number of possible solutions at this stage is rather impressive. As far
VIII.
STRUCTURAL ASPECTS OF TELETRANSMISSION
151
as the central processing level is concerned, we have made reference in the preceding chapter to the possibility of achieving a more powerful machine organization by tying together several computers into an integrated network. We have said that, with such a network, the desired increase in problem solving capacity can be obtained by dividing the total job into different pieces and by having the different computers in the system work on these pieces concurrently. But we also made reference to the interlocks from regulating the exchange of messages among the different computers and the necessity of guarding against the possibility of internal jams. These present major logical problems. Throughout this phase of the study, careful attention must be paid to hardware specifics. For a complex system where interlacing of action must take place between the different computers, effective priority-regulating methods are needed to keep all the computers in logical step with each other so that each machine carries out its portion of the over-all job in the proper order. The analyst will have to properly evaluate and establish such priority methods; it would be his task to identify the necessary and sufficient order of precedence among the different machines at every step. Since no hardware setup would yet be established, simulation methods will have to be used, and operations classified accordingly within each priority loop (Fig. 5). By the end of this phase the resulting preliminary design should be carefully re-evaluated. Because we are working with nonexistent systems, this evaluation will necessarily involve certain risks. Confidence intervals should be precisely determined; the data generated by the simulator and the projected corrective action should be studied in terms of their suitability
Fast control loop
Slow control loop
FIGURE
5
152
PA RT II.
DATA COLLECTION AND TELETRANSMISSION
to the purpose. The projected growth and change ofthe data flow should also be taken into consideration.
Fourth Phase The fourth phase in the study of a data ensemble is a fairly accurate cost evaluation, in the light of the system objectives and of the obtained performance. In Chapter IV while discussing the function ofthe system engineer, we have given a list of points pertaining to financial considerations. Here it suffices to say that in order to obtain a homogeneous basis for cost-efficiency comparisons the analyst should first develop an "operation time summary." Based on this, he should then ask for: • Equipment rentals • Associated personnel expenses • Amortization of installation requirements. His evaluation should be based both on the equipment rentals only and on a combination of the three foregoing factors, for hidden expenses sometimes tend to change the results of an initial comparison. Even so, it is only on the basis of quantitative committal data on behalf of the computer manufacturer that the prospective user of a teleprocessing network will be able to arrive at a decision of means and machines that will help his interest in the most efficient manner. Practically, there is no rule about the number of manufacturers to be called for a proposal for a projected data ensemble. For the first round, at least, these may range from an effective minimum of three to a saturation point of fifteen or so. The most difficult aspects of the installation procedures are obviously those concerning the conversion to the new system. This requires, in most cases, parallel runs of the computer system and of the manned data system until the automatic one establishes itself as a reliable process. Essentially "conversion" is a never-ending job, not orily because of perpetual hardware evolution but also because of the need for uninterrupted follow-up, adaptation, and evaluation. With the fast-developing technology of our time, no system, even the most sophisticated one, can be final. A continuous follow-up is tlie best solution found to the problem of system upkeeping, and to that of correcting systems deviations. But even if a "total approach" is taken in the study ofa data ensemble, the process of conversion is, of necessity, a gradual one. For this, there exist three main reasons: keep the required equipment within bounds of reasonable capacity; conserve investment in manual or semiautomatic equipment that is still adequate for the demands on it; and give proper service continuously during the period of change. The same reasons are present,
VIII.
STRUCTURAL ASPECTS OF TELETRANSMISSION
153
although to varying degrees, in every conversion process to automatic data handling. Once the basic system requirements for message switching have been formed, the requirements for the total system could be built up in terms of inquiry rates, I/O rates, information content and length of each transaction, the maximum allowable time for processing each transaction, the type and amount of processing required for each transaction, accuracy requirements, normal and peak traffic times for each station and for the total system, the type and amount of information that must be stored for each function, and the rate of access required to this information for either entry or retrieval. General systems capabilities and characteristics would include: • Ability to cope with undisciplined queries under peak demand. • A fast response time for queries from input/output devices over a wide geographic distribution. • Continuous system operation, 24 hours a day, 365 days a year. • Assured accuracy of data in the system and proper audit of all action taken. • Expansion ability for volumes of peak traffic, and increased functions. • Adaptability to program changes necessitated by changes in operating procedures. • Flexibility for integrating additional functions, without shutdown of on-line activity. • Maintainability so that part of the system can be taken out of service without upsetting normal capacity.
PART III
Chapter IX THE USE OF NUMERICAL SYSTEMS
A discussion of numerical systems should start with a review of methods that have been used by humans for counting purposes. Practical methods of numeration are many in number and diverse in kind. But the one primitive approach of counting, which seems to have been almost universal throughout time, is the finger method. It is a matter of common experience and observation that every child, when he begins to count, turns instinctively to his fingers. With these convenient aids as counters, he tallies off the little number he has in mind. This method is so "natural" and "obvious" that there can be no doubt that it has always been employed by savage tribes, since the first appearance of the human race in remote antiquity. Research among uncivilized peoples has tended to confirm this view. Occasionally some exception to this rule is found, or some variation. A variation is presented by the forest tribes of Brazil, who, instead of counting on fingers themselves, count on the joints of their fingers. The variety in practical methods of numeration observed among savage races, and among "civilized peoples" as well, is so great that any detailed account of them would be almost impossible. In one region we find sticks or splints used; in another, pebbles or shells; simple scratches or notches cut in a stick; kernels or little heaps of grain; knots on a string; and so on, in a diversity of methods almost endless. Such are the devices which have been, and still are to be found, in daily use by great numbers of Indian, Negro, Mongolian, and Malay tribes; while to pass at a single step to the other extremity of " intellectual development," the European orthe American student who keeps his score by pencil marks on a paper or on the wall.
157
158
PART III.
NUMERICAL, LOGICAL, &
STOCHASTIC PROCESSES
DEVELOPMENTS IN THE ART OF CALCULATION An efficient numerical system is important not only because it allows for convenience in counting. Of even greater importance is the fact that it enables calculation, that supreme quality of human beings. The less efficient the numerical system employed, the less developed the people (or the mathematics employed) and, as a consequence, their science and technology. Our hypothesis is that in the early days of humanity, the number idea was extended by adding little by little, much as a child learns to add numbers. Human beings began by "two" through the addition of one and one, "three" by the addition of one and two, and so on. Probably one of the most important advances to arithmetic systems was made by the Sumerians. Texts dating back to 2100 B.C. show that the Sumerians knew quite a bit about numbers. They used a sexagesimal system superimposed on a decimal system with symbols for 60- 1,60- 2 , 1,60, 3600, and so forth. They also used "positional notation," which is more important than the type of base employed. In their notation, the number 369 would mean 3.(60)2 plus 6.(60)1 plus 9.(60)°. The division of a circle into 360 degrees can be traced back to the work of the Sumerians. The Greeks generally assumed that mathematics had its origin in Egypt. Aristotle writes: "Thus the mathematical sciences originated in the neighborhood of Egypt, because there the priestly class was allowed leisure." Herodotus accredits the Egyptian developments in mathematics to necessity. One of his hypotheses is that while the Nile had flooded an agricultural tract it became necessary. for the purpose of taxation, * to determine how much land had been lost. This he considers as a turning point and believes that from this the Greeks learned the art of measuring land. In fact, the Egyptian method of multiplication is the foundation of the entire art of calculation. It is based on a sequential multiplying and adding procedure which works "miracles." This method, we assume, must be very ancient, but it was able to maintain itself, without change, into the Hellenistic period. In the Greek schools, it was taught as "Egyptian calculation." Even during the Middle Ages, duplication was looked upon as an independent operation. Along with it, the process of halving was taught. The fact that multiplication at this time was based on successive additions is not strange, for the dominant element in thought of the Egyptians was addition. The mathematical man in Egypt writes fractions as sums of unitfractions, while the technical term for multiplying is, for him, "add, beginning with ...". Furthermore, Egyptian multiplication is essentially a written operation; it cannot antedate the notation for numbers. Neither can it be
* A mightily good purpose, indeed, which is why it is said that one cannot escape death and taxes-s-unless, of course, he knows how to play with the system.
IX.
THE USE OF NUMERICAL SYSTEMS
159
much younger than the art of writing itself, for, obviously, to calculate the amount of grain necessary for an army, or to determine the quantity of money and of material required for the construction of the pyramids, multiplication was required. We do not know the precise path that was taken in the development of arithmetic. Our hypothesis is that progress was very slow, extending over the entire period from the invention of the art of writing to the Middle Kingdom. From multiplication one comes "naturally" to division, which is nothing but inverse multiplication. But to carry out a division, fractions and operations on fractions are needed; thus the division problem led to a further development in the art of calculation. The recognition of simple relations among the natural fractions was probably developed in the following manner: Additional rules resulted from halving; rules for the duplication of the unit fractions were derived; while a decisive step was the discovery that every unit fraction can be duplicated by division. As the calculations became more and more complicated, the need for a method of checking was recognized. It is not unlikely that the procedure to compare different sums of unit fractions was thus developed. Elementary as these advances may seem today, they were, nevertheless, giant steps at the time they were accomplished. Mathematics in essence is a giant in the field ofthe human intellect. It can be divided through dichotomy into two large classes. One of these classes is extremely difficult to conceive and apprehend; the other is extremely easy. The dichotomy lies where our own knowledge stands at the moment-for any practical reason, it is independent of the difficulty of the subjects that are involved. We will discuss matters of analysis to a considerable extent in Chapter XIII.
THE EVOLUTION OF NUMERICAL SYSTEMS To understand the importance and the role of the numerical systems, one should carefully consider their evolution through the principal cultural periods, and of the related arithmetic techniques. Both a good notation and a convenient manipulation are of fundamental importance to the development of mathematics. Under the Greeks, digital mathematics had to "degrow" because of the inefficiency of Greek numerical notation techniques. The Babylonians are known to have had an excellent sexagesimal notation for whole numbers and fractions. This notation enabled them to calculate with fractions as easily as with integers. In turn, this made possible their highly developed algebra. They knew how to solve systems of linear and quadratic equations with two or more unknowns, an operation impossible
160 PART III. NUMERICAL, LOGICAL,
&
STOCHASTIC PROCESSES
for the Egyptians, because their complicated fraction technique made a difficult problem out of every division or subtraction of fractions. The sexagesimal system used by the Babylonians was taken over from the Sumerians, their predecessors in the land of Mesopotamia. With this system, numbers under 60 are written in an "ordinary rotation," as if they were (for present-day practice) decimal numbers. A simple vertical wedge had the value "I"; the wedge with two ends had the value "10" (in sexagesimal notation). The choice of 60 as the number base is probably an historical "accident" or chance. It is not unlikely that a part in the choice of 60 was played by a certain normalization of measures, but to this there isno certitude. One development of tremendous significance, which should be noted in connection with the Babylonian-Sumerian numbering system, is the "positional notation." As with our present-day practice, the value of a symbol depends upon the position of the symbol in the number. The higher powers of 60 are placed in the beginning, the lower at the end. The third, and possibly the foremost, development of the Babylonian system was the introduction of the "zero." To overcome certain inherent drawbacks, of the otherwise excellent positional notation, a separate sign was introduced in the "empty place" left between two digits. This can be regarded as one of the greater accomplishments of the human intellect. The Greek, and subsequently the Roman, disservice to algebra and arithmetic was the use of letters for specified numbers. Not only were any digital manipulations made difficult by this method, but it inhibited human thinking by not leaving the letters available for indeterminates or for unknowns, as is done with the Hindu-Arabic notation. Strangely enough, until the time of Archytas (390 B.C.), letters were, in fact, used for indeterminates. Archytas represented, for instance, the sum of the numbers A and r by Ar, the summation sign being omitted, as we often do today in multiplication. Had it been supplemented by a sign for multiplication, a minus sign, and a symbol for fractions, this system might have provided an effective notation for theoretical arithmetic. But even Euclid (300 B.C.) had already abandoned this simple notation for sums: When he wanted to add two numbers, he represented them by means of line segments EZ and ZK, thus denoting the sum by EK. The bias introduced from geometry or analog arithmetic is rather obvious. The earliest Greek number system was merely a series of marks or tallies on a stick or the ground. This system is still in use throughout the world today as a method for recording the number of times an event takes place. Later on, letters of the Greek alphabet were used to represent a certain total of marks, thus reducing the effort required to write large numbers. The Roman system may have been developed, through the Etruscans, from certain Greek letters. It went through a long period of evolution until, in its final form,
IX.
THE USE OF NUMERICAL SYSTEMS
161
seven symbols were used in combination to write all numbers. They are: I, V, X, L, C, D, and M. There is no "0" in this system, but such a symbol would have little importance since this is not a place-value system. For purposes of calculation, the Greek-Roman number symbols were equally troublesome. Arithmetic and algebra had to wait until the year 766, when the Caliph Al-Mansur erected the fabled city of Baghdad, not far from the ruins of Seleucia and of Babylon. Its schools of thought attracted Jewish, Greek, Syrian, and Persian scholars and artists, and among others, two of the greatest of Arab astronomers and mathematicians, al-Battani and Tabit Ben Qurra. The works of the great Greek scientists were zealously translated; Euclid, Ptolemy, and Aristotle became the great authorities in geometry, astronomy, and philosophy. A grandson of Al-Mansur, AI-Ma'mun, established in Baghdad an academy, a library, and an astronomical observatory. At this time, Muhammed ben Musa, or Al Khwarizmi, wrote the first Arabic book on Algebra. Later, his name was misspelled to Algorithmus, and since then, the word algorithm is used to designate a process of calculation. * The same Al Khwarizmi wrote a small work on Hindu calculation, which, some four centuries later, was translated into Latin by an English monk. It was by means of this Latin text that the Western world became acquainted with the HinduArabic numerals and the fundamental mathematical concepts. Hence, the Arabic numerals are so named because the people of Europe came to know of them from the Arabs. Historically, this is incorrect since these numerals probably originated in India before 300 B.C.. and were not used by the Arabs until much later. With them, the positional notation and the. "magnificent zero" made a comeback. Concerning the zero, AI Khwarizrni writes as follows: When (in subtraction) nothing is left over, then write the little circle, so that the place does not remain empty. The little circle has to occupy the position, because otherwise there would be fewer places, so that the second might be mistaken for the first.
It was particularly the zero which seemed queer to people when Arabic numerals were introduced to Western Europe. It was called all sorts of things, often being named "a symbol that merely causes trouble and lacks clarity." Yet, it is a cypher, a cypher par excellence. This is not only mathematically but also literally correct since the word cypher is derived from the Latin "cifra" which means "zero" and comes from the Arabic word "alsifr," the empty.
* Algorithm: A completely specified solution procedure which can be guaranteed to give an answer if we follow through its specified steps; to be distinguished from: Euristic: An approach to the "discovery" of a problem solution, through the making of plausible and fallible guess as to the "best thing" to do next.
162 PART III. NUMERICAL, LOGICAL,
&
STOCHASTIC PROCESSES
But the introduction of the other numerals to everyday practice met with no less resistance. In 1299, the city of Florence issued an ordinance that prohibited the writing of numbers in columns, as well as the use of Hindu numerals. A Venetian treatise on bookkeeping claimed in all seriousness that "it is so easy to change a 0 to a 9 or a 6." Even in 1594an Antwerp canon warns merchants to use numerals in contracts or in drafts. How much does this sound like the claims of some Western European bankers in A.D. 1964that the E 13B magnetic ink characters are odd and impossible to read!
NUMERICAL SYSTEMS FOR USE WITH ELECTRONIC MACHINES With the evolution of the idea for man-made high-speed computing machinery, research engineers looked fOT a numerical system that would make possible efficient operations from the part of the machine. The optimum selection was a function of the actual state of the art, of design approaches, of materials and components available at that time, and of the existence of a mathematical system complete and noncontradictory in itself. Among the alternative numeric systems which have been considered at that early stage were: • Hexadecimal • Decimal • Quinary • Quaternary • Ternary • Binary • Binary-Coded-Decimal. The Hexadecimal System. This system is based on radix 16, hence on a power of two. From this fact, it follows logically that the hexadecimal system can be expressed as a special case of the binary. Early computer designers often used 16 as a basis, and in certain respects the hexadecimal is a very useful system since it permits more divisions without fractional numbers than any other system. The Decimal System. Two forms are known: the quinary decimal and the pure decimal. In the former, the numbers over fiveare formed by composition with five (8 = 5 + 3; 9 = 5 + 4), by the pair system (6 = 3 X 2; 8 = 4 X 2), or by subtraction (7 = 10 - 3). With the pure decimal system there is no partition of the decade into two pentads and, therefore, the compound character of the numerals from 5 to lOis not a problem. The entire system becomes simpler and its forms are
IX.
163
THE USE OF NUMERICAL SYSl:EMS
better fitted for general application although not necessarily for electronic circuitry. The Quinary System. This is based on the number 5. In its pure form this system is used in counting with fingers of each hand, as in the case of the South American Arowak language. Most usually, however, it is presented and utilized in the quinary-decimal form. The Quaternary System. This uses four numerals and forms numbers above four by composition: 5 = 4 + 1; 7 = 4 + 3; 8 = 4 + 4 or 2 X 4; 9 = 2 X 4 + 1; 16 = 4 X 4. Generally speaking, this system was never too popular. The Ternary System. As the name implies the ternary system is based on radix 3. Hence, three different digits are required for this system, those corresponding to 0, 1, 2. In literature, the symbols that have been used for these three digits are: - 1,0, + 1, respectively, or, abbreviated, -,0, +. One of the several advantages of the ternary system is that the procedure for inverting the sign of a number without changing its magnitude is straightforward: change all (+) to (-) and all ( - ) to (+) while leaving the unchanged. The Binary System. Among the main advantages of using a system with a base less than ten is that there are fewer individual numbers to remember. With this in mind it would seem that the best base to use would be base "2," or the binary system. Yet the binary system did not come into great popularity until very recently. The turning point was the design and use of digital computers. A system based on "2" requires only two distinct digits: and 1. Bythis token within the binary system the number "2" itself would be written as "10," 210 = 102 , preserving the concept of the positional notation. The selection of the binary system for internal circuitry design was, originally, a rational one. Searching for the radix that would offer the optimum utilization of electronic devices, electronics designers found that this would be given by the base of the natural logarithm "e," or 2.718. The closest base would then be the radix 3. However, the radix 2 had another major asset to its credit: the availability of the mathematically complete two-valued system of Boolean algebra, for analysis purposes. The Binary-Coded-DecimalSystems. These have been designed and used in an effort to cover the gap between the machine-oriented binary notation and the established practice in science, business, and industry concerning the usage of the decimal system. With respect to design, a major argument which was presented in favor of the binary-coded-decimal system is now fading out. Originally, as computer usage little-by-little spread from the scientific to the business and industrial data processing area, people felt that the decimal system in some way had
°
°
164 PART III. NUMERICAL, LOGICAL, & STOCHASTIC PROCESSES
to be preserved. Computer designers imagined that, to please the population of users and potential users, they should provide for a numerical system better known to the average human being than the binary. By this token input and output could be done by the human in the form of a "familiar" numerical system, as, for instance, the decimal, while internal processing and storage was in a BCD form. Such approaches created the need for conversion techniques and for different coding schemes. By means of an appropriate code all 10 decimal digits can be represented in a binary form. The decimal number 9, for instance, would be coded as a I and 8 combination. This system of coding issomewhat wasteful of circuits. It requires four binary digits for the coded representation of radix 10. But the four binary digits avail for sixteen combinations, while with the coding schemes under discussion, only 10out of the possible 16stable states are used. With a system using BCD coding, the digits are added in binary form. The circuitry is so arranged that the numbers are always decimally corrected unless this correction is suppressed. This is the case with instructions dealing with alphabetic characters, where it is necessary to pass the information through the digit adder without decimally correcting it. Although almost any combination of four numbers that allows a configuration of digits from 0 to 9 can be accepted as the binary code for decimal arithmetic, selection by computer designers is usually done among a number of "established" codes. Two of the most commonly used decimal-to-binary codes are the 8421, and the 5421. A variation of the 5421 is known as the "biquinary." Other codes which have also been used in computer designs are the 2*421, the 84-2-1, the 7421, and what is known as the "Excess 3, 8421." These codes are presented in Table I. TABLE J BINARY·CODED-DECIMAl SYSTEMS Exc.3 Decimal 0 I 2 3 4 5 6 7 8 9
7421
84-2-1
0000
0000
0000
0001 0010
0001 0010
0111 0110
0011 0100 1000 1001 1010
0011 0100 0101 0110 1000 1001 1010
0101 0100 1011 1010 1001 1000
8421
2*,121
8421
5421
0000
0000
ooll
0001 0010
0001 0010
0111
ooll
OOll
0100 0101 0110
0100 0101 0110 0111 1110
Olll
1000 1001
III I
OWl OlIO Olll
1000 1001 1010 1011 1100
lOll
1100
llll
IX.
165
THE USE OF NUMERICAL SYSTEMS
ARITHMETIC OPERATIONS The easiest arithmetic table for addition and multiplication is that of the binary system. Fundamentally, it is based on the fact that: 0 + 0 = 0, o + I = 1, I + I = 102 , 1.1 = 1, and 1.0 = O. Shown in a matrix form it is: Binary addition
Binary multiplication
0
I
0
0
I
I
I
10
0
I
0
0
0
I
0
I
Multiplication in the binary system is a very straightforward process. As an example, say that we want to multiply the number 101112 ( = 23 10 ) by the number 10102 ( = 1010 ) : 10111 1010
00000 10111
00000 10111 11100110 The product is equal to 111001102 ( = 23010). With equal ease we can proceed with octal multiplication (see Table II). Indeed all that we need for octal multiplication is an arithmetic table giving the exact equivalences (see Table III). Difficulty in writing digits does not exist because the radix 8 is less than the radix 10, hence we may employ the numbers 0 to 7 included. Since 8 is a power of 2, there exists, of course, a definite relationship between binary and octal arithmetic. TABLE II OCTAL OPERATIONS
0
Octal addition 0 0 I 2 3 4 5 6
I 2 3 4 5 6
7
7
I 2 3 4 5 6 7 IO
2
3
4
5
6
7
2 3 4 5 6 7 IO
3 4 5 6 7 IO
4 5 6 7 IO
5 6 7 IO
6 7 IO
7 10
II
II
II
II
12
12 13
12 13 14 15
12 13 14 15 16
II
12 13 14
II
166
PART III.
NUMERICAL, LOGICAL, &
STOCHASTIC PROCESSES
Octal multiplication
0 0 0 0 0 0 0 0
0 I
2 3 4 5 6 7
0 I
2 3 4 5 6 7
0 2 4 6 10 12 14 16
II
0 4 10 14
14 17 22 25
24 30 34
0 3 6
20
0 5 12 17 24 31 36 43
0 6 14 22
0 7 16 25 34 43 52 61
30
36 44
52
TABLE III DECIMAL, BINARY, OcTAL, AND HEXADECIMAL NUMBERS Decimal
Binary
Octal
Hexadecimal
0
0
0
I
I
I
I
2 3 4 5 6 7 8 9 10
10
2 3 4 5 6 7 10
2 3 4 5 6 7 8 9
Il
12 13 14 15 16 17 18 19 21 22 23 24 25 26 27
28 29 30 31 32
Il
100 101 110 III
1000 1001 1010 1011 1100 1101 1110 1111 10000 10001 10010 .10011 10101 10110 lOll I
11000 11001 11010 11011 11100 11101 11110 11111 100000
Il
12 13 14 15 16 17 20 21 22 23 25 26 27 30 31 32 33 34 35 36 37 40
0
U V W X Y
Z
10 II
12 13 15 16 17 18 19 IV IV IW IX IY
IZ
20
IX.
167
THE USE OF NUMERICAL SYSTEMS
Another subject of major importance is that of conversion from one basis to another. The most often encountered conversion is from the decimal to the binary system and vice versa. Conversion from decimal to binary can be divided into two parts: conversion for integers and conversion for fractions. As an example of conversion for integers, consider the decimal number479, denoted by 47910 = P02°
+ P I2 1 + P22 2 + ... + P.2·, where Pi = 10rO.
The procedure for changing the number from decimal to binary form is given in the accompanying tabulation: 479
2
239+ 119+ 59+ 29+ 14t 7
1 1 1 1 1 0 1 1 1
,
3~
It
., I
Hence, the binary number is 111011111, and 47910 = 111011111 2 • This can be verified as follows: 1 x 28 + 1 X 27 + 1 X 26 + 0 X 25 + 1 X 24 + 1 X 23 + 1 X 22 + 1 X 21 + 1 x 2° = 256 + 128 + 64 + 16 + 8 + 4 + 2 + 1 =47910" The same procedure can be used for the octal, hexadecimal, etc., systems. For instance, 47910 = P08°
+P
1 I8
+P
28
2
+ ... + P.8·, where 0
~
Pi < 8.
In fact, once a number has been converted from decimal to binary form it can easily be expressed in octal and hexadecimal forms: r---T
o0
r-.
r---T
r---T
1 1 1 1 1 0 1 0 1 12 = 17538 i I I o 0 1 1 1 1 1 0 1 0 1 12 = 3YV16 ,
i i i
where for decimal 10 11 12 13 14 15 it is hexadecimal U V W X Y Z The conversion technique for fractions is similar, but if a number has both integer and fraction (decimal) parts, the conversions should be carried out separately for each, and the results added. As an example the conversion
168 PART III. NUMERICAL, LOGICAL,
& STOCHASTIC PROCESSES
of the decimal number 0.215 to binary form is given in the accompanying tabulation: 0.215
2
0.215 0.430 0.860 0.720 0.440 0.880 0.760 0.520
0.430 0.860 1.720 1.440 0.880 1.760 1.520 1.040
From the tabulation we obtain 0.215[0 = 0.00110111 2 • Multiplying the fractional decimal number by 2 we get to the left of the decimal point either oor 1. These digits should be recorded in the sequence obtained, as shown in the example, and the multiplication carried out to the desired degree of accuracy. Here, again, conversion of the binary fraction to octal or hexadecimal form is straightforward:
,-,,-,,-,
·0 0 1 1 0 1 1 1 0 = 0.1568 i
li
I
·0 0 1 1 0 Say that we want to perform hexadecimal, 3{ld ternary for the obtain the binary equivalent, as
1 I I = 0.37rea conversion process into binary, octal, decimal number 10012.010152. We first shown in the accompanying tabulation:
:2 10012 5006 2503 1251 625 312 156 78 39 19 9 4 2 1 0
x2 0 0 I I I I 0 0 I I I 0 0 1
01052 2104 4208 8416 16832 33664 67328 34656 69332 38664 77328 54656 09312
0 0 0 0 0 0 I 0 I 0 1 1
IX.
THE USE OF NUMERICAL SYSTEMS
169
This can easily be converted into octal and hexadecimal forms: l00I11000I1100.000000101011 2 = 23434.0056 x = 271 W.04X]h' The ternary equivalent will be computed as with the binary examples, and is shown in the accompanying tabulation.
:3 10012 3337 1112 370 123 41 13
4 0
x3 1 1 2 1 0 2 1 1
.01052 03156 12468 37404 12212 36636 09908
0 0 0 1 0 1
THE PROCESS OF COMPLEMENTING In arithmetic operations with digital computers we need to "complement" a certain number. This technique permits the use of adding circuitry for subtraction, thus saving considerable electronic hardware. However, complementing techniques do require particular considerations, and sometimes they become so involved as to discourage any extensive use of them. To start with an easy example, say that we wish to form the difference of two numbers, N] and N l . Let that difference be A. Obviously, the result would be the same if the difference we add and subtract the same number, e.g., 10. But 10 = 9.9999 + 0.0001, hence again it would make no difference if one of these "added" tens, in the equation, is substituted by this sum. Let us follow now the complete process: A = N] - N 2 = N] - N 2 + 10 - 10 = N] + (10 - N 2 ) - 10 = N] + (9 - N 2 + 1) - 10 = N] + (9.9999 - N 2 + 0.0001) - 10. Notice that within the parenthesis we have (9.9999 - N2 + 0.0001). Forgetting for a moment the third factor, 0.000 I, which is too small to alter our results, we obtain 9.9999 - N 2 • It is easy to see that, no matter what value is chosen for N 2 , with proper scaling it will never be greater than 9.9999. Ifwe scale the numbers N; with which we are dealing so that the max (N;) = 100, then none of them can be greater than 99.9999, and to obtain the latter it suffices to add and subtract 100 to the original equation instead of 10. Furthermore, no digits of the decimal number N; can be greater than 9, hence in this particular kind of subtraction we would not need to "borrow"
170 PART III. NUMERICAL, LOGICAL,
&
STOCHASTIC PROCESSES
one from the next higher order, a process with which we are so familiar in traditional subtraction. From the foregoing it follows that we can completely eliminate subtraction while taking the difference 9.9999 - N 2 , if we are able to devise a mathematical rule that would give, as with a certain arithmetic system, the complement of N 2 with respect to 9. This difference, 9.9999 - N 2 = N 2 ' , is also known as the 9's complement of N 2 • If to the resulting difference (complement) we add the factor 0.0001, which we had disregarded the first time, then we obtain what is known as the lO's complement of N 2 .* To consider an arthmetic example, let N\ = 0.5689 and N 2 = 0.1358, and say that we want to subtract N 2 from N\. According to what has already been discussed about complementing we take 10 -N2 : 9.9999 + 0.0001 - 0.1358 9.8641 9's complement of 0.1358. + 0.0001 9.8642 the true, or lO's complement of 0.1358. Hence, instead of subtraction we can now perform addition: 9.8542
+ 0.5689 10.4331. Here we have an "overflow" of 10, but considering the corresponding -10 which exists in the original equation we conclude that the result is 0.4331. Sometimes the result of the complementing process turns out to be: 9.8642 - 10 = - 0.1358. This, for instance, would be the case where N 2 > NJ" To study complementing with binary numbers, consider as an example the binary number 102 = 2 10 = 0010. This could also be written as: l.llill + .00001. Then say N 2 = 0.11011. It is: 102 - N 2 : 1.11111 + 0.00001 - 0.11011 1.00100 Corrective complement, or I's complement + 0.00001 1.00101 True complement, or 2's complement. In other words, just as with decimal numbers we had 9's and lO's complements, with binary numbers we have l's and 2's complements. The 2's complement is also known as "true" complement and results from the * Indeed this factor can be made as small as we please provided that we keep on adding 9's at the right most place of 9.9999.
IX.
171
THE USE OF NUMERICAL SYSTEMS
I's complement by adding the binary factor 0.00001 which initially was omitted while taking the difference 1.11111 - N 2 • Consider as an example the decimal numbers 9 and - 9; converting these numbers into binary and complementing, we obtain: Decimal Number
I's Complement
2's Complement
01001 10110
01010 10lll
Thus, in general, one way of representing negative binary numbers is by using l's complement. For the general case, let there be a number - N, where N >0. Then: - N = hn _ 1 hn _ 2 hn _ 3 hn _ 4 ••• ho' where N = bn _ 1 bn _ 2 bn _ 3 bn _ 4 ••• boo One's complement would be presented as 2n - N - I, 2's complement is 2n - N = (2n - N - I) + I. Say that we want to consider in decimal form the sum ( - 9 + 13)10" Converted into binary, l's complement for - 9 is 10110, while 1310 = 01101 2 , Hence: Correction A Correction B
10110 01101 (1)00011
+
l's complement and overflow
I 00100
2's complement,
and 00100 2 = 4'0' which is the correct answer. Notice the two corrections that were necessary. Correction A takes care of the overflow. The binary equivalent of 9 is 1001. In order to take its complement we have used a factor 2n , here n = 5. This 25 must later be subtracted, and this is exactly what is taken care of with Correction A. Correction B changes l's complement to 2's complement by adding the missing digit. In the present case a missing digit makes a lot of difference, because there are only a few significant digits in the number under consideration. For large numbers the importance of this digit (for conversion to 3's complement) would have been much less apparent. A particular case of complementing is that in which we deal with binarycoded-decimal numbers. Table IV gives the original 842I code and the corresponding 9's complement. Notice that although we deal with binary numbers these in essence represent coded decimal numbers, hence we are talking about 9's complement. The rules for complementing in this particular code are given as a footnote toTable IV.
172 PART III. NUMERICAL, LOGICAL, & STOCHASTIC PROCESSES TABLE IV ORIGINAL
8421
CoDE AND THE CORRESPONDING
9's Complements
Original 8421
WXYZ
W'X'Y'Z'
100 I 1000 0111 0110 010 I 0100 00 II 0010 000 I 0000
0000 0001 001 0 00 1 1 o 100 010 I oII0 o1I 1 1000 I 00 I
a Rules
for the complement:
I. Z = Z', for example, if Z = 0, Z' = 1, and vice versa.
2. We have W
=
I, if WI, XI, y l are all zero.
3. Y= YI. 4. We have X
=
I, if X' or Y', but not both, are I.
9's
a COMPLIMENT
Decimal
o I
2 3 4 5 6 7 8 9
Chapter X FUNDAMENTALS OF BOOLEAN ALGEBRA
Historically, the subject of logic originates in the technical and metaphysical discourses of Aristotle. It has continued to the present day in essentially the same form, with the added contributions of men who concerned themselves with the study of the laws of human thought. Aristotle, in his "Philosophy of Mathematics," shows that universal mathematics comes first; it is the study of quantities as quantities, and of their properties. Then follows arithmetic and geometry. Arithmetic is defined as the science of numbers and their properties. Geometry is the science of magnitudes and their properties. From the time of Aristotle to the time of George Boole, little progress was made in mathematical logic. Working on the theory of probabilities, Boole developed the two-valued system which bears his name. In his book written in 1854 (The Laws of Thought), he states as his objectives: • To investigate the fundamental laws of those operations of the mind by which reasoning is performed • To give expression to them in the symbolic language of a calculus and upon this foundation to establish the science of logic and construct its method • To make this approach itself the basis of a general method for the application of the mathematical doctrine of probabilities • To collect some probable intimations concerning the nature and constitution of the human mind. Mathematical logic enables one to make systematic manipulations of complexes of statements and connectives in order to determine the implications of these complexes or the conditions determining their truth or falsity. Logic is also of fundamental importance in digital computation since the digital computer is essentially a "logic machine:" Here the propositions 173
174 PART III. NUMERICAL, LOGICAL,
& STOCHASTIC PROCESSES
are statements about the values of numbers, and the logical operations are the ordinary arithmetic ones. Both the designer and the user of the digital computer are, in effect, logicians, and a knowledge of mathematical logic is a virtual necessity for both of them to realize their effectiveness.
EXAMINING THE BOOLEAN LOGIC The Boolean system is composed of the following elements: • Literal symbols, suoh as A, B, C, representing things as subjects of our conceptions • Signs of operations, such as +,',', standing for operations of the mind • The sign of identity (=) and its negation (no identity). These symbols of logic are in their use subject to definite laws, partly agreeing with and partly differing from the laws of the corresponding symbols in algebra. Boole provides a proof for what is one of his two most basic expressions, namely: A.A = A. He states: "If two quantities A and B possess the same qualities, when written together as A B they represent a class of things having qualities A and B." But since these qualities are identical, the above expression may be equated to A.B = A ; or since A equals B to A 2 = A. This mathematical system further proposes that since its whole is to be treated as an algebraic process, it should admit of numerical substitution. Boole shows that there are but two numbers suitable of consistency: 0 and 1. "0" is nothing; "I" is universe, it includes everything. Boole then proceeds to his second fundamental equation, which provides a general form for writing any function of y, where y is a logical symbol. Letf(y) "= Ay + B(1 - y); by substitutionf(l) = A andf(O) = B. Therefore, f(y) = f( l)y + f(O)(1 - y). This example includes only two variables, but the general equation can be written in similar terms for any number of variables. To examine some of the basic operations of the Boolean system let the "universe" equal one, and the "empty set" equal zero. Then, let any operator A, B, or C selecting upon any group extract from it all objects of a particular class contained therein. For example, if the operator A is defined as "cities" then the operation (A)( 1) gives us all the cities in the universe. If the operator C is defined as "greater than 1,000,000 people" then the operation (C)(I) yields every grouping of people greater than 1,000,000, and the operation (A)( C)(1) yields all cities with a population greater than 1,000,000 people. Further, if the operator B represents "American" then the operation (A)(B)(C)(1) yields the American cities having a population larger than one million people.
X.
FUNDAMENTALS OF BOOLEAN ALGEBRA
175
If, for ease in manipulation, we define (A)(1) equal to A, then an examination of the foregoing concepts yields the following useful rules: Distributive Law A(B + C) =AB +AC A + (B - C) = (A + B) - (A + C).
If Band C are two classes within the universe, it is immaterial whether an operation is carried out on the two classes separately and the results added, or the classes added together and the operation carried out on the whole. We can select cats (B) and dogs (C) from the universe, select the male ones(A) from each and add the two groups together, or we can take the entire class of cats and dogs (B + C) and select everything male from it. Either way, we obtain all the male cats and dogs. Associative Law A + (B + C) = (A + B) + C A.(B.C) = (A.B).C. If A, B, C, are three classes in the universe associated through the process of logical addition or logical multiplication, as far as the final outcome is concerned, the order in which the operation takes place is immaterial. Commutative Law A·B = B·A A+B=B+A. It is irrelevant in what order two successive acts ofselection are performed We can select everythingfemale from the universe and select all the elephants from this class, or select all the elephants from the universe and select females from this class; either way, we obtain all the female elephants. Index Law
An =A A +A +A =A. The result of an act of selection performed any number oftimes is the same. It is obvious that we could operate at infinity selecting the males from the universe and obtain no result different from the result of the initial operation. Furthermore, we define in this system: ·(l-A)=A' • B(l - A) = BA' • (l-A)(l-B)=A'B' • AB =A • AB =0 • AB = C • AO =0
Everything which is not A. Everything which is B but not A. Everything which is neither A nor B. All A's are also B's. There are no terms common to both A and B. The terms C are common to both A and B. Selecting the A's from nothing gives nothing.
176
PART III.
NUMERICAL, LOGICAL, & STOCHASTIC PROCESSES
Also the following Boolean symbols need to be defined: C c A e is a member of the class A, i.e., C is one of the elements having those characteristics that are required for membership in the class A. A c B The class A is included in the class B, i.e., every element of A is also a member of B. A.B or A n B The intersection of A and B, i.e., the class of all elements that are members of both A andB. The symbol n is called "cap." A + B or A u B The union of A and B, i.e., the class of all elements that are members of A or of B or of both. The symbol u is called "union." A 'or ,A The complement or negation of A, i.e., the class of all elements that are not members of A. The operations of intersection and union obey the commutative, distributive, index, and associative laws, as has already been explained.
THE FUNCfIONS OF LOGICAL SETS In Boolean algebra we distinguish sets of objects and we assign certain symbols to represent these sets. Any set can include one or more subsets. A subset is also a set; in fact it is a part of another set. For example, every set is a subset of the universal set. Thus the universal set includes every other set. The elements of a set have in common a certain characteristic or the lack of a certain characteristic. We may have sets of animals, of cities, or machines, of numbers, and the like. Consider the following sets of letters:
= (x,y, z, u, v, w) = (t,y, z) = (u, v, r, s) = (x,y, z, u, v, w). Sets A and D are equal to each other; they contain exactly the same elements. Thus, we can write A = D. Set B is included in set A, thus set B is a subset of A. This we write A ::::> B, where the symbol c is used to indicate a subset. Two sets that are equal can be written the one as a subset of the other; for example, A cD or DcA. Inversely, when two sets can be expressed as the one being a subset of the other, then they are equal. However, this cannot be done with sets A and B. Set B is a subset of set A, but set A is not a subset of set B. In the foregoing example, set A and set B have in common the subset (y, z). Neither set A nor set B can be expressed the one as a subset of the other. A B C D
X.
FUr-;DAMENTALS OF BOOLEAN ALGEBRA
FIGCRE
177
1
Set B and set C have no subset in common. The universal set I is the set that includes all possible elements. Being the universal set, I (also written as 1) is a subset of no other set but of itself. Defining the zero (empty) set "0" as the set that includes no elements, we state that no set is a subset of o but itself. Based on these notions, we can state that an event is either true or false; either A or A'. Then A I includes all elements of the universal set that are not included in A, and none of the elements that are included in A. In other words sets A and A have absolutely no elements in common. It follows that AA' = 0 (Fig. 1). Two sets A and B may have some elements in common [Fig. 2(a), (b), (c)] or may have no elements in common [Fig. 2(d)]. I
~ .
B
A+B=B+A
(0 )
(b)
f!!A®8 (c)
(d) FIGURE
2
178
PART III.
NUMERICAL, LOGICAL, & STOCHASTIC PROCESSES
In Fig. 2(b), sets A and B form a "union," which includes every element of A and B. This is in accord with the equations we have stated ofthe "logical addition" of two sets, equal to A + B, and the "logical multiplication" A.B. We also distinguish the exclusive or, that is, the sum of elements belonging to either A or B, but not to both [Fig. 2(c)]: A
+ B = (A + B)(A.B)' = A'B + AB'.
If we assign to true propositions a value of one, and to false propositions a value of zero, the terms disjunction, conjunction, and negation may be defined by "truth tables," which are tabulations of the "truth value" of the complete proposition in terms of the truth values of its components. Thus, A = B' is defined as follows: A B o 1 1 o Similarly, disjunction is defined by: AB A +B 00 01 10
o
1I
1
AB
A.B
00
0
I 1
and conjunction by:
01
0
10
0
11
1
Let N(A) be the population of group A. Then, according to the theory of sets, N(A + B) = N(A) + N(B) - N(AB). The reason for subtracting once the common set of A and B, is that while adding the sets A, B we have added this common set twice. Considering three sets, it is:
+ B + C) = N(A + (B + C)) = N(A) + N(B + C) - N(A (B + C)) = N(A) + N(B) + N(C) - N(AB) - N(AC) - N(BC) + N(ABC). Hence, the union of the three sets, (A + B + C), is equal to the sum of all N(A
points included in these sets, but since in logical addition we add twice the common area of each two sets, we need to subtract this area once. Furthermore, since by doing so we subtract three times that area all sets might have had in common, and so leave no subset representing that area, we need to add this area again. This is the meaning of the last term N(ABC). Obviously, if the three sets had no area in common, this will be zero. As with ordinary functions, any Boolean function contains a finite number
X.
FUNDAMENTALS OF BOOLEAN ALGEBRA
179
of variables, say n. We define a minterm as the product of these n variables, each one presented in either its true or complemented form. We define a maxterm as the sum of these n variables, everyone in either its true or its complemented form. For example, let n = 6, and the 6 subsets be A, B', C, D, E, P. Then AB'CDEP is a minterm; A + B' + C + D + E + P is a maxterm. The names minterm and maxterm come from the fact that the corresponding sets in a diagram occupy the minimum and the maximum areas. In Fig. 2(a) for n = 2, A ,B subsets occupy the following areas A + B, (maxterm); and in Fig. 2(b), the n shaded area is A.B (minterm). With n variables, there are 2" different minterms and an equal number of corresponding maxterms. We may construct a different minterm or maxterm for each of these numbers, by associating a different variable with each binary place and writing the variable itself wherever a one appears, and its complement when the zero appears. A minimum polynomial of three variables is by definition the product of these variables: Minterm f = ABC, or in general, f = ABC + A'BC + AB'C + .. '. A maximum polynomial is the sum: Maxter.mf = A + B + C, or, in general,j = (A + B + C)(A + B + C)(A + B' + C) .... Where these theoretical considerations lead in respect to practical applications is well exemplified by a Lockheed study. This study centered on the hypothesis that any stimuli to a system can be coded into a Booleanbinary representation. The study mentioned started with the fact that a character on a piece of paper can be represented in binary form by dividing the paper into many small squares and assigning a 1 to a square if the character covers that square, and a 0 to the square if the character does not cover it. In the same sense, a voltage waveform can be coded into a binary representation by quantizing the waveform in both time and amplitude, and assigning a binary code to each amplitude. Or, more generally, any data that are measurable can be coded into a Boolean-binary representation with no loss of information. It follows that a form of an interesting logical system would be one that transformed this block of binary data into a single binary decision. For example, a system could take the binary representation of a character and transfer it into a binary decision on the simple rule that it is either an "A" or an "A'." Combinations of such devices could then be used to make decisions of a higher order than binary. We made reference to such combinations when we spoke of truth tables. The conventional method of designing such a system is to list in a table all possible combinations of the binary inputs, and to assign the most probably output value (decision) to each input combination. This table of combinations with output values can then be reduced to a Boolean I
180
PART III.
NUMERICAL, LOGICAL, & STOCHASTIC PROCESSES
function that represents the method by which the decision is to be determined. * Though the preceding is a time-honored approach, as a synthesis procedure it has demonstrated two major disadvantages: (I) the Boolean function is not easily obtained when the number of binary variables at the input is large; (2) even if the Boolean function were determined, any change in the decision process would require a repetition of the difficult synthesis procedure in order to arrive at a new Boolean function. This led the Lockheed researchers to define a model for a self-organizing logical system that determines, by an iterative trial-and-error procedure, the proper Boolean function for a process. Such self-organizing logical systems can be composed of separate subsystems. In the Lockheed case, two such subsystems were chosen. Onewasa network of adjustable logical devices; the other was a system for determining which logical function should be assigned to each device in the network. Within this complex, the "adjusting system" makes a sequence of inputs in the network, each being an adjustment determined by the performance of the network for the previous interventions, so that with the final adjustment the network realizes the desired Boolean function. The research project in question performed four tasks: First, it defined the adjustable logical devices, briefly analyzed their function, and demonstrated how combinations of these devices can realize any Boolean function. Second, it analyzed the performance of the network and presented several theorems relating the performance of the network to the adjustable parameters of the devices. Third, it utilized the relationships between performance and parameters to describe a convergent iterative adjustment procedure. Fourth, it demonstrated the usefulness of these adjustable logical devices, and the adjustment procedure, by simulating four pattern-recognition problems on a computer, and letting the logical system "self-organize" to solve the problems.
MINIMAL FORMS OF BOOLEAN FUNCTIONS Investigation of electronics design problems has raised questions which called for research into various phases of topology and matrix theory, on which only a small start had been made through Boole's original work. A much more serious and determined attack along these lines, that is, an application of some of these mathematical disciplines to the solution of concurrent computer problems, took place over the last twenty years. In all applications of Boolean algebra, the very simple assumption is made that either a class contains some members, or it does not. The conductance * See also the discussion on information retrieval and on guidance profiles, Chapter XI.
X.
FUNDAMENTALS OF BOOLEAN ALGEBRA
181
of a contact, for instance, is "one" if the contact is closed, and it is zero if the contact is open-or vice-versa. There can be no intermediate values. Thus, we have a system in which the only possible values of the variables A, Bare "0" and" 1." The laws, axioms, and processes of such an algebra are essentially identical with those of a system of logic. Since Boolean functions are used to advantage for the representation of switching networks, and since we are interested in minimizing the amount of hardware put into these networks, for the same output, it follows that we are also interested in the minimal form of Boolean functions. Simplification of switching networks is a broad and important subject, but will not be covered here in its entirety. Instead, the objective of the present section is to present some of the latest approaches to this subject, as an indication of the direction in which Boolean algebra proceeds. The first problem to be considered is the determination of the so-called minimal forms of the function j'(x., xI' ..., xn_1)'ofthe two-valued variables xo' XI' ••• , x n _ 1 • If this function is expressed as the sum of products of "n" or fewer variables, we shall call each product a term of "f" It is known that every Boolean function j'(x., xI' ..., x n _ 1) can be expressed in the canonical form:
where io' i., ..., in_I' are the binary digits of the number i and X o = x', x, = x. The minimal form of "f" can be defined as a minimal form "g" of "1" such that: (1) f = g (2) The combined sum of the number of logical additions and of logical multiplications is at a minimum. In order to describe the procedure for determining the minimal forms of a given Boolean function ''j,'' we set up a one-to-one correspondence between the terms of the canonical form and the vertices of the unit "n" cube. We regard the unit "n" cube as being made up of cells as follows: • O-cell, • l-cell, • 2-cell, • 3-cell,
or vertex, a point a line segment without end points a quadrilateral without sides or vertices a hexahedron (six-sided figure) without vertices, edges, or faces.
A cube, for example, can be considered as being made of eight O-cells, twelve l-cells, six 2-cells, and one 3-cell. In this manner, the k faces of a cell are all of the k cells incident (immediately adjacent) with the cell in Fig. 3(a), the 2-cell "a" is incident with the I-cell "c" but is not incident with the 2-cell "b." By the way offurther example, a 2-cell has four l-faces and four
182
PART III.
NUMERICAL, LOGICAL, & STOCHASTIC PROCESSES
(0 )
2
H=:+-J---o (c) FiGURE
3
O-faces. A I-cell has two O-faces. A cell is said to cover a set of vertices if these vertices are O-faces of the cell. The "cell complex" of a given Boolean function is understood to be that subset of cells of the n cube whose members are defined as follows: A cell belongs to this subset if all its O-faces (a O-face of a O-cell is here taken to be the O-cell itself) belong to the set of vertices of the function. A "basic cell" of the cell complex associated with a given Boolean function is one that is not a proper face of any other cell. A proper face is any face but the cell itself. In Fig. 3(b), there are two basic cells, a 2-cell and a I-cell. The basic cell system of the cell complex of a given Boolean function is that subset of basic cells of the given cell complex. Corresponding to each minimal form g of the given function / there always exists a set of cells covering the vertices of/which will be referred to as a minimal covering. In determining the minimal forms, a number of theorems must be used. Without going into the proofs of these theorems, we may state: THEOREM 1. Every minimal covering consists 0/ basic cells. THEOREM 2. Every minimal covering is irredundant.
An irredundant covering I of the vertices of a given function is a set of basic cells of the basic cell system covering these vertices and having the property that, if a basic cell of I were removed, a vertex would be left uncovered by basic cells of I. In Fig. 3(c) the coverings a.c.e.a.b.e.b.df: b.c,ef; and af.c.d are all irredundant.
X.
FUNDAMENTALS OF BOOLEAN ALGEBRA
183
THEOREM 3. Every basic star contains an essential star.
A basic star of a vertex of the function f is the set of basic cells that are incident with the given vertex. A basic star is called an essential star if it contains no other basic star as a proper subset. The vertex associated with the essential star will be called an essential vertex. An irredundant covering of the set of essential vertices of a function is a covering of the essential vertices which has the property that, if any basic cell were removed from this covering, an essential vertex would be left uncovered. THEOREM 4. Let I, be the set of all irredundant coverings of the essential
vertices, of a given junction, and let If be the set of all irredundant coverings of the vertices ofthe given function ], then L, = ~.
This theorem, the central and most important, reduces the problem of determining the set of irredundant coverings of the vertices of 1 to that of determining the irredundant coverings of a smaller set of vertices, the essential vertices. The numerical procedure for determining essential stars starts by taking the vertex numbers of each term of the function. Then, choosing any vertex of the function, find all the basic cells emanating from this point (vertex). If there is only one basic cell, then the star on this vertex is essential. Therefore, delete from the set of vertex numbers of the given function all such vertex numbers and proceed to the next undeleted vertex number and determine the star of this vertex. Any star that contains another is deleted until only essential stars remain. It follows that the topology of the n-dimensional cube can be used to advantage in reducing the problem of determining the minimal forms of a Boolean function of n variables to that of finding the minimal coverings of the essential vertices of the basic cell system associated with the given function. The determination of irredundant and minimal forms of a given function is made to depend upon the determination of irredundant and minimal forms of a function with a smaller number of terms (set of essential vertices). In general, if a set has n independent subsets, then it must have a minimum of n elements. Boolean variables can be "linearly dependent" or "linearly independent." Consider two variables p and x, and the general form of a functionf(x,p). Iff(x, p) = 0, for all x, then x is dependent onp. Example of such function is: p.x = 0. An example of two linearly independent variables within a Boolean function is p + x = 10' In thelatter case the value of x is independent of the value of p. In the former case, the value of the function is equal to zero for any x, if p = 0. Thus if function ftx, p) takes different values for the pairs of p, x: 0, 1; 0, 0; 1, 1; 1, 0; then p and x are independent.
184
PART III.
NUMERICAL, LOGICAL, & STOCHASTIC PROCESSES
For two variables, in a three-dimensional space, there are 23 = 8 positions of independence. These are indicated in the basic cube in Fig. 4. Notice how this may lead to the development of a theory of Boolean vectors. Point 000 is the vertex, of a three-coordinate system. The reference axes are oox, OxO, xOO. Research workers have developed formulas for Boolean vector products and for vector sums. Say that the two Boolean vectors are x: Boolean Boolean Boolean Boolean
vector x:IIOOIIO vector y:OIIOIOO vector sum I 0 100 I 0 vector product :0100100
For each component of the vectors, the following rule has been observed: for the sum I + I = I, I + 0 = 1,0 + 0 = O. By the same token, the square of a Boolean function (0,1) will be given by (0,1)2 = 00,01,10,11; the cube of a Boolean function (0,1) by: (0,1)3 =000,001;
010,011;
100,101; 110,111.
110
Ilx
III
I
I
,,1 0
1
-I
"I
,I 'lax 100 ~----t'+---+'-":..c.....---~
1
OIO~----..QIX
/
o o
0/
"
r
&1
/
/
/
/
/
s
IxOxl
"
£@
oooo--------:--:-----~
OOx
FIGURE
4
all
X.
FUNDAMENTALS OF BOOLEAN ALGEBRA
185
BOOLEAN MATRICES Research on the expanding horizons of Boolean algebra has also focused on the development of a basic theory for Boolean matrices. Consider set of Boolean equations written in the form of minimal polynomials:
+ lx lx 2 ' + Ox,' x 2' + lx.x,' +
lXI' X z + lx lx2 = YI
Oxl ' x/
lXI' X 2
+ OX IX2 = Y2'
By analogy from matrix theory, the coefficients can be grouped into a matrix form:
[~ ~ ~ ~J
. [;: J: [~: ] J o
where [;: ] are "Boolean vectors" whose components can only have values of I and O. The Boolean matrix [0 1 1 1 is not a matrix in the ordinary 1 1 1 sense of the word. It is the array of the coefficients of the ordered minimal polynomials. To demonstrate the method of obtaining the coefficients of minimal polynomials that make up a "Boolean matrix," let us define a row matrix A with elements oj' where j = 1, ...,2", and n is the number of variables. For n = 2, the matrix A assumes the form A = (° 1, 02' 03' 04)' Then, associated with A, we define another matrix AI! with n rows and 2" columns, with elements 0ij' For n = 2, this new Boolean matrix A e would be equal to A =[011 012 013 014J . 0 210
e
22
0 23 0 24
Given a matrix equation Bx = Y, a set of equations consisting ofthe unions of selected minimal polynomials can be developed by using l'
YI
"
,g, 1=1 L hi'U II (ak-x + o~;xD k=l J k ,
where ~ stands for "equation by definition," and where i = 1, ..., n. This equation can be used as the definition of the multiplication of a vector X with elements xli = 1, ..., n) by a matrix B with elements bij(i = 1, ..., n; j = 1, ..., 2"). The terms 0kj are elements of the A e matrix. Let us define matrix A e as A = [0 1 0 1 o0 1 1
J
and say that we wish to consider a minimal polynomial with j = 2. For
186 PART III. NUMERICAL, LOGICAL, j
& STOCHASTIC PROCESSES
= 2, the second term in the preceding equation can be expanded to read
II (ak2xk + a'k2xk') = (al~1 + a'I~/)(a2~2 + a'2~2');
but from the A matrix,
Coo 01 01 1lJ
A =
we have
a 12 = 1,. a 22 = O.
lJ
Hence, (ak2xk + a/2xk') = (l .x, + O.xI')(O.X2 + l ,x,') = XIX2'· Thus by multiplying the minimal polynomials by the correct coefficient and then summing the results (indicated by the sum over j) the original equation can be obtained. Some additional properties of Boolean matrices could be briefly presented. Matrix addition is given by dij = blj + cij' where i = 1, ..., n, and j = 1, ..., 'X'. The terms blj' c, and d;j are the elements of the matrices B, C, and D and it is B + C = D. The Distributive law holds true: (B + C)x = Bx + Cx, and also the Associative law: (AB)C = A(BC) = ABC, holds with Boolean matrices. The same is true for the Associative law B(Cx) = (BC)x = Dx, where
t
d;j
=
n
t1 blj lJ(li2ak2 + cfu.a!a.);
for i
=
1"", n, j
=
1, .. " 'X'.
Finally, A.x = x for any vector x.
BLACK BOX ANALYSIS THROUGH BOOLEAN TOOLS
The development of logical equations for study and analysis of black boxes is a new and important aspect in logical design. This field may eventually become as vital to the evolution of data systems as switching logic has been in the past. For this reason we will briefly consider the fundamental notion behind this logic.
/
If4lUB;E.~§(~F L
Black
~=~~~IPuts
box
With slates On IOn+1 FIGURE
5
Consider the black box in Fig. 5, which has states Qn' On+l' The inputs
X.
FUNDAMENTALS OF BOOLEAN ALGEBRA
187
are x and the outputs y. Q, x, and yare related by two basic equations: Yn+1 = y(xn , Qn ) Qn+ 1 = Q(xn, Qn)'
If there is no change in state caused by the successive inputs X, the black box returns to the condition Q 1 at which it is at time t. Otherwise it proceeds to a condition Qj (Fig. 6). Here x/y means y happening for given x. This graph
introduces a stochastic notion in transition, since we have now to consider the probabilities of happening for Qn + 1,1 and Qn+ 1,2 which are the two possible states we have defined.
No change in stole
State: 0n+1 FIGURE
6
It can be readily seen that with notion about transition in final states we are automatically concerned with probabilistic processes in which the outcome of the immediately preceding state or trial plays the critical role. The outcome, for instance, of Qj has no longer a fixed probability Pi' but to every pair (Qi' Qj) corresponds a conditional probability Pij' Given that event Q; has occurred at some trial, the probability of Qj at the next trial is Pij' Since the outcome of the nth trial depends on the outcome of the (n - I)th trial, it follows that to complete the series in addition to Pij we should be given the probability P;' of the outcome Q; at the initial trial. * This does not necessarily imply that the theory of transition probabilities can be applied as it now stands-even though it presents interesting possibilities. More research is necessary. Based on the foregoing, the probabilities of sample sequences are then defined by the equations
* See also in "Statistical Processes and Reliability Engineering" and in "Systems and Simulation" the discussion on Markoff Chains.
188
PART III.
NUMERICAL, LOGICAL. & STOCHASTIC PROCESSES
P(Qi' Qj) = P;Xij P(Qi' Qj' Qk) = P;PijPjk P(QlJ' Qil' Qi2' ..., Qin) = P~Pi;j1 Pi1i2 Pi2i3 .•. Pin_2in_1 Pin_lin'
Independent trials can be considered as a special case of the transitional probability, withpij = p/ for each i. Furthermore, each Qm must be followed by a Qn and, hence, for all m and n: Pml
+ Pm2 + Pm3 + ... =
I,
where Pm < I.
We can construct a matrix of transition probabilities Pij' or in different terms of probabilities defining the transition of the system from state Qi to state Qr The Pi probabilities can be arranged in the form of a square, stochastic matrix, where all elements will be nonnegative and in which the sum of each row will be equal to one:
Pll P12 P13 P2l
P22 P23
PIn P2n
r:
Pn2 Pn3
r:
P=
A stochastic matrix together with the initial probability P' completely defines the transitional chain. The probabilities used in the matrix are determined by observing behavior over long periods of time, which leads to the calculation
FIGURE 7
X.
FUNDAMENTALS OF BOOLEAN ALGEBRA
189
of the relative frequencies. Hence, this matrix is actually a summary of past behavior. We will not discuss further on this subject at this point. Say that the states of the system that we wish to study are those indicated in Fig. 7. We can develop a matrix of sequential states: Qn+l,l Qn+l.2 of inputs X and of outputs Y. The truth table is depicted in Fig. 8. y
Q1I+I
Qn
x-u
X=l
x=o
X=l
00
10
1 0
1
1
01
00
00
0
0
1 0
11
01
0
0
1 1
00
01
0
0
\
\
\
\
y
y
Qn,l Qn,2
Q'H.\
Qn+l,l .\. Qn+lj2
Qn+l,2 FIGURE
8
Chapter XI CLASSIFICATIONS IN INFORMATION RETRIEVAL
Our discussion in the preceding two chapters, on numeric and logic systems, was oriented toward concept and design for machine hardware. But a real-time system has at least as much need for software specifications-crucial among the software subjects being that of information retrieval. It is not enough to sample, collect, transmit, and store information. The stored data must also be sorted, classified, abstracted, indexed, and ready for calls on a deadline basis. The designer concerned with control systems functions has to determine the value of such a data service in both technical and financial terms. He has to study methods of storing and retrieving, and to develop efficient questionand-answer logic systems. Eventually, evolutionary processes along this line will require that the computer generate its own procedure for obtaining answers. This means that the designer will have to determine, in some way, the types of questions to be asked, within the bounds of available data and of established systems functions. It is only reasonable to say that a good deal of experimentation will be involved in this job. The structure of the questions concerning operational data must be analyzed. If they can be classified into, say, comparisons, summaries, and the like, and if frequency distributions can be developed, the solution to the problem becomes more feasible. But to achieve this, the designer must study the generic aspects of the process. He must analyze the projected questions for conformity to the assumed vocabulary and structure, communicate with the "questioners" as to the adequacy of the question context and format, and extract and process the required information. He must present the answers in appropriate form, always accounting for the fact that, even if the system starts on a small scale, with a limited amount of stored data, it would subsequently be extended. This extension constitutes one of the best documented facts in systems operation, and it has to be accounted for from the very beginning.
190
XI.
CLASSIFICATIONS IN INFORMATION RETRIEVAL
191
AUTOMATIC INFORMATION RETRIEVAL TECHNIQUES* During recent years much attention has been paid to the subject of developing an automatic data system able to disseminate information to the various sections of a business, governmental, industrial, or scientific organization. Weare now looking forward to the time when electronic computers will be capable of accepting documents in their original form and of deriving from them, without human intervention, automatic retrieval procedures in response to a given inquiry. A system able to perform nondeterministic retrieval duties, on stored information, will essentially be one of intelligence. It may eventually acquire learning and self-correcting capabilities, as a self-transforming process, constantly generating new patterns and novel qualities, building its future by transcending its past. As we conceive it today, the process of information retrieval can be divided into five areas of application, of increasing complexity: I. 2. 3. 4. 4.
Abstracting of literature Bibliographical analysis and multidimensional indexing Information regeneration Language translation Guidance profiles.
We will return to this classification after we consider matters of definition and try to establish a definition good enough to identify the process of information retrieval with its various ramifications. Though, during the past few years, numerous attempts have been made to give an exact definition to this process, none is good enough for the job. For instance, the definition: "Information retrieval is a process of communication between two information handling systems, a man and a library," obviously is not inclusive enough. The phrasing is restricted to manned information retrieval processes. What we would wish to have is a broad definition, such as: "A manned file is a channel with input and output separated by time." But let's consider again the former phrasing because it gives rise to interesting comparisons. A man-library communication involves at least two subsytems: a "man" and a "library." Both of them are complex by their own nature. The system "library" often contains men as very important links, but in this case man will have a number of drawbacks, as a result of which he is to be seen as the weaker element in the chain. Furthermore, some definite differences between these subsystems can be found, as shown in Table I. Communication between the two subsystems can be carried out in both
* The present and the following two sections of this chapter were written jointly with Mr. H. A. Tas.
192 PART III. NUMERICAL, LOGICAL,
& STOCHASTIC PROCESSES
TABLE I CHARACTERISTICS OF SUBSYSTEM "MAN" AND SUBSYSTEM "LiBRARY"
Memory Indexing system General inquiries
Man
Library
Small, semantic Logically complex Mostly vague questions
Large, verbal Logically simple Exact, but often irrelevant answers"
·Contradictions among different answers may exist since a library is basically written by humans.
directions; searches can be sequential, and the two subsystems can even educate each other. The interactions of man with the library may, in fact, have a threefold nature: • Contributions to the wealth of material in the library* • Analysis and indexing • Search for reference. The second interaction is a prerequisite for the third just as the first is a prerequisite for the second. Stated in a simple manner: If there is no information generation there is no point in indexing; if there is no indexing, no effective search can be made. Search for referencet is essentially a problem of measuring "similarity," or its inverse, "dissimilarity." The problem of measuring similarity is basic to information retrieval systems. Nevertheless, with manned processing, because of the large amount of available data, it is often physically impossible to classify, in terms of over-all similarities, a substantial number of related items with many varying characteristics.t A computer has a better chance of fulfilling data classification objectives, provided that the programming job is properly carried out, the process dynamics have been given due consideration, and the program upkeep is accomplished in an able manner. If the component "man" is then replaced in his interactions with the "library" by an automatic device, we will have a quite exact picture of what is
* This activity is essentially one of "data generation" and will not concern us at this point. Nevertheless, we will consider two of its subclasses, namely, abstracting and information regenerating. tWith both manned and automatic media. :j:Data classification is also called "taxinorny."
XI.
CLASSIFICA nONS IN INFORMA nON RETRIEVAL
193
meant by "automatic information retrieval."* With an unmanned system, the areas of application of information retrieval can now be redefined as: • • • • •
Abstracting (automatic) Indexing (automatic) Information regeneration (automatic) Language translation (automatic) Guidance profiles (automatic).
Information retrieval in its totality can be redefined as: "a process of communication between two information handling subsystems, neither of which is manned, with the objective of indexing, abstracting, translating, regenerating data, or producing guidance profiles." In a broad sense, the whole field of "literary data processing" can be compared to "numerical data processing." Then, defining numerical data processing as the method of obtaining "facts from figures," it follows that literary data processing can be defined as the method of obtaining "facts from words." In this manner, the domains of information retrieval mentioned can be compared to: • Data reduction procedures followed by a statistical treatment of reduced data, corresponding to automatic indexing and abstracting • Automatic coding-decoding, with language translation • Intra-extrapolation with information regeneration. Guidance profiles are almost always related to the performance ofsimulation studies made by the computer, for projection of future events. Simulation involves the construction of a working mathematical or physical model presenting similarity of properties or relationships with the natural or technological system under study. In this manner, we can preoperate a system without actually having a physical device to work with, and we can predecide on the optimization of its characteristics. t In the particular case of information retrieval, the machine will be called upon to develop the models that best suit a given situation, and we are essentially talking of "autosimulation." The difference between "numerical" and "literary" data processing is, however, a fundamental one. The meaning of a digit is well known to all of us; the meaning of a word is often very difficult to ascertain, and, too often, words have a "multimeaning." This multimeaning characteristic can be
* For every practical purpose when we make reference to "information retrieval" we have in mind "automatic." +See also D. N. Chorafas, "Systems and Simulation." Academic Press, New York, 1965.
194
PART III.
NUMERICAL, LOGICAL, & STOCHASTIC PROCESSES
a serious handicap, even more so where man's memory is typically semantic. The words of Goethe are pertinent in this connection: "Where concepts fail, man will find a word in due time." This human unpredictability complicates even more the automatic information retrieval process, and it is a crucial factor as long as man remains the fundamental data generator behind it. The fact that man has been for centuries the "information retrieving subsystem" also complicates the development of universal, analytic indexing and searching criteria. In Manchester University, for instance, the books of Kendall on advanced mathematical statistics were not in the Science Library. Statistics was regarded as a part of economics (cf. Royal Society for the Endearment of Arts and Commerce) and there, the books were to be found in the Arts Library-in another building. In the official Dutch publication, "Statistics of Dutch Enterprises," the lugubrious profession of coffin makers is to be found under "wood processing industries" subheading "package dressing and window display materials." Information retrieval in itself provides an example as to indexing contradictions: Under which heading must it be placed? There exist indeed several possible headings. For instance: Telecommunication, Linguistics, Education, Psychology, Bibliography, and Semantics. Shortly after the war Operations' Research in one of the foremost Dutch libraries was to be found under "medicine," subheading: "surgery"!
INDEXING FOR RETRIEVAL PURPOSES In the sense used today, the unmanned abstracting ofliterature refers to both the incoming and the internally generated documents, and it can range in breadth of application from a few scripts to the whole Library of Congress. The process of abstracting consists of techniques whereby, on the basis of statistical properties, a subset of the sentences in a document is selected as representative of the general content of the document itself. * This is based on the fact that in almost any given document some sentences are significantly more important than others. Therefore, by automatically gauging sentences so that those containing more important information are effectively distinguished from the group, it may be feasible to recognize the information content of the document. The key to this application is the conception by the computer of the crucial words of the concepts expressed within a certain document. Using the "frequency of usage rule," namely, that the most important words will be used more often than the less important, the individual words in a * Examples will be given later on in the present chapter.
XI.
CLASSIFICA nONS IN INFORMA nON RETRIEVAL
195
document can be sorted into descending order of frequency and the highest-frequency words retained for further analysis. Since the object is to isolate individual sentences, all of these high-frequency words would have to be traced in those sentences wherein they appeared, to weigh effectively the exhibited relationships between them. In addition to the mere occurrence of words, some physical basis upon which to appraise intellectual relations is also necessary if the document is to be analyzed in an able manner. The concept which might be of importance here is that of "proximity." The significance of proximity is based on the intrinsic characteristic of spoken and written language whereby ideas most closely associated intellectually are implemented by words closely associated physically. For instance, the division of texts into sentences, paragraphs, and chapters may be considered a manifestation of this characteristic. As Grems and Fisher stated in a paper, indexing and retrieval are closely related but separate activities in an automatic information-handling system. Quoting from the authors: For the indexing part, the originator of the document can underline the significant words according to his own choosing, and a computer program can select these words directly from a machine readable form of the original document. These significant words, coupled with the conventional invariant bibliographic data, are sufficient input data for a computer program to assemble and prepare numerous files in a general store for its own use. The symbology or legend for the store must be a part of the store .... The computer program can organize its files only after a human has determined and supplied the rules for the organization.
A significant point made in this reference is that indexing is an objective operation while retrieval is a subjective one.* At present, with computeroriented applications, both indexing and retrieval retain some of their most basic characteristics of the "manual" past. An example is "source indexing," which has been a known and established operation for a long time. Yet, source indexing, though not understood in the full range of its implications, should originate with the generator of information; but how often do patchings try to cover the failure in taking this first, elemental step? Grems and Fisher have this to say: For indexing, the facts must be collected from the documents and then stored in a predetermined fashion. The rules for storing these facts must be duly recorded with the index, and readily available to any system or to any individual. For retrieval, the general store of data must be searched, and a specific word, topic, or subject in a request must be pinpointed in the store. At the same time, the symbology associated with that index must be used to search for any additional data. The set of rules for storing are then referred to, and the desired data are "traced out" of the store rather than "traced in."
* "Primigenial Indexing For Heuristic Retrieval." Univac, Sperry Rand Corporation, April 1964.
196
PART III.
NUMERICAL, LOGICAL & STOCHASTIC PROCESSES
Heuristic retrieval is opposite from the usual so-called inventory retrieval. By means of heuristic retrieval, the searcher finds one document that is relevant to his request, and lets his search spread out from there. The "depth" is tied to the search and to the output, rather than to the input. This technique is comparable to the way a computer plays checkers or chess. Each move has a starting point and then extends in several directions. The number of "advance moves" that are examined by the computer at anyone point depends upon the computer program and the size of the store, rather than on the number of chessmen or the rules of the game. The move that is executed by the computer is the result of an examination and evaluation of all the possible "advance moves" discovered by the program. Naturally, all extension found by the computer are not valid moves, and these must be detected during the evaluation.
Due to the limitations ofour imagination when searching into new systems, presently conceivable approaches in information retrieval take almost the same path as manned processes, with some improvements in procedures. By this token, the automatic system proceeds by means of a programmed sampling process comparable to the scanning a human reader would do. An example ofthe improvement is that instead of sampling at random, as a reader normally does when scanning, the new automatic method selects those sentences of a "document?" that are the most representative of pertinent. information. t Bibliographical analysis and multidimensional indexing refer to the automatic retrieval of information already on paper or in book form, or already abstracted, for classification and reporting purposes. The word "already" should be interpreted as meaning that at this particular point it is not in the process of being abstracted by automatic manned media. This, for instance, is the case of automatically handling information in a large modern library. Indexing of texts (books, papers, articles, and the like) may be accomplished chronologically, by subject, publisher, or by author; hence, in more than one dimension. Inquiries given to the computer may range in clarity and accuracy from the form of an exact book title to a loosely expressed subject title or some ambiguous date of publication. An automatic information retrieval system for bibliographical analysis can be simply conceived in the following terms. A data input, containing document numbers and descriptive words, is used to generate lists of documents characterized by the same word. The searching program compares the document numbers with lists of desired words. Those numbers
* The term "document" is used here to designate a block of incoherent information, confined physically in a medium such as a report, a paper, a book, a chapter of a book, or even a paragraph. t It is important for the reader to note that abstracting techniques, as studied today, are based fundamentally on statistical procedures. This fact in itself is of tremendous impact on the future of the scientific effort.
XI.
CLASSIFICA nONS IN INFORMA rrox RETRIEVAL
197
common to each desired term represent answers to the search. Output can be in the form of a printed bibliography listing title, date, author, and library call number. The importance of automating the indexing problem can hardly be overlooked. Present-day accumulation of information in literary or pictorial form has been progressing at an ever-increasing pace and has reached a point where present methods of searching are becoming increasingly inadequate and time consuming. The foregoing can be better understood by citing an example. Ifwehave a collection of, say, 1000documents and we want to order them in such a way as to be able to retrieve any specified document, we have to select an optimal index of classification. If it is possible to express the index or classification linearly, that is to say in such a way that there is a one-to-one relation between index and document, then the documents can be placed in that linear order. Typical cases along the foregoing lines are a chronological alphabetical author index, and decimal classification. Whether a coding or index system is alphabetical or numerical, will not make much difference from a technical point of view. But, from an economic point of view numerical systems are often used because the cost of handling is lower, e.g., it is prohibitive to record some hundred thousand index words on cards. * Furthermore, the changing of an indexing system incurs costs per document which increase with the size of the library, if the included material is to give the same service. Defining the service as the number of documents produced per query, theoretical considerations indicate that for constant service the size of the indexing system is proportional to n log n, where n is the size of the library. To see how extensive the search work can be, consider a case of 10,000 documents and of an indexing system which in order to give 3 documents per query needs 1000concepts. How many concepts are needed to give the same service (3 documents per query) in a library of 100,000 documents? The solution here is straightforward; the concepts equal 13,333. This means that the cost per document rises from 0.1 to 0.135 units. Linear orderings are typical instances of "tree-like" structures, but knowledge does not possess this tree structure; its organization is more maze-like. This is one of the reasons why this kind of ordering is fundamentally incapable of achieving all it was intended to.
LITERARY SETS AND SUBSETS From the scientific classification we learn that one cannot expect that equiprobable subdivisions occur with much "natural" ordering or c1earcut
* A good
example of how mere size can lead to inflexibility.
198 PART III. NUMERICAL, LOGICAL,
I
&
STOCHASTIC PROCESSES
I ICh,m'''', t::',......-;::;--,-.,.........,'=::t: Ph",,, Science
FIGURE I
dichotomies. As we stated in the preceding paragraph, the structure of knowledge is more maze-like or lattice-like than tree-like. The substructure in Fig. I clearly shows the lattice. The definition of a lattice structure states that it is "a partially ordered system in which any two elements have a lowest common ancestor and a highest common descendent." A librarian can make this structure tree-like by arbitrarily assigning, say, physical chemistry to chemistry of physics. In such a case the classification depends not only on logic and scientific thought but on subjective criteria. The lattice structure mentioned can also be given in the form of a symbolic logic diagram. In this diagram, the highest common descendant is given by the intersection (Fig. 2). We have examined the rules governing this processing in Chapter X when we spoke of Boolean algebra. One of the difficulties in applying a logical design to problems of this kind lies again in the fact of the exact, unambiguous, and indisputable initial classification. "Science," for one, can be accepted as the union of "biology," "physics," "chemistry," etc., but it is impossible to specify exactly all the subjects that go to make it up now. Classification vagueness is a constant headache, which can be overcome only by adopting arbitrary conventions. A recent military document classification project used Boolean algebra for purposes of classification and the subsequent retrieval of information. The thesis here is that if the initial classification is made in a rational manner, and if the criteria to be subsequently used for retrieval purposes are well Total scientific population
t
Physical chemistry
FIGURE
2
XI.
CLASSIFICATIONS IN INFORMATION RETRIEVAL
199
established, then it will be possible to retrieve information-and, as well, to test the validity of arguments on the basis of available data-by using logical algebraic syllogisms. Difficulties in the classification, indexing, and retrieval of literary sets and subsets often arise because of differences in anyone or a combination of the following: • A difference in data • A difference in definition • A difference in logic. This is why we place so much attention on the need for pre-establishing a protocol that will guarantee the specifications for input, throughput, and output activities relating to the information retrieval system.* A systematic approach to this end is unfeasible without an advance determination of the "arguments." Because this is not yet done, scientists and engineers are frequently working on problems whose solutions have already been found and published. Although the term "arguments" has been used in this discussion, a more inclusive term would have been "decision making." This can include decisions to be made by one or more parties. The results we obtain if we draw an analogy between the three parameters of an argument and the three parameters of problem solving on a computer are given in Table II. With this in mind, it can be seen that a possible use of this type of analysis might be in breaking a question into parts to find if the disagreement is in data, definition, or logic. If this is done, it will be evident where the disagreement(s) is (are), and solutions can be searched for in this direction. Also with the discussion broken into segments, one could observe what effect on the outcome, if any, would be obtained by feeding into a computer different data, or a different simulator. Essentially, this would be a kind of preoperating of a certain information retrieval system before it comes into physical existence, thus avoiding unduly risky speculation. Following this procedure, compatibility will be approached. If reached, then no agreement results, if not, then at least there is on hand an analysis as to the basis of the disagreement and no more effort need be wasted on further discussion until an effective change in the parameters takes place. In fact, this looks like a method of scientific arbitration. *The importance of this need for formalization can best be attested by the colossal volume of data we are faced with. Studies by the Ford Foundation have indicated that the world's annual production of books under separate titles is an estimated 320,000, or almost 900 fresh works published each day. There are around 33,000 newspapers, and if journals, research reports, maps, music, filmstrips, and brochures are counted as separately identifiable titles, the total will reach approximately ten million a year.
200
PART III.
NUMERICAL, LOGICAL, & STOCHASTIC PROCESSES TABLE II
Arguments
Computer Problems
Data Definitions
Data; given and constant Simulator; how one views or interprets the given data and how he manipulates it according to a set of rules Commands stored into the machine; the given and invariant set of rules
Logic
Let us consider again the maze-like structure scientific subjects inherently have. A difficulty with the lattice model is that it does not easily deal with logical syntax, as can be shown with the diagram in Fig. 3. It is very difficult, for instance, to make a difference between Mathematics of History and History of Mathematics. To approach this, the lattice structure must be broken down in an arbitrary way. We can cope, however, with this need ifwe introduce syntactical marks in the structure, as seen in Fig. 4, even in the breakdown of the lattice structure, partial ordering is preserved in most cases. Moyers takes the stand that partial ordering is to be taken as basic, and lattice structure to be built later. The foregoing provides ample proof that in organizing for information retrieval it is difficult to decide what includes what. Is logic a branch of pure mathematics or conversely? Or does it belong to probability theory? Does the logical "or" belong to statistics or conversely? Is "negative feedback" a branch of cybernetics, of cooking, or of the behavior of cows? Exact definition might be of help, but this is exactly what is missing at the moment. What has been said thus far introduces enough ambiguity into the information retrieval process, so that there would be no point in introducing further complications by trying to consider other subjects proper to machine sorting and indexing. Just for the fun of it, however, we may just mention that a
FIGURE
3
XI
CLASSIFICATIONS IN INFORMATION RETRIEVAL
@
I
201
History
~/ "'I" ~ I of history
FIGURE 4
major headache in automatic processing is in the "simple mechanics" of how best to store files of information for later referencing. Should we use tapes and alphabetize, use disk files and randomize, card files, core storage, or what? Problems of how best to search tapes and how to randomize should be added to the list. An appreciation of the complexity of information retrieval problems associated with the more common applications of computers is a subject which in itself could fill not one but several volumes. Thus, computers could be used to advantage in retrieving information on "how to retrieve automatically." This is not a joke, for it constitutes a focal point of interest in every case where we have been snowed under by volumes of data generated by our efforts in problem solving.
INFORMATION REGENERATION AND GUIDANCE PROFILES Information regeneration can be divided into three more or less distinct phases: • Language translation • Re-creation of historical scripts • Interpolation for missing data. Since language translation is a broad domain of its own, we will not be concerned with this subject. Suffice it to say that several successful and many unsuccessful experiments have been made with language translation,
202 PART III. NUMERICAL, LOGICAL,
&
STOCHASTIC PROCESSES
and there are reasons to believe that in the years to come we will experience some effective usage of the data processor, in the translation of documents, papers, and books. Regarding other activities in the domain of the regeneration of information, a computerized approach to the rapid compilation of analytical indexes and concordances of printed works has been for some time in the process of development. A research project along this line focused on electronically cataloging and cross indexing 30,000words from the centuriesold Dead Sea Scrolls. The objective was to provide a method for automatically analyzing these writings and indexing them down to their simplest meaningful elements, the words. After reduction, the words were compiled in a variety of analytical indexes including a concordance that lists all the places each word appears in the text, and records its relationship with associated words. These indexes can then be used by Biblical scholars and researchers in the study of these writings. In another of the information retrieval projects, the research effort has been given the name: "historical ephemeris." The objective of this project is to prepare a table of the positions of the sun, moon, and naked-eye planets for the period 600 B.C. to 0, which is of special interest because of the numerous Babylonian astronomical observations and predictions from that period. The provision is to be as good (0.01°) as warranted by visual observations. The selected intervals were to be at the level of 10 to 5 days, which has been judged adequate for accurate interpolations. The availability of such tables is of considerable service to historical studies and to the knowledge of ancient scientific methods. In certain cases, they may provide evidence on some imperfectly known astronomical data. The mathematical model for this information retrieval project consists of portions of the theories of Leverrier and Gaillot, modified by more recent elements, and adapted for electronic data processing with due regard to questions of extra-precision, economy of time, storage, approximations, and the like. By choosing the appropriate time increment it is economic to produce, in addition, skeleton tables over many millennia for generalpurpose use. With modified control routines, the motions of the bodies could be displayed as in a planetarium on a printer or cathode-ray tube, for demonstration purposes, with any speed around any epoch. Furthermore, tables of special configurations can be produced, and a given configuration can actually be dated by the machine. Finally, "guidance profiles" of information for industrial and business systems would be the key component of every real-time integrated data complex. What is essentially meant by a "guidance profile" is the provision of crucial data to machines and mechanisms (or to humans for open-loop systems) that perform operating or command activities in the ensemble.
XI.
CLASSIFICATIONS IN INFORMATION RETRIEVAL
203
The foregoing is in complete accordance with what we have stated in the first eight chapters, of the present work, as being fundamental. In all automatic systems, the functions of the data network will be, in essence, the same as those of the nervous system in the human body: the acquisition of new information, its dissemination, storage, retrieval, and transmittal to the action points it serves, or the retransmittal to other system components. The learning aspect of this man-made ensemble must also be brought under correct perspective. The central problem in a learning scheme is to discover and store correct responses to stimuli, with emphasis on discovery rather than retention. Appearances here are very misleading; though in computer learning "retention" seems trivial as a problem, we should not forget that, in learning, storing must be preceded by filtering. An exception to this is the case of a language vocabulary such as the names of people or cities. This does not require any filtering but simply the storage of the required reference. As Simon says: Viewing the task as not merely one of storing the response, but as one of storing it in such a way that it can be retrieved on an appropriate occasion, the difference between man and computer becomes less obvious. How can a computer be organized to learn by associating responses with stimuli? Most ... learning programs ... depend rather heavily on relatively blind, "Darwinian" search procedures to find appropriate modifications for their performance programs. An alternative approach would be to view learning as a problem-solving process in which the task environment wherein the problem solving takes place is the performance program itself. A general-purpose problem-solving program could then be transformed into a learning program by assigning it the problem of finding a more effective performance program.
This reference brings forward the entire range of the information retrieval field, we have defined, with particular undertones in guidance profile for control systems functions. For industrial applications, self-adaptive control techniques suggest two basic requirements: • The self-adaptive loop should be made to perform properly in response to a wide spectrum of command input magnitudes. • System parameters should be held constant when the command input signal is zero, to prevent changes in parameter values caused by drift processes. At the components level of man-made devices, certain manufacturers are now studying integrated circuits as possible "learning elements" in an adaptive computer process. For this purpose, various adaptive computer techniques have been studied in an effort to develop a pattern recognition system that "learns" by a type of inductive logic; much as the human mind. At the present state of the art, such systems require massive use of weighting elements that can be trained for pattern recognition. By the same token, a training network for the adaptive elements would
204
PART III.
NUMERICAL, LOGICAL, & STOCHASTIC PROCESSES
tie all control inputs to the elements in parallel and drive them from a single control output. * This approach would use a combination of electrical and optical energy connections to drive only selected elements in the training network. Thus, a photocell would be used to turn on the integrated circuit array, with each transistor having its own photocell driver. For learning purposes, training would be done by the particular pattern of transistor weighting elements turned on. Each particular weighting pattern would have its own scheme of "weighting elements" turned on. This refers to the fundamental information retrieval characteristics on a component level. At the systems level, a new, simplified learning system, for use in automatic plant control, was developed by Purdue University's control and information systems laboratory. This system eliminates the complete plant identification process, which has been a problem with conventional adaptive control systems. The Purdue approach involves a learning control device in the sense that it is capable of developing and improving a control law in cases where there is very little prior information about the plant and environment available. It is stated to have a greater capability than a conventional adaptive system, because it recognizes similar recurring environmental situations, and it uses and improves the best previously obtained control law for the particular control situation. This method is considered to be applicable to nonlinear and time-varying systems. This approach was used to design a controller that first partitions the control measurement space into sets, called "control situations," and then learns the best control choice for each situation. The control measurements indicate the state of the plant and the environment. Learning is accomplished by increasing the probability of choosing a particular control choice for a given control situation. This solution will require a "great deal" of computer memory for "high-order plants," a problem existing in all approaches to learning. A data system must perform these functions rapidly and efficiently, and, to achieve this, the creation of guidance profiles can be approached in several ways. One way calls for having each action point ofthe total ensemble create an information tableau describing the various aspects of its activities and enumerating the types of data needed and their respective timing. Such a tableau can be identified in the central memory of the computer by an appropriate action-point designation. Action points should be able to communicate with the central unit in a speedy manner so that if an announcement of interest is expressed, or more detailed information on a certain
* This would then form a particular voltage with desired polarity for training the component in question.
XI.
CLASSIFICATIONS IN INFORMATION RETRIEVAL
205
subject is desired, the system would be able to produce such information and transmit it with a minimum lag. In this connection, the over-all effort in automatic information retrieval can be greatly assisted by the creation of an optimal electronic language into which all records would be translated. The design of a computerized language for information retrieval purposes presents an excellent opportunity of escape from the shortcomings of human languages. Human languages have been developed with the limitations inherent in manned processes. For instance, human data transmission can be accomplished only in a serial fashion. This, however, need not apply in the automatic approach. Through the usage of sophisticated devices the computer can be instructed to relate data in ways other than those given by the linear sequence of words. It can construct an electronic image of the multidimensional conceptions of the idea being communicated. Through proper design, the machine can be instructed to create a multidimensional array of intaken information and to analyze all the many relationships contained in this array.
Chapter XII STOCHASTIC SEARCHING
In Chapter II we made reference to research work accomplished in the electronic computation field. This research has produced automatic methods of establishing lists and patterns of keywords through statistical procedures performed by data processing machines on the original text of documents. We will now consider some of the developments, in this connection, which constitute the current state of the art. The methods of autoencoding developed to date consist basically of extracting from the text a set of significant words based on frequency of occurrence within a document. These words can be categorized by means of an established tableau, and each word can subsequently be classified within a "family." Subsequently, the mechanics of the retrieval system will be based on the characterization of documents through the plurality of keywords. Hence, these keywords will have to be enumerated at the time a certain document is prepared for eventual retrieval. Also, the manner in which these keywords have been coupled by the author must be indicated. With this, the resulting notation has the form of a "nodal index" giving for each keyword all of the other keywords that are found to have been paired with them in the original text. Autoencoding methods will then be used for deriving such a nodal index. A commentary, included in a recent research project concerning a retrieval language compiler, helps bring the goals associated with this task under correct perspective: The retrieval language has been designed to meet two objectives. First, it allows statements qualifying the retrieval of selected records from a file to be written quite readily with a minimum of artificiality. Second, because the retrieval language has a formal syntax, the language can be mechanically transformed or translated into a logical sequence of computer actions. The purpose of .the compiler program is to produce from any retrieval statement an
206
XII.
STOCHASTIC SEARCHING
207
intermediate language. It is this language which, upon interpretation and execution by the interpreter, performs the examination of each record in the manner described by the retrieval statement. Additionally, during translation the compiler also checks the retrieval language for correctness and conformity to the syntax.
DYNAMICS OF THE COMMUNICATIONS PROBLEM To document the usage of stochastic processes and data sampling concepts in information retrieval, it suffices to consider that, in the real world, too, communication of data by way of words is largely carried out on a probabilistic basis. In talking or writing, man speculates that, by using certain words, he will be able to produce, in the mind of the receptor, a picture of the concept or datum he wishes to convey. This datum may be a transmittal from somebody else or it may be a newly originated document which resulted from an actual experience or a process of thought. In order to communicate an idea, the sender must break it down into a series of smaller, more elementary concepts for which previous and common experiences might have led to an agreement of meaning. This "agreement" might have been established through practice, or through a multilateral (or bilateral) accord. The essential point is that if such an accord does not exist, the process of selective communication is impossible. An excellent example in this connection is the research results on voice control for the Astronaut Maneuvering Unit. This came about in the course of the work on the problems presented by personal flight control. The use of levers, similar to the conventional aircraft control stick, or the use of motions of the head, leg, or foot, by a man with his arms in the stiffsleeves of an inflated space suit, were rejected as efficient possibilities. As a consequence, space researchers settled in favor of voice control. Presently there are many devices available that can distinguish with precision between a limited number of spoken words. Hence, a vocabulary of ten normal words may be enough to give all necessary commands. When the astronaut wants his gas jets to turn him to one side, he can say "yaw" into his microphone. If he wants to make a fast turn, he will say "yaw, yaw." Direction of the yaw will be determined by saying "plus" or "minus," and the computer that is listening will tell the mechanisms to execute the command, according to the given instructions. Among the command words that have been selected on this basis are "X," "Y," and "Z," which call for motion in one or three directions. The astronaut can also say "cage," to shut down the whole apparatus, or "stop," to end whatever action is going on. "Stop-plus" and "stop-minus" might be used to switch on the gyro apparatus that keeps his attitude stabilized within two
208
PART III.
NUMERICAL, LOGICAL, & STOCHASTIC PROCESSES
different degrees of accuracy. Combinations of these commands present an interesting vocabulary for communications purposes. We can then state that no matter how the agreement has been established it is important that it exist for a communication process to come into effect. Furthermore, this process of definitions, protocols, agreements, and the like needs to be extended to a point where both sender and receiver feel they have reached a level of"conventional notions." At this level, communication can be accomplished. But the level of conventional notions itself may vary, depending upon the degree or similarity of common experiences. Other things being equal, the fewer experiences the sender and receiver have in common, the more words they must use. The foregoing discussion brings us to the definition of the word "language." Human language is a system consisting of • A well-defined, usually finite, set of characters • Rules for combining characters with one another to form words or other expressions • A specific assignment of meaning to some of the words or expressions, usually for communicating information or data among a group of people, machines, and the like. In contrast to human language, machine language occurs within a machine and is not, ordinarily, perceptible or intelligible to people without special equipment or corresponding training. A translation or transliteration of this language into more conventional characters can be done by means of processors, but frequently this change still requires special training to be intelligible. Hence, a machine language can be considered a subset of the over-all language domain. Information is missing from a machine language because the latter takes into account the presence of specific hardware and its configuration. Furthermore, a machine language is designed with low redundancy. A human language has high redundancy. The definitions of "redundancy" and of related notions lead us necessarily to a brief review of communication theory. The word "communication," as used by Shannon and Weaver, is given a very broad meaning, including all of the procedures by which one mind may affect another. By this token, the communication process can be affected not only through oral and written words, but also by music and the arts, or, in general, by every means of human behavior. In this sense of the word, "communication" is the activity that links individuals to each other and to society in all levels of complexity. Language plays a key role in the communications process. Indeed, the actions of human beings are governed by what they think and feel. Their thoughts and feelings are dependent upon the information
XII.
STOCHASTIC SEARCHING
209
received by their sensory organs in the course of contact with other humans. In human communication theory the key variables are social situation, status, role, rule, social technique, language, information rate, codification, metacommunication, etc. These are important whether considered at the interpersonal level (two or three people), at the group level, or at the mass level of communication. Information can be coded outside the human organism in terms of verbal symbols, objects, drawings, etc., and it is believed that inside the organism it is coded in terms of electrical and chemical signals. Information within the individual is made known to self by thinking and feeling, and to others by action and expression. One of the most important properties of man with regard to information is the limitation of his information-gathering ability. While information refers to the inner meaning of outside events, language and code are technical means of recording or passing such information. Both words and actions make up language. The main point is that the sender and receiver understand the meaning of the outward symbol that contains the message. On the basis of the sender-receiver combination, the fundamental problem of communication is that of reproducing at one point, either exactly or approximately, a message selected at another point. The aspect of significance is that the actual message is one selected from a set ofpossible messages. In communication theory, the word "semantics" is related to channel capacity. The closer the relationship of common language development of 'vocabulary, and general background, between sender and receiver of a message, the higher the semantic channel capacity. By definition, "channel capacity" is the information rate (bits per second) that is correctly transmitted.* The capacity of a channel should be described not in terms of the number of symbols it can transmit, but in terms of the information it does transmit. The difference between the former and the latter is that with the latter we describe the capacity of a channel in terms of its ability to transmit what is produced from a source of given information. The word "entropy" is related to missing information, inasmuch as it is related to the number of alternatives that remain possible to a physical system after all the microscopically observable information concerning it has been recorded. Stated in different terms, the quantity that uniquely meets the natural requirements that one sets up for information turns out to be exactly what is known in thermodynamics as entropy. In communication practice, entropy is expressed in terms of various probabilities that are involved in the over-all process, namely, the probability of reaching certain stages in the process of forming messages, and the probability that certain symbols will
* See also Chapters
VII and VIII.
210
PART III.
NUMERICAL, LOGICAL, & STOCHASTIC PROCESSES
be chosen for transmission. Hence, probability plays an important role both in the generation and in the transmission of a message. In physics, the degree of randomness in a certain situation can be measured by the entropy associated with that situation. In communication theory, information is associated with the amount of freedom of choice we have in constructing messages. A certain highly systematized situation would not be characterized by a large degree of randomness or of choice. Hence, the entropy, or the information, in that particular case will be low. Another way to say this is that there exists more "information" if one selects freely out of a set, e.g., of thirty messages, than ifhe selects out of a set often. There is no information if there exists only one message in the set. By this token, information meansfreedom ofchoice, it also means uncertainty. The ratio of the actual to the maximum entropy is known as the "relative entropy" of the source. "Redundancy," in information theory, is equal to one minus the relative entropy. The redundancy of ordinary English is about 50 %. This fact can be used to advantage in handling messages. For instance, if the redundancy of a language is zero, then any sequence of letters is a reasonable text in that language. If the redundancy is too high the language imposes too many constraints, and the higher the redundancy is the more chaotic and of random nature these constraints may become. It becomes obvious that statistical knowledge about the source is of critical importance in reducing the required capacity of the channel. By the use of the proper encoding of information we can realize savings in time, in channel capacity, and in storage media. This process of communicating data and concepts is a dynamic one. When it can be performed by means of words it makes reference to stored information in the memory of both the sender and the receiver. Information of this kind may be conceived as composed of a number of stored subroutines in the memory of the human, each of which is recalled into active file once a reference to it is made. Being a dynamic process, communication information requires continuous updating. It does not assume static qualities even when ideas, concepts, or data in general are expressed in writing. This is a different way of saying that, in an age of rapid technological advances like ours, housekeeping and updating ideas are probably more time consuming and more costly than acquiring them in the first place. To go a step beyond this point, one might add that if it were possible to recognize idea building blocks, irrespective of the words used to evoke them, these building blocks might be considered elements of a new syntax of notions. Relaying these notions by means pf agreed-upon symbols, we might then develop a new language suitable to a computer process. In a certain way, this same process was followed in the origin of human language, though
XII.
STOCHASTIC SEARCHING
211
probably at a slower pace. A symbol system of this kind would be most useful in facilitating the process of information retrieval by automatic methods. It would amount, essentially, to the creation of a pseudolanguage, optimally designed for the automatic analysis of literature. One way to proceed in this direction is to group information into clusters of data building blocks and then to search for similarities in the respective building-block patterns by using automatic media. In this effort, the exact language per se remains incidental. The object is not that of creating another language, but of providing the computer with a linguistic system it is able to handle in an efficient manner. This approach is studied in the following section.
EVALUATING STOCHASTIC SEARCHING
We have already stated that the fundamental thought behind an information retrieval system is that a document or other item of information can be categorized by a set of terms. The terms may be the names of topics, subjects, or attributes, or they may be certain keywords. Items or documents entered into the system must be analyzed to find which terms are pertinent. Then, records must be made, associating the item in question with other items of established significance. The key terms should be drawn from a preestablished glossary which is used uniformly throughout the research. Figure I presents a basic "compare" operation. The new text is introduced to the computer through magnetic tape, punched tape, or punched cards, Another tape contains the document numbers for keywords. Some keywords may need to be updated, and to this objective, variable information cards are provided. Various texts can be compared, with all matching document numbers sorted out. Such look-up comparisons may continue for any number of keyword groups-while the matched numbers can be printed out on a trial. Research carried out so far has confirmed the hypothesis that the information contents of sentences is related to the occurrence within them of highfrequency noncommon words and to the way in which the words are clustered. The usage of statistical methods to measure these relationships appears to be very effective indeed. Documents can be analyzed by the research scientist who would note appropriate descriptive phrases for each one of them. The phrases, or index terms, can then be assigned numbers and categorized under main- and sub-headings. A code selected from a table of random numbers using the index term number as an entry can be recorded on a storage medium as, for instance, a card, a tape, a drum, or a disk. Associated with the code are the call number of the document, the author, and the date of issue. A printed dictionary of all terms should be maintained.
212 PART III. NUMERICAL, LOGICAL,
OR
&
STOCHASTIC PROCESSES
OR Text
r>. Keywords and processing profiles
"---3
\
}------'---....,. Computer
FIGURE
1
In order to determine which words or sentences of an article may serve as the auto-abstract, a measure is necessary by which the information content of all the sentences can be compared and graded. This requires assigning a value to each according to a predecided criterion. Such a criterion can be derived from an analysis of the words of a document.Research to date has indicated that the frequency of word occurrence in a document furnishes an excellent measure of significance. The relative position within a sentence of words having given values furnishes a good criterion for determining the significance of sentences. The criticality of a sentence can thus be based on a combination of these two measurements. Fundamentally, the justification of measuring word significance by frequency of usage can be based on the fact that a writer normally repeats certain words as he advances or varies his arguments and as he elaborates on an aspect of a subject. Usage of this measure also helps avoid linguistic considerations, such as syntax and grammar.
XII.
STOCHASTIC SEARCHING
213
Following the introduction of a document and upon receipt of this information, the computer must separate the received information in such a way that its individual words and sentences are available for stochastic processing. At this point, also, special selection must be made, deleting those common words that are not related to the intellectual content of the documents, such as articles, conjunctions, and prepositions. The purpose of this deletion is to eliminate these words in the evaluation of the sentences whose frequency is irrelevant to their relative importance with reference to concept within the text. Then, through an alphabetical sort of the remaining words, the total number of occurrences of each can be tabulated. This is followed by the probabilistic approach, which has already been mentioned. The frequencies of all words with the same stem might be added together and essentially treated as occurrences of the same word. The average sentence length and the average word frequency are then determined. Also, a list is produced of all the locations of those words that presented a high frequency. Cutting off those words that are highly repetitive within a text because of the particular linguistic structure, and not because of their relative importance in that text, eliminates unnecessary data handling. However, it is conceivable that using high frequency as the sole criterion may lead to misinterpretations on the part of the machine. For instance, a significant word might be dropped as well. This can be corrected by either having a table of "standard" words or having one of "exceptional" words, and by checking accordingly. Low-frequency words should also be eliminated. This can be effectively accomplished by establishing a lower limit of acceptable word frequencies. Then, the significant words would vary in frequency between established upper and lower limits. An alternative approach to that of the upper frequency limit would be to delete common words such as pronouns, prepositions, and articles from the document by a table-lookup routine. Similar frequency criteria can be used to advantage in eliminating whole sections of the text as being the most significant. For instance, the hypothesis may be formulated that wherever the greatest number offrequently occurring different words are found in greatest physical proximity to each other, the information being conveyed is most representative of the article. The stated significance of degree of proximity can be based on the characteristics of spoken and written language. Ideas most closely associated intellectually are found to be implemented by words most closely associated physically. If a "significance factor" is derived relating the number of occurrences of significant words within a sentence and the linear distance between them, then all sentences may be ranked in order of their significance according to this factor, and one or several of the highest-ranking sentences may then
214
PART III.
NUMERICAL, LOGICAL, & STOCHASTIC PROCESSES
be selected to serve as the auto-abstract. This might be called a process of subselection." Luhn* discusses as follows the problem of subselection: It must be kept in mind that, when a statistical procedure is applied to produce such rankings, the criterion isthe relationship of the significant words to each other rather than their distribution over a whole sentence. It therefore appears proper to consider only those portions of sentences which are bracketed by significant words and to set a limit for the distance at which any two significant words shall be considered as being significantly related. A significant word beyond that limit would then be disregarded from consideration in a given bracket, although it might form a bracket, or cluster, in conjunction with other words in the sentence. An analysisof many documents has indicated that a useful limit is four or five non-significant words between significant words. If with this separation two or more clusters result, the highest one of the several significance factors is taken as the measure for that sentence.
A certain significance factor can be empirically established by considering each "cluster of significant words" and counting the enclosed significant words. Obviously, the two limiting words in such a cluster will both be significant. Luhn defined a criterion by taking the ratio of the square of the number of significant words 8 over the total number of words within the cluster T. For instance, if 8 = 5 and T = 10, then 8 2/T = 2.5. Results of retrieval work based on this rule have been encouraging. For very large documents, the discriminatory power of significant words will tend to be less than for shorter documents. For this reason, the abstracting process should be performed on subdivisions of the document; then, the highest-ranking sentences of each subdivision can be selected and combined to constitute the auto-abstract. As a further step in the direction of information retrieval, abstracting or surnmarizing of documents can be made in a manner emphasizing the relationship of the information in the document to a special interest or field of investigation. This can be accomplished, for instance, by weighing sentences through the assignment of a premium value to a predetermined class of words. The length ofthe abstract or summary can also be controlled in an efficient manner. Finally, the computer can be programmed to follow each abstract with a tabulation of certain data, such as names, dates, and components.
MACIDNE RECORDS AND THE UPKEEP OF A DICTIONARY
A subject of great importance for the over-all performance of the information retrieval system is that the dictionary of key words be kept continuously updated with the latest retrieval needs. This would mean that "new" terms *H. P. Luhn, The automatic creation of literature abstracts. IBM J. Res. Develop, April 1958.
XII.
STOCHASTIC SEARCHING
215
should be added to the glossary and the appropriate term files built up, while words that become obsolete should be dropped. Hence, even after information has been indexed and encoded, the resulting record can be used for creating a file consisting of machine records. The creation of machine records necessitates a considerable amount of advance planning since it would be costly and time consuming to have frequent changes in record structure. By arranging the records in a predetermined manner, a machine code may be evolved to represent their layout and to be used in subsequent operations. The file of such a code has been called a "dictionary." Dictionary upkeeping procedures might not be so easy a job as it seems, at first glance. For instance, if a term is completely new, and appears for the first time in new items, the previously prepared term files will be unaffected. If however, the term was not previously applied to items already in the library, then, all of the items where it might be significant must be reanalyzed. Another difficult situation occurs if a term file becomes too large for storage purposes. A subdivision into smaller classes is then necessary. It may be desirable, if a certain combination of term filesis repeatedly employed, to add the combination to the index under a new term code standing for the combination. This addition contributes no new information to the retrieval index, but it may make the system more convenient to use and increase the speed of searching. Furthermore, each record, in addition to the encoded information, must be assigned a serial or identification number. Means should be provided so that, should the information exceed the capacity of a certain memory device, the computer will be able to assign a new location without upsetting the whole record structure. Among other criteria of adequacy for the planning job being performed are optimum utilization of memory capacity, programming considerations for compact records, and insurance of correctness of recording, of processing, and of transmitting. To conduct a search, the dictionary can be consulted to determine index term numbers of desired terms.* To avoid error in automatic selection, it is very important that the same term be assigned not more than one number. Another very important consideration concerning the dictionary is that of advance planning on code extension. Simulated studies on information retrieval show that dictionaries will have to be updated continually if they are to reflect recently added terms. A possible answer to this problem is what might be called "the evolutionary approach," that is, letting the system dictate its composition as opposed to forcing the system to conform to a predetermined structure.
* See also Chapter XVIII, "In-Memory Operations."
216 PART III. NUMERICAL, LOGICAL,
& STOCHASTIC PROCESSES
The original dictionary necessary to commence a project in this field of endeavor might be made from the descriptors of the first documents to be handled by the system. Each word and the address of the filerecord assigned to that word can be recorded on the dictionary storage. As the system progresses, new words can be added to the "dictionary"; depending on the sophistication of the addition process, this can range from a mere recording of data to the exhibition of a certain kind of learning ability by the machine. Research on information retrieval indicates that the relative frequency of usage of the vocabulary words varies rather widely. For example, in a certain project 55 %of the vocabulary words were used less than five times; some 31% occurred but once. Words of this kind fall into three groups: • Very specific terms • General and relative terms which have several synonyms • Words entered in dictionary but not specifically concerning the work in process. It would be incorrect to assume, however, that these low-frequency words should be discarded. Rather they should be analyzed periodically for possible merging of synonyms under common home addresses, correction of errors, and, after careful consideration, deletion of apparently valueless words. As data are fed into the memory of a computer, each descriptive word can be used to compute a randomized address for the positioning of the descriptor of the document in the dictionary. Logical decision problems may have to be solved either by the machine or by a human linkage, for instance, when a word on an incoming descriptor is not found at the computed dictionary address. In many cases, searching can be initiated by feeding the data with the addresses of the words desired. In a certain information retrieval system, this causes those records to be read out onto a fast memory device, after which matching occurs. Those numbers found to be common to the searched terms are used to address the bibliography record for the document, which results in a printout of that record. Depending on its design, the search program may permit a number of AND and OR combinations, or it may provide for author searches. The efficiency of the searching process can be substantially increased if a rational classification of records is in effect. Generally, objects or ideas may be classified in many different ways, depending upon what we wish to accomplish, and thus lead us to consider different sets of attributes. Two rules should be followed in this process:
• All objects with which we are concerned must, to the best of our knowledge, be distinct kinds of objects. • All attributes considered must also be distinct.
XII.
STOCHASTIC SEARCHING
217
Several mathematical approaches have been suggested to rationalize the methods of filing information and of relating terms and items in an information search. Matrix representation is one possible approach. With it, the set of terms constituting the glossary is arranged on one axis of the matrix, while the items of the collection are represented along the second axis. For each determination that a term relates to an item, the appropriate position of the matrix is posted with the fact of relationship. This posting of a relationship might be referred to as an "entry," and it can be written either as a binary mark in the matrix or as the intersection of a term code with an item code. Numerical codes can be used to designate both the terms ofthe glossary and the items of the collection. With this approach, codes that stand for terms and codes that stand for items will look alike and must be distinguished either by context or by adding a supplementary symbol. Fundamentally, the matrix representation is intended as a conceptual device. However, the large majority of presently available media for the storage of data require that the information contained in the matrix be converted to a linear sequence of unit records in the process of filing. The two usual ways of linearizing the matrix are by taking successive rows, or else by taking successive columns. Each row of the matrix corresponds to a table of contents of one of the items in the library, while each column corresponds to positional listing. Another approach with processing possibilities is the usage of Boolean algebra. * In this respect, the primary interest is with the usage of the intersection operation in which the result is the set of item references containing only those references common to the two input sets being operated upon, and the union operation which produces a resultant set containing references from either of the two operate sets. The validity of this approach, however, would be difficult to ascertain unless our classification is localized to some field or subfields of endeavor. The more local the classification, the more specific is the information yielded by the classification about the subjects in question. In general, one of the most useful results of a good scientific classification system is its value in the prediction of the existence or nonexistence of an object or an attribute.
THE SOPHISTICATION OF THE DOCUMENT AND THE OVER-ALL EFFORT
In most information retrieval problems we can conceive a three-party situation with the supplier of information on one side, the seeker of
* See Chapter X.
218
PART III.
NUMERICAL, LOGICAL, & STOCHASTIC PROCESSES
information on the other, and the automatic processing system in the middle. The processor that is interposed between information supply and information demand performs the following major duties: (I) It maintains a searchable file, that is, a file availing itself at all times to indexing and encoding of original material, creation of files, etc. (2) It can locate the desired information by scanning its record files. (3) It can perform some predetermined operations on this information. (4) It can communicate with the environment, both for taking-in orders and for reporting on the realization of assigned jobs. With a man-actuated .retrieval system, the human element acts as an interface between sets of operations that do not fit together. Because of overshoot and of variations, a substantial amount of adjustment is thus expected. A manned system is designed around the searching and evaluating ability of the human operator. Operators are especially suited for making decisions on selecting significant facts and evaluating data according to relevance, significance, importance, relationships, or other factors they have been asked to observe. It is only reasonable to say that an automatic system should meet, if not exceed, these characteristics, while providing large memory and high-speed, error-free operations. The computers of today are proficient in such data handling operations as: sorting, storing, selecting, matching, filing, calculating, and reporting. Although these qualities of the machine are indisputable, we must stress that we have not as yet placed proper attention on "file organization" for machine processing. In a way, this failure is structural to all, or almost all, electronic data processing applications. Time and again analysts have failed to take an extended, over-all view of the end usage. With information retrieval problems, as in other areas, this approach would have helped to eliminate failures and duplications that otherwise creep into the implementation of an operating information system. Our reference is further underlined by the failure to establish generally accepted organizational procedures concerning data and document structure. Luhn defines six levels of organization in literature, each of which may require a computer procedure different in complexity from the others. These levels have been established, using as a criterion their degree of linguistic freedom: • Ready reference look-up systems of facts such as indexes and dictionaries • Literature with limited subclasses • Documents involving uniquely definable structures and their interrelations and transformations • Literature in mathematics, logic, and law based on disciplined concepts of human intellect
XII.
STOCHASTIC SEARCHING
219
• Documents dealing with research, science, and technology • Papers, of pure fiction, involving a virtually unrestricted association of human concepts. As Luhn says, the less disciplined the language, the greater the human effort that must be expended somewhere in the system. He distinguishes four phases of human effort in this respect: (a) the design, setup, and maintenance of the system proper, (b) the interpretation and introduction of information into the system, (c) the programming of wanted information for mechanical recognition, and (d) the interpretation of selected records to determine whether they are relevant to the wanted information. The last point brings forward the subject of "data comparison." This is not a trivial task since very often the same concept can be expressed in many different forms. To discover among the encoded documents those which have a bearing on a given subject, the inquirer must first prepare a document similar in format to those of the encoded collection. A stored program would then direct the machine to compare the question pattern with the established patterns of the documents of the collection. An identical match is very improbable, and, therefore, this process would be carried out on a statistical basis by asking for a given degree of similarity. Grems and Fisher bring the subject of machine-aided document retrieval into proper perspective: The computer can collect the underlined terms, and prepare a first-generation list of significant terms for that document. It can include with the list a corresponding location within the document for that term. After this list is alphabetized and tallied, it is in effect the source index for that document, and serves the same purpose as the list of catalog terms or descriptors usually taken from some externally controlled vocabulary. However, this set of terms actually provides more information to the system than does a set of descriptions subsequently assigned, because the exact location of each term is made available. This source index can be used at some later time for "fact retrieval:' as well as for "document retrieval." ... Probably the most interesting and important one is the internally assembled microthesaurus. This microthesaurus is an alphabetical list of the keywords (significant words) from all the documents in the system, where each keyword is followed by a list of all words associated with that keyword in any document in the system. This list also contains a frequency count and some other tallies. At the start, the size of the microthesaurus will grow rapidly and appear to be out of control. However, its growth will gradually taper off and settle down to reflect only the growth of our combined creative efforts. There are many other files the computer can organize and build. such as citation indexes, coauthors indexes, surveys on keywords, bibliographies ... , index words ... , etc. The last item is worth mentioning in particular, an inverted file for index words versus the identification numbers. When this file is used in combination with the microthesaurus, it not only suggests clues to investigate, hut also suggests where the clues can be found, and how frequently they were used .... Source indexing paves the way for retrieval by investigation and discovery.
For an on-line data control system, the subject of data input has quite different characteristics than the general case of an information
220
PART Ill.
NUMERICAL, LOGICAL, & STOCHASTIC PROCESSES
retrieval application. Of course, this is partially true with the stochastic search-though, from the moment the information is stored in the memory of the computer, the two problems have some striking similarities. One of these similarities is that a successful automatic solution of the information retrieval problem is unlikely if electronic means are to be viewed merely as agents for accelerating systems heretofore fitted to human capabilities. Still, with digital automation the collected data can be directly read into the memory of the data processor, while, with off-line applications, the need for human linkage along with the electronic system limits the completeness, economy, and reliability of the ensemble. All information retrieval systems share the requirement that the content of an item or document to be included in the system must be determined by a trained analyzer. Thus, the machine is completely dependent on the descriptive input and the interrogation terms selected by people. Errors made at the human linkage level will necessarily reflect the performance of the automatic media. Hence, the need for further work in the following areas becomes apparent: • Nonbiased machine selection of complete descriptive terms • Automatic translation of search requests • Reliable document input up to the point of automatic character sensing. The input preparation problem is one of the major constraints to the immediate development of an integrated information retrieval system. Alternative approaches have been suggested, as, for instance, that each document entering the system be assigned a serial number and then be photographically reproduced on some media acceptable by the computer, like microfih;n. The microfilm copy may then be transcribed onto magnetic tape by a human transcriber or a print-reading device. Even so, it now seems that until automatic devices are able to handle the input problem to the data processor, a human linkage will necessarily be somewhere in the picture.
PART IV
Chapter XIII ANALYSIS, SPECULATION, AND EVOLUTION
Man is limited in his ability to speculate. Facts about the inherent properties of nature, and the corresponding properties built by man in technological systems are usually classified as belonging to the scientific domain. In the same domain belong mathematical systems made by man for the abstract formulation and the manipulation of the properties of the real systems. This is true of logics, of information theory, of differential calculus, and of all mathematical programming systems. But "mathematics" and "science" are not one and the same thing. Science is a body of knowledge, and the scientific effort as a whole has three functions: • Search into the unknown • Guidance over natural and man-made systems • Comprehension. This comprehension may be of the universe in which we live, of ourselves, of the relations between ourselves and the natural subsystems, or of the way in which the man-made systems work and interact. Fundamentally, the universe is a process in time. All phenomena have an historical aspect. "Evolution" in natural and in man-made systems is a one-way process in time. It is unitary, continuous, irreversible, and selftransforming. Evolution generates variety and knowledge during its transformations. Evolution means change, but not all change is evolution. In natural systems, evolutionary transformations are brought about by the method of selection and survival. This natural selection is responsible for the high level of organization as well as for the variety we encounter in living organisms. A most important fact to remember, one that helps to properly underline the impact of mathematical analysis, is that the main evolutionary sector in
223
224
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
the human phase* is not the biological species, but the stream of culture. Genetic advance has taken a second place as compared with transmissible techniques of cultural advance. The latter is known to us in the general form of knowledge, skills, and ideas. The cultural process has given rise to an acceleration of the evolutionary process. It has only meant a "guided" evolution rather than the stochastic process of natural selection. This development came about through the human scientific effort. In a most important way, "purpose" has now entered the process of transformation itself.
AN ANALYTICAL VIEW OF DATA AND MODELS
The transformation from a "purposeless" evolution to a "purposeful" one t has been achieved thanks to the human intellect; to man's search for the "new," to his steady dissatisfaction with what he has today. This event is of major significance, and a contradiction to established and cherished notions. To many, at first sight, the biological sector seems to be full of purpose. Organisms are produced as if they were purposely made, and they work as if in a purposeful pursuit of a conscious aim. But this purpose is only an apparent one. In contrast, both the mechanisms of manned evolution and its products have a purposeful component, and "evolution" is pushed on in a conscious manner. In nature, every animal and plant is, from one aspect, an organized bundle of adaptations: of structure, psychology, and behavior. The organization of the whole bundle is itself an "adaptation" by means of try and seek, fail and succeed, search, mutate, and evolute. Man-made systems in contrast are developed not stochastically, but on "established" bases. Although these bases change as a function of time, at every time there exists a finite number of such bases which are taken as sacred, and those who dare to challenge them are considered by their contemporaries as heretics. As with human types, so with cultures and sciences, advance is more important than mere survival. A progressive science is one that contains the seeds of its own further transformation. Mathematics with its span of subjects of interests and laws and its forward-looking structure has the basic features of such a science. In the course of the mental evolution of man we have the steps in the organization of thought and creative expression; the passage from
* Reference is made to the division, presented in the present chapter, of the over-all evolutionary process into four phases. These are: the inorganic, the biological, the human, and that of the data net. tEven if this "purpose" is artificial and difficult to document as to its rationality.
XIII.
ANALYSIS, SPECULATION, AND EVOLUTION
225
thinking exclusively in terms of magic, to thinking in terms of rationality; the invention first of writing, then of alphabetic writing; the origin of philosophy; the pursuit of learning for its own sake; the rise of the scientific method of inquiry; and so on. Within a certain culture, a given time, and a set of man-made criteria and objectives, the process of decision making is brought under its proper perspective. Decision making may be regarded as the choice of a course of action among alternative possibilities, each of which can be gauged in terms of its "usefulness." The utility envisaged will depend on certain characteristics called "factors" or "weights." The problem in this event is reduced to the quest for the course of maximum utility-whatever this may be defined to mean. Decisions of the type mentioned are known as "safe choices" and are usually based on hypotheses and approximations. The value of indices used for these approximations needs, then, to be determined. In the case offuture planning, and of other problems in which accuracy is more important than the time required to find a solution, we attempt to estimate the utility of every possible combination of values and factors. Whenever utility is a growing function of every factor, it is possible to find the values required by means of interpolation, thanks to a rough appraisal of the subject functions in the interval for which allowance is made. This, nevertheless, is so rarely the case that talking about it would be like daydreaming. Real situations, with which we are faced, are always subject to constraints. Surprisingly enough, only very recently did we come to realize that natural and man-made organisms behave in a goal-seeking manner. In this, the big difference is that nature acts and reacts as ((there was a goal to strive for, while man-made systems seek goals in a conscious manner. We propose to name such a process "scopostic," from the Greek word for goal (" UKo7f6~"). * The term could be applied quite generally; for example, "scopostic phenomena" and "scopostic management"-the latter refers to management by objectives. Associated with this notion is, of course, the setting of criteria and of means for measurement and appraisal. *The Greek word "aT6xo~" would have been more appropriate but its selection is inhibited by the fact that it already exists in literature in the word "stochastic"-even if its origin is quite different. In 1713, Jacques Bernoulli used the words "stochastic" and "stochasticos" to describe a process of thought. This was a latinization of the Aristotelian word "aToxa~of1cn" and was used in the sense of a process of thought as a means to obtain an objective. More recently, however, the word stochastic has been intimately associated with probabilistic processes. The choice of the word "scopostic" was also influenced by its ease of usage in languages other than English. For instance, in French it can be written scopostique, and in German, skopostisch.
226
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
In itself, the proper determination of the standard of appraisal is one thing held out for further research. We wish to evaluate different strategies, through a successive analysis of factors according to the decreasing ratio of their probability, or the adoption of only those factors that are important. The threshold variant of this approach consists in reducing the analysis of every factor down to its appraisal in terms of "success" or "failure." For this analysis we would need a set of laws to guide our thought and, most important, a set of valid, timely, and accurate data. We thus need to define two crucial subjects in this connection: • The data • The laws. In the most generic sense of the word, "data" have been essential to the growth and survival of man ever since he became an information machine. Humans require a significant amount of data for problem solution. Problems of themselves are not just a means of complicating human life. They offer to man the ground for creative thinking and, also, the possibility for obtaining the rewards that come from solving them. A man without problems is decadent; and so is a business. A man with problems he cannot solve is in trouble; and the same is true about industrial organizations. Data, then, here hold the key-provided one is able to collect them, organize them, sort, manipulate, and extract the significant information they may contain.* Problem solution with limited data will result in searching for the wrong remedies. The symptoms of the problem may be taken as the problem itself, and this can be detrimental. It is the task of the analyst to find those different ways of viewing a problem that lead to effective action. Then, and only then, can the aspects of calculation come about. Calculation is necessary for data interpretation. In the course of data interpretation, men may be biased because of past experience, personal convictions, special skills, widespread beliefs, and the like. These we call the cumulative "bias." Humans, for instance, interpret visual experience in different ways. Their eyes may see every line in a picture, but it is up to their minds to organize what is seen into *The continuous recognition of problems and their steady solution are the life-blood of the evolutionary process. And yet, most often, neither the human organizations, nor the men who run them, realize the contribution of problems to their own survival. Systems, natural or manmade, cannot grow without the challenge of real problems. By defintion, a problem is a matter involving uncertainty and requiring solution. We can easily recognize that we have problems; but we often have real difficulty in recognizing just what our problems are. From an analytical point of view, successful problem solving begins with the attempt to see the problem in different ways and to bring it into focus. Successful problem solving does not begin with a search for answers; it begins with a flexibility of human perception, with a creative imagination, with the ability to ask the right questions.
XIII.
ANALYSIS, SPECULATION, AND EVOLUTION
227
a pattern. Often, there exist biases to which we are so accustomed that we consider these biases as being universal truths. A good example of the latter is the additive axiom. Most people have learned the "axiom," perhaps in studying geometry, that the whole is equal to the sum of its parts. And since their experiences seem to confirm this axiom, they believe that it applies to any situation. To the minds of many, a simple situation to which the axiom applies istypified by the bill at a department store. The total bill is the arithmetical sum of the price of the individual items purchased. People are so convinced that this whole must be the sum of its parts, that they would refuse to pay any total bill that does not conform to this "axiom." Professional persons may find situations where the application of the summation axiom requires other than simple arithmetical addition of the parts of a measure to obtain the measure of the whole. But, this reduces in no way their conviction that the axiom is universally applicable. Here exactly comes the need for establishing the mathematical laws that cover a certain process, and by implication the idea of the "model." We may, for example, wish to modify our mathematical method of summing. The forementioned "axiom" will then apply if we use a proper process of summing the parts to obtain the whole. For instance, to add separate random noise voltages in an electrical circuit, we add the square of the voltage measures of the part noises to obtain the square of the voltage measure of the whole noise. Similarly when we wish to determine the total dimensional tolerance of a product, we combine the separate dimensional tolerances, which are effects from separate manufacturing causes of variation, and in rms manner rather than in a simple arithmetical way. Another mathematical means of parts summations is the usage of the logarithms of the parts measured to obtain the logarithm of the total measure. This is typified by the work being done on information theory, or in the field of electronics reliability. Here we combine the reliability measures of all the parts or components of a system by the logarithmic or multiplication process.* Hence, we can feel the urgent need for developing mathematical procedures, in which a representation of a system is developed in a uniquely defined, simple, convenient computational medium. Given also that we dispose of no mathematical axioms or laws that we could follow blindly, we can see the need for testing to prove that the model's behavior agrees with that of the original system for a wide variety of conditions. Only then can a model be used to predict the performance of the original system in an able manner.
* See also Chapter XVI.
228
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
As with the general case, for process control purposes, a suitable simulator is a statement describing, in mathematical terms, how each part behaves, not in isolation but as an element of the whole. How closely the various parts of the process and other effects must be represented in the model depends upon how much is known about them and how they are expected to affect the process performance. The simulator must include everything that is likely to produce such a change in its operational characteristics; thus the dynamic characteristics of the system must certainly be included as they have an obvious effect on whether it remains under control. In deciding what features can be excluded from the model, each item or effect has to be considered in relation to the whole. To build a mathematical model, we can visualize the behavior of unfamiliar systems on the basis of knowledge about the behavior of familiar systems, and base our effort on the expected resemblance of the former to the latter. The complexity of the model must also be reviewed in relation to the detail in which it can be checked, and the problem of solving the equations of the model must be considered during its development. This should be kept in mind not only in deciding the total extent of the model but also in choosing the form of the equations. Where the equations can be arranged in a number of mathematically equivalent forms, the one requiring the least computing equipment (or the least accuracy in the computations for a given accuracy in the results) should be chosen.
TECHNOLOGICAL VERSUS NATURAL SYSTEMS The discovery of underlying laws of behavior and their mathematical description are the real power behind man's ability to abstract. And abstraction and idealization are the red blood cells of life. In the higher levels of human evolution, the struggle for existence has been largely superseded as an operative force by the struggle for fulfillment. This struggle for fulfillment is in itself so strong, and so evolutionary, that the nearest to an ultimate that we can discern in human life is not an absolute but a trend. A trend toward greater realization of possibilities. In these terms, mathematical analysis, and the cultural organization that constitutes its understructure, is necessary as an instrument of order; as
* In the sense used here, a "simulator" is a mathematical model made to provide the ground-work for a working analogy. Analogy means similarity of properties orrelationswithout identity. When we are able to construct analogous systems, measurements or other observations made on one of these systems may be used to predict the reaction of the others. See also "Systems and Simulation."
XIII.
ANALYSIS, SPECULATION, AND EVOLUTION
229
a vehicle of transmission and continuity in human effort. Still, its most significant function is to provide means whereby more "thinkers" enjoy richer fulfillment. The acquisition, the organization, and the advance of knowledge are essential factors in this process. A basic fact in life is that by means of our analytic thinking we men are the very agents of further evolution: nature has brought things thus far, man and his machines are taking over from now on. The foregoing approach should be properly underlined, with its possibilities and limitations brought into perspective. In our study on technological ensembles we are often guided by the properties and the behavior of natural organisms. As we know it today, the organizational structure of natural organisms, and the principles that govern their behavior, have been the outgrowth of two billion years of evolution. Even if we accept Huxley's hypothesis that this evolution is fundamentally probabilistic, we have to consider the fact that the span in time of natural systems by far exceeds that of their man-made counterparts. This lead in "evolutionary knowledge" may have interesting consequences. The hypothesis is hereby advanced that, for more successful application of man-made information, guidance, and control systems, industry should learn to design plants and processes in a manner "similar" to the way the human nervous system operates. This calls for using control techniques that parallel man's reflexes and thought processes; it also calls for refining organizational patterns along the line of the homeostatic mechanism. Too many control systems so far installed leave voids in the process, just as too many technological studies have led to disillusion and dissatisfaction. Engineering, and systems design, have not yet found the correct or even satisfactory method for implementing extensive man-made devices. One reason is that some engineers have attempted to replace efficient and effective processes with new and untested pieces of hardware. In contradiction to this, lag and obsolescence have also proved detrimental. Both approaches constitute obstacles in our thinking. Surprisingly enough, from a systems point of view, in too many instances where the computer has been applied to data automation, the applications analyst assumed that it was unnecessary to study the job completely, because "he thought" he could program the computer to do anything. This led to too many misunderstandings about the role of control systems, and some paid dearly for it. In all of these cases, a unified systems approach has been the major element lagging behind time and processing needs. Because of this, information flow has been handicapped rather than helped and costly rather than profitable. As we have stressed in our work on "Information Science," the careful study of evolution in natural systems can be both challenging and revealing.
230
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
Natural organisms are, as a rule, much more complicated and subtIehence, much less understood in detail than man-made machines. For instance, the number of cells in our "thinking parts" alone--the cerebral cortex of the brain-is about seven times the total human population of the world. Nevertheless, some regularities that we observe in the organization of the former may be quite instructive in our thinking and planning of the latter. The natural organisms can be viewed as made up of parts which, to a certain extent, are independent, elementary units. The number of cells in the human body is of the order of 1015 to 1016 • The number of neurons in the central nervous system is of the order of 1010 • We have absolutely no past experience with ensembles of this degree of complexity. In contrast, the numbers of parts of the largest man-made systems are only of the order of 103 to 106 • Yet, this order is continuously growing and we are moving too far too fast. Even a mind as illuminated as that of the late J. von Neumann at times failed to see the outgrowth of man-made systems and their forthcoming degree of complexity. At the Hixon Symposium on "Cerebral Mechanisms in Behavior," discussing comparative data on the sizes of large computing machines and living organisms he said: Two well-known, very large vacuum tube computing machines are in existence and in operation. Both consist of about 20,000 switching organs.* These machines are a good deal larger than what is likely to be the size of the vacuum tube computing machines which will come into existence and operation in the next few years. It is probable that each one of these will consist of 2000 to 6000 switching organs.
In a certain sense, the neuron, the electromechanical relay, and the vacuum tube viewed as switching mechanisms are three cases of the same generic entity which it is customary to call a "switching" or "relay organ." A relay organ responds to a specified stimulus or combination of stimuli by an energetically independent response. If a neuron is contacted in the synapse by the axons oftwo other neurons, and if its minimum stimulation requirement is that of one incoming pulse, then this neuron operates as an OR gate. Inversely, if the minimum requirement needed to evoke a response pulse is two simultaneously incoming pulses, then this neuron can be regarded as an AND gate. AND, OR, and NO are the basic operations of logic.t All other logical operations, no matter how complex, can be obtained by suitable combinations of these operations. Deterioration of arithmetical precision in a computing mechanism is due to the accumulation of errors by superposition, and by amplification of those errors that have been committed early in the calculation. The latter error
* Reference was made to the ENIAC and to the SEAC.
t See also Chapter X on Boolean Algebra.
XIII.
ANALYSIS, SPECULATION, AND EVOLUTION
231
results from the fact that in solving complex problems a computing mechanism has to perform many calculations in series. Although this looks like an arithmetic depth of the computing scheme, we come to realize that in essence it is a "logical depth." Hence, much of the deterioration of precision calculations is due to the great logical depth of the calculation machines. Studies on natural systems can be of major advantage in establishing the organizational scheme that would enable the most effective handling of the subject of "deterioration." A comparison, then, between the achievement of man-made ensembles versus natural systems in the information machine domain is to the point. At present, man-made information systems exceed the natural systems in switching speed by about 106 sec; they lag behind the natural systems both in volume compactness and in energy consumption, but not for long. Electromechanical relays permitted switching operations at 10-2 second. With the aid of vacuum tubes we have obtained switching systems speeds of 10- 5 second; later reduced to 10-6 second. The use of transistors further reduced this minimum time from 10-6 second per switching operation to 10- 7 second. Finally, systems incorporating presently available materials are making possible switching speeds of 10- 8 to 10- 9 seconds. In contrast, a nerve disturbance has a duration of about 10- 3 second. Synapse transmittal is at the 10-4 second level. However, because offatigue phenomena, which affect the conductivity of the nerve, switching among the most advanced of natural systems happens at a pace of 10- 3 second. Hence man-made systems are faster than the most perfect of their natural counterparts by a factor of at least 105.* Generally, natural systems have a higher redundancy of components, and these components are slower than their technological counterparts. Man-made systems have fewer and faster components-as compared to natural systems. Another area where the man-made system leads the natural is effective memory capacity. As a basis for comparison we will take again the most perfect of the information machines made by nature: the human nervous system. The ancient Greeks thought that the human memory resided in the membrane. Today, dominant beliefis that human memory is a function of the brain. Nevertheless, this is nothing more than another hypothesis. According to leading neurologists the only reason that we do believe that human memory is incorporated in the brain is the fact that injuries in the brain have resulted in a loss of memory. It may be, however, that the brain is only a high-speed memory and that permanent records are kept "somewhere" else. Along with this question, we have not yet been able to determine whether the brain recells or regenerates information.
* For
all practical purposes, in the present work we will consider this factor as equal to 106 .
232
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
Von Neumann advanced the hypothesis that we store information all over the human organism, and that certain components like the reproduction organs are major memory devices. The latter is quite well accepted given that if the genes had no memory (we hypothesize) they could not reproduce an almost exact copy of the organism. On the hypothesis that we never forget and that every data input taken by any sensory device is kept "somewhere" in storage by the natural organism, von Neumann calculated that over a span of human life of approximately 65 years the human organism could have accumulated 2.8 X 10 20 bits of information. Even if this is so, only an infinitesimally small fraction of the foregoing quantity can be considered as "effective" memory. * The balance is mere "housekeeping" information and data of importance to the functions of the natural organism itself, but not necessarily to creative activities. As of today, high-speed calculators have a capacity of 2 X 10 10 bits of effective memory.r Hence, in what regards effective storage the man-made ensemble probably leads the natural by a large margin. Inversely, nature leads man-made systems in two other all-important domains, namely, volume density and energy usage. In the human nervous system, the nerves are packed at about 10- 7 cm' per neuron. Another way of saying this is that there exist 10 10 neurons in 103 em 3 • Early man-made information systems needed 100 ern 3 of space for one to two vacuum tubes (including supporting circuitry). Here, we consider the vacuum tube as the basic switching device, like the neuron in the human nervous system. With transistors, we decreased the required space, so that we were able to pack some two transistors and their supporting circuitry in 10 cm'. With intergrads, this factor went down to a fraction of a cubic centimeter per switching element; a ratio which, with further improvement, will reach 10- 1 cm ' per element. Still, concerning density, nature will lead the man-made information system by a factor of 106, provided that the hypothesis by Gaertner and others will not be confirmed.:j: Its confirmation is bound to completely upset the foregoing thoughts. Regarding energy usage, we know from experiments that the energy dissipation in the human central nervous system is equal to about 10 watts. Hence, energy dissipation occurs at a rate of about 10- 9 watts per neuron. Energy dissipation with vacuum tubes was some 5 to 10 watts per tube and with transistors 10- 1 watts per transistor. It can be seen that, in energy consumption over long periods of time, the natural information system led * Memory that can be applied to the job. t Reference is made here to an SO-tape system with high density recording. :tOr, equivalent to this, further progress in man-made systems willbe a stagnant affair. See also the following quotation by Gaertner.
XIII.
ANALYSIS, SPECULATION, AND EVOLUTION
233
the man-made system by about 108 in economy. In fact, this would still have been the case if we had not recently experienced some striking developments, which led to the evolution of man-made nanowatt devices. The implications of this development, in respect to energy usage and density, exceeds the imagination if seen in the light of present-day experience. As Gaertner projects*: Billion-element systems with a power consumption of a few watts are found to be technologically-though not yet economically-feasible, and the conclusion is drawn that solidstate technology will allow the building of electronic systems that simulate the function of major biological nerve systems in the same volume and with the same power consumption as their living counterparts .... . . . It will become possible during the next few years to fabricate microelectronic systems in which each circuit consumes only a few nanowatts of supply power. As the technological problems outlined are solved, the speed of such systems may be at least as high as I Mc/s. As the construction of billion-element electronic systems with a power consumption of only a few watts thus grows technologically .... the additional conclusion may be drawn that refinements of the present semiconductor technology should allow the building of an electronic system which has the size and power consumption of the human brain, and which contains at least as many logic circuits of the complexity of a single flip-flop as the brain contains neurons. Although it takes a circuit more complex than a single flip-flop to simulate the function of a neuron, it is probably safe to assume that we are within two orders of magnitude of the circuit complexity required to approximate rather closelythe function of an actual neuron. This conclusion should be of interest to the field of bionics because it indicates that if the circuit design and systems organization' problems can be solved, solid-state technology will allow building an electronic system which can perform the function of complex biological nervous systems in the same size and with the same power consumption.
Less cryptically, this reference by Gaertner means that with man-made systems we are about to catch up with the most advanced evolutionary process made by nature. This alone is bound to have immense implications. In terms of pure technique, Eckert! compared the pioneering efforts of the end of the war years with what is being accomplished today. He concluded that in information machinery we are confronted with a startling record of progress. In only two decades: • The computer's ability to perform logical operations has been multiplied by a factor of four million to one.:j: • Operations in electronic computer memory are 10,000 times faster than the "fastest" electromagnetic relay storage. ·W. W. Gaertner, Nanowatt devices. Proc. IEEE, 592--{)()4 (June 1965). tOr. J. Presper Eckert, VP, Univac Division, Sperry Rand Corporation. :j:Harvard's Mark I added in 0.4 second; the best modern computers add in 100 nanosec.
234
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
• The top speed for gathering information from a large sequential memory, such as punched cards, has advanced from about 300characters per second to approximately 300,000 characters per second for highspeed magnetic tapes. Nature has also a certain "theory" or "pattern" in developing its information systems. Presently, we are quite far from possessing a theory for the configuration of man- made machines that can be regarded as a complete mathematical-logical system. The operations of logic (syllogisms, conjunctions, disjunctions, negations, or in technics terminology, blocking, gating, etc.) will have to be treated by procedures that allow exceptions (malfunctions) with low but nonzero probability.* This is quite important in order to enable us to develop adaptive man-made systems and ensembles able to evolve by their own means. This kind of development will lead to theories that are much less rigidly of an all-or-none nature than past and present formal logics. These new mathematics are expected to be of a much less combinatorial and much more analytical character. Hence, we must admit that we have not yet achieved a mathematical system of an advanced degree of sophistication. What exists today can only be described as an imperfectly articulated and hardly formalized "body of laws, principles, and of certain techniques." When a sophisticated objectsystem is developed, then eventually all sorts of sophisticated order-systems might become possible; "order-systems" that successively modify themselves and hence also the computational processes that are under their control. In this way, many technological complex processes may come into existence without directly manned guidance. Another indication of the incompleteness of our present-day logics and mathematics is that by and large their rules are deterministic. Inversely, the message system used in nature is of an essentially statistical character. Stated in different terms, in message transmission, i.e., in the nervous system, the crucial item is not the precise position of symbols but the statistical characteristics of their occurrence. Our knowledge of natural information processes, limited as it is, indicates messages are conveyed through the statistical properties of the carrier rather than through definite symbols. This process has been calculated to lead to a lower level of arithmetical precision but to a higher level of logical dependability.
REFLECfIONS ON THE PROCESS OF EVOLUTION It follows from our discussion thus far that the reason we need an organized
* See also
Chapters X, XI, and XII.
XIII.
ANALYSIS, SPECULATION, AND EVOLUTION
235
system of abstraction for the growing technological systems is to be found in the process of evolution itself. The whole universe can be regarded as a single evolutionary process with four superposed phases*: • • • •
Inorganic Biological Human Data net.
Each of these phases has its own methods and characteristics. The gray area between the latter two necessitates a system of abstraction understandable both to humans, who are its creators, and to man-made information machines which would constitute the crucial elements of the modern technological systems. The development of machines and mechanisms has also this amazing aspect: although it has been advanced by nature itself in the over-all evolutionary process it has not taken to date the "traditional" path with self-evolution but has been promoted by one of nature's agents-the human brain. Yet, fundamentally there is a single evolutionary process to be studied. The separate aspects of the problem only acquire full significance when considered in relation to the whole. There exist common principles in the process of evolution, such as the universal principle of natural selection, and there exist common trends, such as adaptation, species-formation, and specialization of type. The data network also needs some principles to guide it in its struggle for survival. The first is that of efficiency: "The most efficient system in an ensemble takes dominance over the others." As defined hereby, that system is the most efficient which is the busiest, "other things" being equal. These "other things" can be expressed in three basic dimensions: • Speed • Volume • Energy usage. The respective importance of these dimensions within an operational system, and in respect to each other, is ensemble-defined. The ensemble within which a system operates can define these dimensions according to the functions this system performs, and the manner in which it relates to other systems within that ensemble.
* It is rather difficult to establish the exact start of the phase of the "data net." Although real-time computers, or their successors, would constitute the central nervous system of the "data networks" of the future, this phase will probably start with the development of truly real-time integrated data systems able to reproduce themselves, and with all self-organizing capabilities.
236
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
Greater speed, smaller volume, and lower level ofenergy consumption are the positive directions of change at every level of systems performance. If systems are complementary within an ensemble, the most efficient takes dominance over the others. If subsystems are independent, dominance is exercised by the least efficient. * The same is true for subsystems and components within a system. The second principle is that of systems growth: "There is a universal tendency of one system to grow at the expense of the others." A minimal system includes the trio: input, throughput, output. The "throughput" is itself a subsystem including processing, memory, and command units. Systems evolution brings about multiprocessing, multimemory, and multiguidance ensembles. In the case of the latter, an over-all command unit must be provided. This leads to the third principle, which essentially is one of unity of command: "Every system must have a master guidance unit, with or without subguidance coordinators." The fourth principle refers to the handling of information: "Information must be preserved. Data reduction should only take out noise and eliminate redundancy. It should not reduce information." If a system in its data processing functions ends by destroying information, then it is not an adequate one for the functions it has been trusted with. As we discussed in a preceding section, "information" is expressed in data, but not all data convey information. "Data" are the carriers of information, and, hence, data and information are two quite different subjects. Operations on data may not change at all their information content. The objective of data reduction is to bring forward information hidden behind data redundancy. Another critical subject is the way in which a technological ensemble should receive incoming data: that information should take priority that can better serve the purpose of the system. Some of the data would necessarily be given priority by the system, in the sense of influencing its further workings. Furthermore, a system must not accept information unless: (a) it can understand it, (b) it can set its relationships, (c) it is consistent with its purpose, (d) it has the ability to take the required steps, as implied, by this information. Finally, a data ensemble must preserve itself against negative information. With this, we arrive at the definition of "thinking." Thinking is an information process, but generating data redundancy is not thinking. Thinking can be deterministic or probabilistic in nature; probabilistic *This point was brought about and supported by Dr. G: Nielen in a scientific seminar the writer organized in the Netherlands some seven years ago. It is one of the several crucial subjects which would necessitate substantial study and experimentation before being able to "establish itself."
XIII.
ANALYSIS, SPECULATION, AND EVOLUTION
237
thinking generates speculative information. We are not yet ready to define what "thinking" should mean to man-made systems, but we can state that a certain unit is more suited within an ensemble when it is self-adjusting to "production" demands. Self-adjustment requires finding new uses for components and their replacements. It also requires that the system be able to determine its objectives. From this, we derive the fifth principle: "Systems must be able to (a) formulate objectives, (b) search into unknown situations, and (c) project into the future." On the whole, the operation of data systems must point to either action or production. Systems construction, and usage, must observe the universal rule of "economy in technology", in the same framework as "economy in nature." To survive with their own means, systems must become increasingly self-repairing. Finally, "systems must acquire the ability to supply self with energy." This is crucial if man-made systems are to become independent of their creators. Man's strategic position in the animal kingdom derives, in part at least, from the unusual range and quality ofthe perceptions of which he is capable, from his capacity for controlled adaptability, and from the degrees of freedom through which orientation can be achieved and maintained. Large-scale technological systems of tomorrow, initially developed by man, may eventually take over many of the higher aspects of evolution. *
THE MEANS AND THE END In spite of what the last footnote might imply, the time it makes reference to is not with us. In the way we see it today, computers-the forerunners of the "thinking" machines-are powerful devices for problem solution; they are not an end in themselves. Problems: technological, scientific, administrative-in general, problems confronting man-are becoming increasingly more involved. Man, in his attempt to solve problems, creates more problems of larger magnitude. This process of problem creation, and the corresponding need for problem
* Some six years ago, the writer corresponded with Dr. Julian Huxley on the subject of whether or not man-made ensembles would eventually take over from man the dominance in the matters of this world. The argument was based on Dr. Huxley's excellent book, "Evolution in Action." Dr. Huxley's thesis was that "man would see to it that that never happens"-machines to take over command from him. The writer maintains his thesis that evolution would bring about man-made systems far exceeding the capabilities of man in imagination, speculation, power of calculation, and memory; eventually with the ability to reproduce self and to evolute by predetermination-not by chance. When this happens, and like any other evolution this is in itself a process in time, man would lose most of his ability to foresee and to react.
238
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
solution, accelerates as we move into complex systems. The wheel is invented, fire is controlled, and after a while there are freight trains and a network of tracks running all over the country creating many detailed railroad engineering problems quite remote from the problems of wheels or flames, with one central problem to which all the others are tributary: how do you design, build, and operate a railroad system so as best to provide the transportation under all the circumstances? Experts on rolling friction are obviously needed, more knowledgeable than were required in the ox-cart era. Combustion experts are needed, and the skills that are involved in keeping a campfire burning no longer suffice. But the central problem clearly calls for much study and experimentation if the designer is to be alert to the interactions among the elements of the total system and is to be able to see what compromises must be made within the system and on its boundary so that it would work harmoniously and economically within its environment. Whether the next drop of petroleum should make its way toward a wheel bearing or toward the firepot is an engineering problem, and neither the wheel engineer nor the flame engineer is necessarily the man with the best answer. Speculation is necessary, and speculation to be rational calls for experimentation. Experimentation may well be done at a high speed by means of computer-processed mathematical models. In the years ahead, there will be increasing need for looking at the very large technical problem as a whole and in its context, trying to foresee quantitatively what difficulty will come up as a consequence of searching too hard for perfection. This would necessitate calculating the best set of compromises. Calculation of alternative courses of action, of their impact, and their results, is one ofthe domains where computers have been given, and have successfully passed, their test. Computer-processed mathematical models, the protozoan stage of the data net we considered in the preceding section, have proven to be powerful means for problem solution. One of the fundamental reasons why the impact of the data processor on man-made progress is outstanding, is to be found in the fact that man rarely sets up a problem in a manner that is beyond his personal ability to solve-s-a real restriction which indeed offers the largest obstacle to progress. Furthermore, it never suffices to iterate the fundamental principle that computer-processed mathematical models are not a substitute for intelligence. Quite to the contrary, they may well prove to be one and the same thing. As of today, if man exceeds in one thing as compared to other natural systems, this is his information network and the intelligent action of which it is capable. But, after all, what is meant by intelligence? Ironically, while the word intelligence is used every day, in science orin
XIII.
ANALYSIS, SPECULATION, AND EVOLUTION
239
any human activity, we have been singularly unable to define it precisly -let alone the process that is involved. For this reason, in our research* we have attributed to intelligence seven basic characteristics: (I) (2) (3) (4) (5) (6) (7)
Memory Calculation Learning (M X C) Inference and speculation (L Abstract thinking Concretization of thought Integrating ability.
+ probability)
This predominant throughput activity of the human nervous system requires input means particularly relating to perception: • Pattern recognition • Semantics and sign recognition (through stored subroutines) • Idea recognition. For in-memory operations, it involves "search" carried out on the basis of self-established critical factors, quite resembling the information retrieval process discussed in Chapters XI and XII. The throughput process of intelligence has an output in the form of master routines, or executive programs, which are stored in memory to direct human action. In evoluted human organisms, these can characteristically be described as in-thought developments of: • • • •
Organized behavior (through master routines as ifan objective exists) Goal and plan setting (for efficiency and meaningfullness) Goal-directed activity Survival patterns.
This total structure greatly resembles the function of a mathematical programming scheme residing within a data control network. Should the eventual development of the faculty of mathematical programming by manmade systems be called "intelligence"? Admittedly, very few if any cases to date that even approximate the foregoing thought can be demonstrated. The computer has been used as a fast desk calculator by engineers and managers alike. A notable exception is the DAC-I project already discussed in Chapter XV, but how many such cases exist? Slowly, perhaps too slowly, we came to realize that the 106 factor in switching speed, by which man-made systems exceed the natural, can be used in an outstanding manner.
* See
D. N. Chorafas, "Introduction to Product Planning." Cassell, London (in preparation).
240
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
For example, until quite recently man was very limited in his studies on dynamic systems. Since dynamic systems are by far more difficult to conceive, mathematically formulate, and solve than static systems, man usually resorts to "snapshot" techniques. Analysts, whatever their particular function may be, essentially cut out a static picture of an operation at some particular moment or at some "average" moment. They change one variable at a time in a lengthy, costly, man-processed experimental program. Essentially, they are experimenting by allowing a good margin for human errors and for "unknown" factors-unknown because of the limited experience we have whenever we study advanced systems. We spoke of such restrictions and bias earlier in the present chapter when we made reference to the process of "linearization." We then said that the essential factor is open-mindedness and experimentation. In return for this experimentation, the analyst may learn something about the general effects. He can then develop a set of mathematical equations, a kind of abstract picture of the operation to see if it fits the "snapshot." Ifit does not, he must keep on adjusting this mathematical picture until it does provide a fit. A particular equation, or set of equations, fitting a broad range of snapshots, is usually called the "mathematical law." This mathematical law is often published and at times it becomes an established engineering tool. Given the way in which such tools are made, one should not be surprised at the number of paradoxical assumptions they contain. With the use of automatic computing machinery, experimentation is becoming today more detailed, more accurate, and more rapid. This is certain to have a significant impact on evolution. It is also certain that it would further accelerate the "very fast" technological development that we have experienced in the course of the last two decades. But dynamic experimentation, like computers, is only a means, not an end, in itself. It is a means in man's search for perfection-which he seeks through change and which he calls "progress."
Chapter XIV THE MATHEMATICAL SIMULATOR
We have stated in Chapter XIII that it is possible to simulate on computers the functions of man-made systems, be it missiles or chemical factories. This makes it feasible to avoid building a great number of prototypes for experimental purposes. In industry, simulation helps by decreasing the cost of a new type of machinery or process. In the last few years, we have experienced a tremendous increase in our power to experiment with systems which, for the most part, may still be unborn or exist only in the creative imagination of the designer. This power comes from a combination in the image of mathematical models and .of high-speed electronic computation. In a man-made ensemble, inputs and outputs are for most cases completely known. The processing in the system is also known, or at least definable. This is the case even when there exists an enormous number of components, many of which are not known. Whenever we have an incomplete knowledge on the processing, or throughput of a certain black box,* simulation methods can be used to advantage. This has proved to be very helpful not only in the phases of the initial analysis but also in structuring the model, in writing the equations that will describe the system. The problem of the black box arose at first in electrical engineering. Briefly, it can be defined as follows: "Given a sealed box with terminals for input and terminals for output, both of which can be observed, one has to learn everything possible about the contents of the black box." Though the problem arose in purely electrical form, its range of application is far wider. The clinician studying a patient with brain damage and aphasia experimenting with some given tests, and observing the outcome formulates
* By "black box" we mean a certain device which, regardless of how complicated it is, we study as being one component. Usually we are interested in certain properties of this component which relate to the system of which it is a part. 241
242
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
a hypothesis or tries to deduce something about the mechanisms that are involved. In fact, the location of traumata in neurology is a kind of black box technique. Mathematical experimentation provides possibilities for answering such questions as: • How should an experimenter proceed when faced with a black box? • What properties of the box's contents are discoverable? • What methods should be used if the box is to be investigated efficiently? To start with, we shall make no assumptions at all about the nature of the box and its contents. Being confronted with a black box, therefore, we must make a protocol which, at a number of times, describes exactly the states of the input and output. Mathematically speaking the black box is described at these different times by a vector with two components: input and output state. The throughput can then be defined as the mathematical transformation of input to output. Knowledge obtained from a black box is such that can be obtained by recording the protocol in terms of these vectors. In many cases we establish that the behavior of the box is machine-like: It can be given by a certain set of equations, or the "canonical representation" of the system.
BLACK BOXES FOR PROCESS CONTROL APPLICATIONS
Any digital control problem can be seen as composed of a number of black boxes. One of these black boxes is the computer, which under normal operating conditions goes through the following four steps: (1) Scanning. This step checks the operating variables such as temperatures, flow rates, and pressures. (2) Initialization. This step determines the present operating conditions of the unit and calculates how much each control should be changed to improve performance without violating any of the plant's limits. (3) Accumulations-Computations-Settings. Readings at this stage tell where the unit is in the process scheme, how fast it is moving away from this point and whether or not the control limits are observed, and if danger points might be reached. Inherent in this step are calculations with a view toward process optimization. Using a mathematical programming technique, the final control figures are produced, telling just what the unit ought to do and how to do it. (4) Output. This represents a print-out or display of information on the operations of the plant, and on execution of process changes to effect optimization.
XIV.
THE MATHEMATICAL SIMULATOR
243
Scanning and output constitute the means through which the digital control black box communicates with its environment. We will not be concerned with them at this point. Our interest will be focused on steps (2) and (3). These constitute the throughput of the black box; their execution requires a thorough mathematical analysis. A mathematical model that characterizes the process is an essential element in programming the computer to estimate, optimize, and control a given operation. The construction of the mathematical model is, of course, dependent on the adequacy of the systems analysis. This systems analysis should be allinclusive, for it is, at times, possible to substitute mathematical techniques for hardware limitation. Similarly, an abundance of hardware might, under certain conditions and within given limits, relieve certain software requirements. Hence, the writing of the mathematical model for a digital control application should be taken as a function of the successful solution of five points: • The formulation of adequate mathematical hypotheses concerning this process • The solution concerning the types of measurements and the associated measuring problems • The development of satisfactory data collection and reduction techmques • The identification of the central computer unit to be used • The demonstration of acceptable reliability, with the master computer in the loop. If these five points form the background of the dynamics of model-making, the writin& of the mathematical equations constitutes a problem in itself. Complex equations of mass transfer, fluid dynamics, and chemical reaction rates may be needed to construct this mathematical model. The complexity of the model itself can be quite varied, depending upon the scope of the operation it defines. This scope may range from the simulation of an individual component in a production process to the simulation of the complete industrial setup. Experience gained in process control applications shows that the development of satisfactory data techniques is not a painless process. In a completely automated factory, the sensitivity of the input pickups must be both high and reliable. This demand poses severe problems of quality control. For example, electronic temperature control can hold a process to a few hundredths of a degree and yet it might not produce consistently the exact product required. In certain cases, inferences and interpolations could be made on the basis of mathematical equations, to correct unavoidable deficiencies of the pickups. But this again will have to be established in advance. A petroleum
244
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
manufacturer identified, as follows, the objectives he put forward for his digital control system: • Compute present position. Providing a solid base for solving the control problems in the form of precise estimates of variables affected by computer-guided mechanisms. Product qualities from laboratory reports are used when available to update equations in an after-the-fact fashion. • Define economic operating level. Predict the over-all economic effects of adjusting computer-guided controls. The same section of the program calculates the limits that restrict adjustment in a given situation. These are derived from computed variables and the latest information from refinery management regarding production goals and relative values of products. • Optimize control action. Here, the task of the machine consists of finding how to adjust control settings for best results corresponding to both technical and economic criteria.
Because both technical and economic criteria must be considered, the construction of mathematically analogous systems for digital control applications is a most challenging job. Researchers working on projects of this nature must possess a great deal of creative imagination. The basic equations of mass transfer, fluid dynamics, and chemical reaction rates necessary in many simulation projects for the process industry are too complex to be used directly in plant design if approached by classical methods. The research engineer, or the mathematical analyst, must, in most cases, be able to generate new approaches for the solution of his problem. Failure to do so would result in shortcomings, with new simulators being largely based upon extensions of existing models. This cannot be accepted as satisfactory. Defined in different terms, the development of a computer-oriented control system, for a complex industrial unit, can be segmented into three black boxes. The first concerns the descriptive mathematical model of the system that must be developed. The basic model should at least identify the internal balances and transfer of material and energy, and reactions that occur within the system. This model is also useful in determining requirements for constructing, operating, and evaluating the system. It should involve some learning aspects as discussed in Chapter XI. The second black box concerns an optimizing procedure, applicable to the model and permitting calculation of better, or best, operating conditions. The calculation must be carried out according to present standards and criteria. The third black box includes the control procedure that must be formulated for conveying to the process, by means of control action, the improved mode of operation. In this should be included a good deal of homeostatic concepts, giving to the system the characteristics of a living organism.
XIV.
THE MATHEMATICAL SIMULATOR
245
FORMULATING ADEQUATE MATHEMATICAL MODELS To a large extent, the degree of success in the usage of mathematical simulation is a function of the proper approach taken by the researcher. The following outline is a brief description of a suggested method. (1) Decide upon the limits or boundaries of the process. In many situations the limits may seem obvious, but experience shows that this is very rarely the case. Particularly when the process to be controlled is only one of a large number of projects (which interact with one another) outstanding in the plant, the setting of the boundaries may be a delicate matter. Yet, much of the success of the job will undoubtedly depend upon the setting of correct boundaries; since a solution that might optimize one factor, or a set of factors, might at the same time affect other processes in an adverse way. Among the many and varied failures in "Systems Simulation" so far has been the establishing of correct values for the quantities that define the range, upper bounds, and lower bounds of the crucial factors. In a number of cases, the problem conditions do not specify these bounds in exact, quantitative terms. Arbitrary values are often given, such as "large" positive or negative indices for upper and lower limits. These values are by no means sufficient to define the boundaries. (2) Define process objectives in economic terms. The final test of any system is: Does it pay? Project and process objectives should be very clearly established from the very beginning, since, after the work is done, it would be impossible to make any profitability evaluations. Vague terms are not an answer to this problem. One "usual" objective is to produce the maximum amount of a product having specified characteristics from certain raw materials at a minimum operating cost. For most practical cases such statements are vague and inadequate. It is, therefore: necessary to examine and place quantitative values on all the materials and energies that enter and leave the previously established process boundaries, and to determine other operating costs (maintenance, etc.) that cannot be expressed in terms of inputs. The job of economy evaluation is a challenging one. Process economics are not always readily measurable. It is rather difficult, for instance, to assign a value to the quality improvements which permit the company to meet competition or to advertise the improved quality with the objective of a sales increase. Another reason why process objectives must be expressed explicitly is that control action by the system should be reasonably based upon the calculated effects on process economics. (3) Study process variables. These may be divided into three groups:
246
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
• The independent variables, such as raw material and its chemical properties. • The operating and intermediate variables that serve to measure and control the state of the process, such as temperature, pressure, liquid levels, flow rates, and chemical composition. • The characteristics of the end product, such as octane number, density, viscosity, and composition. The general problem is to manipulate the independent variables by control of the intermediate, so that the final product meets specifications. All available data on the process variables in the form of specifications or historical plant operating records must be gathered. Study of these data will indicate the required range of control and thereby permit determination of what existing control equipment may be continued in use. It will also lead to a rational setting of specifications for any additional control equipment that may be required. (4) A nalyze equipment andoperating procedures. This part of the work should include the layout of the existing plant, maximum allowable temperatures, pressures, capacities of conveyor belts and pipes, nominal ratings of compressors and generators. Step (4) must be carried on concurrently with the determination of what control equipment may be continued in use with the proposed automated system, where bottlenecks exist that may be profitably eliminated to increase output, what new controls are required to permit automation, and what action should be taken by the control computer to meet emergency conditions. (5) Determining process dynamics. The speed with which the process responds to changes in the independent variables must be known to determine the control loop time constants. Furthermore, if a reasonable mathematical model can be formulated then the usage of the computer in process control can also affect the final plant design in a favorable manner. The size of the model itself may differ, ranging from an individual component in a production process to, say, the complete refinery. Two satisfactory tests of the validity of a model are available for the process industry:
• Impress a sinusoidal variation on the selected process and compare gain and phase of response with that predicted by the mathematical model, when subject to the same forcing functions. • Compare computed results with actual process results, recorded by the data logging equipment in use.
XIV.
THE MATHEMATICAL SIMULATOR
247
(6) Formulate the equations of the mathematical model. From the five steps mentioned it should become feasible to derive mathematical relationships between the variables. As defined by Courant, Lowell, and Philips, an applied mathematical system means a well-posed physical (or other) problem satisfying three basic criteria:
(l) A solution exists (2) The solution is unique (3) The solution is stable for relatively small changes in the data.
Equations describing such a system must be predictive or asymptotic to a predictive set. Let u(O) represent the state of a system at time t = 0 and u(t) its state at a later time t > O. The evolution of the system is described by u(t) = Set) [u(O)], where Set) is an operator that represents an appropriate physical mechanism. The operators are invariant under a shift in origin of time. An important class of operators has the linear property S(t)[au(O) - bv(O)] = a S(t) [u(O)]
+ bS(t)[v(O)],
where a and b are complex numbers. In early mathematical simulation, linear models have often been of use. In the general sense, some sort of approximation to an industrial system may be obtained with a linear model. In the linear model things change at a constant rate relative to the basic variables: such variables may describe operation factors which in turn relate to the throughput at the plant. Nevertheless, the excellent work by Bellman and other mathematical analysts has brought under correct perspective the dynamic properties of an industrial system. Mathematical statistics may be of major assistance in studying control data, and in developing the equations of the model. For an example on the use of data reduction techniques, say that in a certain drainage basin there is a given probability that a runoff volume of an established magnitude and duration will be exceeded during the coming year.* This is known as the "exceedence probability," and corresponds to the established volume and duration. Likewise, for every magnitude of flow or volume for that given duration, there is an inherent probability with which that particular magnitude of flow will be exceeded during the coming year. These probabilities can be represented by a curve such as is shown in Fig. 1. Each magnitude on this chart has a corresponding "exceedence frequency" or probability.
*See also, D. N. Chorafas, "Systems and Simulation." Academic Press, New York, 1964 and Dunod, Paris, 1964.
248
PART IV,
MATHEMATICS FOR SYSTEMS CONTROL
-g
.. o
u
"' 800
~500
i; 400
.:!!300 u
1200 u
~
.
o
100
:>
o
-=c:
50 ......._~~~-~-~-~~~-....... I 2 5 10 20 40 60 80 90 95 9899 Exceedence frequency per hundred years FIGURE
I
The logarithm scale on which the frequency curve in Fig. I is drawn is particularly suitable to flood frequency curves. The horizontal scale is devised so that a variable that is distributed in accordance with the normal law of error will have a straight line cumulative frequency curve. There is no practical means of determining this curve deductively from the characteristics of the drainage basin tributary to the location concerned. However, there exists a record of flows at that location extending over a number of years; the characteristics of the true frequency curve can be inferred inductively from the magnitude of flows that have been observed. For example, if there are 20 years of record, and a flow of 500,000 cubic feet per second has been exceeded in only one of these years, then it can be inferred with some degree of approximation that 4% of all future maximum flows will exceed 500,000 cfs. Likewise, if a flow of 250,000 cfs has been exceeded in 10 of the 25 years, then it can be inferred that 40% of future annual maximum flows will exceed 250,000 cfs. This procedure of determining flood frequencies is generally attended by a low degree of dependability, as demonstrated in Fig. 2. The two frequency curves (a) and (b) are based on different 25-year portions of a 50-year record at one location and are established by the procedure just described. Given the size of the sample, they should be reasonably identical, but since there is a significant difference, it must be concluded that at least one of the curves is seriously in error. This low degree of dependability restricts the usefulness of runoff frequency studies, which, in effect, provide the basis for determining the amount that can be spent economically on flood-control works, and provide the only means of evaluating the danger to life and property that would result from developing an area subject to flooding. Hence, more powerful methods are needed that will provide the most reliable means devisable for evaluating flood volume frequencies.
XIV.
6
.,
THE MATHEMATICAL SIMULATOR
249
1000 Ul
E~ E c:
.§ i
500
300 :;;;: 200
E
>-
~c: ~ «
100 0.01 0.10.5 2 5 1020 4060 80 Exceedence frequency -
.,6
95 99 99.9
%
1000
E~
E u " e
500
.§.; 300 ~~
g~ ~.g
«
200 100 ,::-~~~---...~~~~-~~-~
0.01 0.1 0.5 2 5 10 20 40 60 80
95
99 99.9
Exceedence frequency - %
FIGURE 2
Admittedly, at first sight the present example on mathematical analysis does not fall within the field of process control. But appearances are often misleading, this being one case among many. An example on flood control is certainly covered by the broad horizons of systems guidance, as we have defined it. As such it is a legitimate subject for inclusion in the discussion on mathematical analysis. In our book, "Systems and Simulation," we spoke about the TVA model and the associated examples on hydrological works, putting flood control in its proper perspective. Hence, having established reference to the model, it is then important to examine the constraints that were present and the ways and means used in overcoming them. Let us consider the case of frequency studies on annual maximum runoff for each individual duration as follows: Instantaneous, I day, 3 days, 10days, 30 days, 90 days, and I year. Observed runoff data for each station and selected duration will be analyzed into the following three components: average height of the cumulative frequency curve; average slope of the curve; and degree and direction of curvature. These will be measured statistically by the mean, standard deviation, and skew coefficient of the logarithms of annual maximum runoff volumes for the specified duration, where
250
PART IV.
x =
MATHEMATICS FOR SYSTEMS CONTROL
Exln "L(x - xF "L(x)Z - (L"X)z/n n-l n-l n"L(x - X)3 (n - l)(n - 2)S3
gl
=
X
= logarithm of annual maximum flow or volume for given duration
n = number of years of record "L = summation for years x = mean logarithm for period of record (average height of curve) S = standard deviation of logarithms (average slope of curve) g, = skew coefficient of logarithms (degree of curvature).
In a study done by the Corps of Engineers, U.S. Army, the above three statistics were computed for each of the seven selected durations at 108longrecord steam-gaging stations located throughout the United States, resulting in 756 sets of the three statistics, or 2268 statistics in all. Each of the three statistics was observed to vary from station to station and from duration to duration, but there is a question as to how much of this variation is dueto sampling deficiencies and how much is characteristic ofthe different streams and durations. The amount of variation that can be expected from sampling deficiencies can be determined by use of the following equations:
Sx = (Sz/n) t 5
s
Sg
=
(Sz/2n)t
6n(n-l) It Un - 2)(n + l)(n + 3)J
I -
in which
x
= standard error of the mean
= standard deviation of annual maximum logarithms n = number of years of record S
Ss Sg
= standard error of the standard deviation = standard error of the skew coefficient.
If the variation observed in each of the three statistics from station to station is no greater than would be expected from sampling deficiencies, then it can be concluded that the variation is due to sampling deficiencies. Inversely, if the observed variation is much greater than can be expected from sampling deficiencies, it must be concluded that the particular statistic is characteristically different for the different stations. In the study mentioned, it was established that the observed variation in means, which represents the height of the frequency curve on the graph, is about ten times as great, after adjusting for size of drainage basin as the sampling variation. Likewise, the observed variation of standard deviations,
XIV.
THE MATHEMATICAL SIMULATOR
251
which represent the slope of the frequency curve, is about three times as great as the sampling variation. Consequently, it was concluded that the observed variation is about equal to that expected from sampling deficiencies, and it was therefore concluded that observed differences in curvature or skew at the different locations are due almost entirely to the fact that they are based on short records. Since the real differences in skew, if any, are small compared to those indicated by the data, the researchers concluded that the average skew coefficient at all 108stations for a particular duration should be used as the skew coefficient for any particular station and duration of flow. For the first 50 days, these skew coefficients are shown in Fig. 3. Zero skew coefficient has been adopted for instantaneous peak flows. All of the skew coefficients are small, and the corresponding frequency curves therefore approximate the normal law of error. There still remains the problem of finding the law or general functions with which they do conform, so that a curve can be drawn after the mean, standard deviation, and skew coefficient of that curve have been established. A logical function to try for a solution of this problem is the Pearson type III distribution, which is similar to the normal distribution, but may be asymmetrical. The normal distribution is, in fact, a Pearson type III 50
Ul
>-
0
"0
c:
10
c:
.9 ~
::J
0
5
IL.-_ _..........-L._ _...L-_ _
o
-0.10
-0.20
~
-0.30
Skew coefficient FIGURE
3
~
_ _- - - '
-0.40
-0.50
252
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
distribution with zero skew. While it requires only the mean and standard deviation (height and slope of a cumulative frequency curve) to define a normal distribution, it requires the mean, standard deviation, and skew coefficient (degree of curvature) to define a Pearson type III distribution. Just like with technological systems expanding over broad geographical boundaries, such is the case with hydrological works, where in industrial situations several processes have complicated nonlinear forms. In certain instances, the interaction of, say, physical, chemical, and economic factors leads to an involved objective function. Practical considerations such as product specification and component availability impose a number of constraint equations, some of them highly nonlinear. The use of largescale computing systems becomes a prerequisite in handling the resulting models; a subject to which we shall return in Chapter XV. (7) Test the mathematical model. Make sure that it has been developed and can perform its intended functions in an able manner. Do not rely on dubious sayings such as, "something on hand is better than nothing." In simulation jobs, nothing may be much better than "something." In the preceding case, for instance, the shape of the Pearson type III curve was tested with observed frequency data by combining with each of the seven selected durations the recorded frequencies for all 108 stations, in terms of their means and standard deviations. The result of this comparison was considered to be quite satisfactory. It was then concluded that:
• lhe average height and slope of a frequency curve of annual maximum runoff or a given duration must be established independently for each location. • The curvature of such a frequency curve does not vary appreciably from location to location, and is a function of duration of runoff. • The frequency curve is a Pearson type III curve and can be easily computed from annual maximum volumes for a given duration using the equations for the mean and standard deviation of the logarithms in conjunction with the skew coefficients.
DYNAMICS OF MATHEMATICAL EXPERIMENTATION No matter which particular method he chooses for the development of the descriptive equations, the research worker should remember that his mathematical model will be used for control action and that it will be processed at high speeds. Poor models will give results that are not only poor but also dangerous. In process control applications, an acceptable mathematical
XIV.
THE MATHEMATICAL SIMULATOR
253
model should describe the interrelationships relevant to process guidance within the region of economic, physical, and management objectives and restrictions. As such, this simulator can be developed either analytically or empirically. In the analytical approach, attempts are made to write the relationships between the desired variables, such as heat and material balances or reaction equations, without resorting to plant data. This approach presumes an expert knowledge of the technology ofthe process and the fundamental physical and chemical phenomena that govern it. Such complete knowledge rarely exists for most continuous processes. The empirical approach is necessary where there is insufficient knowledge about the process necessary to develop a model analytically or where the mathematical difficulties are hard to overcome. The experimenter can take a "black box" approach in his research. He can use data obtained from the plant during normal operation or pilot runs and empirically determine, by regression analysis, the parameters of the chosen functions. The use of data obtained during normal operation of the plant may seem the easiest approach, but, in practice, use of information resulting from carefully preplanned experimental runs (with created disturbances) has proved to be far more effective. Often, a steady-state, or static, model may suffice in the performance of the optimization. A static model is based on operations after transients have subsided. In other cases, a dynamic model would be built. A dynamic model contains the static model within it, while it gives, in addition, the relationships that hold during the transient state.: A dynamic model is required, especially if dynamic optimal control is necessary; a static model is sufficient for repeated steady-state optimization. The mathematical model, objective function, and constraints are the keys to this work. A successful simulator defines the relationship of variables in the process and allows computations of changes to effect optimization. The objective function defines the plant goals, such as maximum conversion, production, or yields and minimum unit cost. Invariably constraints or limits will-be placed on the operation. They represent physical limitations imposed by the equipment used, or limits set by product specification. We call "feasible," the region inside the constraints. Any point within this region corresponds to a choice of values for the different parameters; within this region the process will operate without violating any of the constraints. Optimization now consists offinding the point within the feasible region that maximizes the objective function. Figure 4 shows a process control case where the maximum profit point is within the realm of technological possibilty. When the function is simple, we can find this point readily from a graphic representation. However, when more than a small handful of
254
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
t
~ I
~
~ ~
~~t
0
;;::
in
~
0
"0
u
Flow rate point
I-~
FIGURE
_
4
variables and constraints are involved, the problem can no longer be effectively handled by simplified methods. If all the constraints and the objective functions are linear, then finding the maximum within the feasible region is a straightforward linear programming problem. When the constraints or the objective function are nonlinear, other techniques must be investigated, such as gradient methods, Lagrange multipliers, nonlinear programming, and the calculus of variations. It can be readily understood that all these have their very special impact on the programming difficulties to be encountered. We will consider, as an example, the control problem in cement manufacturing. Simply stated, this consists in establishing the proper setting for the manufacturing of product specification at minimum cost, with raw materials having variable compositions. It is, indeed, a typical process industry application. Digital guidance must implement a closely controlled chemical combination of lime, silica, alumina, iron oxide, and other ingredients. A small quantity of gypsum is interground in the final grinding process to regulate the setting time of the cement. The most common sources of lime are limestone, shells, and marl. The silica, alumina, and iron oxides are obtained from shale, clay, and sandstones. Blast furnace slag, the so-called alkali wastes, and iron ore may also be used as raw materials. The variety of product mix possibilities poses particular requirements on the mathematics of a process control operation. The alternatives have to be pre-established both as to their financial importance and to the outgoing quality level. Otherwise, experimentation will be unfeasible, and this will necessarily have detrimental effects on the operation, since the most significant economic gain that can be achieved with the aid of a computer lies in economic blending of the basic raw materials. To realize this gain, the mathematical model must:
XIV.
THE \1ATHEMATICAL SIMULATOR
255
• Maximize the use of the least expensive constituents within the chemical requirements for the mix. • Preoperate the process with mix compositions that are consistently close to the required specification limits. • Guide the subsequent production operations within an acceptable approximation of these established constraints rather than with a safe margin higher than required. • Minimize upsets in the rest of the plant due to composition fluctuations. • Eliminate the labor and plant operating time required to uplend selectively off-specification raw mix. • Keep exact quality control histories to meet purchaser's information requirements. • Proceed with diagnostic work for early identification of soft spots in quality. The mathematical solution of the optimum blend problem can be divided into the following phases: (I) The analyses of the raw materials form the data input to a program that calculates the coefficients for a group of equations. Data input variables for the blending operation control system refer to chemical analysis information, coming directly to the computer from X-ray fluorescence spectrographic equipment which analyzes the material and blend on each feedbelt. The same is the case with vibrating feeders and weight belts employed in a control system for the blending operation. The loop closes at the other end with feed rates held at levels determined by the computer and affected through an automatic controller. This instrument utilizes continuous feedback of actual weight information to control the vibrating feeders. The cement kiln represents a complex unit operation in which a series of endothermic' and exothermic reactions occur simultaneously. Little is known regarding reaction kinetics, and much remains to be determined about thermodynamic and heat transfer characteristics and more research will, therefore, be necessary. (2) Having identified the nature of the processing equations, these must be tested to make sure they perform their function in an able manner. What we said in the .preceding section, concerning the development of an experimental model out of actual data, is perfectly valid for this case. Weare trying to develop techniques that will enable the computer to use the available information in making certain decisions. Our main concern is with the accuracy rather than the digit precision of the outcome. (3) The simulator will be used to determine the optimum weight percentages, in the best possible blend, for the given raw material analysis.
256
PART IV.
MA THEMA TICS FOR SYSTEMS CONTROL
One optimality criterion is minimum cost; other criteria are also possible. The weight percentage values will need to be scaled as a function of the present desired plant feed rate and converted to analog signals which will be transmitted to the closed loop controllers on the proportioning equipment. In effect, this conversion process takes place twice within the operation of the total system, and the dynamics of the process guidance should take this fact into due consideration. The system should be designed so as to minimize three major sources of error connected with data transfers: • Time lags which could render real-time operation very difficult; they can equally affect studies on the performance and stability of control. The handling of time lags requires an analysis of leads, lags, or phase relationships. • A-D data conversion, for all signals sent to the digital computer. If, for instance, the digital time step is larger than the fundamental frequency of the analog output, then the resulting digital data will be very poor representations of the analog signals. • D-A conversion, which introduces errors because of the differences between this analog function and the digital one, and also because ofthe analog response to discontinuous inputs. Filtering digital data smooths the discontinuities but introduces lags and distortions. To help avoid errors associated with the foregoing factors, compensations could be made by means of the simulator. Necessarily, the mathematical model to be made will be a direct reflection of the necessary type of control action. the control scheme needed depends on both the frequency of disturbances and the dynamic response of the process to changes in the controllable variables. The frequency of optimization should be rapid enough to insure that the process does not deviate from its optimum position by an economically significant amount, during the interval between optimizations. Furthermore, the best model for use in process control should be able to forecast over-all activity, average loads and deviations, control data on composition, functional information, and size-timing of peak loads between successive intervals. Restrictions inherent to the nature of the problem, and therefore unavoidable, should be fully taken into account.
Chapter XV EVALUATING MATHEMATICAL PROGRAMMING
In Chapters XIII and XIV, we have seen the value of data networks for the analysis of real-time processes, provided they are equipped with the proper mathematical tools. We have said that this analysis requires the formulation of a mathematical model of the process under study. The model might be a mathematical expression in which the variables behave in a fashion similar to the actual process. It might contain elements of chance, weighing various probable actions of two or more "players," as in gaming; or it might represent the deterministic relationships of the actual variables in an interdependent system, as is the case with prototype models. One of the techniques of prototype analysis, favored by the process industries in particular, is linear programming. This approach to mathematical programming is concerned with the problem of solving systems of interdependent activities to obtain a certain optimum (best) solution. As the name implies, to make this method applicable all activities must be expressed in the form of linear relations. A characteristic of linear programming problems is the fact that there are always more unknowns than equations: We have a set of inequalities or limiting conditions, and an equation representing the function to be optimized. Since the early fifties, when they were operationally formulated, problems of this nature have become almost universal. In mathematical experimentation, our current worries go well beyond the implementation of the subject techniques-they are, by nature, more generic. This is written in full awareness of the fact that we are still far away from the development of adequate tools to study the structural behavior of systems. Our ignorance of the generic aspects of man-made systems can only be compared to our ignorance of the understructure of the natual systems.*
*See also the comparison between natural and man-made systems, D. N. Chorafas, "Information Science." Academie Verlag, Berlin (in preparation). 257
258
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
The attempt to solve the classes of problems concerning both natural and man-made ensembles starts getting equally persistent: in research on natural systems, a team of researchers succeeded in removing the brain from the skull of a rhesus monkey, retaining only small bits of bone to serve as support. The blood vessels were connected to a small heart-lung machine containing a fresh blood bank. Delicate needles stuck in its surface allowed an electroencephalograph to measure the electrical activity of the brain. While alive, the brain's electroencephalocardiogram charts showed a continuous flow of electrical signals, and the researchers could communicate with it. When they rang a bell near the stump of the brain's auditory nerve, an electrical impulse was generated. When a needle carrying weak electric current touched the stump of the optic nerve, the visual part of the brain responded. This activity indicates that the brain was functioning on a high level, reacting to signals that seem to come from "lost" ears and eyes. But the most critical questions are still unanswered: • • • • •
Is the brain asleep or awake? Is it frightened by loud sounds and bright flashes of light? Does it send desperate escape orders to nonexistent limbs? Does the brain believe it is still alive and in the original monkey? Does the isolated brain function logically, sizing up a situation on the evidence of its sense nerves? • Does it consult its memory elements, and give appropriate orders to its muscle nerves? The researchers postulated that such experiments might be made by using food rewards to train a living monkey to perform a simple action, such as reaching an arm forward when it hears familiar sounds. They propose, after the monkey is fully trained, to isolate its brain and give the same sound signal to its auditory nerve. If electrical signals appear in nerves that formerly led to arm muscles, this will be taken as indicating that the brain's memories of past rewards are making it try to reach for food with an arm that no longer exists. Our efforts in the mathematical analysis of complex man-made systems are at about the same experimental level, with most hypotheses* thus far advanced being either not documented or in a long, tedious process of validation tests. Basically, three different types of considerations are involved in programming problems: • A given technology * By definition, an "hypothesis" is a tentative statement made to help in problem solution. A "problem" is a matter involving uncertainty and requiring solution.
XV.
EVALUATING MATHEMATICAL PROGRAMMING
259
• A specified set of requirements, or detailed activities that limit the possible alternatives • A statement of general criteria, by means of which choices can be made between various programs.
LINEAR APPROACHES TO SCHEDULING AND CONTROL In this section, we consider the possibilities, and limitation, derived from the usage of mathematical scheduling techniques. Reference will be made to PERT, linear programming, and other tools, but the emphasis will be placed not on the mechanics but on the dynamics of their use. A substantial number of computer scheduling techniques have been developed. Some basic questions that result from these developments are: How can these techniques be properly applied? What kinds of improvements are necessary to make the techniques more dependable? How can such improvement be implemented? It should be stated at the outset that the approaches to which reference is made do represent in themselves an evolution in the state of the art as compared to what we had available some twenty years ago. The original scheduling algorithms handled only time as the independent variable. Alterations to the schedule to meet time constraints require care to avoid violation of "resource constraints," such as manpower and cost. The evolution of scheduling algorithms to include resources and costs was, then, the logical next step. This, of course, should take into account the fact that the development of a feasible schedule is an iterative process. As with all mathematical-analytic studies, the various tasks that comprise a process control problem must be listed and their interrelationships established. The efforts of listing tasks and defining interrelationships is one of the most time-consuming parts of the scheduling process. Because of the volume of detail involved, information developed about the organization producing the schedule is not transferable in a usable form among the different process industries faced with scheduling problems. But this is not much of a worry, since we have established, in Chapter IV, that analysis is an operation that should be repeated for each individual case. The first step in the application of a mathematical programming scheme such as PERT is to subdivide a certain project into a number of reasonably well-defined subsystems or area sections that compose it. In order to maintain a frame of reference and guide the project that is taking place, the over-all structure of the operations to be studied should never be lost from sight. With the area subdivision of a project delineated, the next step is to examine the major tasks or work packages in an attempt to evolve the basic task patterns. This is a prerequisite to the development of descriptive
260
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
equations, but here again, much of the analyst's attention should be directed toward the following considerations: • How does the piecemeal pattern reflect the structure of the over-all process? • What is the composition of each task or element, and what specific "weights" could be applied-be it delays expressed in time, or cost in monetary units. Similarly, linear programming approaches presuppose a clear-cut delineation of the components or tasks into which a certain project, say a manufacturing or a transportation process, could be subdivided. Let us consider that a certain system disposes a fundamentally linear structure, or that at least this type of structure could be approximated with a degree of accuracy. In formulating a linear programming problem, we develop m simultaneous linear equations with n variables, where n > m. If n = m, the system is uniquely defined, while for n < m it has no meaning.* The m equations representing the system's technology are derived from the given operation conditions: all XI
+ a l2x2 + a 22x2 +
a21x1 +
am1x1
+ aln_lxn_1 + alnxn = cl + a 2n _ 1xn_ 1 + a 2nxn = Cz
+ a m2x2 + ... + amn_lxn_1 + amnxn = cm
The limitations presented in such problems take the form of inequalities: xj ;:;;0, x 2 ;:;;0, x 3 ;:;;0, ..., xn;:;;O and, in general, Xj;:;;O,
i=I,2,3, ... ,n.
While the equation to be maximized (or minimized) is usually of the form: F = b.x,
+ b 2x2 + b 3x3 + ... + bkxk•
Since mathematical programming schemes refer mainly to the allocation of "resources," which are taken to be limited in supply, this concept must be clarified. Resources can be of several types, such as machine availability or number of men assigned to perform an activity: the estimated man or machine hours for performing a certain manufacturing activity represent a fixed value; the cost of power supply used by a piece of equipment depends on the kilowatt consumption and the price per unit. Translation into different
* It is not the objective of the present work to discuss the formulation of linear programming problems. The reader is therefore directed to specialized works on this subject such as: D. N. Chorafas, "Operations Research for Industrial Management." Reinhold, New York, 1958.
XV.
EVALUATING MATHEMATICAL PROGRAMMING
261
dimensions is, in most cases, a straightforward process. If, for instance, the resource is a fixed cost type, the value can be obtained on a per day basis by dividing fixed cost by elapsed time. This information can then be used to produce the resource requirement output. In this whole process computational media can play an effective role. With computer-processed linear programming problems, * the user need only concern himself with entering the elements of the original data. This relieves him of the problems that result from slack vectors in the basis matrix associated with inequalities, artificial vectors in the basis matrix associated with the equations, and both the artificial vectors and the slack vectors in the matrices associated with inequalities. These are generated by the computer program. But before computer programs can be used advantageously, considerable preparatory work must take place. In setting up a linear programming routine for calculating, say, gasoline blends, the analyst should transform the component instructions to linear blending factors. In the mathematical approach to be considered, lies exactly the probable benefits. In the past, if this approach was too sophisticated, it resulted into something much too time consuming to be handled manually on a blend-to-blend basis; consequently, the use of less accurate approximate blending factors was necessary in manual calculations. With computers, the task passed from straight mechanics to analysis work. A necessary feature of a computer-processed linear programming problem is a written record of predicted and actual qualities of each blend. This is perfectly true, for other probabilistic schemes too, such as statistical quality control, which can be easily installed and carried out once an efficient data handling tool has been provided and which has been referred to in other chapters of the present work. Mathematical experimentation is another facet of the same subject; with manual calculations, it is usually necessary to restrict the choice of components to some likely set, and to consider only those specifications that are likely to be critical. Consequently, from time to time, blends fail inspections at some, usually noncritical, specification. In correcting the blend to acceptable quality in this characteristic, quality giveaway iscreated with respect to more costly specification. With computerprocessed models, it is possible to consider all components and all specifications for each blend. It must be recognized, also, that to be useful for control and guidance work, the model must describe the process as it exists, and not as it, ideally, should exist. If analytical studies show that the blending mechanism has a consistent rate bias, such a bias should be included in the model, empirically, if no explanation of its origin can be found. • As a good deal of presently available routines provided for.
262
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
Environmental effects must also be considered, and it must be ascertained that no major effects or influences have been omitted from the model. In the interests of computer economics and efficiency, every effort must be made to keep the model simple though adequate. What constitutes an adequate scheduling model, be it PERT or any other, depends on the purpose for which it is required. A complete routine for, say, blending operations is usually an evolutionary process and may be studied in gradually increasing degrees of complexity. In many practical cases, one part of the problem is organized for solution by the computer and then others are added to it. The same is true for scheduling the construction of a refinery by using critical path or any similar method. By constructing the mathematical programming approach in this way, a very good understanding of the system is obtained, and it is possible to formulate an idea of the sensitivity of the final output. "Sensitivity" refers here to the response expressed through a function that includes the changes in parameter values, the bias, and omission of small time lags. To study the degree of sensitivity of a mathematical programming model, it will sometimes be necessary to handle only parts of the system. This occurs during the initial process of checking to make certain that the form of the model is correct, and later, when sections of the model are being compared against field results. In one specific case, some 350 solutions were obtained during this phase of the work. The complete program was manipulated many times during the process of comparing its results with those obtained during field trials, not only because of the different operating conditions, but also because some of the factors affecting refinery performance are statistically variable. Other factors affecting the value of mathematical programming must also be considered. For on-line gasoline blending evaluation, for instance, one of the most important requirements of the data processing equipment is speed. It is necessary to solve the equations in real time, or something approaching real time, in order to obtain the required number of solutions within the framework of a feedforward approach. This requirement is common with most instrumented test situations. Maximum wind tunnel utility, for one, requires "on-line" data reduction. This requires that a realtime computing facility be available at all times. Consider the case of a versatile wind tunnel that can test at supersonic, subsonic, and transonic Mach numbers. Tests may take anywhere from a couple of hours to a few weeks and total thousands of hours each year. Control of a test situation and elimination of human errors from the transcription of masses of data are easily apparent benefits. Because such gains are important, and in most situations essential, the usual solution is to invest heavily in computing and transcribing equipment. But wind tunnel tests, as with most on-line data applications, do not involve elaborate mathematical
XV.
EVALUATING MATHEMATICAL PROGRAMMING
263
operations. The requirements for the computer are on-liness, reliability, and the proper input/output devices.
SCHEDULING PROGRAMS THROUGH ELECTRONIC MEDIA
Given that, in the present state of the art, much of the mathematical programming effort is based on trial and error procedures, due consideration must be given to approaches designed to assure reasonable model validity. An important requirement, which arises in the trial and error work in mathematical programming and in its prerequisite, model building and checking, is the ability to make quick changes in the equations. We wish also to be able to reverse the effect of these changes. Here, the sophistication of the analyst is a critical factor. Errors can arise from mistakes in preparing the problem for the machine or in setting it up on the machine, from mistakes in the design of the equipment or faults and inaccuracies in its operation, and from mistakes in record keeping. Clearly, good checking, operating, and maintenance procedures are an essential requirement. Ingenious checks should be made against the original mathematical programming equations so that all steps in setting up and solving these equations are on sure grounds. The word "ingenious" refers partially to the nature of the checks and partially to the fact that there is no form of general-type check that is both thorough and quick to apply. The most convincing form of assurance is a check against a solution obtained by some other means. One procedure, that has been used in the past, is to check the response of each major part of the complete system against hand computations and, when certain that all the separate parts are correct, interconnect them and use them to solve the complete equations under some standard conditions. Also, a type of check is to substitute a computed solution into the original equations to see that they are satisfactory as to the desired accuracy. This requires measuring all the principal variables and their rate of change at various instances throughout the time of the solution and substituting them into the equations by hand. In any way, the final check should preferably be made by the operating people who will be using the results of the computer; they must critically examine all solutions for their reasonableness in the light of their knowledge . of the process that is to be controlled. To follow this example, we will- consider, as an application, gasoline blending operations. In each component blended into each grade of gasoline, the feed rate, the severity of reforming operations, and the amount of the blending stocks that must be purchased are the crucial variables. The equations are material and process unit capacity balances; inequalities
264
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
relate the blending inspections of each component with the specifications of each of the grades. Profit improvements at this stage can be substantial since gasoline blending constitutes a large part of a refinery's business. Let us assume that in a certain refinery some forty gasoline streams are produced continuously, by a variety of refining processes such as crude distillation, catalytic and thermal cracking, alkylation, and polymerization. To provide a physically blending system, these streams are combined into a number of "components," on the basis of similarities in octance and volatility characteristics. In turn, the blending components are used in the production of the basic grades of gasoline, motor and aviation, some six end products in all. Within this framework, an exploratory study in mathematical programming should start by proving the feasibility ofa solution and its inherent flexibility before establishing any general principles of blending. In this, the measure of variation would playa major role, since the situation is not deterministic. Seasonal changes in volatility, short-term deviations in the availability of stocks or equipment, and changes in supply requirements make the attainment of an optimal solution impossible on a permanent basis. A mathematical programming solution should be able to calculate the longterm optimum blend based on average component rates and qualities, giving as a result a seasonal storage program which would tie together several short-term running plans. The computer should then be instructed to recalculate the optimum operation on a monthly basis, taking into account relatively short-term changes in component availabilities that result from reverses and short-term changes in product demand. This information would be effectively stored on machine memory, and abstracted through integrated approach to data processing. The repetitive evalution to be realistic should consider the severity of reforming or other process operations affecting gasoline blending. For each blend, the computer should calculate its composition using the qualities of the components in tankage and minimizing deviations and differences. We have oriented our discussion thus far to computer-processed programming models and the following reference is made to that effect. Input to a linear programming routine usually consists of three sets of data: • Designation of equalities and inequalities • The approximate matrix elements • The optimization vector. These data can be conveniently tabulated on sequential programming sheets and subsequently punched as load cards. The computer routine operates on the original input equations. In one such program, for instance, the original variables that are metered must be augmented by artificial and
XV.
EVALCATING MATHEMATICAL PROGRAMMING
265
slack variables. These artificial and slack variables are generated by the routine based upon a test of keys entered as input data. The computer generates a unit matrix composed of slack and artificial vectors initially placed in the basis prior to the first iteration. Since the unit matrix formed by the subject routine has a profit equation of zero, the preliminary manipulation will remove the weights in the profit equation associated with the vectors in the basis and calculate the correct coefficient for each column of the data matrix. The computer, then, operates on the data produced by the preliminary manipulations. The matrix is stored, in machine memory, in column order. The routine generates the basis transformation matrix as a unit matrix prior to reading the first column of the data matrix. This basis matrix is augmented by the additional rows containing the correct data matrix coefficients and profit variables. The matrix clements are scaled by columns to determine the exponent and common decimal point for each element associated with a particular column. The maximum element of each column, including the profit coefficient, determines the necessary scaling. For a certain application, the main linear programmir.g routine has been written so as to reduce errors caused by scaling and to provide an automatic method of obtaining loggings of the problem between iterations and before a final solution is obtained. With respect to computations, an iteration begins when the first column of the data matrix is entered into the main routine. A preliminary check is made to see if that column is in the basis by comparing its index number with those in the block of index numbers used as keys. This step eliminates unnecessary 'processing, and decreases the time per iteration as the number of data matrix variables in the basis increases. Thus, a column found to be in the basis will be bypassed until one is found that is accepted into the basis. This column will be stored temporarily and its associated profit element recalculated and tested to see if it is greater than one previously selected or greater than a minimum value set by the program in case a column had not been selected at this point. The column with the greater associated profit will be retained in storage and, in case of ties, the incoming column will be preferred. The computer will continue testing by column, until the last column ofthe data matrix has been· processed. At this time, the profit values in the basis matrix are evaluated and, should one be found that is greater than that previously chosen, the column associated with that profit will be the column to be checked. If no other column exists within the range set by the program then the problem has reached solution and the results are ready for listing. Should, on the contrary, a "new last column" exist, then the variable must go into the basis, replacing some other variable. The subject column is updated by means of vector matrix multiplication if
266
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
the column is from the data matrix, while "basis matrix" columns bypass this step since the basis matrix is transformed during every iteration. The manipulation performed on each element of the basis matrix consists of locating a nonzero element in the "new last column" which will determine the row to transform; multiplying this element of the quotients formed in the row containing the variable to be replaced, and subtracting these products from the corresponding elements in the row, to transform. The computer stores the transformed matrix values into the row to transform, after rescaling and correcting the exponents of that row. Iterations, then, continue until a solution is finally reached. The subject program has been designed to facilitate processing linear programming cases with multiple objective functions or objective functions that are revised periodically for reasons of change or deviations in the input commodities. This method requires, normally, few iterations once a base solution has been established, but the possibility always exists that the process itself will show variation-hence, the need for flexibility. Substantial research effort still needs to be invested in this direction and, furthermore, if process control programming is to be effectively carried out, specialized programming languages will have to be developed.
ESTABLISHING VALIDITY BEFORE USAGE The foregoing brings forward the broad possibilities of mathematical programming, in studying interrelations of separate but related operations. Research of this type requires the screening of many possible alternative actions, but only through a computer can the "best" actions be established, i.e., those which are both timely and detailed. The usage of on-line computing media underlines the fact that mathematical programming requires considerable, broad experience on the part of the analyst, so that a truly "best alternative" is not discarded because of faulty judgment. However, it should be noted that often, after he formulates a problem, the analyst finds that he needs data he does not have. Sometimes, it is necessary to ask for a sizeable laboratory or plant test program to obtain this data. He may also have to proceed with pilot blends, or to operate under test conditions until he ascertains that the solution recommended is a sound one. As is the case throughout the field of mathematical experimentation, it is possible to use the computer to examine whether the equations of the mathematical model correctly represent the process. Furthermore, checking the programming framework is a continuing process, applied as part of a routine programming maintenance procedure, or whenever any changes have been made to the machine program. Yet, the most crucial aspect in checking
XV.
EVALUATING MATHEMATICAL PROGRAMMING
267
is concerned not with the computer and its software, but with the process. One should not forget that the model in question is compiled from information obtained during the design phase, the laboratory test, the development of components, and, possibly, the field trials. Whenever, at any stage, the experimental background is adequate and the analysts are skilled, then that part of the model has a good chance of being sound. But how often is this the case? Technically, the most dependable aspects of the model should be those parts of the mathematical programming scheme based on the results of wellinstrumented, carefully conducted process trials, because such trials indicate true performance in a dynamic environment. On the other hand, parts based solely on theoretical design studies or idealized laboratory tests are likely to be suspect as models of the process. They should, hence, receive high priority in the checking procedure. In most cases, it is at least possible to examine what is happening at several ofthe interconnections of the numerous parts, while the whole system is operating in the normal manner, without in any way upsetting this normal operation. But this is not always true, and so our discussion must be expanded from strictly linear systems to those that are dynamic and nonlinear. Signal voltages and currents, control unit movements, pipeline pressures, fluid accelerations, etc., can be recorded throughout a high enough sampling rate to adequately define all the factors of interest. Similarly, by very careful and detailed data collection, it is possible to monitor any function that has been sampled during the operation ofthe system. By planning well in advance the way in which this can be achieved, the analyst may be able to perform validation checks while the solution is in progress. What we are particularly interested in, as far as process control studies are concerned, is the possibility of isolating an appropriate black box of the model on the computer, to inject into this black box an in-process recorded signal as a stimulus, and to record the output of the black box, which can then be compared with the corresponding in-process recorded output. A one-to-one agreement between the two records would be convincing evidence that the model correctly reproduces the behavior of the system, or black box, at least under the conditions applying in that particular trial. To be valid, as far as the operational conditions of the total system are concerned, these checks must be carried out on hardware components, on the black box level of the mathematical model, and, necessarily, on the complete system itself. Some of the information required for this checking process can be obtained from any application in which the part ofthe system whose model is to be checked has functioned correctly. This is true provided the magnitude and frequency of the disturbances are adequate to offer a characteristic
268
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
exercise of the given part, and that the information gathered during the trial is of adequate quality. In most cases, the work of checking that the model and computer are correctly used should include, as a final control, total system behavior derived from actual operating conditions, through quality history logs. We made reference to this procedure when we spoke ofthe need for mathematical programming to reflect not only ideal conditions but also built-in deviations. It is also advisable that the main mathematical routine for real-time control operations be supplemented by diagnostics, designed to reveal errors and misinterpretations in operational data. These vary from undetected and in some cases otherwise undetectable drifts, biases, and changes in scale factors of measuring instruments to straightforward arithmetical errors in data handling. In turn, this imposes the use of trial data as a direct input to the model, but neither in quantity nor in quality is this task beyond the performance capabilities of current data handling methods. The approach mentioned is actually being used for a substantial number of task-pattern evaluation schemes. Once this pattern is known and documented, the synthesis of a project is a relatively straightforward matter, provided the right information is on hand. By obtaining, using, and maintaining up-to-date task patterns, the repetitive evaluations of financial optimization and the subsequent scheduling of a project can be achieved rapidly and economically. The project, itself, becomes more or less unique only by the order, duration, and interrelation of the major tasks, which is evident from the established objectives. As the different elements are accumulated and recorded, the computer can examine the basic methods by which a major task is accomplished and, therefore, be in a position to produce a logical schedule. After performance records have been established, standards can be set, further reducing estimation effort and possibility of error. The emphasis on automated data control processes should, nevertheless, lead to no blind application of this methodology. It should instead reveal the amount of effort necessary behind a computer-processed system of project analysis, in which a library of task patterns and duration standards could be maintained and continuously updated. The interrelations between operational tasks, hardware subsystems, or program components could be effected using a connective matrix, so that the entire scheme would always keep its uniformity and structural efficiency. With respect to operations, faced with changes in the process that is under control, the problem is to extract the same amount of guidance information in the presence of disturbances and noise. This is not only operationally necessary, but it constitutes a requirement if one is to guarantee that the model will not be so artificial as to be used only with those trials with which agreement had been forced. Verifications of this type are behind
XV.
EVALUATING MATHEMATICAL PROGRAMMING
269
the requirement that the behavior of the subsystem of the process and ofthe model be rigorously compared on a one-to-one basis in isolation, so that there is no possibility of juggling one to overcome a deficiency in another. Furthermore, every time an error in the assumed information about the process has been postulated as a result of having to alter the model to obtain satisfactory agreement with field trials results, subsequent analysis should be made to establish the causes and to implement the appropriate remedies on the model's behavior. What the foregoing paragraphs essentially mean is that, in every case of mathematical programming, alternatives have to be tested, anomalous behavior has to be explained, and errors in data recording and processing have to be revealed. All valid information has to be brought together in a selfconsistent story of experimentally based evidence. With this, a model incorporating such evidence has to be formulated and a computer program for solving the equations and handling the data has to be written, assembled, and demonstrated to have good reliable usability. Before being put into operation, the model should be used to predict systems performance, within the envelope of operational conditions for which it has been developed.
INTEGRATING THE MODEL, THE COMPUTER, AND THE FIELD REQUREMENTS
As a synthesis of the ideas we have thus far explored, we can state that from an over-all performance point of view, some definite objectives must be met by the model-computer interaction: • The information ensemble must be complete in its development, integration, and processing. • It must be flexible enough to incorporate changing conditions and requirements. • It must provide for the utilization of existing process framework to realize their full potential. · It must have uniformity of control action, to insure that like data will always be processed in the same way. • It must achieve simplicity, although using mathematical tools and realtime techniques, along with time-sharing considerations. The information ensemble must have dynamic accounting of all activities, by the presentation of pertinent facts. This necessitates a rational approach since, the very first stage of systems design and mathematical experimentation, program approaches should account for the fact that data that are "pertinent" change as a function of time, place, operating systems, practices
270
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
and procedures. Real-time installations have been troubled extensively by error problems--notably in conversion, to some degree thereafter, and in some cases indefinitely. This is an ironic fact of life: control problems, presumably properly handled, in time tend to exceed their bounds. And this is discovered through the implementation and presence of immense control capability. The answer is found in the characteristics of the controlled environment. Mathematical analysis has shown thus far that there exist more "errors" in a system of which the real-time computer is the central element. This has a structural cause. Computers equipped with programming models are superior devices for the detection of "quiet" errors. Quiet errors existed in manned control systems but went undetected for indefinite periods, or even ifdetected, such errors were not discovered dramatically. Furthermore, the well-established tendency of manual and semimanual systems is to diffuse the detection of errors. On the contrary, computer networks precisely detect errors as to time and place, thus leading toward a formalization of "error processes."* On several occasions we stressed the need for mathematical-statistical error detection procedures and the corresponding development of diagnostic works. We defined these diagnostics as the means of detecting errors and for making corrections and handling other disturbances. This, we said, requires data processing operations that do not follow routine channels--they must be made to reflect the instantaneous adaptation of affected control points. The errors they handle could be "new" in origin, of a type not encountered before; there may be errors that previously went undetected, or they may have been discovered inconspicuously in the previous system to the point of appearing not to exist. The detection of data errors and their correction and subsequent avoidance will imply that for at least part of its time the real-time system will concentrate on error-finding processes in time and space. With offline media this has been mainly a diffused error-finding approach. The powerful error detection logic we can incorporate into mathematical programs is,. in fact, best applied when we process input data where error detection is really concentrated in machine sensible form. Established integrated files are the storage of converted information and of the data deposited as a result of process guidance and control. Hence, this data will itself need to be filtered, before being stored. This implies a processwide approach with a dynamic change in the time and place oferror detection routines. It also implies continuing effect on source data, and the efficient handling of condition affecting files. Through such filtering, many cases will be detected that otherwise might never be found or at least be dormant for long periods of time.
* See also Chapter XVI.
XV.
EVALUATING MATHEMATICAL PROGRAMMING
271
A real-time process will tend to encounter operational troubles when MiginaHy-the- analyst did not anticipate the volume and procedural implications of certain types of errors and, therefore, failed to provide the resources to handle them. Alternatively, the process could encounter financial difficulties through over-control in error-finding processes. This is the case when the means for error finding produce costs that are in excess of the values obtained by detection. The foregoing is no idle speculation since there exists a certain inherent tendency toward over-control when data systems are 'used. This is a consequence of the ease with which screening programs can be developed, their fascination to computer personnel, and the extreme difficulty in measuring the point at which over-control occurs. Detection processes should be established as a direct function of the goals they are designed to reach. The implications of the previous paragraph should be noted. Since many new real-time applications require a transfer of source information to machine sensible form, the need to "recopy" inevitably is an error-producing problem, particularly when input operations are still in an experimental stage. Analytical programming techniques focus a good deal of attention on this point. The responsibilities of the analyst in using mathematics should include instrumentation system design, preparation of equipment specification, systems monitoring during design and fabrication of equipment, initiation and coordination of installation, checkout and evaluation of on-the-job operational characteristics. These functions are pertinent for three classes of systems: • Data acquisition • Data handling • Data support. For process control purposes, the data acquisition systems organization is involved in, say, optics, telemetry, and infrared instrumentation. For example, the efforts of the optics engineers are concentrated on instrumentation in the field of physical optics, photo-optics, and electro-optics. The basic responsibility with telemetry systems development is to provide technical support for acquisition of telemetered field data, plus study of new systems for integration into existing ones. Also, monitoring development of a predetection data system should be included to provide universal data receiving and storage of all telemetry components. As has been frequently stressed, a rational organization is important from the very initial step, the collection of operational data. The form designed to account for a complete 24-hour day on-line entry basis, should efficiently reflect all critical variables through the assignment of incident keys. * This * For an example of a data collection form used by the writer, see Fig. I in Chapter XXVII.
272
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
log form should be designed, as far as possible, so that only factual information is collected. The work "factual" implies a function of both the equipment hardware and the systems software packages that accompany the machine. A local controller is an example. It may be unnecessary for a local controller to "judge" whether its time is useful or lost. What we want this gadget to do is to record the actual situation in coded form-for subsequent handling by the central computer. In the data logging form designed by a certain process industry, "guidance efficiency," for one, was given a three-digit code: the first two digits were to designate user groups, or, in some cases, were further broken down to classify homogeneous types of program activity within a user's group. All data control operations were entered on the log sheet. Hardware failures and mistakes in computation were also logged; so were intermittent failures requiring program reruns. If a program is rerun as the result of an intermittent failure, and a second identical failure occurs immediately after, the two are logged as a single failure. Whether grouped failure indications are to be logged as a single failure or as multiple failures is a decision that must be made in advance, if subsequent data analysis is to have any meaning. Where this leads in respect to the required mathematical understructure, for a real-time system, can be appreciated if one considers that it is frequently difficult to distinguish between program errors and equipment failure. New programs are always suspect in case of error; yet, it is not uncommon to discover an error in a program that has been run successfully on many occasions. The determination of whether a failure is caused by a program error or an equipment failure must be resolved by an on-the-spot investigation by the maintenance engineer and the programmer, but in several cases this on-the-spot investigation is not completed until several weeks after the end of the reporting period, which further complicates the subject of necessary analysis and evaluation. In attempting to log all equipment used, the question also arises about what is to be included in that equipment. For example, should card readers and punches, keyboards, magnetic tape drives, reels, printing paper, and similar material be included along with the detailed consideration which will necessarily be given to the main frame? And what about interface unit, transmission lines, and remote stations? The question is not at all academic, since logging policies affect the calculation of a data system's operating parameters. * What we said about the operations of the data ensemble holds true for the components of the controlled system itself. In a number of cases, it has been found that observed peaks and valleys in equipment usage result * See also the discussion of reliability in Chapter XVI.
xv.
EVALUATING MATHEMATICAL PROGRAMMING
273
primarily from sampling considerations. A monthly plot often shows leveledout trends and, at least to the author's experience, it is absolutely inefficient for long-term studies. Nor does a summary plot of this nature reasonably satisfy the demand for the latest performance information. A statistically valid sampling scheme is necessary, and much interest exists in the course of the data reduction work that follows, since it is well understood that mathematical analysis considerations dearly affect the environment and operating system's parameters. As defined throughout our discussion on data handling systems, the second main function within the mathematical statistical spectrum we are examining has to do with the operations proper to the central hardware and other equipment. These include systems for data processing, digital data transmission, real-time computing, and special equipment for specific requirements. Specifications for a real-time data handling system can and should be approached mathematically. Data support programs should detect and provide the means for effective error correction techniques. This is also true, in certain cases, for applications such as interference analysis, timing systems, recovery aids, and communication. Mathematical media should also be used to translate future program requirements into the instrumentation, computer facilities, and logistical support that each process control project will need. What this last remark essentially means is that the mathematical model should act as a catalyst bringing into existence the underlying process factors and their characteristics. When this is achieved, we would be able to say that we have achieved a generically significant state in mathematical programming for process control.
MATHEMATICS FOR DESIGN AUTOMATION This discussion on mathematical programming would be incomplete without considering its impact on design work in traditional engineering fields. In Chapter I, we made reference to "design analysis" as one of the foremost areas of future data control applications. This also constitutes an excellent example of in-memory operations. M.I.T., IBM, and General Motors, among other organizations, are known to work along these lines. Some seven years ago, General Motors Computer Technology Department, of the Research Laboratories, began studying the potential role of digital computers in the graphical phases of design. This study resulted in a hardware-software complex known as DAC-l.* The initial goals sought by this project were the development of a *The primary hardware components of this scheme are: a large-scale computer; an image
274
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
combination of computer hardware and software that (a) would permit "conversational" man-machine communication, and (b) would provide a maximum programming flexibility and ease of use in experimentation. The designer writes up a portion of his problem, usually a descriptive geometry problem, punches it into cards, and submits it to the computer. As it is executed, the program is checked for errors. The designer can then take corrective action through the use of the console equipment. Upon execution of the program, the computer displays on the console a graphic representation of the design to be studied by the design engineer. The designer, in turn, may enlarge any portions, or view from any angle the design as he sees fit. If the drawing is not to his liking, he can alter it at the console by adding or deleting lines, changing parameters in his statement, or entering alternate statements. * If the design is a_cceptable, the computer may be directed to produce a permanent copy using the image processor. If desired, the system can develop tapes for the purpose of controlling drafting machines or for numerical control of machine tools. The designer's program is then stored in the library of design programs for future reference. The final product of this procedure is a computer-processed mathematical model able to give an abstract representation of the generated machine architecture. This model defines all points on the surface of the design in three dimensions for the purpose of future work along the same lines. As underlined by the manufacturer, the final product of a man-computer design team is not a series of drawings, layouts, or models, although they can be generated. Instead it is a mathematical model stored in the computer which makes an abstract representation of the surface of the new design. Unlike drawings or layouts, this simulator precisely defines all points on the surface of the design in three dimensions. From it, using numerically controlled drafting and milling machines, the conventional products of design may be produced: work drawings, master layouts, die models, templates, and the like. Further still, complete quality assurance specifications can be established enabling efficient quality control procedures during manufacturing, and the strict observation of reliability standards during usage. processor that allows the computer to "read" drawings and generate new drawings; and a graphic console apparatus with a viewing screen that serves as a direct, two-way communication link between the designer and the information machine. The software package involves some 750,000 operating instructions, making the subject programming scheme one of the world's largest coded systems. "From the computer standpoint, studies indicated that 200,000 to 500,000 instructions would be required for graphic communication uses. Also, a core memory protection system, proper timekeeping devices, and 0.5.106 words of program storage were incorporated.
XV.
EVALUATING MATHEMATICAL PROGRAMMING
275
One of the crucial points of the application is, of course, the man-machine communication scheme. In establishing system objectives for the image processor, four types of man-machine communications were sought. The first type had to produce a hard copy of the design for engineering use; it also had to be able to accept and read drawings, especially free-form curves.* The second type simulated man-to-man communication through the use of a display tube and a position-indicating pencil. The computer program detects what position on the tube face is being pointed to by the pencil contact, thus reacting to any comments the designer may wish to make concerning that portion of the display. The third type of man-machine communication enabled the designer to compare two different drawings (one on top of the other), by having the image processor designed in a way that pictures can be recorded on two separate film trains and then projected automatically onto a common viewing screen. The fourth design objective was to provide the systems with means of communicating alphabetic and numerical information to the cor...puter; multiple choice decision responses; and permissable actions by the operator. The development for graphic man-machine communications incorporated: • Multiprogramming, which released the computer for solving other problems whenever the designer was not using it • Source program storage allocation, allowing each program to adjust storage assignment dynamically as a function of data needs • A library of programs available during program execution, providing for continued growth of the design support programs with no change to control programs • An algebraic compiler, with some 90% of the programming system' written in. These functions identify fairly well the complexities in mathematical model-making for control systems functions. More significant yet is the structural impact of a unified computer operation on engineering design. Traditionally, design engineering is concerned with the problem of what to build to satisfy a customer's requirement at predetermined levels of cost and quality. At the conclusion of the design cycle, product part and assembly specifications are compiled and released to the shop as instructions for manufacturing the product. The intervening systematic steps between customer requirements and product specifications are referred to as "design logic." *The assistance of T. Tully, one of my graduate students at Washington State University, Seminar on Advanced Topics in Information Science, in developing the present review is hereby acknowledged.
276
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
Traditional engineering systems have been based on the premise that, once a problem is solved, the answer is stored for retrieval as needed. Recent systems, however, are founded on the principle that the most efficient methods of arriving at answers may basically be heuristic in their nature. Given a learning, problem-oriented capability of the machine, as problems arise answers are generated automatically and with little human intervention. In present-day practice, parts and assemblies that have to be selected are usually, but not always, associated with file reference procedures. The example of an instrument recorder is a case in point. It is necessary to select one out of three standard drive gears at one stage of design. The logic of the selection process has previously been defined, and, as each customer order is processed, the appropriate gear is designated and printed out along with the assembly drawing number. Design data supplied to manufacturing must include a list of the numerals to be printed out on the scale, size and location of each numeral, and the length and placement of lines to be drawn on the scale. A design logic for specifying regeneration, according to the expressed needs of each new requirement, is a must. Decision tables have proved to be a highly effective device for analyzing and documenting design logic in these systems. We have treated this matter in Chapter X. Tabular format is particularly valuable where cause and effect relationships (customer requirements to product specifications) need to be structured and displayed in a systematic and compact manner. The installation of automated development engineering systems can be considerably eased by following a systematic design and implementation plan. After a general approach is formulated, appraised for economic value, and documented for management review and approval, three principal tasks of detailed system architecture are performed-customer requirements analysis, product structure analysis, and the establishment of the design logic. During customer requirements analysis, the product is specified by the customer's indications. This process is mainly a dictionary look-up with all the values the requirements of a product, can assume listed as attributes.* The data for this comes from sales catalogs, marketing information, and completed orders. Such analysis provides the structure of input to the system. The formulation of the output specifications comes from the second analysis, that of product structure. This can be seen as a protocol listing all components of the product, material bills, and inventory lists to show the relationship of parts. Part characteristics must be converted to more familiar classifications such as part, drawing, or assembly numbers through the medium of an association logic. * See also the discussion on Information Retrieval.
XV.
EVALUATING MATHEMATICAL PROGRAMMING
277
On the completion of these two analyses, the third one comes into focus: logic. This logic is identified to connect customer specifications with part characteristics. By placing these on different axis of a matrix, paths can be traced; paths from requirements to characteristics are not always direct or one-level progressions, and often intermediate values have to be identified to complete the logic net. As logic is identified, it is also placed on decision tables. These decision tables must be coded and debugged to minimize storage and execution time. Programs can be partitioned into semiprograms or modules based on the memory capacity of the processor.* Special emphasis must be placed on error prevention routines, program modularity, language selection, file organization, and sequences of processing orders to build up system accuracy and flexibility.
* Reference
to semiprograms is made in Chapter XVIII. .
Chapter XVI ESTABLISHING SYSTEMS RELIABILITY
Design evaluation for information systems has many aspects. Which one will be stressed in a particular analysis depends largely on the criteria that have been established for the development of a data network. Among the most important criteria for the evaluation of any modern technological system are, nevertheless, those of balanced product design and of the making of sophisticated diagnostic software. In the treatment of this subject, the analyst's orientation should be toward total system reliability. Fundamentally, a critical factor which determines the degree of success in the application of any system is its "failure characteristics." Success is dependent upon the degree of correspondence between the operability requirement and the inherent dependability of the system. A large family of repairable real-time systems exists in which the requirement can be broken down in terms of "operation periods," periods during which failure-free operation is necessary. the case of digital automation the requirement is exactly that of a failure-free responsibility, but during periods between such responsibilities, maintenance is permissible. In itself, the problem of increasing the probability of "successful" operation comprises certain separate but interlocking tasks:
In
• Equipment design, which may not be simply a matter of selecting the fewest number of parts with the longest mean lives. • Maintenance design, including the provision of back-up computers and redundant transmission lines. • Diagnostic programs, able to keep a complete quality history for all systems components, and disposing of feed-forward faculties; this is a most critical task to which have recently been associated the concepts of "fail-slow" and "fail-soft." • Systems usage, including the proper determination of environmental and operational characteristics.
278
XVI.
ESTABLISHING SYSTEMS RELIABILITY
279
It is the purpose of every reliability study group to investigate these interactions and to feed back advice at the policy level. This research must be oriented toward a reasonable level of detail: that of functional black boxes, each of which performs duties vital to the real-time system. With this, the failure of any functional subunit would mean a failure of the system. Without changing its prescribed task, it is possible to vary the numbers and types of the parts in a subunit in order to influence its failure characteristic. A mathematical function can then be written describing the failure behavior of the system with running time as the independent variable. From a microscopic point of view, the factors that are of crucial importance in data systems performance are research and development, including tests; production and quality control; operational suitability and acceptance tests; handling and transportation; environmental requirements for operation; storage, surveillance, maintenance; conditions of operational use; replacement and obsolescence. Each is associated with severe problems imposed by modern technology, and for their solution there exists no "overall" answer. Reliability problems have to be studied on their own merits.
SYStEMS RELIABILITY FUNDAMENTALS Defining reliability as freedom from failure within a specified operating time and under specified conditions, a reliable computer network would be one able to obtain error-free results within a prescribed operational time range. Bythis token, computer equipment may be thought ofas performing perfectly even if local failures occur, provided these failures are taken care of before showing in the final results. Marginal checking, built-in checking, program checking, and full duplication are approaches for increasing the reliability of the individual computer system, or of the network. The crucial steps that we must underline in connection with the evolution of components, and of total systems design, include: an analysis of the projected functions in an attempt to predict the most probable modes of failure; the determination of the test procedures that yield the maximum account of reliability information; an investigation of means of balancing design, so as to optimize performance in respect to useful time and invested money; and an examination of methods for estimating the use environment, and for extrapolating reliability estimates accordingly. Balanced design and reliability are highly related parameters. In technical systems and particularly in electronics, reliability, although in itself very desirable, must always be evaluated in relation to time and money. It is wasteful to make "unbalanced" products, with some components that will break or fail at time t, while other components will work satisfactorily until
280
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
time 50t. Also, it is useless to make products that will last much longer than their useful time. The designer should consider both the optimum timing of the product and its cost. To the detriment of the whole reliability idea lies the fact that work on the methodology for stating design specification has, thus far, proceeded on somewhat of a routine, nonresearch basis. Proposed component designs are usually examined lightly or taken for granted as being reliable.* In these examinations hidden modes of failure are very rarely, if ever, uncovered. Worse yet, there exists no generally accepted procedure forthe prediction of modes of failure where a continuation of environmental factors is involved. Both a sound philosophy and a statistically sound procedure should be developed. The word "sound" here means that the subject procedure should yield more accurate reliability estimates and assure dependable performance. Several points can be made to this reference. For one, the fact that reliability varies with environmental factors, although well known, has rarely been studied beyond mere qualitative aspects. Rules of thumb are offered occasionally as rough methods for approximating such effects, but none is based on sufficient accuracy to allow incorporation of reasonable safety controls into the information-system design. Statistical and laboratory procedures need to be developed for estimating the functional relationships between reliability and the various environmental factors including the assumption that the process under control is, indeed, a random variable. Associated with this is also the need for establishing the necessary rules of systems' operation, and the mathematical expression of relationships between the components and the system. It is also necessary to consider the error density functions of systems using operating time as the independent variable, and the mathematical expression should reflect the error density functions of the system's component. Exactly because of this "data-system-environment" interaction, a number of real-time data networks are built around the concept of a duplex computer with multiple input and output devices. The inputs are often fed in through
* On a variety of occasions, the writer has observed that procedures for specifictypes of tests, and for tests at particular stages of computer equipment design have received practically no attention. The latest case has been a reliability study jointly proposed with a major aircraft manufacturerin France, to which the responsible NATO Committee, at the Paris Headquarters, answered: (I) To define what reliability means, for it was an unknown process to the responsible committee officers. (2) That reliability studies might be good for airplanes at the drafting board, but when a couple of prototypes have already been made, then it is too late to undertake them.(!!!) In another event, Dr. Lusser's efforts to persuade his government of the wisdom of reliability studies having failed, the score for the German-made FI04 Starfighter has been, in 1965 alone, 26 catastrophic failures with 13 pilots dead.
XVI.
ESTABLISHING SYSTEMS RELIABILITY
281
multiple channels, and the failure of anyone channel does not cause an operational failure of the system. The same is true of channelized outputs. Auxiliary input/output devices are duplexed also because of maintenance and control requirements. In the sense of the preceding paragraph, the central computer area may consist of a high-speed core memory and a number of large storage media, arithmetic elements, input/output coordinators, and instructions control equipment. This hardware must be duplexed with each half of the duplex computer being a complete computer in itself, capable of independent operation through its auxiliary input!output devices. Hence, the interest in defining reliability in terms that would satisfy the requirements of designers, maintainers, and users, helping them to communicate effectively their specifications and needs. Problems of this nature were faced from the early stages in the development of data networks. With this, existing definitions were reinterpreted or, then, new terms defined. During the total reliability study of the military information systems, the first hardware examples of an integrated, real-time, data network, a single figure of merit seemed undesirable.* For this reason, a different approach was chosen with the researchers defining other figures of merit instead. Among these figures, and based on our own research, we chose: • Reliability • Convalescence
• Utility • Value.
This section underlines the first, and most important, of these figures of merit. Reliability is the probability that a system willgive satisfactory performance for a pre-established period of time, when used in the manner and for the purpose which have been outlined in advance. Literally, the word "reliable" means "dependable" or "trustworthy." A man or machine is reliable to the degree that the actual performance or behavior satisfies the required performance or behavior. However, in science and engineering, the word "reliability" must be assigned an exact and, above all, measurable meaning if it is to be useful in a technical
* A computer manufacturer established three measures of cost-effectiveness for a priority interrupt system. To our judgment, these could have a much more general applicability with control systems functions: • Reaction time, defined as the time between the external request signal and the beginning of execution of the first useful instruction • Optimum priority response, which is the ability of the central computer to react correctly to incoming priority requests • System saturation, or the condition occurring when the on-line system cannot respond quickly enough to all requests.
282
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
sense. In a technical definition, the essential concept of reliability is probability of success, success here is adequate performance, and therefore, reliability is the probability of adequate performance-s-a is not an "ability." Since probability is a statistical concept, it is essential that reliability be measured and analyzed by statistical techniques. Therefore, reports of reliability measurements should include sample size, limits, and sampling procedures. Mathematical reliability is the probability that a unit will survive to an age x-but experimentally it is often calculated as a fraction of a large number of components that have not yet failed at each age. If a certain population of hardware units has a probability of one, or certainty, of lasting to an age x and each of these units fails exactly at that time, then, there is no randomness in the age at failure. For a unit operative at some age, the probability that it will fail during the next short interval of time is equal to "the area under the curve," in the interval. We, hence, need to establish the nature of this curve. The probability of survival starts out at the value of practically "one" for the probability of exceeding a "zero" age and falls as the unit approaches the Mean Time Between Failures.* The spread of ages at failure is a measure of the randomness. The coefficient of variation is the numerical measure of this randomness (Fig. I). The likelihood of an operating unit failing in the next increment of time starts out at some low value and climbs rapidly around the "average age." In reliability research, two main categories of failures can be distinguished: wear-out failures and chance failures. Wear-out failures have a characteristic frequency distribution over time. Their curves are always bell shaped and often normal. Bell-shaped or c1ose-to-normal curves indicate that the sample has been taken from a homogeneous population. Chance failure curves have a characteristic negative slope. The ideal condition under which man-made systems and components always might fail at an exact age is shown in Fig. 2. This ideal is never attained in a practical case. If the required active life of an equipment is short, as in guided missiles, the chance failure distribution is far more significant than the wear-out distribution. If in contrast the required active life of a system is long enough, as in the case of a computer network, the wear-out distribution becomes significantt (Fig. 3). Then, mathematical studies can reveal
* See "Statistical Processes
and Reliability Engineering." t In May 1965,the electronic computer at Washington State University had a creeping wear-out failure due to "silver migration." At the time, the computer age was at the 5-year level; the extent of the failure was such that some two weeks of maintenance work were necessary to restore the system to operating condition.
XVI.
ESTABLISHING SYSTEMS RELIABILITY
283
t
~ :a0 .Q
...
0
0-
Time _ _
Mean ( 0)
t
.~
s 0
.Q
...0 0Mean
Time--
(b)
t
~
:c0 .Q
... 0
0-
Mean
Time---
(c)
FIG. 1. (a) Fraction of survivors. (b) Statistical failure rate. (c) Mortality force.
optimum replacement times so as to minimize this kind of failure without excessive economic burden. In other words, actual failure frequency distributions are caused by both wear-out and chance failures, and therefore have a characteristic shape of their own. In this case, a classic example is the human mortality distribution. The force of mortality curve will rise continuously once the wear-out phase is reached, whereas the mortality curve decreases and eventually reaches zero. The force of mortality curve remains constant in connection with the chance curve: . force of mortality
=
mortality I
. .
r
surviving popu a IOn
284
PART IV.
MA THEMA TiCS FOR SYSTEMS CONTROL
t
l
~
:c 0 .a 0
ll: Mean
Time_
Mean
Time ___
(a)
t
l
~
.s0 .a 0
ll: (b)
t
I
--------------
~
:c 0
.Q
0
ll: Mean
Time-
(c)
FIG. 2. (a) Fraction of survivors. (b) Statistical failure rate. (c) Mortality force.
Reliability data on component and system performance and limitations should be collected in statistically significant amounts. Since equipment reliability is in actuality a probability, quantitative measures can be used to advantage either for a prediction of the average part reliability of a population of equipment based on measurements of samples from the population, or for the prediction of future reliability. Figure 4 shows the case where the chance of failure is independent of the age. Reliability values are probabilities of successful operation. But what practical meaning is attached to the determination by calculation that the probability of success is 0.7 or 0.99, and how it can be measured? Obviously a reliability of 0.99 is better than 0.7. But does it mean that the equipment will
XVI.
ESTABLISHING SYSTEMS RELIABILITY
285
.~ :0 o
.0
Useful
system
life
el4--'-'='-"---.----=:...:..:.:...::c....--'-'-.;..,.;,.-----------jlj+-----1! Cl.L......l.....I......l-_ Tjme----FIGURE
3
operate when it is turned on 99 times out of I00 tries? Or does it mean that if an equipment is operating there is a 0.99 chance that it will continue to operate for one second, one hour, or indefinitely. Something else is needed beyond the single probability value. The element of time must enter into the measure of reliability to give it a more practical and more useful meaning. The general accepted measure of reliability including the time element is Mean Time Between Failure (MTBF or 'f). If the failure rate is constant per unit time, the probability of failure-free life can be expressed as an exponential life curve:
where R is the probability of operating for time t. The significance of the exponential life curve is that T falls at approximately the 37% probability point. That is, there is only a 37% probability of a particular equipment providing failure-free operation equal to the Mean Time Between Failures. With this life characteristic the MTBF ('1') must be many times the required failure-free time. Figure 5 shows three comparative survival curves for different values of T, The use of the MTBF is based on the hypothesis that there exists an inherent homogeneity in the populations of failure characteristics. Practice has shown that this is not always the case, hence the need of using a "measure of spread" for the distributions in question. Actually, this is the case when we talk about "uptime" specifications. An MTBF = 200 h with say a standard deviation s = 20 h, specifies a distribution in which the guaranteed uptime will be equal to T = 97.5%. Inversely, by guaranteeing this uptime and the corresponding MTBF, the population parameters are uniquely established. The performance level of this population can of course be influenced by other methods, such as "derating."
286
PART IV.
t
MATHEMATICS FOR SYSTEMS CONTROL
I
~meanl----------
:c o .0
o
a: Time-
FIGURE
4
The process of reducing stress levels to achieve reductions in failure rates has often been underlined as a result of the emphasis on reliability. The generally desired format for this information is a series of curves, each representing a ratio of applied load to rated load, within predetermined environmental and operational conditions. Curves of this type are basically nonlinear in nature. Furthermore, to prove in an adequate manner such failure rate presentations would require a massive testing effort, involving considerable time and money, particularly at the very low failure rates. We can distinguish three approaches to the subject of derating, or underrating (a) in respect to power, for the reason of applications at ambient temperatures above that specified for full load, (b) in respect to temperature, to permit power loadings in excess of rated power, and (c) in respect to both temperature and power, in an attempt to obtain either smaller changes in parameter values over the life cycle, or reduced failure rates. Approaches of this type are not restricted to any particular component unit of a data system, and for this reason they are presented here in a generalized manner. Derating practices as a function of a system's performance may become terms of comparative evaluation. Furthermore, many derating concepts are confounded because the end points alone are considered. Because it is inherent in failure-rate estimates, and since it is expressed in terms of theoretically rated load against temperature, derating may be subject to a number of interpretations. Standards used thus far in evaluations relative to derating practices show a surprising lack of uniform definition. Consider resistors as an example. Here, the level of overrating may be established by selecting the value at which resistance change under test is the same as the resistaoce change under full power and full temperature. A determinant factor might also be the power at which the failure rate is the same as that of the base conditions. Infinite variations and combinations of these can
XVI.
ESTABLISHING SYSTEMS RELIABILITY
287
100
i
I I
I I I
Rll34
I I Rll66
150h
600h
300h
FIGURE
750h
5
lead to an uprating condition, which is entirely dependent upon the rater's choice of criteria and risk. Past practice has shown that linear concepts in derating or up rating fail quite often. Examples are those linear concepts that describe a constant load for all values up to the specified maximum, or those that permit a linear extension into the lower temperature region of the above-ambient ranges. A power rating implies a number of considerations, all of which make substantial contributions to whether or not the final performance is going to be a successful one. This makes it difficult to conduct all necessary tests, at the different levels, and to supply back-up information as part of normal systems servicing. Special testing is required and some method of gauging this testing is essential. Research conducted in the Soviet Union on this subject brought forward some interesting points and associated rules. The Russian work basically centers around the mathematical definition of what has been called "standard reliability." The research workers suggested that this is calculated in two cases: when the partial coefficient of standard reliability K is evaluated by each type of test and when its total coefficient K is evaluated by all types of typical tests, established through specifications and technical requirements. The general coefficient is then computed on the basis of this entire combination of test data. Using the manufacture of electric resistors as an example, this work proceeds with the mathematical definition of standard reliability. The formula includes four basic components:
288
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
(1) The single ratio
zn' Z
n
100 .1R Ro
=-~-
where .1R is the specific change in rating after testing, provided for by the specification and the corresponding technical requirements, and Ro is the initial value of the rating. (2) The coefficient z;' obtained as a result of testing a single resistor, 2.{=
100 .1R;
R
o
.
(3) The mean value
where z; is the average coefficient obtained as a result oftesting a statistically valid sample of resistors. (4) The mean quadratic scattering of coefficients a=
l:(Zin
zy
The value of a can also be determined from the mean range R = zmax - zmin' where a' = Rid and the value of d is found in statistical tables as a function of the sample size. * Here, a' is an approximation to a. It may be acceptable as an approximation assuming sampling from a normal universe. The partial coefficient of standard reliability K is computed as follows: When evaluating equality assurance by single-item sample, K = F(W), where W = (z, - zya. The value F(W) is determined in Table I, formulated in accordance with the normal distribution function. The maximum value is K = 1, and this corresponds to full quality assurance. In the course of this research project, the partial coefficient of standard reliability was established through data obtained from selectivity testing a batch of resistors. The outcome of this research indicated that the coefficient of standard reliability K is equal to the product of partial coefficients of standard reliability K = K1K2 • • •K;, where i is the number of functional tests provided for by the standard. The Russian researchers defined coefficient offers as an objective evaluation of quality assurance in two cases: • When the volume of control tests called for is sufficient and meets the requirements of the stochastic approach • When standard tolerances of coefficients guarantee stable operation of the components under study.
* See Table B,p. 512, E. L. Grant, "Statistical Quality Control," McGraw-Hill, New York, 1952.
XVI.
289
ESTA BUSHING SYSTEMS RFLIABILITY
TABLE I V\[ ITS
FOR THE
Ft
W
F(W)
Probable 0 ~ of rejects in batch of resistors
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
0.080 0.158 2.235 0.310 0.383 0.451 0.516 0.576 0.632 0.687 0.729 0.770 0.806 0.838 0.866 0.890 0.910 0.928 0.943
92.0 84.2 76.5 69.0 61.7 54.9 48.4 42.4 6.8 31.7 27.1 23.0 19.4 16.2 13.4 11.0 9.0 7.2 5.7
I.I 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9
CO~VALESCE~CE
'CTIO'i
K = F(W)
0,;
W
F(W)
Probable of rejects in batch of resistors
2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.2 3.4 3.6 3.8 4.0 4.5 5.0
0.954 0.964 0.972 0.979 0.984 0.988 0.990 0.993 0.995 0.996 0.997 0.9986 0.9993 0.9997 0.99986 0.999936 0.9999')3 0.9999994
4.6 3.6 2.8 2.1 1.6 1.2 1.1 0.7 0.5 0.4 0.3 0.14 0.07 0.03 0.014 0.0064 0.0007 0.00006
AND ITS COMPPTATION
Convalescence, * is the index that, when a "given" amount of systematic maintenance is applied after a given period of time, a data system will maintain the specified reliable performance, and no down period will exceed a predefined length of time. *We meditated for a long time before finally selecting this term. There was the risk in misinterpretation; apart from the convalescence integral, the term is mostly used in medicine. Then, there was the alternative of using the word "serviceability." But this term has been used recently in a reliability sense between preventive maintenance periods. Furthermore, "serviceability" might have been interpreted as implying accessability, availability of replacing or restoring components, and so on. This of course would have heen completely dependent of the nature of the faculties of the system. Thus, the spark-plugs of a car would be more serviceable than. say. the crankshaft. Our definition of course constitutes more than just accessapility, it takes into account systematic maintenance plus a given set of criteria for restoring the system to dependable performance. The big question regarding convalescence is that of the role of system maintenance. In our meditation on this suhject, we have also considered other terms, and dropped
290
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
This measure has been advanced to serve as a working definition in the analysis of repair times for data systems. Basically it describes a property of the equipment itself, and more particularly materials, and it identifies maintenance action necessary to effect restoration of a data ensemble to dependable performance. For long this has not been quantified; furthermore, as a concept it is admittedly dubious enough not to lend itself easily to a mathematical expression. "Satisfactory performance" is a subjective quantity which must be defined by the user and by the maintenance personnel. Furthermore, even the strictest technical convalescence requirements may give rise to a variety of probability functions, in a multipurpose information machine. Another complication arises from the inherent characteristics of digital computers. The circuits actually used are a function of the control actions that are being performed, while the commands of the stored program may shrink or enlarge the "effective size" of the computer itself. This, in turn, acts as a kind of "noise" in analyzing field dependability reports for data control systems. The men responsible for maintaining data systems ascertain that the average length of down times, for a sequential set of failures in any given period of time, may be inversely affected by the total time spent in preventive maintenance. That is, when more time is spent in preventive maintenance, up to a point, failures tend to be simpler and easier to fix. Hence, it seems as if the "convalescence" profile of a given data system may be a function of the total time spent in maintenance. That is, not only time in corrective maintenance but also time in preventive maintenance. Hence, our definition must take account of this situation. The important thing at this point is to realize how the "convalescence" function ties the manufacturer to the usage and maintenance specifications he implies for the system in question. The customer can hence put forward claim on the observance or nonobservance of the specifications he has been offered. With all technological systems, systematic maintenance implies a preset course or schedule of maintenance activities to be performed on the data ensemble. Thus, the testing, and repair or replacement if necessary, of a data system and of its components must be done following a certain, previously determined pattern. Dependable performance must also be defined carefully for, while to one person a system may be performing them. This was the case of "rnaintenability," which we thought was not appropriate for what it identifies. The word "dependability" might have been more appropriate, but this seems to be too closely tied to "reliability," and in a way the inverse of dependability is actually meant. As for the exact definition, of-the term "Convalescence," we wish to thank Mr. Oslen, of the Computing Center, Washington State University, who contributed a great deal to the association of this notion to systems mission.
XVI.
ESTABLISHING SYSTEMS RELIABILITY
291
dependably, to another it may be quite undependable. The requirements placed on a system (sometimes notwithstanding its capabilities) are the prime factors involved in determining maintenance dependability, and these requirements must be considered when the system's performance is being assessed. To get out of this maze of conflicting basic characteristics and requirements, in calculating convalescence, in the following equation we considered only unscheduled maintenance periods, following operational failures. Time spent to repair machine failure occurring during routine maintenance periods is taken as being relatively unimportant compared with the operational dependability of the machine. This is in contrast to the practice followed in calculating "reliability" where operational periods and operational failures are considered. In itself, the reliability calculations introduce the problem of dealing with truncated data since routine maintenance periods may be interspersed between operational failures. The handling of this problem requires treating the operational time of a data control system as a continuum. Within the forementioned framework, the expression for convalescence also involves parameters of availability of adequate maintenance programs, the effectiveness of maintenance personnel, and certain system design factors. But because of the mathematical impossibility of measuring each factor separately, convalescence is defined as a broad measure for all factors involved in system maintenance functions. Here too, certain problems remain, since "to restore a system to operating condition" and "to repair the system" are time-wise two different things. When a variety of tasks is being performed on a machine, a failure in a given area may be bypassed by changing the operational use of the machine to exclude the defective components. Then, repair can be postponed until a routine maintenance period, and control functions can be accomplished even though a failure exists somewhere in the total system. To make the task more complex, we have furthermore been faced with the fact that data on maintenance time distribution are very scarce, and no experience along this line has been available in the past. And while it was expected that such distributions would be either normal or log-normal, experimental studies indicated that a convalescence function might approximate the exponential curve. Hence, the mathematical law: C
= I - e "',
where C is the convalescence function* (an example is given in Fig. 6); * Understandably. the "convalescence" equation might be made more sophisticated by
292
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
A is the projected mean time to restore a system to operating condition (in
hours)-also called Objective Time (Projected) for Failure Maintenance (OTFM), which might be approximated by the MTTR (Mean Time To Repair); and A is the down time, in hours. Here, A is the best estimate (as projected by the manufacture), of the mean A' or A, as this will be established by actual practice. The closer .It proves to be to A, the better the manufacturer's own esuu.ate. If we define* 8 as the time necessary for systematic maintenance, then ,1
= LA
will essentially constitute the "maintenance function" of a data control system. The premise here is that this function should be given by the mar.ufacturer as applicable aver a predetermined period of time. Only in this way can the use of the "convalescence" equation C become meaningful. As we stated, we consider ,1 to be specific to the system. In the C equation, e- JJA constitutes the "down-time function." For C = I - e- JJA we obtain the following tabulation: AlA
'!-JJA
0 0.5 I
I 0.610 0.365 0.135 0
2 00
c
o 0.390 0.635 0.865 I
When A = A, which should be taken as a reasonably good objective, then C = 0.635. The most favorable condition is of course C = 0, and the most unfavorable, C = I. The values 0 and I constitute the limits of the convalescence index, while 0.635 is the objective value (Fig. 6). For the purpose of our discussion, it is useful to recall the definition on which this mathematical equation is based: "convalescence is the index that, when a given amount of maintenance is applied over a given period of time, a data system will maintain a reliable performance level, and no down period will exceed a predefined length of time." Literally "a given period oftime" needs no further explanation; to obtain a meaningful measure of convaleintroducing a "failure frequency" factor--though this will increase its complexity and will influence the ease of its handling. The assistance of Mr. Delapierre, formerly Assoc. Director of Research and Development, Bull-General Electric, is hereby acknowledged. * See also the "utility" function.
XVI.
ESTABLISHING SYSTEMS RELIABILITY
293
I
0.86 0.63
c 0.39
o
2
0.5
00
A/A FIGL'RE
6
scence, the time period must be stated explicitly. This, we propose, should constitute an integral part of equipment specifications accompanying an information system. Among other efforts in the field, a certain research project took the following approach to the subject of convalescence. The researchers started with the hypothesis that, since most parameters surrounding data systems are very hazy when deciding upon reliability and maintenance features in the original design, it is important to establish a simplified model that relates these factors. They further assumed that in working with a reliability model where the real life counterpart is in existence and is very complex, the temptation exists to make it so sophisticated that it will account for all the foreseeable variables and contingencies. Then, the field maintenance person. nel cannot follow and record the nature ofthe variables. This prompted them to choose simple mathematical terms, relating to accepted definitions, as follows. The initial assumption was that certain equipment failures can be forestalled through systematic maintenance. * On the hypothesis of no systematic maintenance, only the device or component that failed would be required, and the data ensemble would be restarted and operated without further maintenance attention until the next failure. If operations could be continued in this manner over a certain time, the .failure rate would approach a value which the researchers called the "intrinsic failure rate," or F; This was defined as the failure rate of data system with no preventive maintenance. Inversely, by scheduling some systems time for careful systematic inspection and testing of the equipment, it was proved that it is possible to correct the case of potential failures or at least sensibly reduce what might be called "unscheduled interruptions." The residual
•
*This is contested by another school of thought, which maintains that the MTBF is inherent in a system and no amount of systematic maintenance will change the reliability curve.
294
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
failure rate (given rational preventive maintenance) was thought to constitute the "minimum failure rate" Fm • Finally, the difference between intrinsic and minimum failure rates was defined to represent all "preventable failures" ~. Hence:
= F; - Fm •
Fp
It has been postulated that the relationship between effective failure rate and systematic maintenance can be effectively approximated by a simple exponential curve, such as the one presented in Fig. 7. Here,
F = Fm + Fp e-q/q' , where F is the resultant failures per 1000 available operating hours; Fm is the minimum failure per 1000 available operating hours with "saturated" maintenance; Fp are the preventable failures per 1000 available operating hours; q is the "actual systematic maintenance" rate, calculated in machine hours per 1000 operating hours; and q' is the "standard systematic maintenance constant," defined by the researchers as the rate of systematic maintenance required to reduce the preventable failures by a factor of lie, or approximately 36.8%.
Q)
e
Fj
Fp
.,
.2 ·6 u,
Fm
Systematic
maintenance rate, q -
FIGURE 7
The researchers defined the "available operating time" as the time that the data system is "turned on" and is available for operation. They also implied that since all component units are not used at the same rate, some units'receive greater wear-out than others. Allowances for variations in duty are therefore needed, and are handled by dividing failures into "duty factor dependent" and "duty factor independent."
XVI.
ESTABLISHING SYSTEMS RELIABILITY
295
According to the foregoing definition, duty factor dependent failures are a function of equipment exercise time, and are usually limited to dynamic mechanical causes such as in relays and in card and tape handling equipment. Duty factor independent failures are not related to equipment exercise time, and they include practically all failures of electronic and other equipment not covered in the duty factor dependent class of failures. The over-all approaches we outlined in this section are in conformance with the modern trend in systems design toward "prevention" of unreliability rather than detection after operation. A preventive philosophy essentially starts at the drafting board and requires a number of steps. Among them: • Make and test a developmental model as to effective servicing requirements. • Start laboratory tests on maintenance with the most basic parts. • After the original tests are found to be satisfactory, switch the emphasis to higher-order assemblies. • At different levels of assemblage test sample equipment for failure, then with collected data proceed with mathematical simulation to increase the population basis. • Make sensibility predictions using mathematical statistics. Predictions can be based on complexity studies, correlation between factory results, field results, and test results. System serviceability estimates can be based on known component maintenance requirements. Furthermore, since, either directly or indirectly, human errors are the cause of unreliability, one should add to the foregoing list the probable effects of human interference. Three general steps are required to minimize these shortcomings: • Indoctrination of those involved with a "reliability-convalescence" concept • Evolution of written laws • Evolution. of a system of law enforcement equipped for the scientific detection of error and the identification of their originators. This approach applied to the total extent of the data system's functions and strengthened with optimal feedback information, the rational utilization of this information, and the most careful and complete type of laboratory testing feasible for the particular type of systems and components will do much to improve the figures of merit we are considering. By bringing under perspective the total amount of maintenance time necessary to preserve a completely satisfactory performance profile, this concept becomes purely a measure of hardware excellence.
296
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
DEFINING UTILITY FUNCTIONS Utility* for a data system will be defined as the percent ratio of the time the equipment is in satisfactory operating condition and availablefor use, during a specified period, to the total time in that period. Admittedly, this concept is easier to grasp than the previous one. While there are certain gray areas involved here, such as "satisfactory operating condition" and "available for use," these need only a common basis of agreement to make the present concept quite understandable and usable to most personnel familiar with data systems. It is clear that "utility" is an important factor in evaluating a data system. Our definition of convalescence separates the forementioned features: A system can have a relatively good convalescence, by careful and complete preventive maintenancet and yet have a relatively poor utility, as much time is spent in preventive maintenance and hence the system is not available for production. Only when total optimization approaches are taken into account does it become unlikely that a system with a relatively poor convalescence would have a good utility, and vice versa. Thus, utility becomes a function of reliability and convalescence, as well as of scheduling and intended usage. This definition makes the utility estimate a good measure of the data system's ability to meet the demands for action imposed by the operating characteristics of the process. This is equal to the percent ratio of the time the equipment is in satisfactory operating condition and available for use, during a specified period, to the total time in that period. As such, it may be crudely expressed mathematically as U = :' X 100, t
where ts is the time under satisfactory operating conditions (as defined through reliability-convalescence standards) and tt is the total operational time (which we will later define as "power on" time n). * In this definition the states of "satisfactory operating condition" and "available for use" may seem to be redundant. In a way, it is unusual if a system could be in satisfactory operating condition but not available for use; but with real time, multiprocessing operations, cases such as use of a system by one person or other system would not make the first system available to certain applications. Reasonably, this might be the case even though the first data system itself remained in a satisfactory operating condition. When this is the case. then our reference would include the time the equipment is in satisfactory operating condition or the time it is available for use (inclusive or). A variety of other possibilities could and should be examined. We chose to put our emphasis on failure engineering, on maintenance procedures, on restart time and associated housekeeping-and on the time necessary for technological changes in the field. t And, of course, because of a wizardy in design.
XVI.
ESTABLISHING SYSTEMS RELIABILITY
297
With respect to application, the function will tend to be much more complex, the calculation of the utility estimate may involve a variety of structural factors, depending upon both the functional and the time base specified. We chose to establish three utility functions, UI , Uz' U3 , on a decreasing level of sophistication in detail:
U -
2-
n - (L" i
.it. I
I
+ L" /3. + L.8.) n
i-I
I
J J
X 100
where n is the total "power-on" time; Ai is the time required to restore the system to operating condition, following an interrupting failure (and related to the convalescence factor we considered); n is the number of interrupting failures that occurred during the time the machine was required for use; ~ is the rerun time (including restart procedures and the redoing of work already accomplished) associated with each failure i and due to this failure and the resulting errors; 8 is the time necessary for systematic maintenance; and 0 is the time required for, or in any way devoted to, technological changes with a view to systems evolution and performance. This reference has to do with field changes which necessarily imply systems down-time. Of the foregoing three equations, the first, Up is based on the total power-on time, that is, the time during which operational or maintenance work is being performed. This approach was felt necessary because a real time control system is ultimately intended for around-the-clock use. Hence, all time required for maintenance and engineering changes is going to be an interruption to operational activities. A requirement like this perfectly fits our needs as far as data control networks and their applications are concerned. Correspondingly, the equation Uz uses as a basis only the operational and maintenance time periods. This figure is calculated to determine the percentage of time that the machine is available for performing computations during periods not devoted to systems upkeep. Comparing the computational procedures of UI and Uz' one could state that during early phases of machine development UI may differ considerably from Uz• This, however, will tend to change as the system moves from a transient state, in respect to its operations, toward a certain equilibrium. As the different suitability adjustments is hardware and in programming works are completed, Uz might tend to become equal to UI •
298
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
Finally, because the practice of calculating f3 is not yet universally established-let alone the errors which might sneak into such calculations until the proper standards have been thought out and accepted-we introduce equation U3 • This is the least sophisticated of the three equations. A variety of aspects could be included in the provision of the proper technological specifications and the engineering-type changes or implications that result. At the present state of the art, this is a matter which should be decided for each data system on the basis of a thorough study specific to the case under analysis.
MATIERS CONCERNING SYSTEMS VALUE Value for the operations of a data system is defined as being equal to the percent ratio of the "successful operating time," during a defined period, to the total time in that same period. For a multiprocessing system value is not strictly a hardware characteristic but an "applications service function," as well. The same is true for polymorphic ensembles. This concept is quite clear in itself, and any person who has had experience with a data system has probably made similar broad judgments, though perhaps in a somewhat informal manner. The ability of the total system to function in a completely satisfactory manner, relative to any pertinent task which the user may wish it to perform, is probably the most common b~is on which we can make judgments as to its relative value. In defining the "value" of a data system's operations we avoided making specific reference to certain established faculties or characteristics. We felt, for instance, that for a multiprocessing ensemble the "value" definition will be sharply limited by the term "computation" time. Actually a data system may spend very little time computing and a large amount of time in information storage, transmission, reception, or retrieval. Thus, a more useful definition of value would he the percent ratio of "successful operating time, during a defined period, to the total time in that period." In this definition, care must be taken to define "successful" operating time. Within the foregoing framework, the goal of an analyst might well be to design (and install) a system with convalescene approximating zero, utility nearly equal to 100%, and value equal to 100%.This is a difficult objective to attain. It is even more so if we consider that some of the applications processed ·through a multiprogramming scheme may be delayed or even canceled because of preference given to other applications that possess deadline imperatives. This is particularly true when the system undergoes partial failures which oblige rechanneling ofactivities and lead to the creation of servicing queues.
XVI.
ESTABLISHING SYSTEMS RELIABILITY
299
Associated to this rechanneling procedure are the concepts of "fail-slow" and of "fail soft." Our reference to "fail soft" is to one of the most recent approaches to systems design, allowing each crucial unit to be continuously followed as to "quality history." Quality history indicators, such as drift in certain of its components, can be effectively used to predict a pending failure of this component or of the unit itself. Increased noise level in data transmission or steady errors encountered in data handling are other indicators. Such indicators are valuable in prediction-and hence in assisting the unit to fall softly-provided that the necessary diagnostic programs are there and that memory space has been allocated to that end. Correspondingly, the "fail slow" concept is based on the fact that system design should account for redundancy of crucial units. This does not necessarily mean that the redundant units will be kept inactive. On the contrary, they may very well be used for jobs with no specific deadlines-that is, with no real-time requirements. When, then, one of the units assigned to real-time duty fails, the executive program could channel one of the other units which are on a nonreal-time usage. Such channeling will necessarily create queues of unprocessed jobs--but while the systems efficiency is reduced, the most critical work will still be done. Hence, the over-all computer ensemble will be falling slowly. The idea has undoubtedly great merits provided that the associated philosophy is clear and unambiguous. The software passages must also be executed in an able manner. Understandably, "fail soft" and "fail slow" capacities imply configurations involving two or more units with flexible connections. Within this context, multiprocessing concepts make possible that duties assigned to specific units are optimized on a cost-effectiveness basis. The string attached to the whole deal is that a multiprocessing approach must necessarily be based on multiprogramming support. The executive program should not only optimize systems usage but also accommodate a substantial variety of independent duties in priority sequence and in observance of the implicit deadline requirements. For any and every data control system, "fail slow" capacities can be ascertained only within the prevailing "job stream." Hence, the idea of systems "value" which we are advancing. This is for the time being a basic concept which will require considerable seasoning; it will evolute as experience on time-sharing facilities, and on dynamic allocation, grows. "Value" is an applications-sensitive measure, and its quantitative expression must satisfy two requirements. (1) It must- provide a unique measure within the problem context of an individual customer's environment. (2) It must be compatible on an interinstallation basis, so that it provides
300
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
the grounds for industry-wide measurements and value-comparison studies. Less cryptically, "value" for a multiprocessing ensemble is a measure of "personal job" satisfaction; as such it is related with reliability, utility, and convalescence in conjunction with system capabilities. A system without facilities to meet the user's demands at a given time has no present value. Likewise, if a job is to be done within a given length of time, service must be performed on the machine within the specific range for this job's completion. Thus, as the MTBF, utility, and convalescence decrease, so does the "value," the time spent on the actual use by which the system was hired. As such, the "value" of systems performance is basically a matter of user satisfaction and, consequently, of the time demands, nature, and specific requirements of the real-time computation. Say that a certain program requires six hours of computation and must be rerun in its entirety if a machine error is made. If the mean time between failures is two and a half hours, the probability of successful completion of this computation before a failure occurs is practically nil. This, in turn, means that almost the totality of the operating time of the machine has to be devoted to rerunning the program before the computation is successfully completed. From the user's point of view, rerun time is lost time, * and minimizes the system's functional value-which is equal to saying that it minimizes its control efficiency. We propose the following formula for the quantitative expression of the value concept:
v.
Vo =-!L 7f
where Vo is the "theoretical value" of a data system established at the time of sytems analysis as a function of job requirements and machine selection, 7f the power-on time with respect to the system, and V. the systems time IJ allocated to job i, under systems configuration j. This equation is good enough for a total configuration. For the partial configuration of a certain system we can write
where k identifies the specific unit. Then ~ =
LkIXkVok'
where IXk is a factor assuring a weighted average as far as the total value function is concerned. This factor IX is specific to each unit and should be ·selected in the most careful manner in order to obtain meaningful results. * Which in the section on systems utility we identified as "f3."
XVI.
EST A BLISHING SYSTEMS RELIABILITY
301
In each applications area, experience over a substantial period of time will be necessary. The whole task could be facilitated by the careful definition in principle of "value elements't-e-sornething analogous to industrial engineering's "therbligs" of the twenties, but oriented toward data systems functions. Depending on the "utility" function definition a certain installation may choose, we can see the wisdom of defining the "real value" V as the ratio V
where
y;/rx '
=
n
I',
=
x = 1,2,3, n
n - (~ A i + ,~l .L 13I ,~l
+ ~J 8.J + 8)
nUl
= 100' n
r2 = n -
n
(t>l i + iLl 13i + f 8 j)
nU2 100 '
r3
n
= n -
(L ..l. + Lj 8.) i~l J I
nU3
100 ' We would be personally inclined to choose r 2 for the denominator-that is, to include the rerun time required due to systems failures and errors associated to such failures. The ratio of the real to the theoretical "value" is effectively expressed in terms of "utility": VIVo
= 100U.
Such estimates do not include the required rerun time because ofoperator or program error-even though such errors are important in determining the over-all operating efficiency of a data system and not just of the machine's hardware. To be useful with real-time data networks, this mathematical expression must be extended to account for "systems duplications," ajob that still remains to be done. In all equations we are here considering, the number of computers in a stand-by condition must be accounted for on the basis of the necessary functions they perform and of the corresponding cost they bear. The possible excess capacity, intentionally built into a computer system for backup reasons within the network, should also be taken into consideration. A data system's critical units, or units with an unavoidable high likelihood of failure, can be connected in parallel with one or more stand-by units. Then how is the system's value going to be affected? A good criterion for the usage of computer redundancy is "how much time" can be saved in online operations if a number of computers are interconnected. Since data networks present a problem of over-all efficiency of the share
302
PART IV.
MATHEMATICS FOR SYSTEMS CONTROL
scheme as compared to the individual computer time, it is obvious that value and use problems in computer network specifications will become increasingly important. They will also become increasingly difficult because of the transient requirements of on-line systems. Such problems can be analyzed in statistical terms, and with this machine design evaluations may become statistically oriented. Evaluating a data system on the basis of the four concepts, reliability, convalescence, utility, and value, should give a reasonably clear profile of the over-all merit of the system. In general, none of these aforementioned ideas can be defined without taking into consideration each of the others, determining its role of interdependency and the way in which it affects total performance. In a way, this approach is consistent with the system's definition itself. Webster defines system as an assemblage of objects united by some form of regular interaction or interdependence. A system is not justa group of things like a hill of ants, but one in which each component part interacts with or is dependent on the other. Systems are made of components, and failure to perform on behalf of a component may result in failure of the system. Hence, improvement in computing machinery reliability, through redundancy, can be studied as a function of the level at which redundancy is applied. The reliability achieved by redundancy of completely independent machines might well be compared to that achieved by redundancy of smaller units. An information machine unit is termed "m times redundant" when the following conditions exist: (1) m independent identical units are operated simultaneously with a common input; (2) a failure detector is associated with each unit; (3) a switch is connected to the output of the units, so that the output is taken from some one unit until failure occurs in that unit. Then, the switch steps so that the output is taken from the next redundant unit if that unit is operating correctly. The process continues until the assigned task is completed or all m units fail. In these terms the reliability of m redundant units is expressed in terms of reliability of one unit and the probabilities of correct operation of the failure detectors and switches. But, correspondingly, with respectto the total system, the "value" picture is also changing. * This type of redundancy may be applied to machine units of any size, but large enough to make it practical to associate a failure detector and switch with each unit. For perfect reliability, failure detection and switching, maximum reliability improvement corresponds to redundancy of the smallest possible units. However, there
*This is particularly true if, on the basis of "value" functions established for "applicationshardware combinations," we establish a protocol indicating in a quantitative manner the cost efficiency of each unit in the system.
XVI.
ESTABLISHING SYSTEMS RELIABILITY
303
are advantages of the redundancy of completely independent machines. A quantitative estimate of the dependence of reliability improvements through redundancy can be set by four basic factors: • The initial reliability of the nonredundant machine • The degree of redundancy, i.e., the number of independent identical units that operate simultaneously with a common input • The level at which redundancy is applied, or the relative size of the unit that is associated with a failure detector and switch • The reliability of the error detector and switch. The effect of imperfections in the switching devices on over-all sytems reliability should be in itself carefully analyzed, and the designer should keep in mind that redundancy in components eventually leads to complexity, and an addition in complexity has an adverse effect on the over-all system-to say nothing of the effect on the total value picture. Other matters having to do with the "value" (as defined) of a data ensemble, are those concerning "interrogation" and "bulk." Interrogation equipment is characterized by a large number of outlying stations that wish to question a central memory unit and receive an immediate answer. For most cases, the amount of data involved in an individual transaction is relatively small. Airline reservations, credit checking, inventory, and the like, are examples, and the value considerations (for the peripheral gear) is in itself obvious. Correspondingly, one characteristic of the bulk systems is that they do not require an immediate transmission or answer and the transmissions may take many minutes or even hours. As we discuss them elsewhere in the present work, bulk data systems involve a large volume of information, and this brings the "value" subject under a different perspective. Also, as far as a data network is concerned, the evaluation to which we make reference should consider the problems associated with data transmission among processors. Linkages between computer blocks are also subject to failure. Since the practical effectiveness of the on-line system depends on its reliability, in establishing the network the designer must provide the proper data transmission safeguards, while giving due consideration to value problems. In conclusion, reliability studies for real-time computers require people with background in mathematical statistics, in quality assurance, in industrial production, and in engineering design. The systems analyst must be able to follow up the performance of the computer network and to perform periodic technico-economic evaluations. For this purpose, records of both component and system behavior are indispensable if failure analysis is to be done. The "desire for reliability" must be present throughout this study and research process.
304
PA RT IV.
MATHEMATICS FOR SYSTEMS CONTROL
This is not intended to be an all-inclusive study. Understandably, a score of other questions must stilI be examined. * Among them: • How do "utility" and "value" apply with different physical configurations of polymorphic systems? • How should these equations be used with different functional versions of the same system as the job stream itself evolutes? • What should be done about software failures because ofchanges in hardware configuration? Also, associated to fail-soft and fail-slow is the "self-repair" notion: Should the system have the capability to delete units from its configuration? And what about efficient man-machine communications so that the system can inform the ground floor manager about its needs, its failures, its systemic stress, and point to the necessary corrective action. Such are the challenging questions in systems performance, for the years to come. We have treated several of them in the course of a European seminar which we had the privilege to organize in Paris, in December 1965.t The outcome was significant -enough in understanding latent factors, in structuring analytical procedures, and in developing models for reliabiIityconvalescence purposes.
* The most creative comments by Robert Berner. on this topic, helped improve the critical aspects of this text in a significant manner. tThe decision of F. Brainard Fancher, General Manager of Bull-General Electric, in sponsoring this 2t-week long lecture period should be brought under correct perspective.
PART IV
Chapter XVII CONSIDERING
PROGRAMMING APPROACHES
In the first eight chapters of this book we treated the subject of the fundamental characteristics of "process-type" problems and basic computercontrol considerations. This discussion was absolutely necessary in order to give an appreciation of the factors involved in process-control programming. So was the treatment of the dynamics of mathematical simulation. The mathematical model constitutes an integral, very important part of the total control system. No programming consideration could ever touch the essentials without taking into full account the simulator and the problems it presents. Nevertheless, the subjects we have considered thus far constitute only part, even if a critical one, of those affecting this area. Some of the other factors are derived from what we have said. This is true, for instance, of the "timesharing" plan. The basic rhythm of a computer in an on-line application is its scanning cycle. It is vital that idle time due to scanning be kept to a minimum, for, among other reasons, a good deal of "spare" time should be available for the handling of the lower-priority jobs. Here exactly lies the major problem of balancing a certain system, giving due weight to its controlled and controlling elements. Establishing the basic alarm cycle may become a complex project in itself, particularly if there are several different types of alarm for each point, such as rate, quality, composition, and absolute value. Also, the job specification may require that a history be kept of the last reading for each point. Careful consideration of flow diagramming is necessary, to avoid putting so many tests for priority in series that time is wasted in doing this, when in fact, some of the alternative jobs may be mutually exclusive. The flow diagram must, therefore, carefully differentiate between mutually exclusive and overlapping jobs and avoid unnecessary tests. This is just the beginning of the programming job for real-time purposes. 307
308
PART V.
PROGRAMMING FOR REAL-TIME DUTY
PROGRAMMING SKILL FOR PROCESS CONTROL
If all is normal in the plant, and it is to be hoped that this is the usual condition, routine logging and man ual demands will proceed according to the program. Emergency action will be required relatively infrequently, in which case the machine really has "time to spare." Other factors could then determine whether any use can be made of this time; the most important among them being storage capacity. And since conditions will not always be "normal," the programmer must foresee all possible combinations of happenings, and have programming routines available to carry them out. These routines will occupy a considerable number of locations in the machine store, even if they are not active very frequently. Because of the number of transfer orders involved in these routines it is essential that they be held in immediate access locations. Again, when all is normal in the plant, it is desirable that minimum time be taken by the "alarm organization," that is, the means that will enable the computer to face any emergency. This can be achieved by storing the last value of a point and testing (before anything else) to see if the new value is identical. Similarly, possible interrupts of the program should be clearly established as to their impact and possible upset in the computer throughput. Thus, although the alteration of a set point through major action may take priority over the printing of alarms, the machine must complete the line (or lines) relating to a single alarm, before accepting the alteration of a set point. The preceding two paragraphs give some of the reasons why the preparation of a program for an on-line computer, operating in real time on an industrial process, is an art and not a science. The programmer must not only prepare the program to use as little storage space as possible, but he must also arrange the program so that the computer's actions occur at the required time and speed. Considerable skill and experience are necessary if an optimum program is to be written. A skilled programmer can often rewrite a program prepared by a neophyte in the art, and cut the time and memory space required in half. Among the factors affecting efficiency and programming skill, memory organization offers one of the best examples. Here, the hardware features of the machine will obviously playa major role. Take, for instance, the case of one of the first real-time computers. At the time this system was conceived, its designers decided to have a very fast core memory in combination with a much larger somewhat slower core memory. Their first plan was to transfer all the information in the slower memory to the faster memory. This transfer was to include instructions, operands, and index numbers. Computing was then to be carried out almost entirely from this fast memory. By the time the
XVII.
CONSIDERING PROGRAMMING APPROACHES
309
processing was finished, operational results from the fast memory were to be retransferred to the slower memory. This plan led to many design and programming difficulties. Information had to be taken out of and put back into the smaller fast memory both rapidly and frequently in most cases. The large memory, being much slower, had to be separated into several parts so that, by a time-interlacing system, it could keep pace with the smaller memory. The smaller, fast memory also had to be broken into parts in a ring-like fashion. In this way, the ring could be loaded and unloaded while still in use. The programming-hardware interaction becomes more apparent at this point. The fast memory could not be a couple of hundred words larger and still be effective. It had to be at least one thousand words. Even then, this complicated process would not work on many real-time problems where the nature of the information coming in is so varied that the programmer does not know for the first few hundred words where his next instructions and data are coming from. Since process control computers will necessarily be used in problem areas that have not been well investigated yet, the introduction of such restrictions on the programming would obviously be impractical. Instead of using a multiple-level memory, the programmer has all interest in using his ingenuity. Similar arguments often hold for strings of data. The faster memory, except for the accumulator and the index registers, does not increase the over-all calculation speed very much, but it can introduce many complications. The programmer should aim to facilitate matters further than purely timeflattening all of the memories together to get a high-speed flow of information. He can accomplish this in such a way that the interrelationship among data strings is automatic. Here again, the hardware feature possessed by the machine can help matters. This, for instance, would be the case if the data control system received orders ahead of their execution time in order that circuits have time to set up without delaying the operation. Furthermore, if the computer is to achieve its speed without the programmer's being required to give attention to timing problems, special circuits should be built in, accommodating the situation when inconsistent logical demands occur. These circuits rarely delay computation in actual operation. In case the real hardware of the data system does not provide for this condition, the subject function could be simulated through a programming routine, but in this case the resulting effects on systems speed may not be so favorable. As with all computer work, the preparation of efficient programming routines requires time. It is also safe to say that, regardless of the time allowed for its completion, no program has ever been, or will be, prepared without errors. This is very true with programming industrial control
310
PART V.
PROGRAMMING FOR REAL-TIME DUTY
computers, where the job is far more difficult than programming the standard lines of general, business-type application machines. Another characteristic of programming for process control is that on-line computers, once debugged and placed in operation, may seldom require extensive reprogramming, though upkeep will be needed. It is obviously certain that, from time to time, as process knowledge is gained, program modifications will be desired. Or, the configuration of the control equipment or even of the process itself can change. As a new operator might find that some action of his produces the wrong result, he learns to modify his procedure, a similar method can be applied to the computer program which will then need to be modified accordingly. Different programming approaches obtain varying results from the process under their control, and therefore keeping the computer program dynamic will make it possible to produce optimal performance criteria. Nevertheless, real as these possibilities for program change are, their frequency-and, therefore, their impact-could not come nearly close to the upkeep work demanded by business-type problems. This, at least, is our present-day appreciation of the situation, though it should be said that a different school of thought maintains that, contrary to this, continuous refinement and maintenance of control systems programs would be necessary. This is seen as a necessity in order to obtain efficient use ofthe equipment even if there was no change in operating conditions. At present, documenting either approach is difficult, due to relative lack of experience in this particular subject prevailing throughout the industry. CONSTRUCflNG A PROCESS-CONTROL PROGRAM
The construction of a computer program for process control is a function of the particular situation the analyst faces, yet some guidelines may be established for general use. These guidelines concern the process 'output pickup, error detection and correction, data reduction and smoothing, process diagnostics, process optimization, and finally, control motor action. In his work on computer programming for process-type applications, the analyst should pay particular attention to these features which contribute significantly to the over-all effectiveness of the control system. The main functions of such a program, and its general logic, are as follows: • Process sensing control • Process input-output coordinatiorr • Peripheral equipment coordination
• Data reduction routines • Guidance decisions and optimization • Development of emergency procedures
XVII.
CONSIDERING PROGRAMMING APPROACHES
• Safe stops dependability • Scanning and time-sharing procedures • Rapid process diagnostics • Detailed analysis for trouble spots • Data error manipulation • Data subdivision and smoothing
311
• In-control corrective action and follow-up • Startup and shutdown sequences • Maintenance of quality histories • Process identification for idle jobs • Indicator development for longterm refinements • Program self-upkeep
An example of a case that deserves special attention is that of peripheral equipment coordination. Because it is developed "independently" of the total systems objective, peripheral equipment has its own inherent speed, which cannot be a precise multiple ofthe computer's internal timing. A number of approaches exist for coupling one to the other. If the computer is faster than a particular piece of peripheral equipment, then the simplest approach is for the machine, processing a given input or output instruction, to wait until this input/output operation has completed its cycle. After a known time interval or, preferably, by a signal back from the unit to the computer, the central processor is "released" and may carryon. This means that all operations, whether connected with the input/output or not, are held up while this peripheral unit is in operation. To allow the machine time to proceed with other operations and still get the maximum speed out of the input/output activity, a frequently used system is the "busy line" method. Having given an I/O instruction, a "busy" line is set. The machine is not held up on any other instruction, and, while the input/ output is operating on the character just signaled, the computer can be calculating the next character for, say, outputting. When the calculation has been completed, the control unit gives the next I/O order; if the "busy" line is set the machine will now be held up until the "cycle completed" signal from the peripheral units resets the busy line and frees the machine. If, nevertheless, the peripheral operation completes its cycle before the calculation is complete, the machine will be unaware of the busy line operation. Arrangements of this type make it safe, from the programming point of view, as it does not necessarily matter to the programmer whether the I/O cycle is completed or not. To achieve the maximum peripheral speed, however, the programmer must ensure that he gives the next input/output instruction before the current peripheral operation has completed its cycle, so that the machine identifies and "waits" for the next operation to carry on. This is a satisfactory method for most normal computer applications where the program is only taking into account simple calculations in the intervals between input/output.
312
PART V.
PROGRAMMING FOR REAL-TIME DUTY
Of course, questions like these exist in a substantial number of cases with off-line computer programming. Nevertheless, when used as a part of an online system the requirements are rather more complex, as it is important in most applications that "continuous" scanning of process variables be maintained, to detect possible alarm conditions. The central-machine program will then have to read the points successively, at pre-established intervals. It must test for alarm conditions, and this sampling will be dependent on the particular factors pertaining to each application case-as we have already discussed. Similarly, a highly critical subject in process-control programming is the one concerning "interrupt control." We will treat interrupt control procedures and requirements in the following chapter. Here it suffices to say that an interrupt control routine should be prepared to decode and sequence interrupt requests. This routine should provide the communication path to all programmed interrupt situations. A substantial number of interrupts could be caused, for instance, by the input and output devices. This calls for an I/O control program, executed automatically, on the basis of the appropriate parameters. For output control, an output format generator routine is needed to assemble and record the message as specified by the analyst. For logging purposes, the real-time program supervisor, by periodically reading the real-time clock, must determine the scanning intervals. At the occurrence of each logging interval, machine status and alarms should be listed in specified memory space or typed on the logging typewriters. If different intervals are desired, these could be provided by a simple program modification. Certain process-control applications call for designated readings to be accumulated and averaged for the logging cycle. If, during one of the scan cycles, a variable is off limits, the control system may, for example, be required to print alarms in red, at the right end of the log sheets. The monitor can then keep track of that particular variable. When it comes back on limits, the control system should type in black in the off-normal summary column. It is advisable that the alarm and return to normal indications of the variable include a designation ofthe variable and its off or on limits value. "Safe stop" capabilities would need to be inserted in the real-time program. Their exact nature will depend on the particular case under investigation. The function of this facility would be to stop the program at a safe point for manual entry of miscellaneous data and program modifications from the console typewriter. Otherwise, an interrupted routine might be prevented from properly completing its function. A "demand log" subprogram also needs to be considered in order to provide the ground for log entry on demand by the operator. The operator, for instance, may wish to set an indicator demanding an immediate present-status logging. The program should normally provide at given intervals a log of the machine status during
XVII.
CONSIDERING PROGRAMMING APPROACHES
313
a production run, plus one log entry of machine status immediately after an order change. Although the computer program will accumulate, say, a total production figure for any given order, only the operator on the ground floor may know where exactly to terminate production on any order. This condition is perfectly valid with open-loop control. The operator will enter the order number of the next order to be run, for instance, by means of the manual digit entry switches; he will then release the start button. This sets an indicator in the computer, and, depending on the machine program, this may be the signal to type the end of run summary, compute the guide and alarms for the new run, type the specifications for the new run, type the operating guide, type one log of machine status with red type indicating control changes to be made, and proceed under control of the general logic. To provide for the contingency that the machine cannot be run within the limits provided by the guide and alarms, the operator may signal the control system to adjust the operating guide and alarm limits. This may occur because of conditions in the process itself, or because of a certain systems deterioration. The guide and alarm limits will necessarily need to be adjusted to the level at which the machine is actually being operated. They must function only until the end of that order run or until another adjustment is signaled. Also, to carry out priority assessments on a number of different possible functions, in order to share the time available, it is necessary that the control computer can be informed of the state of every unit of the total system. For instance, in one digital control ensemble designed for real-time applications this is done by using one word, the "control word." To simplify the structure of the interpretive hardware, instead of the digits in the word having increasing significance in the binary code, each digit has its own meaning independent of the other digits in that word. This means that, say, the "third digit" in the control word would be a "1" when the first channel synchronizer is busy, and a "0" when it is free to accept another instruction. By collating or repeated shifting and testing, the program can identify the state of every device included in the system and having a bit configuration. The maximum limit of these devices will obviously be equal to the number of bits in the control word. Another one of the important functions of the real-time program will obviously be the automatic handling of errors. Despite significant design improvementsin computers, it is doubtful that 100% error-free systems will be achieved in the near future. For this reason, it is extremely important that a computer be internally self-checked so that system errors can be automatically detected and corrective action initiated. Extreme care should be
314
PART V.
PROGRAMMING FOR REAL-TIME DUTY
used in designing fail-safe and error handling procedure*; the penalties for failure to provide the proper degrees being heavy at either side. A major function of the error control routines should also be that of establishing an efficient and sound restart procedure for each program or section of a program. Here, a significant distinction should be made between three different kinds of diagnostic control necessary with real-time on-line applications. First, the central computer should dispose efficient diagnostic routines with reference to its own hardware. Second, it must supervise the correct functioning of the peripheral gear, including interfaces and remote units. Third, it must follow closely the quality history of the environment. Within this context, it is particularly important to establish a two-way talk between the central information system and all the dependencies under its control. This action greatly resembles espionage work in war and peace. Dallin.t in his excellent book on espionage, describes the need for such action in the most vivid colors: During the war more than half of the clandestine radio stations in occupied EuropeBritish, Soviet, and others--fetl into the hands of German counterintelligence or the Gestapo. The Germans were often able to persuade arrested foreign radio spies, who were within a hairsbreadth of death, to continue transmission to their headquarters as if nothing had happened. The messages--which were misleading, or inquired about persons, addresses, couriers, parachutists, money-were composed, of course, by German intelligence; the answers betrayed the antiNazi underground to German intelligence. More extensive and more fateful Funkspiel operations were directed by the Germans against Soviet Intelligence headquarters.... Every transmitting agent has his own individuality, his own "signature," to use the technical term. He has longer or shorter intervals between words and sentences, he begins and ends his messages in a characteristic way, and his touch and speed are as different from another's as are his fingerprints or voice. The transmitting agent, in short, can be recognized by the text and form of his short-wave messages. If the receiving officer is alert he will recognize or suspect the genuineness of the sender. Most of the Soviet agents working as senders were well known to the Moscow headquarters; their teachers back home often remembered their personal traits and peculiarities. A new operator at the radio of an arrested Soviet agent might not only prove useless to the Germans but actually reveal to Moscow the break-up of the network. Despite the fact that the converted Soviet agent was closely watched while he was transmitting, there were devious ways of informing Moscow headquarters as to the state of things, such as using an old code, making absurd mistakes, or inserting or omitting certain letters or punctuation. In the end all depended on the volition of the Soviet agent in German service....
In peace, in war, in espionage, or in real-time control it is necessary to make
* See reference to fail-safe, fail-soft,
and fail-slowin Chapter XVI.
tDavid J. Dallin, "Soviet Espionage." Yale Univ. Press. New Haven, Connecticut, 1955.
XVII. CONSIDERING PROGRAMMING APPROACHES
315
sure that the peripheral devices (whether humans or machines) do not betray the functions they have been assigned. This is an imperative requirement in systems design. Single bit messages on being "alive" would not do the trick; much more is necessary if the operational end is to be assured that systems performance has not suffered any major stroke. Diagnostic control is a fundamental feature of a real-time application. In order to provide the grounds for a virtually nonstop operation, a processcontrol program should dispose a "diagnostic coordinator." This is to allow the machine to call in automatically and execute various diagnostic subroutines during the time the control system is not required for process control or monitoring. Upon completion, the diagnostic coordinator might automatically return control to that section of the main program at the point where it was left off. When requirements for diagnostic information are developed the following aims must be sought: a
a
a
a
The representation of the information has to be close to the actual formulation of the problem. The volume of auxiliary and technical data not connected with the operational conditions must be at a minimum. The data source must give full information about changes in the operating process. Source information must be representative of the critical aspects of the process and free of noise. EXAMINING SPECIAL PROGRAMMING FEATURES
As far as the real-time program is concerned, source information prepared by the programmer consists of the program's scheme, information about variables, and information about storage blocks. We define a "variable" as a letter symbol contained in the source information which may denote some mathematical or process variable; the same is true about constants. A storage block means any group of locations which has to be placed in the storage, one after another. These strings of blocks offer distinct programming possibilities in respect to indexing and table-making for storage assignment. We will consider SUMER* a programming scheme built within this framework of data classification:
* SUMER is an experimental, though hypothetical, programming system for process control applications. The writer outlined its basic characteristics through a one-man, self-financed project. This effort could not stand comparison with the mass effect put through by billion-dollar corporations, but only when it is seen under its research perspective. In this development, the writer gained considerable insight from Russian programming approaches which he found to be more generic in nature and hence more appropriate to process-control problems.
316
PART
V.
PROGRAMMING FOR REAL-TIME DUTY
• First, with SUMER the program components are arranged according to their functions, regardless of the problem being programmed. In this way, the language of the logical scheme program can easily be formalized, and become universal in its use. • Second, the language of logical schemes of programs was made easy to algebratize. This is a very important fact as far as the direct input to the computer of the subject's logical scheme is concerned.
The logical scheme of SUMER programs, as an intermediate result ofthe programmer's work, was made so as to successfully separate the programming process. The composition of this logical scheme corresponds to the "intellectual" work of the programmer while the laborious mechanical work becomes a transition from the logical or source scheme to the object program. In this manner, the stages of the programming process which are the easiest to automate can be distinguished and taken apart. Separating the whole problem into a sequence of distinct operators permits the processcontrol programmer to divide the programming process into homogeneous parts. This, in turn, simplifies the programming job. With SUMER, the operators of the object program can be: • Arithmetic • Logical • Catastrophic indicators • Early diagnostics • Restoring and readdressing • Interrupt. With the exception of the arithmetic and logical operators, it may be necessary to perform cyclic repetition of certain sequences, which means that the other operators have the possibility to channel the program into a loop. Also, special symbols may appear in the source information, denoting transmitting sequences and priorities between the different parts of the control system. The arithmetic operator fulfillsthe evaluation integrating into simple or complex mathematical formulas of the type: ¢(X l ,
••• ;
Yt ,
••• )
->
Z
where ¢ is a superposition of operations from some fixed list and Xl' ... ; Y 1, ••• are variables and constants. The function Z contains all the executed operations and denotes the result of evaluating the formula. The constants in the formulas can be represented either by letters or by numbers. The variables may have any number of letter subscripts, every subscript being a parameter of some loop and associated with catastrophic indicators, early diagn6stics, and the like. A "logical operator" performs the verification of standard logical relations between variables or constants. The logical operators serve as decision keys:
XVII.
CONSIDERING PROGRAMMING APPROACHES
317
if, for instance, the relation expressed between two variables is true, then the program transfers to A I ' otherwise the transfer is made to A 2' If one ofthe operators' numbers is omitted, the transfer is made to the next operator in the sequence. In any part of the object program, a "catastrophic indicator" is written in commands with symbolic addresses, and is strongly related to the source information. Whenever the source information indicates the need for alarm, it is actuated by the "catastrophic indicators." Also, depending on the case, these indicators may bring the program into a loop. A loop performs the repeated fulfillment of some sequence of operators for all given values of a certain parameter. In the program's scheme, the loops are represented as a string of repeated operators included between opening and closing brackets. If the number of repetitions of a certain loop is determined by the final value of a parameter, then this value is placed immediately before the closing bracket. An "early diagnostic" operator is recorded in the program's scheme as: D(A, B, C), where A is the functional part of the operator, B is a command number, and C is either a variable or an integer constant. The basic function of this scheme is to see that at any given time only a part of the memory reserved for diagnostic structures will actually be in use. The remaining registers can then be arranged in a "free-storage" for emergencies. Associated registers to "early diagnostics" contain the location of the first address in free storage. When a word is required to form some additional freestorage structure, the first word on the free storage is taken, and the number in the subject key register is changed to become the location of the second word on the list. No provision need be made for the user to program the return of registers to the free storage: This return takes place automatically. A fixed set of base registers in the program contain the locations of accessible free-storage structures and of the associated diagnostic works. A restoring operator is recorded in the program's scheme as R(I,J, K), where I is an operator's number and J, K may be variables or constants, which need to be transformed through readdressing. The restoring operator will transfer the initial values of these variable commands into their proper places. I, as a command number, may, for instance, indicate that the readdressing constant could be added to the command. Or, iflisa variable and K is a constant, then K is added to all the addresses of the variable 1 in the operator I. Other "special commands" could also be accepted by SUMER. For instance, the type of the computational procedures may be prescribed by means of double precisions through handling by separate segments of the program. Therefore double-counting operator symbols should be arranged
318
PART V.
PROGRAMMING FOR REAL-TIME DUTY
in the program's scheme. The computer will then compute every segment of the program between two such symbols and accumulate all the contents of the internal storage. If the sums are equal, the whole content ofthe storage must be recorded and the computation carried on. If control sums are unequal, the computer should stop and repeat the computation once more, comparing it with the sums already computed. SUMER provides three types of "interrupt commands," each associated with structural problems concerning the use of digital systems in process control. The structural reasons are due to faulty conditions, to external interrupt signals, and to internal computer interrupt. In turn, each of these three types can be subdivided into a number of critical factors:
Fault Interrupt "Time-Out" or Internal Computer Failure. Internal diagnostics along with reliability studies can help significantly in prelocating trouble spots and in channeling information so as to minimize down time and its catastrophic effects on on-line closed-loop systems. "Data Failure" in Transfer of Storage. To minimize data failures, without overstressing costs, SUMER disposes alternative commands for single or double error detection and single error correction possibilities. The notation L n---> M denotes the transmission of information between different computer parts. In L n---> M, L is the symbolic address of the start of the location from which the information is going to be transferred, M is the symbolic address of the start of the location where the transfer is going to be made, and n is a number of words in the information being transferred. The notation L;--->M denotes that p is an operator number defining "how" the transfer will be made. This operator number will identify precision, data transmission accuracy, and the respective safeguards. "Illegal" Control Storage or Programming Error. In Chapter II, for instance, we made reference to storage division as applied to a certain data control system. We said that the "control storage" is composed of "channel words" and "process words." The latter consists of the following: • Data word (of variable length) • Instruction word (op code, address, flag bits, and field sizes) • Limit word (the control for a chain of data). We also made reference to both addressable and nonaddressable storage registers, necessary for real-time applications, which we identified as consisting of: • Channel service (where the channel requiring new storage service can identify itself)
XVII. CONSIDERING PROGRAMMING APPROACHES
319
• "Interface" data (which enables the machine to communicate data to and from a master computer) • Interface control (same for control purposes) • Mode request (which holds requests for priority program service) • Mode status (which selects priorities within the "mode request"). Apart from accounting for this necessary memory classification, SUMER helps to organize the computer memory into registers reserved for "variables" and groups or "storage blocks." Control data are supplied to indicate how many blocks should be in the storage and how long they should be arranged and held. If necessary, it is possible to point out the position of some blocks in the storage. Information about every memory block is in the form Q(r,s, t), where r is the block number, s the length, and t the address ofthe first location of the block. Then, information about the variables associated with this block is written down. This scheme, though uniquely defining each block and memory location, is not necessarily fail-safe; overlays, because of an initial address error, is one of the possible error cases. Similarly, some programming errors-particularly those pertaining to exception handling and infrequent error routinesmight be able to filter through the debugging work. In so doing, they remain as possible trouble spots for program interrupt. External Computer Interrupt The existence of external computer interrupt (E.C.I.) possibilities requires a "trapping" mode of operation on behalf of the digital control system. In principle, the number of E.C.I. trapping registers must equal the number of the input channels, so that the computer will be aware of the condition of these channels at any time. The generation of an E.C.I. word could enable the computer to establish the exact condition of the external devices to which it is connected or to which it commands. In fact, three different factors may exist whose impact will be felt within the E.C.I. framework. Of these, the first two come strictly from the process while the third concerns a computerprocess interaction:
• Incorrect signal transmission to the computer • Computer-detected process failures (not data error) • Computer emergency computation calling for an interrupt. Internal Computer Interrupt A variety of factors may cause internal computer interrupt (I.C.I.), some of them intimately related to fault interrupt conditions. For instance:
320
PART
V.
PROGRAMMING FOR REAL-TIME DUTY
• Incorrectly allocated memory addresses • Possible in-memory overlaps • Out-of-control execution delays • Execution availability and rescheduling • Slave computer signals indicating control system malfunction • Diagnostic signals pre-establishing failures or soft-spots. The internal interrupt feature, combined with SUMER'S availability of special-purpose instructions, facilitates the concurrent processing of a number of transactions without decreasing the over-all systems dependability. Special SUMER subroutines are able to discover automatically a number of formal mistakes in the computer throughput of information. The method of subschemes is used for decoding new symbols, which take place in the throughput information. The essence of this method is that a special block is added to the programming program which may "understand" new symbols describing the throughput data. For every symbol of that sort, which may, for instance, denote some mathematical algorithm, this block constructs a subscheme, which represents the record of the algorithm in terms of arithmetical, logical, or other operators. The transformed program's scheme, which no longer contains special symbols, is again transformed to avail for a unification of the programmed interrupts with those of a more probabilistic nature. GENERALIZING PROGRAM CHARACTERISflCS The generalized SUMER program includes generator, presort, and merge sections. These will sort, on a real-time basis, almost any file format ofrecords on a reel having any number of keywords. These "keywords" can be scattered within an item and masked as required. The generalized program has been designed to merge several storage blocks which contain sorted data into one muItiblock file, compare two storage blocks and print differences, copy memory locations, locate records with given information in them, write storage block labels, and the like. This general storage handling and correction routine automatically performs many clerical duties necessary for arranging information. Following the programmer's easily written specifications, the "SUMER maintenance" positions, copies, corrects, and edits data. The routine also takes over the job of locating information in memory, checking for discrepancies, and performs general data handling-such as creating, updating, and maintaining service routines. For file maintenance operations, input to updating run includes the old master program block and the updating information from which the new master program block is to be created. Updating information can direct the following operations:
XVII. CONSIDERING PROGRAMMING APPROACHES
321
• Adding a new program or deleting an old one • Making corrections to existing programs • Placing programs in a specified sequence. Output from the updating run includes the new master-program-ready for production running. Furthermore, aside from minimizing checkout effort and time, SUMER provides program checkout facilities. The basic function accomplished during checkout is the dumping of diagnostic information without interruption of the program in process. It is the task of the programmer to include the recording instruction in the program and to indicate what portions of memory and tape are to be recorded. For each program loaded to be checked out, the programmer may enter test data to be used in checkout as program input. Before starting checkout, a special routine distributes this test data in the designated format to the appropriate tapes. Both the tape dump and memory dump operate under the general supervision of the SUMER executive program. During the whole run of the throughput activities, control keys designate certain operational modes. A key is a sorting control field, composed of one or more keywords. When two or more keywords are used, they must be grouped by the programmer, one keyword following another in decreasing order of importance. * The SUMER source language is general enough to handle a variety of applications. Particular attention has been paid both to the efficiency of assembling and to the efficiency of the resulting object program. For instance, for the purpose of detecting programming deficiencies, the SUMER assembler analyzes each instruction, prior to its execution. The object of this analysis is to determine whether the address accessed by it lies within the range ofthe addresses assigned to the program. When the address is within the range of the addresses assigned to the program, the instruction is executed. If it is not in the assigned range, it is further analyzed. So that program deficiency can be traced, a special error routine is then called in. When the address is outside the assigned range, but contents to memory are not altered nor is control transferred outside of the assigned range, then the message is typed out. Following this step, the instruction is executed and processing continues. If the assigned memory range has been exceeded and the contents of memory will be altered or control will be transferred outside the program, then the message is typed out and the instruction is not executed. Further, processing is held up pending operator's response. The "SUMER tracer" provides error detection functions and also edits *Notice the similarity in concept between the usage of keywords and their application in information retrieval which we considered in Chapter XII.
322
PART V.
PROGRAMMING FOR REAL-TIME DUTY
detailed information concerning the hardware conditions at the time of execution. This information is written on an output tape provided for the exclusive use of the diagnostic routines. Later, the tape can be re-edited and printed, either in part or in its entirety, according to the specifications furnished to a SUMER diagnostic run. The address occupied by an instruction. the contents of the instruction word, the contents of all of the index registers, the contents of arithmetic registers, and the settings of the indicators are printed out as a result of this function. Within the framework of this operation, a "memory print" facility also offers a "snapshot" of,any area of memory assigned to the program. This function causes the writing of the contents of memory on a consecutive location basis rather than following a processing path as provided by the trace function. When a program is terminated through instructions which are executed under the control or' either "trace" of "memory guard" faculties, a memory print of most of the program's memory area will be executed. The programmer through coding can call the proper subroutine into his program at the time of assembly, so that the routine will become an integral part of the assembled program. Equipment parameters accepted by SUMER will designate tape unit assignments for input, throughput, and output. The "presort routine," for instance, uses an input tape and two output tapes. The "merge routine" uses three work tapes, one being the final output tape. The "sort routines" positions tapes by using the rewind or backs space mode. In the rewind mode, all tapes are positioned by rewinding, thus positioning forward one record. In the backspace mode, the tape is repositioned by backspacing and counting. The SUMER sort routine will read or write each tape beginning wherever the tape was originally positioned. The input tape to the sort routine can be handled in different ways. One of these ways depends on the number of tape drives. If, for instance, four drives are used the input tape is not used during the merge. With three drives used, the input tape may be rewound and removed after the presort. Then, a new tape is mounted and used as a work tape' during the merge-to account for a limitation in equipment configuration. If, on the other hand, the backspace mode is used with three tape drives and the input tape remains mounted, the data read from the input is preserved, since only the area beyond the input file is used as a work tape. The proper determination of equipment parameters is of critical importance in the handling of real-time jobs. In most process control systems, excessive burden is placed on the programmer by the large variety and number of input-output devices to be controlled in parallel. Much of this burden develops from the reserve capacity of the system. With respect to design, if the system is sufficiently large there comes a point where it is advantageous to divide it into separate units. This can well be accomplished
XVII.
CONSIDERING PROGRAMMING APPROACHES
323
through simulated (programmed) media. SUMER works this way. A collection of throughput synchronizers will contain in general a number of similar low duty cycle units. These may be counters, storage registers, interlocks, etc. The efficient coordination of these units poses distinct programming requirements. The consideration of speed, more than the consideration of system performance, imposes restrictions on the coordination of the formentioned elements. Sufficient reserve capacity, for instance, must be allowed in the computational abilities to deal with external demands upon the throughput apparatus. The extra capacity can be provided by making the calculator faster, or by reducing the detail and complexity ofthe required programming. With SUMER, much compromises are indeed made. With respect to software in the system under consideration, programming is reduced by the introduction of a "throughput dispatcher," and the speed is increased by the introduction of a simulated overlapped control cycle. The dispatcher serves to store addresses for the input-output element or processor. On a signal from a synchronizer, the address is issued and incremented. The synchronizer registers and then communicates with the memory. The processor has the necessary instruction complement to fill the address registers initially. Also, the processor must read and change the address registers, while the synchronizer performs its duties. As a matter of principle, the supervisor program in a real-time control application should be able to set a flip-flop in the processor near the end of a block transmission. With SUMER, the processor senses and resets the flip-flop, while issuing the necessary instructions. These instructions may initiate, continue, stop, or alter the mode of operation of the peripheral units. Operational conventions must be derived from the nature of the application itself. The main SUMER routine contains the priority assignments. To avoid interference between simultaneously running problems it is necessary to refer to the records produced by this routine and to maintain them. For this reason the forementioned convention is imposed. Furthermore, if a number of synchronizers are operating simultaneously, the available time of the processor will be restricted severely for side problems, unless advanced automatic interruption techniques have been used. The development of SUMER followed a careful analysis of configurations of hardware and programming control features. The following questions had to be answered: • What is the optimal systems approach? • How much does the control equipment cost? • Which feature could provide more efficient operations?
324
PART V.
PROGRAMMING FOR REAL-TIME DUTY
• How much memory space is needed for the control program? • How much time sharing should be built into the program? • Which is the hardware and programming price for flexibility in systems usage? • How fast can a series of data transfers be performed? • What proportion of this time is the program free to control other inputoutput gear? • How can systems dependability be increased without cost becoming prohibitive? • How can errors be detected and reruns accomplished? • How can systems growth be accounted for?
Chapter XVIII IN-MEMORY OPERATIONS
Having considered a general approach to the construction of mathematical models, to the retrieval of stored information, and to programming or realtime jobs, we must now bring under proper perspective the subject of inmemory operations. The process by which a real-time integrated data system regulates its own operation can be called "guidance logic." Neithertheparts nor the whole of this guidance logic need be very complex, but there should be present one or more logical mechanisms for guidance action. Here is exactly where mathematics and programming come together. The guidance functions should be set into a sequence that considers all in-process operations. Then, each function should be elaborated to a greater level of detail, and the housekeeping information used and developed by the guidance functions should be established. Consideration should always be given to unexplored alternatives and further ways and means of multi phase analysis. This is particularly true ofin-memory operations. Though variations may exist both as to the nature and the importance of data storage, in a general manner this may be thought of as comprising: • Information of a semipermanent type, "cataloging" the nature of the stored transaction programs and records • Information of a semitemporary type, relative to the current conditions in respect to capabilities and activities of the system components • Information of a temporary type, relative to the current condition of an in-process transaction program • Commands for special operations and for decision making when unexpected situations arise • Waiting lines containing information of a very temporary type defining the priority" interrelationships of different transactions being simultaneously processed and necessary in maintaining intratransaction continuity.
325
326
PART V.
PROGRAMMING FOR REAL-TIME DUTY
While guidance activities and characteristics ultimately are traceable to the job, the system must develop instantaneous motor action within its operational environment. This will relate directly to chosen methods of system design. A discussion about it will be more meaningful when it is oriented in a direct context.
SELECfION IN MEMORY In a real-time system, data may need to be selected on the basis of their content or of their relation to other records. This selection can be effected in a certain predetermined sequence, in a computer generated sequence, or according to a set of different criteria which will change with the application. The "selection-in-memory" problem becomes more involved if one considers that a certain flexibility should be provided to the system and that not every case of data demand can be forecasted. If records are to be selected on the basis of their content, the programmer should not be concerned with the exact machine address of a record. Since the computer will move records from one memory device to another, as their activity and age change, it will be virtually impossible for a programmer to know, at any moment, exactly where a record might be located. In the long run, indexing would become too complicated to upkeep. Some automatic information retrieval techniques must be used to enable the computer to identify the desired record. As a data system ages on the job, its operation can be enhanced if the identification and selection of a certain "data block" are based upon data contained in that record. To accomplish this, the system must retrieve a record on the basis of certain predetermined criteria. For instance, a code may be assigned by the computer to each in-process operation to designate 'its stage of completion. Then, selection based on the completion criterion will be a simple matter ofseparating all orders with the right completion code, a well-known capability of computers and extensively used in all types of file analysis. The situation is more involved if the prediction of new sequences is required. Inventory analysis and scheduling, for example" require that special consideration be given to in-memory data selection. Let us assume that we are faced with a total, integrated industrial application, where inventory management must be performed automatically and on a real-time basis. In the process of determining if an item should be reordered, it would probably be necessary to examine the outstanding requirements whose due dates fall between the present date and the next due data for "in-process" items. Apart from other complications, the solution of this problem may be interlocked
XVIII.
IN-MEMORY OPERA nONS
327
with the nonavailability of certain data, whose processing has been automatically delayed by the machine. The criteria for such retention or delay might well have been quite independent of those concerning inventory control. In this, as in a variety of other process control applications, the total cycle of inmemory selection would include writing new records on the large capacity storage, selecting records from that storage, storing them in the working memory, and, after processing, returning the records to the large capacity storage. This does not differ significantly from present-day electronic computation practices, regarding its major steps. But, the differences are rather outstanding as to the implementation of these steps. Because of the integrated nature of the system one input event may, with some delay, trigger off a series of transactions, the initiation of which is under machine, not human, control. However, an input to the system may be erroneous or incomplete at the time of entry, or it may be correct at the time of entry but changed at a later time. Hence, it is necessary that the following be provided in addition to detecting as far as possible inputs of an erroneous or incomplete nature at the time of entry: • A general-purpose tracing procedure which will, upon request, automatically trace the consequences of any input and present information about these consequences to the person requesting it • A general-purpose nullification procedure which will, upon request, nullify the consequences of any input as far as this is possible. These are fundamental considerations for the real-time program by which, given a transaction input, the effect of input on the information in the system can be traced. The ability to do this is an almost essential requirement. The ability to carry out the converse of this operation, given a piece of stored . information, to trace all transactions which changed this information, is sometimes a desirable, although not necessarily an essential, requirement. In either case, the burden for analyzing then scheduling the corresponding in-memory operation is on the programmer. The retrieval and in-memory selection procedures, outlined in the foregoing, would probably necessitate separate control subunits within the memory system. An in-memory control subunit might be composed of the following: • A fast bit control register with relatively simple instructions, as, for example, single and multiple record accept, forward, and shift between alternative storage devices. • An in-out address register with special trapping features, a control device able to perform memory lockout for space availabilities.
328
PART V.
PROGRAMMING FOR REAL-TIME DUTY
• Two compare registers containing the search information necessary to determine the correct storage location. One register is needed to hold the data constituting the basis of the comparison and another for the variable word compared against the standard. The larger the memory, the more severe will be the problem of data control and regulation in every phase it is approached. For instance, the initial job of loading the files and creating an index for a memory unit of very large size is a major task because of, among other factors, the problem of interweaving file patterns so that the records are located at the optimum access and in correct patterns. This problem, apart from other considerations, puts a heavy task on the programmer because of the deadlock possibilities it can entail.
THE DEADLOCK PROBLEM
Deadlock possibilities exist not only within the range of memory assignments but for every matter concerning subsystem and component availabilities. A program conflict is said to exist when one program wants a facility that is already being used by another program in such a way as to make simultaneous use impossible. This situation can arise if there is at least one facility in the system that cannot be used by more than one program at a time, while at least two programs can request the use of that facility in an unrestricted manner. Unless a program deadlock exists, a program conflict situation will resolve itself automatically when the executive coordinator releases the facility desired by a waiting program. However, if because of response requirements the waiting program must take the facility away from the possessing program before the latter is finished with it, complications might result. It may be, for instance, that a "first" program conflict situation is followed by a "second" one. Then say that the possessing program in the first conflict situation cannot proceed because it is a waiting program in the second conflict situation. What could and should the programmer do about it? The solution to situations like the foregoing has to be worked out under the perspective of the existing problem requirements and the available computing facilities. It is, nevertheless, true that the nature and extent of the programming conflicts can vary, at times presenting difficult to solve situations. With reference to the preceding example, say, for instance, that the second program conflict depends for its resolution on the release of a facility held by the waiting program in the first conflict. Then, none of the programs involved in the chain will be able to proceed; and, as long as none of the wanted facilities will be released, the deadlock situation will continue to exist.
XVIII.
IN-MR'vfORY OPERATIO,,"S
329
If the programmer makes no rule available which the interlocked programs can follow, the program deadlock may never be resolved. This might eventually cause the cessation of processing on all programs in the deadlock chain. Also, facilities held by these programs remain unattainable to other programs which, although not members ofthe deadlock chain, want a facility held by the deadlocked program. Here exactly lies the ingenuity of the analysis that preceded the programming work. With mathematical simulation, the analyst might have experimented on a variety of different deadlock situations, thus providing the programmer with some sound rules to follow. Experimentation on deadlock possibilities with a view to predecision may become, at times, quite involved, since several deadlock situations may exist simultaneously. The occurrence of just one more program conflict may cause multiple deadlocks to arise in a previously undeadlocked system. To break a program deadlock after it has occurred, the best approach might be to take a facility that is part of the deadlock chain away from the possessing program and give it to the program in the chain that wants it. With present-day programming practices, the "deprivation" possibility, to which reference has just been made, looks feasible for record facilities. For terminal facilities it would result in the intermixing of an output operation for one program with a previously initiated and not yet terminated input or output operation for another program. Taking away a terminal from one program and giving it to another, therefore, while feasible, may prove quite undesirable. In fact. depriving a program of a record facility and giving it to another may even have some undesirable consequences, since, when the deprived program finally regains the facility, the record may have been changed. If this is the case, then upon regaining the facility the deprived program must analyze the record to determine ifinformation previously used by it has been changed. -lf not, it can proceed as if nothing happened. If yes, it must go back, nullify the operations that made use of information now found to have been changed, and then redo these operations, using the new information in the record. In the case that the program had previously executed an irreversible action, such as the sending of an output message to an operator, then the nullification would be impossible and the hypothesized practice of periodically depriving facilities from certain programs might prove to be determinal. This suggests that a programming approach more sophisticated than those presently known and established may be necessary, such as, for instance, the automatic information retrieval approach, * which would enable the machine not only to write in, retain, and access information but also to abstract its fundamental nature, contents, and location.
* Sec
Chapters XI and XII.
330
PART V.
PROGRAMMING FOR REAL-TIME DUTY
For matters concerning in-memory operations, the day may come to classify machines by the qualitative reference of what they remember. We have no interest in storing information if the crucial aspects of this information cannot be retrieved. These aspects might constitute an automatic key to the use of the data on hand or the process under control. We may desire, for instance, that the information system "remember" those properties that are much more important than the physical information itself. For control systems purposes, it may be imperative that the computer remember such things as the quantity of information, its accuracy, what it described, its source, its use, and what it meant. The most important information for the guidance of a physical or man-made process is certainly not a collection of numbers or even a collection of formulas. Neither is it any collection of skills, techniques, and methodologies which have been programmed into the machine. It is the orderly, though stochastic in nature, collection of crucial data from "total experience" on the basis of which decisions can be made, and whose existence data control systems owe most of their value, if not their total reason of existence. For almost all guidance purposes, the value of the answers produced is much less important than the knowledge of what went on in the course of producing those answers. Almost inevitably, a computer, whose function involves the control of a certain process, must interpret, understand, and remember relationships and behavioral lines of critical importance. In this way, the information contained in the programs executed by a real-time system may be the only valid operational characterization of a major activity. In fact, it may be much more valuable in itself than the numbers that have been stored during data acquisition or have been calculated by the machine. Seen in this perspective, the in-memory deadlock problem takes on a completely different aspect. Three alternatives can then be stated as possible solutions: (I) A voiding deadlocks through the retrieval of qualitative reference to eventually provide the machine with a self-adjustingfaculty. Though this is still a remote possibility, it remains the most promising, particularly in view of the large variety of processing applications real-time systems will undertake in the years to come. (2) Avoiding deadlocks by scheduling the program's run well in advance so that applications which will be processed concurrently do not request identical facilities. This imposes a restriction on the application which, in general, would not be acceptable. (3) A voiding deadlocks by delaying the initiation of a program when one or more-of the facilities it must use is already occupied. Again, this is generally impractical since the records, and even terminals, a program is going to use are unpredictable.
XVIII.
IN-MEMORY OPERATIOI"S
331
Current automatic deadlock detection methods require that the machine keep an up-to-date table showing the programs currently possessing or wanting facilities and the facilities they possess or want. In a limited approach to deadlock detection, the machine is asked to determine whether or not a deadlock exists, without necessarily defining complete conflict chains. The computer would then produce a table, listing programs and facilities that are possessed and wanted, each properly labeled according to some set of rules. Even with the media available at the present time, in deciding how best to break a deadlock, it may be desirable for the machine to consider the nature of the programs involved, the stage to which they have progressed, and their priority. If these considerations are to be ignored, deadlocks could be broken taking into account only the number of programs and facilities involved. In this way, deadlocks can be broken by using the rule of disturbing the least number of programs, or the alternative rule of disturbing the least number of facilities.
ACCESS TO MEMORY
Another facet of the deadlock problem has to be examined. In a real-time data control system having multiprocessing capabilities, it is feasible that two programs operating simultaneously may want to use the same record. One solution is to use a multiplexing device, so that the one demand that gets to it first will select it. As a solution. this sequencing process is particularly good if the selecting program does not change, but will only refer to the record. Depending on the number of accessing media, any other program can select the same record before the first program is finished with it. If, however, the first program changes the record, a certain mark should be placed somewhere in the record to indicate that such a change took place. Two distinct cases can be stated in this respect. First, that the change is required before other programs make access to the record. Second, that the record should not be accessed while the affected change is still there. The first can be handled by delaying other requests until the change takes place. The second by blocking all attempts to use the record before the first program restores it to its former information condition. Waiting lines of transactions in data networks can be viewed as critical in "sustaining the thread" of information through the discrete stages of its in-process life. Although it might be argued that several times in a transaction's life no 'waiting line entry exists at all, it is also true that this data continuity might well be determined by the range of the considered time intervals. If these time intervals are large enough, several waiting line entries
332
PART V.
PROGRAMMING FOR REAL-TIME DUTY
would exist simultaneously for the same transaction. To avail a solution to this problem, the following provisions might be advantageous: • Whenever a terminal is found busy and cannot be utilized for new output, a "terminal busy" mark can be appropriately stored. • Transaction programs needing the terminal and sensing a "busy" mark should enter the waiting line. • All busy marks should be removed either when the last entry in the line is serviced or before any entries in the line are serviced. The need for this type of monitoring program arises because most data inputs to a real-time system have a random or almost random distribution of occurrences. Assuming that response to inputs must occur within a predetermined time range to justify the "real-time" characterization of the system, this behavior, along with company work hours and volume fluctuations over the month, causes capacity peaking of the data system. Extra capacity at certain times must be achieved either by increased speed or by multiprogram operation. But concurrent processing of several transactions would require either potentially inactive hardware or systems capable of component switching. Depending on the specific function of the system, much of the capacity increase can be avoided by treating some transactions with priority over others when a processing queue develops. Average working memory space requirements can vary by a factor of up to twenty between different types of transactions enterable from the same terminal. Working memory space required between extremes for the same type of transaction can vary even more. Fixed working memory space allocation, by terminal or transaction type, would require a working memory size substantially larger than if space were assigned on a demand basis. This might be done, for example, by limiting the number of in-memory registers reserved by input-output terminals for housekeeping while the rest of the working memory will be switched along applications by means of a memoryguidance feature.
MEMORY DUMPS AND SEMIPROGRAMS
The information to be dumped for a program can consist of a considerable range of inputs, of selected in-memory stored records, of partially set up outputs, and of temporary data developed by the transaction program itself. Because of the need for retrieving the information that will be dumped, an executive routine is necessary, enabling the first dump section to be addressed and providing for the storage of separate program parts in preassigned positions. A form of character count for each program part can be used to
XVIII.
IN-MEMORY OPERATIONS
333
recognize when one part has been completely retrieved, and initiating the retrieval of the next. In practice, many of the memory dump operations can be completed by a single throughput. Others, however, might require a "conversation" between different processing media. If this is the case, then processing subsystems must be provided with features that would enable them to keep track of partially executed programs whose completions depend on the other processing devices. To free the working memory from the data ofpartially executed programs, the "suspended" programs should be moved to a "dump" storage and stored there until the next in-line operational subsystem calls for them. In these terms, if the string of commands necessary for the complete processing of a certain job is still named a "program," then we must distinguish sections or segments of these programs on the basis that some of them will be definitely processed in an interrupted manner. The expression semiprogram can be used to denote any unit smaller than a complete transaction program. Only one "serniprograrn" need be brought into the working memory at a time. * In the case of a program-interrupt, until the discontinued transaction can be resumed, all information pertaining to it must be preserved for subsequent use. Hence it has to be stored somewhere. The information to be preserved for use with the following program section will, in general, include input data, data from retrieved records, and results of logical operations and of computation. If this information were simply left in the working memory, much ofthe working memory space would have to be allotted for this purpose, since at any given time a large number of transactions may be in a discontinued condition, the maximum number being the number of terminals. This is why instead of adopting the above scheme, it might be preferable to use a design approach of comparable logical complexity in which the characters of extra storage would be external to the working memory. For these reasons, an on-line integrated data control system may need to be provided with dump memory of a considerably cheaper material than the working memory, and which can operate at slower read and write speeds. With a dump memory it is possible to process programs that have long interspersed waiting periods, dumping information at the end of one program section and retrieving it when the next program section of the same program is initiated. Other cases demanding dumping are the entry of an input message that exceeds a pre-established size in characters, and a program wishing to use a facility, such as a terminal, but being unable to do so because the facility *The term "subprogram." or "subroutine" which might have been more appropriate. has already been used in computer programming in connection with quite different concepts. See also the following chapter.
334
PART V.
PROGRAMMING FOR REAL-TIME DUTY
is already being used by another program. The latter is essentially one ofthe conflicting program situations we have examined. A "conversational type" of handling transaction may also require dumping facilities. A transaction is said to take place in the conversational mode if, after an operator has completely entered an input message which is acted upon by the processing unit, he is requested to enter another input message which must be considered by the processing unit in conjunction with the previously entered information. The conversational mode is employed to tell an operator, after he has entered one item of information, what item of information he should enter next. It is also employed for error correcting purposes, in what would otherwise be single-input, single-output transactions. Say, for example, that an input message consisted of 30 different items, all entered consecutively without any computer intervention. The processing unit, upon finding an error in one of the items, after all items have been entered, would send an output message to the operator, requesting him to re-enter the item involved. Whenever a waiting period occurs in a "conversational mode" type of transaction, information must be dumped to be retrieved for use with the next program section of the same program after the next input message has been received from the operator. For each dumping condition, and after disappearance of the condition that caused the dumping, the program section that has been dumped must eventually be moved out of the dump memory and resumed. In all cases, except those of program conflict, the program resumption can be triggered off from the terminal involved when it initiates a processing request which is selected at random by the processing unit. Resumption of a program, which was dumped because of a processing conflict situation, might be done by occasionally picking one of these dumped programs at random and seeing if the desired facility had become available. Or, the dumped programs that want an unavailable facility might be associated with the facility in some manner, and resumed in turn after the facility becomes available. The implications posed by the foregoing on programming approaches is evident. A semiprogram will be ended by a specific file or processing reference, while a program will be ended by an output. Programs that would be executed in one piece will be brought to working memory from their temporary or permanent storage one at a time. Programs consisting ofsemiprograms will be brought in the memory in terms of the latter and it is, therefore, required that each semiprogram provide in itself the necessary information linkage. Program subdivision will enable the assignment of the working memory space where and when needed, and in only the quantities that are necessary for the processing of the job. The assigned space should be released as soon
XVIII. IN-MEMORY OPERA nONS
335
as the function for which it had been assigned has been carried out. Output space should be released after transmission is completed. The same is true for "interface" memory space.* These, of course, are among the requirements the process control programmer should carefully observe. Because interrupt signals for the processing of semiprograms have both input and output features, a problem of distinction arises within the processing system. It concerns which "start" signal means "what." The executive routine must also distinguish between "initiation" and "response" inputs; the latter being a linkage among semiprograms. The semiprograms would give end "responses" while the complete program would proceed by means of "initiation" and "completion" signals. Another programming distinction is between operations executed "on demand" and those executed "at leisure." "On demand" processing means that certain functions must be executed in a finite amount of time. As, for instance, the storage of characters of an input message before the information is lost off the end of the transmission line. Inversely, the term "at leisure" applies to all of the guidance activities that present no danger of losing information by failure to act before a certain time has elapsed. For the general programming case, it is difficult, nevertheless, to distinguish between "on demand" and "at leisure" job processing. Not only are jobs transferable from the one category to the other, depending on the requirements of the moment, but also for a system with finite processing capabilities, the larger the percentage of "on-demand" jobs the greater the delay of the "at leisure" jobs will be. The latter will eventually need to be critically evaluated as to the wisdom of putting them "on demand." Classification and reclassification functions can best be performed by a control subunit operating within the framework of the over-all guidance. The functions performed by this unit would be generally those of: • Recognizing service requests by terminal operators • Transmitting output messages in terminals specified by the transaction program • Interpreting specific considerations relating to the work of in-process and in-backlog. This type of work can obviously be performed either through real or through simulated hardware. The programming scheme that can perform these functions would not be basically different from the wayan executive routine is constructed, but due attention should be given to the handling of the "on leisure" opera!ions. For this, the executive program must be able to:
* As defined here, "interface" is the storage and other hardware required fordata transmission between subsystems.
336
PART V.
PROGRAMMING FOR REAL-TIME DUTY
• • • • •
Assign memory space for storing inputs and for the transaction program. Initiate the retrieval of interrupt information. Move into active memory the appropriate stored transaction program. Initiate the execution of the transaction program. Initiate selection from their permanent storage locations of any records ordered by the transaction program. • Initiate dumping operations for retainable programs.
In all, this complex of data operations through its own executive action must make sure that none of its components will sit idle for too long a time before reactivation by control programs. In priority assignments, what makes the over-all problem rather difficult is that higher-priority programs arriving at the data system subsequently to priority allocations would upset the established dominance in processing. Several priority schemes exist to answer the foregoing question, but a great deal of thought should be given to the subject before anyone is selected for a specific situation. Priority consideration could also be used for avoiding the need of system changes, on a temporary basis, because ofthe increased data processing requirements of the environment. In establishing relative degrees of priority recognition, the criteria might range from a rule of "first come-first served" to that of complete analysis and comparison of one transaction against all others processed by the system. This problem becomes more involved if one considers the complexity brought about through simultaneous operations. A priority rule worth considering is that of "due time." Due time priorities are based on a relative "deadline" for starting the transaction so as to still meet its particular response requirement. Recognition of priorities could begin with the assignment of input space, but again this has the drawback that relatively slow terminal data linkages entering highpriority transactions would sometimes unfairly delay lower-priority transaction responses. Analytically, the priority of a data operation can in general be established by a complete consideration of its functions. Some provisions should also be made for modifications and changes in priorities. A programmed rule for breaking priority sequence could be developed. Such a rule should, however, observe that it is not always feasible to interrupt other functions before they are completed. At times, a priority reassignment may have to wait its turn. In a multiarithmetic computer, the actual processing status of ajob would not be a trivial affair. Perhaps the best way to this end is to make the computer aware of its own organizational structure and to provide the machine with the ability to conceive any actual activity mix. The sensing of the status of each unit and the processing position of a program or semiprogram could avoid
XVIII.
I~-MEMORY
OPERATIONS
337
delaying the execution of other functions. Status registers would be helpful in this regard. Such registers should be interrogated by the machine program to determine interput and processing conditions. The programmer should duly consider throughout his work that interrupt points may also be needed during the execution of arithmetic-logic instructions. In fact, they can occur at any time in an instruction sequence due to a program's need to make a file reference, transmit an output, select the next program subsection to be run, dump itself, release some of its space, or carry out any combination of these activities. Strict demand allocation of space can be compromised by providing for a maximum for each type of input transaction. Here, again, multiprocessing considerations may affect, to a substantial extent, the complexity of the logical structure of the machine program. From a structural point of view, and for most industrial applications, the program for an on-line machine would operate generally on a cyclic basis in what concerns the performance of its functions. A substantial variety of inputs from different sources would arrive at the computer at different times and at varying rates, but, unless major changes take place in the process, each one of these data inputs would have its place in a certain operational cycle. To cope with such variations in input the programmer should temporarily store data on a certain buffer medium, then bring it into the working memory at the required time. A similar situation exists for outputs which would be generally transferred first to some output buffer, which then routes them to individual destinations at rates dictated by the control devices or communication facilities. Processing possibilities are often improved by classifying all controllable elements into three major categories, each characterized by its time sensitivity. In this way we may distinguish fast, intermediate, and slow computer control loops.
DATA RETRIEVAL AND PRIORITIES Priority loops help attain a more effective utilization of the machine capacity while they provide the basis for a timely control of the process. The techniques used in establishing priorities may vary with the application since they will necessarily reflect the relative importance of the different process components. Also, apart from the informationhandling considerations, the programmer must examine the technical requirements ~f the main processing units. The following basic rules should be observed if a data control system is to meet both economic and technical limits:
338
PART V.
PROGRAMMING FOR REAL-TIME DUTY
• Data automation must be suitable for both large and small production lots, adaptable to design changes, and capable of a building block approach. • The programming work must be flexible enough in handling a wide range of work and materials, so that there can be reasonably rapid conversion of the line from the manufacture of one commodity to another. • The programming philosophy must have sufficient flexibility so that new materials and also systems components may be used in the production system, once their reliability is assured, without developing guidance conflicts. • The computer programs must provide the necessary guarantees for the system's reliable performance. One of the most critical problems of automatic production methods is that of quality control and product testing or inspection. Quality assurance in itself constitutes a broad area for control systems applications. * The three areas of production analysis, the design of the product, the materials processing, and the fabrication machinery used, must be considered together as a system when automatic production is studied with a view to program development for digital control. We spoke of the implications of digital automation in design when, in Chapter XIV, we made reference to "mathematics for design automation." In the following, we will review another outstanding approach to a traditionally routine subject: data retrieval for personnel purposes. The Systems Development Corporation has written a "personnel data retrieval," time-sharing programming systern.t It provides an on-line inquiry capability for searching personnel data files. The inquiry capability is assisted by an on-line teletype send-receive set. This allows the inquirer to insert the commands, control information, and search parameters required for the data retrieval. It communicates the results of the search to the inquirer and enables him to specify the format of the desired output listing and the arithmetic operations to be performed upon the data. The use of the personnel data retrieval program enters within the general framework of the time-sharing project of ARPA. At the time we visited with the Job Corps in Washington:j: there were three users operating on three
* See also Chapter XXIX, Volume B, for a unified approach to quality history and continuous control procedures. t The writer wishes to express his appreciation to SDC management. The following text is based on the information kindly supplied by SOC and on the demonstration at the Job Corps. :j:This was in June. 1%5. We wish to thank Dr. Eigen and Dr. Stellwagen, of the Job Corps, for their collaboration in the demonstration that took place.
XVIII.
IN-MEMORY OPERATIONS
339
different "data bases": the Job Corps, the Air Force, and SOC. For reasons of homogeneity, a general ECCO program, under which the retrieval system operates, was developed. ECCO helps to reduce the amount of space required for storing various programs on the disk file and to reduce maintenance costs by having a single program meet the needs of all users. Further, it facilitates the application of the retrieval capability to new areas of interest, as the program will operate on any appropriately prepared data base including all those currently in existence. The retrieval system provides three basic features. The first is a general search capability whereby persons with various characteristics may be identified from the data base. These are selected as a function of search criteria; the full records for those persons who qualify or match on the specified criterion variables are temporarily stored either for subsequent searches on this subgroup or for a listing of the required information. As a special feature of the search capability, it is possible to locate all information about a single employee simply by using the employee's man number as the criterion variable. This search results in a complete listing of all items of information contained in the data base and concerning the selected person. The second feature comes into effect after the search has been completed. Its objective is to allow the operator to specify a printout of any of the information contained in each persons record, in a variety of formats. It is, therefore, possible to call for any item of information in the person's record once he has qualified on the search criteria, even though these items of information were not included in the original search criteria. The third is a mathematical faculty able to perform two statistical operations (arithmetical mean and range) on any qualified items of information in the data base. The words SIG MA and SQUARES are recognized by the program as equivalent to the statistical notions of mean and range. The ECCO program may be logged in by the procedure: ! LOGIN 4672 99000 ECCO,
where 4672 is the person's number* and 9900 is the appropriate work order number. The commands can be briefly described as follows: • The user indicates his intention to process or search the complete file which is identified by "TAPE XXXX." The system then responds that it is ready for the next command by the message "*OK, NEXT REQUEST."
* In this particular case it is an SDC person's number; users who do not have SDC numbers and work order numbers will log in according to the procedures described in a special manual.
340
PART
v.
PROGRAMMING FOR REAL-TIME DUTY
• The user requests that all those employees with a first speciality code of YYY and who are, say, over 30 years of age be located. The programming system gives the date and time, permitting the user to calculate the length of time required to search the file. · Following this operation the user, say, may request to reduce the file to just those employees whose start date is prior to ZZZ. The programming system will locate the persons who meet this additional criterion. • Then, the user may request the average of three numerical items in the data base for the group-selected persons: start date, years in first speciality, and birth date. The system calculates these averages and indicates the number of employee records on which these averages are based. • In the following operation, the user may request that certain information about these employees be listed, and specifies the items to appear and the format of the printout, indicating the number of spaces between columns with asterisks. • Finally, the user may wish to communicate directly with the computer system at any time to obtain information about the system itself. One such input is !USERS, which indicates how many users are simultaneously participating in the time-sharing system. Others include !TIME, indicating time of day to the nearest tenth ofa minute; !STATUS, concerning the condition of the user's program; ! DRUMS, indicating number of words available on drums; and !TAPES, indicating the number of tape drives available. To perform its function in an efficient manner, while presenting substantial systems reliability, a good deal of investment has been done in diagnostics, and in subsystems and components redundancy. This investment is said to represent about one-third of the cost of the machine. The ECCO command keywords are SEARCH, LIST, ONE, ALL, GIVE, IL and REWIND. REWIND calls a rescue operation and IL provides debugging information. The selection criteria are, in effect, also commands, but have no keyword. Wherever the program outputs the message "*OK, NEXT REQUEST" or "*ENTER CO RRECTED REQUEST" it expects one of the foregoing commands. The first word of the subsequent input is compared against a list of the command keywords. The commands are free inputs. The programming system also includes "responsive inputs" made as required answers to questions from the program. Examples of responsive inputs are: *HOW MUCH DISK? Response to this question is given in two numbers: the first is the number of records; the second is the length of each record in characters, which the user will want to store on disk as a subfile. There is no way to revise the estimate once it is entered except by reloading; a search requiring more disk than has been
XVIII.
IN-MEMORY OPERA nONS
341
requested is terminated by the message *FILE FULL. The message *HOW MANY MORE LINES? is used when a LIST operation has output the required number of lines, but has not reached an end of file. At the beginning of a communication between the peripheral device and the program a "reflector" systems check, concerning the two-way communication network, helps e-stablish the functional status. The device operator may input: "Everything I type, you reflect back to me," then: (l) Type on the keyboard the "ford: STATUS.
(2) Then, if the system is in control, he should receive for reply: STATUS. (3a) Should this reply be OK (as above), the device operator would act on it. (3b) If the reply is not OK, the operator will give the signal for "erase": ! Currently, at least, systems programming does not include diagnosis for the communications part of the job. In contrast, program "FIX" has been written for internal diagnostics. This program helps answer the question "what is wrong?" while other more sophisticated routines are in development concerning matters such as "voltage excursions." An example of what happens when an unexperienced device operator sits on the controls is the following sequence in intercommunication of which we would acknowledge the parenthood:
,
[1lUMS ; 92~ 72 WDS ON DRUMS LOGIN JC002 JGI07 $OK lOG ON 26 lOAD ECCO • $WAIT USERS
.b 9 USERS.
FROM 44
WHAT IS NUMBER OF TAPE YOU WANT lOADEQ 7
FROM 44 DO lOAD REQUEST AGAIN PLS lOAD ECCO • $WAIT
FRO~ 44 WE KEEP GETTING LOAD FOR 26 REEL • DIAL 9 TELL 44 WE WANT ECCO I AM ASKING PAT.
$/'ISG IN. DIAL 9 THE TAPE' IS 1599 •
lMS3 IN. ::iTA IUS
$NOT LQAOED OIAl 9 WHAT SEEMS TO BE THE TROUBLE. $/'ISG IN.
~lJHAT
1
I >Y(O[2""PfZGC
,AND THATS ALL
Chapter XIX REAL-TIME EXECUTIVE ROUTINES
The objective of an "executive program" is to have the computer schedule itself, so that it can operate continuously, with little or no manual intervention. With data control, an executive program should make it possible not only to operate the computer automatically, but also to respond to realtime demands from remote terminals and control equipment-functions that are structurally inherent to this type of application. The foregoing requirement, and its implications, can be better appreciated if one further considers that hardware design for control systems is oriented in a way so as to allow the teaming up of a smaller and less expensive computer to do work which if handled by a single computer would req uire one which is extremely high speed and costly.* This in turn means that data networks need executive works able to provide increased systems efficiency and dependability without compromising the modularity that results from advances in this direction. The crucial point here is the special programming requirements to enable the small machines to communicate efficiently. Many of the logic problems thus presented require programming innovations, and with this the "executive" requirements for on-line real-time systems have.proven to be considerable. One way to reduce these requirements is to study the important data control procedures and programs with the objective of standardization. Almost all areas pertaining to digital automation are, at present, unstandardized. Every company has its own approach, and these approaches are quite diverse. If no basic means for at least partial standardization are devised, the possibility of developing all-inclusive and generally applicable executive routines is, indeed, in doubt.
* See also discussions
on many-level vs. one-level control systems in Chapters I, II, and III.
342
XIX.
REAL-TIME EXECUTIVE ROUTINES
343
DEVELOPING AN EXECVTIVE PROGRAM The art of writing real-time computer programs for executive purposes is still in its infancy. Hence, the best we can do at this moment is to project and to synthesize, based on experience with complex off-line systems. It is apparent that this projection will be open to risks-as to whether or not what is forecasted will really take place, and to rather substantial modifications. But is this not the way in which we proceeded some twelve years ago, when the first supervisory programs started to be designed for off-line systems? One hypothesis which has a certain chance of being documented is that, as far as program organization is concerned, it is reasonable to assume that the software to be used in the next generation of computers will be registered on systems tapes, which will carry all major subroutines, generators, compilers, translators, and the like. These systems tapes will be automatically controlled through "monitors" or "operating executing programs."* Through a priority scheme, programs will be executed in the order the user wishes to run things. This means essentially that the entire programming and hardware system is under the control of an executive monitor, itself composed of functionally independent units such as a priority subfunction, a dynamic high-speed memory allocator, an interrupt handler, and others. With this scheme, new units can be added and old units modified at almost any time without having to alter any other part of the total structure. For real-time operations, the monitor or executive program must be conceived and written in a manner allowing it to handle exceptions. It should learn, from the frequency of these exceptions, the best approach to problem handling. If a program needs subroutines, the monitor's "learning section" need only supply the proper parameters; these would then be interpreted and automatically cause subroutines to be pulled from a systems tape. Similarly, if it is desired to compile a program, it will be possible to pull a compiler into memory merely by calling for this compiler. When a priority job comes along, the monitor must have the ability to accept interruption and to hold the interrupted program in intermediate storage. When these facilities become available, it is reasonable to say that realtime computers will be accepted by the user as a complete system, without concern as to which parts of the system are in software or hardware. The user will want to get his work done, and the computer manufacturer will be expected to supply the tools he will use to do the job. This "doing of the job" will imply a great deal of time sharing-a process to which we have already made due reference.
* See also Chapter XX.
344
PART V.
PROGRAMMING FOR REAL-TIME DUTY
The programming implication of time sharing must be brought under proper perspective. Given the capabilities of real-time systems, several "users" might be coupled to the machine, which will be time-sequentially servicing each user, much in the same way that telephone subscribers share central office equipment. The executive program should see to it that to the user the machine appears to be immediately available, although, because of its great speed, it may have performed many other tasks since it last serviced a given user. This executive coordination is clearly shown in Fig. 1. Priorities, diagnostics, and error routines are combined with current program execution under the general supervision of an RTC coordinator. The latter obviously takes care of all matters concerning program changes and the input-output of process data.
I~r----'---'---'
I
Priorities
I
Diognostic 1foctors I1
I
Error routines
-
__
1
RTC Program
I~L-_--'
r
RTC Progrom supervision
FIGURE I
These programming implications do bring forward the subject of hardware features the system will dispose. As we stated in Chapter XVII, there always exists a very close interaction between the real and the simulated hardware. Thus, before we examine the concepts and functions behind an executive routine, we should consider the following: • Elementalization of the operational codes • Variable size of data words and commands • Peripheral gear coordination • Interleave vs. burst mode • Priority signals • Asynchronous operations • Possibilities for error control. One feature found in the majority of recently announced computing systems is the relative limit to the number of programming codes. This is in contrast
XIX.
REAL-TIME EXECUTIVE ROUTl:"(ES
345
to what happens with systems in common use. Factors contributing to the concise programs include powerful, well-integrated order codes, advanced address-modification capability, flexible addressing, and variable instruction length. A third-generation computer, for instance, recently introduced to the market, disposes of 142 operation codes. As announced by the manufacturer, these codes can be accepted by one processing unit as easily as by another, within the substantial range of variation and growth this equipment can have. The same is true in what concerns the brevity of program statements. Explicit addresses, for one, are not written in cases where the accumulator is being used in arithmetic operations. Flags in the operation half-word can be used to specify whether any or all of the operands refer to the contents of this accumulator. Substantial addressing flexibility can thus be incorporated in a half-word, if, to start with, the designer has taken the necessary precautions to divide the computer word into addressable "elemental parts" (E.P.). In this way, a sequence ofE.P. would constitute the logical steps comprising a machine instruction. This opens an immense potential in microprogramming a real-time system, with each E.P. corresponding to a total instruction in routine. Commands will thus be performed by these sequences, one at a time. Simply by changing or adding elementary operation sequences, the instruction complement may be added to or changed, enabling the programmer to adopt new programming approaches and techniques as he sees fit. With respect to design, provision for variable-length data had been made in off-line computers. The motivation of efficient memory utilization and the elimination of "filler" material have extended those early concepts to include departmentalization of a character into. bits in the memory. An "elemental part" is indeed an instruction which may have other E.P. appended to it. A distinction has to be made between the operational elemental parts and the chained addresses contained in an instruction. Similarly, one must distinguish between the number of addresses utilized as an integral part of the execution of an instruction and those that have been chained for future purposes. Here again, it would be the responsibility of the executive routine not only to make but also to implement the distinctions. A hardware facility, relating to the design of both the control and the arithmetic unit, is the variable-size character. What this means, is the capability of the machine to accommodate different character lengths, which can be directly addressed and manipulated. Something like a "characterlength counter" could be used to designate the size of a character in all character operation. This counter could be loaded and reloaded with appropriate designators during a program, which essentially means that though a built-in feature, it will be under the control of the executive
346
PART V.
PROGRAMMING FOR REAL-TIME DUTY
program. Operations other than character handling will not be affected by this counter. A variable-size character handling facility could allow the computer to handle a large variety of codes. At the current state of digital technology there exists no way of saying that a fixed or a variable word length has absolute advantages over its competitors in digital design. Not only are such absolute advantages still to be seen, but also computer manufacturers have been extremely thrifty so far in making any rational, analytical approach to the problem. Therefore, the arguments given so far on solutions to word structure are absurd-this leads us to believe that such "solutions" are spelled out but not thought out. A certain computer manufacturer, for instance, talked about the "superior advantages" of octets-s-and because he was an output leader, several of his competitors jumped immediately into the "octet" band wagon. * Later, it was found out that the leader in question "forgot" to incorporate into the system some fundamental architectural concept for third-generation machines. t By inference, we can say that he also forgot to prove the superiority of the octet (or byte) in a scientifically convincing manner. This is not a criticism of any specific manufacturer, but of computer manufacturers in general. They are all responsible for basic misconceptions and for design mismanagement. To our judgment, based on the experience of the past thirteen years, variable word length (for data and commands) is more efficient with generalpurpose machines. Also the cost structure of general-purpose computers, particularly those in the medium to large scale range, can more easily absorb the extra cost associated with variable word design. In contrast, for specialized hardware we would prefer fixed word length. In this case the computing of the optimal word length is easier to achieve, given research and forethought. With respect to application, we found it efficient, with end cost playing a role. Furthermore, the executive program will need to account for the real-time coordination of the peripheral gear. Hence the interest of examining the built-in hardware devices. For instance, peripheral units could be handled through "control buffer packages" working on-line with the input-output control of the main frame, and this brings about the subject of an automatic interrupt technique, which we have treated elsewhere. The foregoing paragraph makes the point about the close interrelationship
* The argument presented by the opportunistic manufacturers, so far, has nothing to do with science. Behind the octet decision was only the wishful thinking that the change in design would help gain some market share at the expense of the output leader. t For proof, note also the haste in announcing, say, models "I" and "J," which were before long substituted by model "K." Another proof is the rumored (when this was written) model "E," which will be internally designed in straight binary, not in octets.
XIX.
REAL-TIME EXECUTIVE ROUTIJ\iES
347
hardware and software features have. The input-output channel is a standardized interface, and, hence, it is to maintain input-output control regardless of the complexity of the operation that is going on. Nonetheless, the executive program itself should also take the necessary dispositions so as to ascertain the flexibility of the input-output system. Systems growth and problems imposed thereof, should not be overlooked either. Additions of channels in a real-time computer mean additions in amounts of simultaneity, and this simultaneity needs to be automatically regulated by built-in hardware or through simulated coordination routines. For any real-time operation, channel functioning should obviously be brought under correct perspective. Depending on its design and programming approaches, a channel may operate in an "interleave" manner, thus arranging incoming messages A-B-C-D-E and 1-2-3-4-5 into the arrival sequence, say, lAB2C345DE. With respect to design, this is often preferred for slower peripheral devices. Or, the channel may work in what has become known as "the burst mode" of operation. Here message strings carry the proper flags or identifiers with the result that the sequence will be arranged accordingly, say, 12345ABCDE.* On all counts, hardware for performing time-related priority assignments is the next requirement for improving on-line computer system design. A littlerecognized fact is that a poor priority interrupt can reduce central computer on-line efficiency by as much as one-half. More computer power must then be used to compensate, or systems design concepts should be developed, allowing the evolution of powerful and flexible priority interrupt faculties. The postulate is that time-related priority hardware should allow certain low-priority functions to upgrade their "relative priority" as a function of time. Similarly, a design architecture problem needing a solution is an externally weighted priority system for on-line multiprocessing environments. This is most critical in the case where a number of computers perform separate tasks, with results having only a partial effect on the whole system. This kind of approach will very probably oblige us to completely review design approaches to I/O and channel structures. This discussion on the interrelation between real-time computer design and the executive routine, necessarily brings up the subject of "asynchronism." Asynchronous operations timing is a convenient tool for modular variability in which a configuration of system elements is not fixed. The control unit, the arithmetic unit. and the data transmission devices are among the major beneficiaries of this technique. Say, that the "transfer" operation calls for the transfer of the information from one specified register to another within the computer, With an asynchronous design, the transfer operation * Channel commands and the usage of flags for priority purposes are also relevant to the topic.
348
PART
v.
PROGRAMMING FOR REAL-TIME DUTY
will terminate just after the data transmission has started. In this way, the next operation can begin. With asynchronous design, a unique detection circuit on the buses can be used to detect echoes from the receiver and to terminate the transfer by the generation of a "terminate pulse." Data transmission time will then depend on the physical configuration of the source and sink involved. Note, however, the kind of faculties this implies, as far as the executive program is concerned. The necessary sophistication is all too obvious if one considers multichannel simultaneous operations. Finally, one should give careful thought to the necessary error control capabilities of the executive program. The "error routine" might be entered, say, as a result of a processor error interrupt signal generated by the hardware. The routine must then test the error indicators of the computer, determine whether the run that caused this signal should be abandoned or whether all runs currently sharing the computer should be left aside. Logging information must be provided for each such error occurrence, and this brings about the question: Can a time-spread trace be kept through permanent, constantly updated "quality history records"? The executive program through its error routine must also be able to decide or choose one way out among alternatives, in handling situations such as the foregoing. This decision would also, necessarily, call for additional "executive action." Say, the decision has been made by the executive program to "leave out" a certain interrupted program because of error considerations. An initial action will be to store the contents of all registers and indicators concerning the interrupted program, in order to preserve this information for a possible memory dump. Then, the error routine must get into action to prevent input/output interrupt and to remove the possibility of program interlocks. Furthermore, visual means should be provided to notify the operator that one program has been disabled. A more sophisticated approach would be, through diagnostics, to undertake or at least to propose remedial action."
ESTABLISHING FUNDAMENTAL CHARACTERISTICS One important characteristic of an executive program is that it should be made available on a real-time basis. Hence, it should be kept in a "special" section of the computer memory, preferably a section that is nonerasable. This me,mory section should be large enough to hold both commands and
*The reader is referred to the discussion on diagnostic and reliability considerations at the end of Chapter XXIII; also to Chapter XVI.
XIX.
REAL-TIME EXECUTIVE ROUTINES
349
data. Reserving storage for data is a necessity, since an executive program requires some working space that is immune to interference by other routines. The second basic characteristic is a direct function of the fact that the executive routine is not written for "any" computer but for one designed for real-time operations. Here multiprogramming plays a major role, and multiplexing is at a premium. Less cryptically, this means that the executive program should possess four characteristics. 1. Optimal Application of Facilities
This necessarily includes over-all hardware optimization with criterion the efficient end use. Operating programs may request, for instance, additional tape units, additional disks, drum storage, or other memory devices. Inversely, during operation, the executive program may decide to release facilities in order to make them available to subsequent requests of the forementioned type. On input, the executive program should assign an unused block of memory to the problem, insert the relevant addresses in the instructions, and establish the memory limits inside which the problem must lie. While the problem is being run, these limits should be held in two special "control counters" and compared with the address register of the memory every time this is used. If the address called for is not in the correct part ofthe program, a program error should then be indicated. This comparison need not retard the process of memory access, since it is possible to proceed in parallel with the read out. The commands setting the control counters should only be available to the executive program, whose function is to set them correctly whenever the computer moves to a fresh program. The foregoing responsibility makes all memory allocation problems a function of the executive routine. Any program can remove itself but no variable program can remove another. Only the executive can forcibly remove a program that is in production. In fact, it should do this if there is a program error, if the program overruns its time limits, or because of pre-established priorities. Such a faculty is an integral part of what the present discussion on basic characteristics aims to bring into perspective. It requires the inclusion within the framework of the executive program of subroutines able to provide automatic control over: • The scheduling of computer runs • The allocation of memory and external units • The inputLoutput operations • The concurrent processing • All interruptions and interlocks • The performance diagnostics.
350
PART V.
PROGRAMMING FOR REAL-TIME DUTY
This means that a complex of subroutines will need to be designed and incorporated into the main executive program. 2. Efficient Coordination of Communication Channels Options exercised by the operator in batch processing systems must now be converted to automatic handling. Still, between the central processor and the remotely located terminal devices is interposed the interface unit. This means that the executive program faculty must be such as to allow an operator at a remote site to initiate software elements and direct the resultant output for library entry or distribution of information to "whom it belongs." In addition, the executive routine should see to it that all peripheral gear behaves "as if' it were designed for a "homogeneous total" since there is no assurance as to the hardware homogeneity of the interface or even the input/output devices. This case is easy to visualize. A number of the slow input/output stations may be in use; these stations will transmit initial input data which needs to be read in and immediately stored, probably without much translation. At some later time, a special translating run would need to be initiated by the executive program and the resulting routines stored in a magnetic tape for later running. Furthermore, the subject stations would also be used for printing the results of programs whose volume of output did not warrant the use of the line printer. These results would then need to be stored by the executive program on the memory of one of the input/output coordinators and later printed out. Interface computers could also be directed through a central executive program and its peripheral dependencies to perform, say, a post mortem printing when testing a program that did not require manual intervention. An example on the necessary coordinating action can be taken when: • A program being tested in this way is finished • If it broke down in any detectable way • If it has been running for longer than was forecast. In all these cases, the contents of various prearranged parts of the memory would need to be output, but this operation will have other housekeeping jobs associated with it. The executive routine might be required to establish a quality history trace before printing out any parts of the memory. By using the executive as a steering device, much can be gained. One example in production work is that the executive would keep a record of the length of time spent in each program and, if the estimate were exceeded by a preestablished factor, treat the whole affair as a program error. Another example concerns what we may call a "job logging faculty." We see this faculty as an indispensable part of any control systems effort.
XIX.
REAL-TIME EXECUTIVE ROUTINES
351
3. Deadline Capacity By this is meant that proVISIOn is made for cooperation between the executive program and the controlled environment. A complex of subroutines will be necessary to achieve the subject task, their functions ranging from the handling of arithmetic overflow to an integrated series of operations involved in the initiation of a run in a multiprogrammed environment. To handle the complex deadline requirements imposed by a multiprogrammed environment, it may be desirable to divide these into various groups, or even to allow the priority of a program to be decided by the executive routine. This routine should then dispose its own housekeeping media in order to perform the necessary moves at the different priority levels. For example: • On moving to lower priority, the executive program would need to restore accumulators, index registers, and the like, then store the corresponding address limit counter. The executive must also prepare to enter the new program. If another interrupt of higher priority is still in force, it should enter the appropriate sequence instead, but then some trace must be kept of accumulated delays. It is understandable that a job may move in priority classification because of excessive accumulated delays . • On moving to higher priority, the executive program should store the present control number and priority, while copying accumulators, registers, and the like, as required for interrupting a program. The storage of this information in the appropriate memory locations is a prerequisite before entering the interrupting program.
4. Effective Multiprogramming Operation This goes beyond the real-time requirements since the processing of one or more batch programs can take place while the on-line program operates. Not only logical and arithmetic operations must be coordinated accordingly, but also memory space should be allotted to object programs. The programming of an executive routine should not underestimate the necessity of coordinating a series of short-run programs without spoilage of hardware. In a number of on-line applications, short-run programs may well constitute the majority. Short- and medium-length programs need a very special coordinating effort in order to avoid hardware spoilage. These might have been written with the aid of some form of automatic coding routine and will have been translated into machine code in sequence in memory in a form suitable for the input routine. The inherent characteristics of this process have, also, to be considered. In the described manner, when a request has been successfully filled the requesting program can be allowed to perform any immediate actions
352
PART V.
PROGRAMMING FOR REAL-TIME DUTY
resulting from such completion, acknowledging that the request has been taken care of. Upon completion of a program, the assigned facilities must be released and made available to other programs, and the next program must be initiated. This allows each of several programs to share in the available computer time, while control is rotated to each of the concurrent programs, and so is the use of the data systems processing facilities.
MECHANICS OF THE SUPERVISORY CONTROL When a program that is currently in production terminates, the executive routine should designate a successor. Depending on the use picture of the moment, as far as computer hardware is concerned, it may alter the facilities list of that successor. For instance, it may increase or decrease the memory desired by the "successor" or it may change the number of tape units specified by this "successor." This requires an optimizing faculty which, say, is accomplished by means of a subroutine which we will call the "optimizer." The optimizer, when entered with the subject information, must be able to proceed to locate and store the identification block of the successor. It then releases the facilities assigned to the terminating program. By using a "search trail" of current availabilities the optimizer should be able to determine the size of the existing gaps in memory available for assignment to the successor, along with the number of units for each type of required use. These units, in fact, may not be immediately available, but may become available later on, when needed by the successor program. In performing the forementioned job, the units belonging to the data system can be divided by current status into: (a) unavailable, or in prolonged use; (b) immediately available; (c) not immediately available, but becoming so. This is the case with units released by the most recently terminated program. The optimizer checks to determine if the total number of each type of input/output units required by the program is not greater than the number of units in the "available" and "becoming available" status. This can be accomplished by checking the entries in the "search trail" against the facilities list of the successor program. In case a "catastrophic deficiency" is discovered, concerning any of the types of units the system disposes, it needs to be interpreted as a failure of allocation and the human monitor notified by a type-out that "facilities do not fit." On the hypothesis that human monitors will still be around, the foregoing communication may give to the machine operation(s) the option to reduce the number of, say, memory units in a specified file, or to simply discontinue the program. This second option is, of course, conditioned by the criticality
XIX.
REAL-TIME EXECUTIVE ROUTI"LS
353
of the program itself. While checking the facilities list, the optimizer should also look for absolute assignment of units. Again, a failure of allocation may result. Should the human operator respond with the first of the outlined two options, the optimizer would need to execute the necessary rituals for loading the program. Inversely, it would respond to the second alternative by dropping the subject program. In case it is desired to change the allocations of specified files, the executive (whose part the optimizer is) must tally accordingly the internal file designation of a certain problem. This needs to be done for each file affected by its changes and for the assignments the executive itself is making in specified internal files. The executive should also update all control tables and build new internal file entries. Through sophisticated data control programming, it is feasible that a certain program which currently is in production indicates to the executive routine that specific files are desirable, though not essential to its running. This indication, provided in the facilities list of the working program, could cause the executive to assign such files to some other work. So, when the executive routine encounters an optional file it need only check the availability of units before processing the file, disregard optional files when determining if the program in question can be processed on the data system. A "job analysis" subroutine might be added, within the executive's framework, especially designed to provide the monitor program with the means for instituting adeq uate allocation procedures. It should also provide a collection of all information pertinent to the establishment of an efficient hardware usc. To help establish the works for hardware optimization and efficiency, it would be advantageous to record the messages presented to the operator by the executive program, and all replies to such messages given by the operator. Through the console typewriter, the executive can query the human monitor as to possible alternative actions in the case of various contingencies. This man can, in turn, reply via the typewriter to the computer's queries. In both cases, the console typewriter produces a printed record of messages and information presented to it. This constitutes the installation log. All of the subject information can also be recorded on a section of the internal computer memory set aside for this purpose, through an ingenious usage of data reduction techniques-for the computer's own reference. With the increasing sophistication built into the executive program, one should make sure that the primary objectives are not lost from sight. With respect to programming, as we have stated, the major part of the executive should be oriented toward:
354
PART V.
PROGRAMMING FOR REAL-TIME DUTY
• Coordinating the complex multiprogramming-multiplexing structure of a data system • Providing a continuous flow of data between the input/output and throughput facilities of the data system • Assuring the efficient sharing of computer facilities among the programs that are simultaneously operating. We have also said that, in order to provide for an able coordination, all requests for input/output actions to accomplish the purposes of the processing program should be made through executive control. Actually, the subject requests should have been originally included within the I/O subroutines of the library and incorporated into the production program during compilation. Hence, on the spot requests for input/output/external memory reading and writing should be handled by the appropriate subroutine of the production program. This subroutine communicates with the executive which alone executes the desired I/O action. The consideration of the I/O activities brings about the subject of channel control. Associated with each communication channel should be an "execution chain" containing the list of groups awaiting processing. Depending on priorities, the programs indicated in each I/O request should be placed in an "executive ring." This ring should be inspected, as I/O requests are executed, according to their priority class. The central processor is utilized most efficiently in this manner and is not considered with waiting for input/ output orders to be executed. A number of input/output problems remain which require elucidation. To the most important of these, we made reference when we mentioned the multiplexing of the communications channels. They include: • • • • •
Emergency handling Alarm monitoring Error recording Discrimination analysis Systems optimization.
The possibility of automatic start and shutdown of some of the hardware of the data ensemble should be considered. The capabilities the executive program should dispose in this connection would require substantial study. This is also the case of matters concerning automatic efficiency improvements. We have described an executive system as being capable of assuming the automatic transition from one real-time job to the next, the maintenance of a log, and the coordination of the concurrent operation of memory units and main frame processing. This is exactly in conformity to the objective
XIX.
REAL-TIME EXECUTIVE ROUTINES
355
of automating the operations that would normally be handled by a professional machine operator. In order to bring this contrast into focus, in the following lines we shall briefly review the sequence of basically manned operations in computer manipulation. For a manned job, the operator would take the following steps: • • • • • •
Punch parameter card(s). Select proper program deck and insert parameter card(s). Mount input tapes and prepare output tape units. Set up computer switches according to the program folder. Log start time of the components that are to be used. Load the program and process.
At the completion of a job, the operator would remove and label the output tapes, unless they are to be used on the next step. He would then remove the input tapes and log the stop time for the job on the system and components. From the foregoing elementary sequence we can define the general areas in which the computer can aid in its own operation, namely, scheduling and testing, procedure writing, general operation, system logs, and tape logs. To compensate for the lack of ingenuity and flexibility skilled humans could bring about, an executive program should possess some advanced diagnostics. It must have provision for receiving hardware failure signals from the processor peripheral gear, or object programs, and automatically store the problem in its current status for aid in diagnosis or restarting. * It must maintain a log of error frequency for statistical analysis, cause checkpoint procedures at selected time intervals, and make time studies of input-output balance. In this way it can keep an accurate record of the real time required to execute various sections of a program, to enable the processor to later reprogram for better balance and efficiency. If the executive routine has the capability to learn, it can further contribute to efficient systems performance.
SUMMARIZIl'JG THE EXECUTIVE ACTION We have paid due attention to the fact that an executive program should be in a position to schedule and select computer components by names assigned by the programmer. Without stopping the computer, it should call upon the processor to modify the program by using alternate units when hardware fails, or when for some reason it becomes unavailable. It should also communicate ~ith the interface machines of the data system to assign the
* See
also the last section of Chapter XX on Diagnostics and Reliability.
356
PART V.
PROGRAMMING FOR REAL-TIME DUTY
correspondence between the units to which the programmer refers the available units, and those which the action of the moment imposes to use. Its functions, redefined herein, will be to plan and guide the flow of different "unit applications" according to control specifications and job-to-job transition. A "unit application" is conceived here as the basic building block of the processing schedule at anyone time. The flow of control will be from "unit" to "unit" until a priority command is encountered, at which time control can be surrendered to the supervisor part of the executive. This program can be seen as consisting of five sections*: (1) A "schedule maker," which remains in memory and provides priority
criteria for throughput operations (2) An "assembler-coordinator," which allows communication with the compiling routine for instantaneous source-to-object language operations (3) An "intrajob communicator" (4) A "post-execution and maintenance" section (5) A "systems supervisor." The "assembler-coordinator" permits three alternatives for the handling of jobs that have been written in source language: • The source language program is processed to produce a corresponding relocatable object program, which means that this action is strictly limited to compilation. • Because the load process operates on relocatable binary programs, compilations need to be performed and the relocatable decks be stacked, under supervisory control, until a single absolute program is ready for execution. Hence, this action involves not only compilation but also stacking for subsequent loading. • This action is most complete. After the assembly operations have been performed, control is transferred to the object program, which ultimately returns control to the executive. Neither approach to process control programming is free of constraints, some of them being characteristic of the real-time requirements the system has to meet. The compiling, of course, to which reference was made, will itself impose certain extra software requirements. While almost universal in the data processing field, program assembly is done on the object machine itself, in the case of the control computer this is less likely to be so for the following reasons:
* Chapter
XX in fact presents a different solution-while continuing the case study on which has been originally discussed in Chapter XVII. This helps bring alternative lines of thought under proper perspective. SUMER,
XIX.
REAL-TIME EXECUTIVE ROUTINES
357
• Control computers are usually too busy with their on-line operations to be spared for off-line work. • Control computers are, at present, few in number and hence not readily available. We of course resort to assembling the process control programs on some other computer, preferably one that is generally available. With respect to the assembly, the best results are obtained if this "other computer" is in close relation to the control system itself, either through real or simulated hardware. This would mean that the instruction set ofthe assembly machine is a subset of the instructions available on the control system. Therefore, it would be possible to use it for both assembling and debugging. Furthermore, in addition to the usual array of checkout aids which would need to be available at the assembly machine site (the various trace programs and snapshot routines), some checkout aids should be built into the executive program for process control. To this, we have made due reference. * We have thus followed to a substantial extent the urgent need for an efficient executive monitor system, capable of serving the tasks assigned to the real-time computer. A process control system must provide facilities to supervise: • The use of the output data and communication channels • The evaluation and interpretation of data • The detection and correction of errors • The interlacing of time-sharing functions • The transmission and storage of information. The importance of a well-defined, flexible and powerful monitoring program cannot be overemphasized. The more items that can be handled by a system programmer as a routine call for service from a central programming authority, the faster final program writing and checkout can proceed. Additionally, a more efficient use of the hardware is realized. The following rules have proved particularly helpful in defining, programming, and evaluating this type of a general monitor. Rule 1. As we have already made reference to, the actual control programs should be written as a series of separate subprograms. Each one of them should be capable of being planned, discussed, written, and checked out on its own merits, as a self-sufficient unit. This approach has many advantages, among them are easier subdivision of programming effort, and faster checkout and simplified programming planning. Rule 2. No input or output devices should ever be directly addressed or used by any portion of the control program. Rather, all accesses to and from
* See also Chapter XX.
358
PART
v.
PROGRAMMING FOR REAL-TIME DUTY
the devices should be made through a monitoring subroutine. This approach eliminates timing and crosstalk interferences in the use of input-output facilities. Rule 3. No control subroutine should directly call in or transfer control to any other subroutine. Rather, all such transfers should be made through the monitor. This is particularly useful in minimizing interference due to the time-sharing nature of control system demands. In addition, it is a major help in debugging. SO· closely related is the need for a monitor to handle interrupts and external inquiries that frequently all of these functions are controlled by the same monitor. Rule 4. Interprogram calling sequences, program identification codes, common locations, and common symbolism should be standardized as early in the programming effort as possible-and should be well documented. Once done, changes to or variations from these standards should be minimized, if not banned. Rule 5. It is necessary to underline the advantages of incorporating into a real-time executive routine certain "intelligent" programming schemes. * To iterate what we stated on a number of occasions, computer programs are written to direct the machine in performing certain functions. Some of these functions are of a routine nature, others demonstrate a certain sophistication. Among the latter are those programs able to "orient" themselves to the problem and to its solution. This can only be in direct relationship to the "learning" ability of the machine. With on-line guidance operations we must necessarily look toward a machine able to problem-orient itself. This will involve writing a program that will accept other machine programs, each substantially large, and produce a guide, a map of that program which is useful for understanding. Notice well that problem breakdown is by no means identical to problem solution. It is one thing for the machine to establish the nature of different steps needed for the solution of a certain problem; another to be able to provide the connecting links among these steps; still another to break down each step further into sub steps and provide the necessary linkage. Let us assume for a moment that we have a machine able to identify the steps in question. We will call these steps black boxes, and treat them as such. Then the problem that comes up is that of integrating these components and of providing a spinal structure to link together the black boxes. What the real-time system would be requested to do is to take black boxes, analyze the relationship between them, and turn out a flow chart which could be compiled into a running program. *That is, for whatever the word "intelligence" may be taken to mean. Intelligence is one of those words we often use but rarely bother to define. Nevertheless, intelligence does involve memory, calculating ability, and "speculatation."
XIX.
REAL-TIME EXECUTIVE ROUTIf\jl:S
359
The foregoing clearly establishes that an executive program designed for real-time applications must be able to establish, by examination, which sets of black boxes are mutually exclusive and which can occur simultaneously. There exist striking similarities between the jobs of piloting among black boxes, in order to provide a feasible and acceptable linkage among them, and processing a statement to provide a finer grid plan for command action. Both relate to what we can call the problem of "artificial intelligence."* For an example of problem-oriented routines say that the machine is presented with a quadratic equation. Then, given a method to solve quadratics, which in some way has been made known to it, it must be able to establish which among a number of equations is quadratic within that problem. Furthermore, if several quadratics are presented, the machine must be able to deduct that they are all of the same form by substitution. This is a departure from present-day practices in electronic computation. Presently available programming schemes are still procedure oriented rather than problem oriented. "Iogic t"TruthsllorIlAssumPtions"l
ll
~
(0)
IFacts cnd
Figures
I"artificial WiSdom"~ Outcome (b)
FIGURE
2
The objective here is to develop a highly sophisticated machine program which could be called into action, by the executive, on an instantaneous basis, or constitute an integral part of the executive's own library. The subject program should be able to accept input statements at the problem level facing the data network. After preprocessing the problem statement, that is, the input it receives, the "artificial intelligence" routine must be able to investigate and to critically evaluate the wisdom of making one interpretation (of the problem) vs. another. Such wisdom will be based on predetermined criteria, but the outcome in itself does not need to be deterministic, the computer proceeding as in Fig. 2.+ The way of doing things we are outlining is perfectly compatible with the manner in which process evolution has taken place. Evolution in man-made systems has always been based on prerequisites, and these prerequisites require a certain time for maturity. "Industrialization," as a process in time,
* We are treating; the subject of "intelligence," both natural and artificial, in our work, "Information Science." t See also, by the same author, "Operations Research for Industrial Management."
360
PART V.
PROGRAMMING FOR REAL-TIME DUTY
is an example. What we (ironically) customarily call the Industrial Revolution actually occurred from 1750 to 1850. But its roots go back at least a hundred years before that. In the years 1750 to 1850, various prerequisites were brought together: The laws of physics that had been understood, the cheap metal that had been produced, and a tolerant society in which individuals could act with some initiative. Given time, the prerequisites mentioned became background reasons, which eventually constituted the systems understructure. The idea of Newton, that the laws here on earth are precisely the same as the laws anywhere in the universe, was a more important accomplishment for analytical thinking than all other detailed discoveries of Newton's time. During that same century a certain important development in basic technology also evolved. England ran out of firewood, and therefore had to turn to a "poor" substitute, coal. It was soon discovered that coal burned at a higher temperature, and, as a result, man could handle iron much better than before. With this, the price of iron dropped below that of bronze, a major factor in the launching of the iron age. Similarly, Newton's discoveries made it possible to dream of machines, and the accidental introduction of coal in England made it economically possible to construct these machines. All ofthis had, in fact, no consequences in the century in which these events took place; but mankind certainly felt the impact one century later. We are about to experience this impact in digital technology, only now the time scales have shrunk and, instead of in one century, we may experience it in ten years. The significance of this in respect to responsibility for computer manufacturers is tremendous. Unfortunately, no computer manufacturer has yet given any sign of living up to this responsibility. Monitor systems is a case in point. Monitors and executive programs, we believe, should be tailormade to the "hardware-applications" perspectives-none of them really is. Without focusing on the environmental interactions, and their control requirements, they cannot take advantage of optimization procedures and tools. Actually, we have seen general-purpose monitors being some 80% inefficient. A recent evaluation we made indicated that inefficiency often hits the 60% level in device assignment and systems availability. Systems control procedures should constitute a language tailored to the applications horizons. Commenting on a 1965 research project along digital automation lines, Maurin* brought this subject into correct focus when he stated:
* L. V. Maurin, Louisiana Power and Light Co., New Orleans; from a lecture presented to the Edison Electric Institute, New Orleans, on February 15116, 1%5.
XIX.
REAL-TIME EXECUTIVE ROUTINES
361
The effort required to construct a computer control system defies the imagination. The difficulty is not in the computer hardware, for it is relatively easy to accommodate to hardware deficiencies. And, with current rapid developments, hardware capabilities will generally surpass the ability of the user to fully utilize these capabilities. Nor does the difficulty arise from any inability of the manufacturers of plant equipment to predict adequately the characteristics of the equipment being furnished. The efforts of the Foster Wheeler and General Electric Companies for the Gypsy" control project have been commendable and give every indication of being successful. The difficulty does lie in the area of software-the flow charting, coding, programming, and verification of all computer functions. This is the area that involves the most time and effort and suffers most from the lack of experienced personnel and standardized programs. It is further complicated by being in a state of evolution; the surface has hardly been scratched.
This same reference underlined another crucial point. It concerns the checking by simulation of all computer programs prior to plant application. Checking was accomplished on Gypsy I, the applications-research project under discussion, with the simulation being done in the field. The experience has shown that field simulation is inefficient due to lack of facilities; lack of skilled personnel in required numbers; and conflicting demands on computer time by operating and test personnel. As a result of this experience, the research analysts postulated that the principal solution to these problems is to accomplish the simulation at the factory, and Gypsy II has been so planned.*
* Simulation is also a reasonably tedious process. To alleviate this situation the computer manufacturer, Control Data Corporation, designs in cooperation with the user simulation programs that will permit the checking of control routines using software only. Among the features incorporated in this approach are facilities for trapping input and output instructions. According to the user, on-line "debugging" aids will also be provided to assist in the factory simulation and to facilitate field changes according to the evolution in operating requirements. On the theory and practice of mathematical simulation, see also "Systems and Simulation."
Chapter XX PROGRAMMING AIDS FOR PROCESS CONTROL
To help in the programming job, the availability of symbolic assembly programs and compilers should be carefully investigated and evaluated in specifying a system. As with the business and scientific applications, programming systems reduce the time and effort of the analyst in going from problem definition to coding, debugging, and putting a program into operational status. An additional "software" consideration is accessibility in libraries of general-purpose computer routines, available, free of charge, from the manufacturer. A word of caution should, nevertheless, be added to the foregoing paragraph. Most manufacturers prefer not to use a compiler, if possible, when faced with problems in process control and related applications. The reason given is simple-too many constraints. First, the problem definition of an "executive program" imposes additional constraints on storage, symbolism, calling sequences, and running time. Then, along comes the compiler, producing programs with constraints on storage and running time. Constraints which are inherent to the particular compilation method that has been used, and to the little experience we now have in these matters. For most cases of real-time applications, these several types of constraints are almost invariably inconsistent. Something has to give and that something is usually the compiler. This is so because, of the various constraining systems, the compiler is the only one that can be replaced by machine language programming or symbolic assembly at the most. A one-for-one symbolic assembly program has the flexibility to adapt itself to almost any constraining system, while it imposes no constraints of its own on the programs it produces. 362
XX.
PROGRAMMING AIDS FOR PROCESS CONTROL
363
DESIGNING AN ASSEMBLER-GENERATOR
Let us consider again SUMER, the experimental programming system whose general features were briefly outlined in Chapter XVII. Our attention will now be focused on its general structure, on its micro-operations and semiprograms. The general structure of SUMER has been developed with the specific objective of minimizing programmer effort and maximizing the efficiency of every phase of programming preparation. This is composed of five principal elements. SUMER Assembler. This element translates symbolic coding and produces operating programs in machine language (binary) on magnetic tape. SUMER Library. The Library contains both subroutines and macrooperations, each thoroughly tested and capable of being incorporated into any program during assembly. SUMER Auxiliary Library. The auxiliary library is composed of two parts: • A SUMER upkeeper for adding and deleting routines and modifying existing routines in the library. • A SUMER tester, which operates a file of unchecked programs, obtaining, at no reduction in machine speed, requested information at points specified by the programmer for later analysis of program operation. SUMER Report Generator. This element will generate programs capable of producing "desired reports." Information concerning the desired report must be supplied to the generator. The user inputs the necessary specifications by using names and symbols that help simplify description requirements. The obtained output of the report program generator is the report program itself. SUMER Executive. The executive schedules checked out programs for parallel processing, based on their individual hardware requirements, timing, and urgency, and then automatically leads and executes the scheduled programs. The benefits to be derived from a programming system, such as SUMER, in process control applications are known from past experience with other, more traditional, systems. They include a drastic reduction of the cost of problem preparation, a minimization of the required staff, a significant improvement in the time needed to put the new program into operation, easier program modifications (to reflect changing requirements), increased computer use on a broader range of jobs, and possible interchangeability of programs among different installations. In the case of SUMER, the programmer provides the compiler with a set of simple inputs which completely describe his problem. SUMER creates the machine program, which does the job by translating source language into computer language. The conciseness of the object program is a direct function of the particular care that has been invested in the editing
364
PART
V.
PROGRAMMING FOR REAL-TIME DUTY
routines. The "card handler," for instance, given the proper specifications, will read a card (or tape of card images), identify the card type, edit the fields as requested, convert decimal to binary if desired, and write onto the tape. Similarly, a single macro-operation generates coding to carry out any or all of the following report editing functions: • Assemble one out of a number of different types of print lines. • Edit information with given specifications. • Blank suppress for field compression. • Insert punctuation as desired. • Perform visual format control, if required. • Undertake decimal/alpha/octal conversion. • Print lines with desired skips, or send images to output tape for later printing. Whenever the tape format specifications are given, single macro-instructions will generate coding to open tape and check label, or read tape and provide the programmer with one item at a time until "end of file" is automatically signaled to the program. SUMER macro-operations will write tape with any format, including blocked records of variable length containing variable length times where the programmer merely provides one item at a time; they will close tapes, writing labels as required, and switch reels for a multireel file. ' As far as the report program generator is concerned, it may consist of one or more subroutines depending on the condition and arrangement of the ,input data. The first subroutine, for instance, is used to select records or fields to be included in the report based on requirements specified by the SUMER executive. If the input records are not in the proper order, intermediate records need to be created for sorting. The next subroutine is essentially a sort program. Its job is to place the intermediate records produced by the first subroutine in the order required by the report. If sorting is not necessary, the second subroutine could be omitted and the functions of the "first" and "third" combined into one. The editing of the data from the sorted intermediate records into the form required by the report is done by this forementioned "third" subroutine. Heading and total lines need to be prepared and inserted, depending on control break levels. Line spacing, as specified by the user, will also be provided by this third subroutine of the report generation program. The over-all operation must necessarily consider the exact type of input data files, the proper selection of fields to be printed, questions relating to the format of detail lines, the type of editing for the data to be printed, and guidance information for the insertion of totals and related headings. The number of printing positions available
XX.
PROGRAMMI:"
365
requires that the report format information per format line also be given. The SUMER programming system permits the representation of constants in alphanumeric, decimal, octal, and binary forms. Each character in an alphanumeric constant is translated into a six-bit or two-octal code. Each character in an octal constant is translated into a three-bit code. A fixed binary constant, specified in decimal by the programmer, is translated into its binary equivalent. Alphanumeric constants of more than one word need to be properly specified in the command code field. This definition permits the programmer to identify a constant consisting of several words. An alphanumeric constant described in this way is allocated an integral number of high-speed memory locations by the SUMER assembler. The assembler translates the symbolic language and produces an operating program in both symbolic and machine language on the "symbolic program tape." This tape contains a file of programs being checked out, together with test data for each program. This is accomplished as part of an updating run in which programs are added to or deleted from the symbolic program tape, and existing programs and test data are modified on the basis of information derived from the preceding checkout run. The SUMER assembler will see to it that this updating run is followed by a program selection run which can prepare a program test tape, containing programs and test data to be executed during a checkout run; or, the SUMER assembler may produce, upon operator's instruction, a master "relocatable" tape, containing checked-out programs to be scheduled by the executive for production purposes. Input to this run includes the symbolic program tape, plus an active program list specifying the programs to be transferred to either of the output tapes. Those programs transferred to the program testtape are accompanied by test data and by instructions which specify the kinds and amounts of diagnostic information to be generated during checkout and the program points where this information is to be generated. The program test tape is the input to the checkout run, during which the SUMER tester executes each program on the tape, using the accompanying test data and generating the requested information at the specified points. The information generated is printed in a variety of formats designed for convenient analysis by the programmer, who uses these listings to specify the changes in programs and test data which will be effected during the next updating run. Programs transferred to the master "relocatable" tape are accompanied by relocation information which the SUMER executive uses to modify memory and peripheral equipment assignments in order to schedule production programs for automatic parallel processing. The master "relocatable" tape is the input to the executive scheduling run, together with a proposed schedule that specifies the programs to be scheduled, the memory and equipment requirements of each, and any
366
PART
V.
PROGRAMMING FOR REAL-TIME DUTY
necessary production sequence among the various programs. Based on this information, the SUMER executive schedules groups of programs to be processed in parallel, relocates the scheduled programs, and records them in operating form on the production run tape. An executive run supervisor is stored on the production run tape, along with the scheduled programs. This routine executes the schedule, automatically loading the production programs, turning them on and off, and communicating with the operator as necessary. As designed, the executive program operates as a master checkout aid. This is most important, for, unless the wealth of debugging information an executive program coritains is organized so as to be available on a realtime basis, a great deal of time will be lost during checkout in tracing the sources of errors. As separate subprograms of the control program switch in and out of memory in a somewhat unpredictable order, errors perpetrated in a given program may not cause problems until some later day, and then perhaps only if certain other events have occurred in the meantime. This means that the system may function properly when its subroutines run in the prescribed sequence, even though an error is perpetrated in one or more of these subroutines. Therefore, the minimum requirement for checkout is a real-time audit trail of program-running sequence. The real-time programmer will be well advised to make his checkout in stages, to "think small" at the start of checkout. Only after satisfactory checkout of a few related subroutines should he proceed by adding more to it. He should not start at once with all subroutines, because the many malfunctions that occur tend to conceal one another or present conflicting symptoms. Also, by far the greatest aid to a good checkout is adequate documentation. Since documentation has its greatest use after program completion, it is frequently the first item put aside when time is short during the programming phases. This is a mistake. Some minutes saved this way during programming frequently means several hours lost during later checkout.*
CRITICAL SUBROUTINES AND FUNCTION PROGRAMS
The programming support for a real-time computer should include a comprehensive package of programs designed to speed implementation and assure efficiency of each installation. This may sound "logical and obvious," but, with respect to software, it has many implications. In the following we will examine some of the more critical areas it affects.
* See also Chapter XIX, where
a different approach has been considered.
xx.
PROGRAMMING AIDS FOR PROCESS CONTROL
367
A set of closed subroutines is an absolute necessity for the performance of the real-time control functions. Input-output subroutines, for one, are needed by the computer to order the blocks of data to be transmitted, say, from a defined input buffer area into core storage, or from the internal storage to a specified terminal station. This is also the case in ordering a block of data to be transmitted from a specified process terminal station and to be read into a defined input buffer area of a satellite computer. As the I/O subroutines use common line procedures, they can be programmed in one package. In SUMER, the three functional operations of this package, used for the initiation of line routines, are called GO, SCAN, and GET. They all work on the common principle of first initiating the line traffic and then returning control to the next instruction of the calling program. The calling program and the line transmission then proceed concurrently until a condition in the transmission control unit causes an interrupt, the "inquiry request" indicator having at this point gone ON. In the organization of the real-time control system we are considering, the turning ON of the "inquiry request" indicator causes the running program to be interrupted, a branch is made to a predetermined location in core storage. Starting from this location, a "monitor interrupt" routine is entered. The subject MI routine is integrated with the programming package containing the I/O subroutines. MI initially executes a sequence of branch instructions to detect what caused the interrupt. The possible cause is the completion of some line operation, or an interrupt from the time emitter. In all cases, MI provides the proper return addresses in the correct sequence. The same routine also transfers control to the correct processing program when an initiated line operation is completed, and ensures that no contention arise with regard to the use of the following internal processing subroutines. The "GO output subroutine" is able to handle motor action initiations, digital output, analog output, and the coordination of displays and logging units. More specifically, this subroutine should initiate the transmission of a coded message assembled by the programmer in a specified buffer area. The parameters given in the calling sequence provide the GO subroutine with information as to: • • • •
Line specifications Terminal station code Starting address of the terminal multiplexer Address to which control is to be given when the operation has been successfully completed • Address of an exit to which control is to be passed if an error occurs. The GO routine selects the correct line, assembles the station code and the terminal multiplexer, starts addressing the text in the correct satellite
368
PART V.
PROGRAMMING FOR REAL-TIME DUTY
core storage or output buffer areas, writes this record on the correct line buffer, and subsequently branches back to the next instruction of the calling routine. Concurrently with the continuation of this routine, the transmission control unit automatically transmits the text to be sent. In the event of a negative answer-back to the initial addressing of the terminal station, two more attempts are to be made before exiting to a common symbolic error location. This error location is also used by GET and SCAN. If the terminal response is positive, the transmission control unit transmits the text of the message. This text consists of the terminal multiplexer starting address followed by a string of characters representing the output operation to be executed. The text message is terminated by a longitudinal parity character which is checked by the receiving terminal. At the completion of the text transmission, an answer-back is transmitted, which causes interrupt of the then proceeding program. The monitoring program will re-enter the MI routine, because ofthe interrupt, and will then proceed to identify the cause of this interrupt. If the answer-back is negative, exit takes place to the predefined symbolic error location specific to the particular GO operation. Otherwise, any waiting operation for that line is initiated, and control given to the specified location of the processing routines. It can be easily appreciated that the bulk of programming the line transmission is thus taken over by the subject programming package. It is only necessary for the user to specify the forementioned parameters in order to secure the transmission of a message to a specified set of terminations at a given station. This operation is performed under completely automatic control on a given line with perfect overlapping of the calling program. This automated activity also includes all conceivable error outcomes which have been provided for. Similarly, the SCAN is designed to continuously scan the lines for alarm conditions except when they are being used for data logging and control operations. To this end, the programmer assembles, in a core storage buffer area, a list of the stations to be scanned. This list should be arranged in the order of scanning. The symbolic address of this area is given by the programmer as a parameter in the calling sequences, together with the specifications of the line on which the polling is to take place. With this, it is important to specify an address to which control is given, should any station reply positively with a text message. The user can branch to a fixed entry point of the MI package which is designed to initiate polling operations. The correct line is then selected, the polling list placed on the buffer, and a branch executed back to the next instruction of the calling program. This program proceeds concurrently with the polling of the stations in the given order until either a positive answer
xx.
PROGRAMMING AIDS FOR PROCESS CONTROL
369
to the poller is received from the station, orthe main program, a GET or a GO, stops the polling by issuing a branch on the buffer-busy subroutines for that line. Before polling starts, through the intermediate of the GO routines, the user should make sure that all the terminal stations to be scanned are in polling status. This means that the address registers of these terminals have been loaded with the address of the first process alert termination. When a station answers affirmatively to process alert polling, it proceeds immediately to transmit a message consisting of a heading character followed by a string of binary digits. These digits represent the conditions of the process alert terminations. On receipt of the complete message, an interrupt signal breaks off the proceeding program and causes re-entry to MI. Having identified the cause of interrupt, the contents of the buffer in question are placed in the correct input buffer area. Exits should then be made to the address parameter specified in the calling sequence of the SCAN routine. Should any line error have occurred during the transmission of the message, exit takes place to a common symbolic error location. Finally, the GET subroutine orders the transfer of a block analog inputs, contact sensory elements, digital inputs, or any combination of these, depending on the hook-up of points in the terminal station. This transfer will take place from a specified process terminal to the transmission control unit and the computer. The parameters provided as input to the GET routine include: • • • •
Specification of the line involved Identification of the terminal station address Identification of the starting address in the terminal multiplexer unit Location of the address of the processing routine to which control is given for completion of the input operation.
The MI package is thus entered through GET. The monitor program will then proceed to initiate the requested action. A message consisting of the station code and the starting address of the terminal multiplexer should be assembled in one of the buffers for the line concerned, from core storage. The GET routine selects the correct line for the foregoing operation and writes this message on the buffer of that line. An addressing operation, similar to the one in the GO routine, is thus initiated. With this, the starting address of the terminal multiplexer, from which input is obtained, is set up in the address register of the desired station. If different error conditions arise during this operation, GET will, where possible, reinitiate the operation up to a total of three times. Assuming that all goes well, there is an interrupt on the completion of this initial addressing operation which causes re-entry to the monitor system.
370
PART V.
PROGRAMMING FOR REAL-TIME DUTY
MI then writes a one-station polling list on the buffer from core storage, upon which control returns to the interrupted routine. Concurrently with this operation, the transmission control unit polls the stations and receives the input message that the program has requested. The input/output controls should be efficient enough to relieve the programmer of much of the programming effort required to control data transmission to and from remote terminals. In so doing, it serves the user in two ways: (a) It can provide concise, efficient, pretested routines to handle such system functions as interrupt, end-of-block detection, error detection, status alteration, control-work-address initiation, output scheduling, coordination of the central computer system with other input/output devices, and the development of a control-word field at assembly time. (b) It can provide for entry into user routines, and define the programming functions associated with the real-time computer, that can be performed within user routines. Furthermore, because the system is assembled on an option basis, the user can call in only the routines required for each application. In judging what is "good" or "bad" in a real-time subroutine it is necessary to have some standards: (I) Calling sequence media referring to table locations or other addresses should be indexable in order to avail for automatic relocation and control on behalf of the executive program. (2) Information about the range of constants or variables included in a given reference table should be part of the table itself, or else special counters should be provided, as mentioned in Chapter XIX. (3) The subroutine should be able to check whether the argument(s) is (are) inside acceptable, pre-established limits and branch into an error routine if it is not.
ASSEMBLER COMMANDS AND MACRO-OPERAnONS A process control program written in SUMER language uses a number of "identificators." These identificators are easy-to-learn statements which fall into the following categories: • The language proper statements specifying the programmed job • The assembler identificators governing the flow of control in the program • The input/output statements, instructing the handling of incoming data and outgoing results
XX.
PROG RAMMING AIDS FOR PROCESS CONTROL
371
• The macroop statements enabling the programmer to define and use subroutines within his main program. We will start with the description of the assembler "identificators" which provide certain necessary information about the source program to the compiler, to enable it to produce a machine-language program. They define the program and segments of a program being assembled, assign memory areas for a program, and provide techniques for making special assignments of symbolic tags. * The more important identificators are the following: Subject. This identificator labels the program and must precede all instructions. Start. The starting location of the program is specified in the location field of this identificator. Position Tag. The address position of this identificator contains an absolute memory address or a symbolic tag. If the address is absolute, it is assigned to the instruction or constant that immediately follows the instruction. Following this, additional instructions or constants that follow are assigned consecutive memory locations under executive supervision and control. Equivalent. This identificator assigns a value to a symbolic tag. The assigned value may be an integer, another symbol, or an expression that is an algebraic combination of up to six integers and symbols. Addition, subtraction, multiplication, division, and logical operations may be used to combine integers and symbols. Hold. This identificator reserves consecutive locations. The words in this area may be referenced by specifying the tag ofthe HOLD instruction followed by the relative position of the word in the reserved area. We have already spoken about limits control. Start Macro-Operation. This identificator must precede any programmerdefined macro-operation. A macro-operation is terminated by an END MACROOP identificator, which must follow all instructions of any macro-set by the defined programmer. SUMER also has available a number of macro-operations, any of which can be incorporated into a program using a one-word pseudo-instruction, which specifies the desired routine and all parameters required for its execution. For instance:
Interpolator I, II. With Interpolator I, a Lagrange interpolation formula is used to evaluate a function, anywhere in a tabulated set of unequally spaced points. With Interpolator II, the Laplace central difference formula is applied to evaluate a function near the middle of a tabulated set of equally spaced points.
* See also the discussion
on the executive routine given in Chapter XIX.
372
PART V.
PROGRAMMING FOR REAL-TIME DUTY
Matrix I. This matrix provides for symmetric matrix addition, subtraction, and scalar multiplication. Its function is to add, subtract, multiply by a scalar, or any combination of these for symmetric matrices, storing only upper or lower matrix triangles. Matrix II. The object of this program is the solution of linear equations, determinants, matrix inversion, and multiplication. It is based on a variation of the Gauss elimination method for solution of linear equations and matrix inversion. The determinant is calculated during the elimination process. The original matrix is saved and the inverse multiplied by the original to check the solution. Matrix III. This program handles the premultiplication of a matrix by its transpose with the entire or lower triangular matrix stores. A matrix is premultiplied by its transpose to obtain an M X N matrix, which is then stored by column as either a whole or a triangular matrix. Evaluator for Complex and Real Handling of Polynomials. This program evaluates a polynomial for a given complex value of the independent variable. Shift Word. All bits of a word are shifted right by x positions. Digits falling off at the right are lost and replaced by an equal number of zeros on the left. The number of positions shifted x is interpreted to mean alphabetic character positions, decimal digit positions, or bit positions depending on which code is given in the instruction. Degree to Radians. This macroop converts a signed fixed decimal word of degrees, minutes, and seconds to radians, or a signed fixed decimal word of radians to degrees, minutes, and seconds. Logarithmic. This computes the logarithm of X to the base 2, to the base e, or to the base 10 for values of X greater than O. A rc Tangent, A rc Sine, A rc Cosine. This macroop computes arctan and other trigonometric functions for an angle less than one radian. It also finds an angle in the first or fourth quadrant. Encoder-Decoder. Routine is included to help encode or decode a seq uence of input messages. Roots I, II. One macroop establishes the square root and another finds the cube root of any floating decimal number. Random Number Generator I, II, and III. Using the middle squares method, the RNG I macroop generates floating decimal pseudorandom numbers. RNG II generates random binary numbers of variable length, and RNG III generates random normal numbers. Statistical Solver. This routine determines the solutions of a nonsingular set of k linear equations in k unknowns. Range Evaluation. This program determines the maximum, minimum, and range of a set of n observations.
xx. PROGRAMMING AIDS FOR PROCESS CONTROL
373
Statistics I, II. and III. Using the method of least squares, Statistics I fits a polynomial of nth degree to a set of M weighted points. Statistics II calculates the least squares best fit for the regression coefficients. A measure of the dependability of each of the coefficients is given. Statistics III computes and provides to other macroops or to the main program the means, standard deviations, variances, covariances, and coefficients of correlation. Correlation I, II, and III. Correlation I is designed to calculate simple correlation coefficients between all parts of given variables. Correlation II computes the partial- and the multiple-correlation coefficients of sets of input variables. Correlation III is a regression analysis program made to perform on a set of data relative to one dependent, and n independent variables. Variance- Covariance I, II. The routine I is designed to analyze the variance in a set of data from several different sources, by calculating the sum of squares, degrees of freedom, mean squares, and v2 ratio of each source and interaction. Routine II considers numerous sets of data and compares the various regression lines defined by these data, in combination with Correlation III. . Statistical Package. This routine is designed to provide highly specialized scientific programs, integrated into a mathematic-statistical library system. It is open ended, and comprises four subroutines. The function of the first of these is to validate input parameters and input data, convert input data to floating point format, and store them in memory in preparation for statistical analysis. The second subroutine locates in memory the necessary data and transfers control to each routine specified by the input parameters; it also handles end-of-run functions. The third subroutine specializes in library tape maintenance. It allows the user to duplicate, print, delete from, add to, or modify library-stored statistical programs. The fourth subroutine is an executive program's auxiliary means and performs such functions as "data display," printing or projecting on a screen the results of a statistical manipulation, and the like. Statistical A nalysis. This macro-operation computes the average of a set of number (300 maximum) and 30 statistical measures related to the average, dispersion, randomness, and other properties of stochastic distributions. Differential Equations. A group of routines is classified under this headline, to serve the user in the numerical solution of ordinary differential equations. The properties of these routines are self-explanatory. When solving differential equations, error control is one of the main considerations. Ofthesubject routines, three check truncation error, two stability, and one over-all error. Linear Programming. This routine accepts an interpretive command language with full logical capability and the ability to prescribe other macrooperations, some of which have been included in this listing. It is essentially
374
PART v.
PROGRAMMING FOR REAL-TIME DUTY
an optimization model conforming to the established linear programming approaches. PERT/Cost. This program handles upwards of 10,000 events with provision for entering condensed subnetworks. Report preparation is also included and so is the"case of search for potential critical paths.
SOME RELIABILITY CONSIDERATIONS The list of the "necessary" real-time control subroutines does not end here. Functional requirements add to the job. A digital control system must be reliable. Reliability in control computers is obtained through design, system philosophy, programming, and maintenance. Each stage calls for special considerations concerning feedback information. This task may pose significant demands on data collection and reduction-other demands will be posed in storage. SUMER provides combined diagnostic and reliability routines able to supply the user with the necessary information on control system functioning. A special subroutine has been designed to assist the maintenance engineers in the printout of messages. Quality-history records are scanned regularly, extrapolations are made based on these records, and maintenance is directed accordingly. Typical messages include: • "COMPONENT XXX EXCEEDS MTBF" • "ON-OFF ERROR IS IN XXX LOCATION" • "THE FAILING POINT IS XXX" Understandably, diagnostic applications imply a good deal of systems analysis work. And while it is possible to provide some software packages that will make up for hardware design failures, the real origin ofsophistication in systems architecture is in the steps that will eventually lead to the drafting board. The analyst has a formidable task in the area of control system functioning. Though it is fair to say that the industrial computers, now available, are built around the latest solid-state devices, printed circuits and the like, with a careful selection and rating of the components, the task of assuring operability is a critical one. This becomes even more apparent when one considers that the computer itself is only a portion of the system, and the system is no more reliable than its weakest element. System reliability can be achieved by selecting only the highest-quality sensing devices, typewriters, punches, and other peripheral systems equipment. And since reliability is directly related to simplicity, the peripheral equipment should be kept to a workable minimum. This also holds true for software.
XX.
PROGRAMMING AIDS FOR PROCESS CONTROL
375
In matters concerning real-time operations, hardware reliability is multifold. We have treated this subject in Chapter XVI, so we need not return to it at the present point. What we do need to do here is to stress some software aspects that will enable the computer in collecting, recording, and acting on data which needs to be fed into statistical studies in the evaluation of reliability. As this data becomes available, computer effort must be expanded in implementing the necessary statistical methods for its conversion into reliability estimates. A number of subjects is associated to this step, as, for instance, the time and memory space directed toward reliability research. This is bound to increase as historical quality records accumulate. The objective of software development in the direction of reliability and quality history is to provide the proper data so that the necessary mathematical, statistical, and laboratory methods can be implemented. This presupposes the evolution of a component or system follow-up method able to incorporate reliability as a goal function. On a long-term basis, such application should also tend to improve the reliability characteristics ofthe computer design, by making available digested feedback information to the machine designer. At the operational end of the line, the computer program we are discussing should be able to assure the maintenance and evolution of reliability characteristics of the data ensemble. This includes the provision of bases for decision, where matters of reliability are involved. The functions of this program will necessarily be directed toward mathematical and statistical tools, including the statistical design of experiments in order to study newor unclear aspects of a given problem. This is the only way to give precise answers on matters involving the estimating of the value of reliability improvements in terms of money, time, or other measures of performance. How far this scheme could go is not a matter that should be discussed at this point, the answer of course depends on the proper parameters of a certain situation. Suffice it to say that sophisticated approaches can be taken on problems and methods that have shown early promise for an analytical solution. The field is so broad and complex, that one could say no real progress can be made until the major operability problems for real-time systems have been duly recognized and steps taken for efficient handling. It is important to realize that often a decision on product assurance and, correspondingly, systems performance cannot be indicated by elementary means. A more detailed evaluation must be made, and when this is the case the analyst is almost immediately confronted with the lack of relative data. This informational feedback on the system's own performance is far more critical than any mechanics, let alone the fact that the value of any "general reliability" equation derived to date is a matter of considerable doubt. Hence, in the following few paragraphs we will focus our attention on the general guidelines.
376
PART V.
PROGRAMMING FOR REAL-TIME DUTY
In order to develop a process-control program able to handle the system's reliability data in an able manner, the study that will precede the installation should establish all pertinent operational variables. The programming job that will follow can only be based on the identification of these variables and the data that will describe their reaction curves. But reliability controls concerning input signals, output action, and the throughput itself should be thoroughly analyzed to justify their need. It is better to provide space in the original design of a programming system for later additions, than to load the system with functions and programs of marginal utility. From a systems-programming-operating point of view, maximum availability will be achieved when failures in any component" are detected and identified before they occur. Failing that, it is important that a failure be located in the least possible time. Maintenance records on conventional control equipment, for scientific and business computers alike, have shown that two to ten times as much time is spent locating a fault as is spent in actually repairingthat fault. Here the ingenuity ofthe programmer, in helping the equipment he programs to self-establish quality history records, should show up. More often than not, the program of the computer can be utilized to improve over-all process reliability. This can be done by providing diagnostic and system testing subroutines, to the main operating program, which relate to the functioning of the peripheral equipment as well. These diagnostic routines should act continually to check the operation of the components during normal operation. Failures, then, would be detected in time to prevent improper actions with possible damage to the process machinery. These diagnostic routines should include, wherever possible, "reasonability" checks of all input signals to the computer. Such checks would require the central processor to compare each scanned signal value against either a known permissible rate of change or the prior history of that signal. Any scanned value that appears out of bounds, or unreasonable, should be rejected as unusable and identified to the line operators. With similar subroutines, sensing device failures could be detected and located. Total systems reliability can be further improved by using the computer to scan potential danger spots on the process, such as bearing temperatures, product mix gas analyses, and the like, and providing early warning of potentially dangerous conditions. For its part, the plant should be alert to the need of developing preventive maintenance procedures to detect potential failures in the computer and the peripheral system components before they occur.' Stated in different terms, although great efforts are being made to build "maintenance-free" and "self-checking" computer systems, they are not
XX.
PROGRAMMING AIDS FOR PROCESS CONTROL
377
yet available.* Computer systems will require technically skilled maintenance; the lack of it can reduce an installation to a costly experiment. But here we have an opportunity to obtain quality service on matters of systems dependability, a service which was never before available to us. Industrial computers are drastically different from most existing electrical apparatus. While the normal industrial labor market is practically devoid of control computer maintenance skill or experience, the control computer itself, if intelligently programmed, can help close this gap.
* See also the discussion
on fail-safe and fail-soft, in Chapter XVI.
Index Abstracting process, 214 Abstraction of literature, 191 Access random, 10, 37 Access locations, 308 Access time, 39, 83, 88 Accumulations-coIl\Putations-settings, 242 Accumulator, 309 Acrylonitrile, 13 Adaptation, 235 Addition logical, 178, 181 successive, 158 Address, 38, 318 Address register, 349 Advanced mathematical statistic, 194 Afferent, 33 Afferent neuron, 80 Aircraft control stick, 207 Airline reservation, 136 Alarm monitoring, 354 Alarm organization, 308 Alarm scanning, 12 AI-Batani, 161 Alexandria, 65 Algebra, 160, 161 Algorithm, 7, 161,259 Allotted time, 5 AI Khwarizmi, 161 Alkylation, 264 , Al-Mansur, 161 Alsifr, 161 Aluminium oxide refractory, 83
379
Ambient temperature, 24 Ammonia, 13 Amplifier, 90 Analog, 51 Analog arithmetic, 160 Analog automation, 9 Analog devices, 99 Analog signal, 108 Analog-to-digital, 14, 78 Analog-to-digitaJ conversion, 83 Analog-to-digital converter, 16, 85 Analysis, 7, 159 bibliographical, 191, 196 correlation, 29 design, 7 discrimination, 354 mathematical, 9, 70, 71, 243, 258 numerical, 12 physical systems, 73 regression, 29 scientific, II statistical, 49, 355 stream, 78 systems, 3, 4, 20, 57 Analyst, 22, 43, 44, 45, 374 applications, 229 mathematical, 244 operations, 71 systems, 22, 60, 66, 67, 72 Analytical inventory control, 14 Annealing, 13 Antwerp, 162 Applications, 4
380
INDEX
Applications work, 4 Arabic book, 161 Arc cosine, 372 Arc sine, 372 Arc tangent, 372 Archimedes, 65 Aristotle, 64, 158, 161, 173 Arithmetic, 159, 160, 161, 173 theoretical, 160 Arithmetic operations, 164 Arithmetic operator, 316 Arithmetic overflow, 351 Arithmetic system, 158, 170 Arithmetic-logic-instruction, 337 Artificial intelligence, 8, 359 Artificial variables, 265 Artificial vector, 261, 265 Assemblage, 68, 69 Assembler-coordinator, 356 Assembler-generator, 363 Assembly time, 370 Astronaut maneuvering unit, 270 Asynchronous design, 348 Asynchronous operation, 344 Auto-abstract, 212, 214 Autoencoding, 206 Automated data control, 268 Automatic abstracting, 193 Automatic access, 7 Automatic attenuating amplifier, 85 Automatic budgeting, Automatic channeling, 8 Automatic coding-decoding, 193 Automatic data collection, 84 Automatic data system, 191 Automatic guidance, 12 Automatic guidance profiles, 193 Automatic indexing, 193 Automatic information handling, 195 Automatic information regeneration, 193 Automatic information retrieval process, 194 Automatic information retrieval system, 1% Automatic interrupt, 10 Automatic interruption, 44 Automatic interruption technique, 346 Automatic language translation, 193 Automatic logging cycle, 28 Automatic manned media, 196 Automatic media, 192 Automatic message, 94 Automatic method, 211 Automatic plant control, 204
Automatic process control, 26 Automatic processing, 200 Automatic request, 34 Automatic retrieval, 1% Automatic shutdown, 12 Automatic startup, 12 Automatically gauging sentences, 194 Autonomous system, 33 Autosimulation, 193 Auxiliary storage, 12 Axiom, 227 additive, 227 Axis crossing, 119 Babylonians, 159, 160 Babylonian astronomical observation, 202 Basic cell, 182 Basic cycle, 307 Basic star, 183 Batch processing systems, 350 Bauds, 128 BCD,91 Behavior, 5, 224, 228 Bellman, 247 Bernoulli, 225 Bibliography, 194 Billet cutting, 13 Bimetal strip, 81 Binary, 91, 162, 168, 169 Binary code, 108,313 Binary coded, 179 Binary coded decimal, 105, 162, 163 Binary form, 164 Binary pulse, 119 Binary system, 167 Binary variables, 180 Bit synchronization, 104 Blast furnace, 5 Black box, 91, 99, 102, 187,244,267,279, 358, 359 digital control, 243 Black box analysis, 186 Black box approach, 253 Blending operation, 255 Block building,S data building, 211 idea building, 210 storage, 315, 319 Block of memory, 349 Block transmission, 323 Blocking, 234
INDEX Blue collar, 61 Boole (George), 173, 174, 180 Boolean algebra, 163, 173, 176,180,181,185, 198 Boolean function, 178, 180, 181, 182, 183 Boolean logic, 174 Boolean matrix, 185, 186 Boolean symbol, 174 Boolean system, 176 Boolean tool, 186 Boolean variable, 105, 183 Boolean vector, 184, 185 Boolean vector product, 184 Boolean vector sum, 184 Brain, 80 Brain stem, 33 Bridge-type synchronous detector, 120 Buffer, 370 Buffer storage, 86, 116 Buffer storage facilities, 33 Buffering subsystem, 7 Business data processing, II Bulbs of Krause, 79 Burst cartridge, 10 Butadiene, 13 Calculating, 238, 239 Calculation, 11,226 Calculus, 173 Calculus variation, 254 Card file, 200 Card punch, 272 Card reader, 272 Card-to-tape machine, 19 Catalytic cracking, 264 Catalytic deterioration, 24 Catalytic reforming alkylation, 13 Catastrophic deficiency, 352 Catastrophic indicator, 316, 317 Cell body, 33 Cement kiln, 255 Cement manufacturing, 254 Central data processing equipment, 54 Central data processing unit, 77 Central nervous system, 14,31 Central processing unit, 12 Central processor, 31, 77, 85 Cerebral cortex, pO Channel microwave, 95 tributary, 141 trunk, 141
Channel capacity, 209, 210 Channel sequence number, 144 Channel service, 38 Channel word, 38 Checkpoint procedure, 355 Check up, 17 Chemical process controller, 89 Chromatograph, 85 Chronological, 197 Cifra, 161 Circuitry electronic, 163 integrated, 26 monolith, 26 solid state, 26 supporting, 232 Classification, 197, 198, 199 Closed loop, 63, 92, 101,318: semi closed, 25 Closed loop control, 22 Coating, 83 Coaxial cable, 95 Code conversion, 140 Coding, 362 Cold stimuli, 79 Combustion experts, 238 Communication, 208 intercomputer, 9 Communications gap, 4 Communications link, 34 Communications satellites, 6 Compatibility, 21 Compile, 343 Compiler, 362 algebraic, 275 retrieval language, 206 Complement, 170 Complementary, 169 Component configuration, 14 Component testing, 14 Comprehension, 233 Computer, 5, 307 digital, 256 general purpose, 12 multiarithmetic, 336 off-line, 345 on-line, 345 primary, 47 real-time, 74, 81, 370 tape, 21 Computer-guided controls, 244 Computer-guided mechanism, 244
381
382 Computer interrupt, 319 Computer-oriented application, Computer-oriented control system, 244 Computing, 3 hybrid, 92 Computing .rnachine, 4 Concurrent trunk, 94 Conditioning, 9 Cones, 79 Conjunction, 178,234 Console, 7 Console typewriter, 312 Control, 9 adaptive, 9 analytical inventory, 14 automated data, 268 au tomatic, 3 combustion, 12 computer, 307 communication, 5 data, 10 digital, 4, 10, 58, 59 digital process, 24 direct, 5 electronic, 89 fire, 8 highway traffic, 13 input-output, 9 integrated refinery, 13 kiln, 13 missile range, 136 multilevel,31 multiple unit, 13 numerical, 7 one-level, 31 output, 35 railroad classification yard, 14 real-time, 9, 77 remote, 131 seat, 136 traffic, 13 Control action, 244, 256 Control buffer package, 346 Control cycle, 323 Control device, 15 Control element, 38 Control loop, 44, 46 Control motor action, 310 Control, oriented, 15 Control processes, 66 Control setting, 244 Control situation, 204 Control storage, 38, 318
INDEX Control system, 9, 37, 57, 60,101,313, 342 Control system functioning, 374 Control system programs, 310 Control techniques, 229 Control word address, 370 Control word field, 370 Convalescence, 281, 289, 290, 291, 292, 293, 296, 300 reliability, 295 Conventional notion, 208 Conversion method, 96 analog-to-digital, 83 Coordination signal checks, 144 Copuscles of Meissner, 79 Core storage, 118, 200 Correlation multiple, 373 partial, 373 Cost effectiveness, 35, 40 Cost efficiency, 152 Cost efficiency evaluation, 14 Courant, 247 Cracking catalytic, 264 fluid catalytic, 13 thermal, 264 Cross office function, 144 Crude distillation, 13, 264 Crystal controlled oscillator, III Cumulative bias, 226 Cybernetics, 200 Cycle counter, 90 Cyclic basis, 337 Cyclic code, 113 Cyclic repetition, 316 Cypher, 161 DAC-I,273 Data, II Data acquisition, 271 Data automation, 18,229 Data bases, 339 Data block, 43, 326 Data calculation, 148 Data carrier, 6, 115 Data checks, 38 Data classification, 148, 192 Data collection, 83,267, 374 Data collection activities, 88, 96 Data control, 3 Data control network, 70 Data control programming, 353
INDEX Data control system, 5, 10 Data display, 373 Data efficiency, 40 Data filtering, 59 Data generation, II, 12 Data generator, 194 Data handling, 10, 271 Data integration, 3 Data interpretation, 226 Data linkage, 336 Data logging, 5, 16, 103,272 Data logger, 89 Data network, 51 Data phone, 123 Data processing, 3, 264, 273 Data processing functions, 236 Data processing machines, 206 Data processor, 202 Data recording, 148 Data reduction, II, 12, 148,236,310 Data reduction procedures, 193 Data reduction technique, 247 Data redundancy, 236 Data retrieval, 148, 337 Data sampling, 59 Data storage, 83 Data support, 271 Data synchronizer, 117 Data system, 279, 293 Data tagging, 139 Data transceiver, 123, 125 Data transcription, 116 Data transformation, 29 Data transmission, 14,318 Data word, 38 Datum, 207 Deadline, 5, II relative, 33 Deadline basis, 190 Deadline capacity, 351 Deadlock, 329, 330 Deadlock detection method, 331 Deadlock problem, 52, 328 Dead pockets, 81 Dead Sea Scrolls, 202 Debugging, 358, 362 Decimal, 162, 167 pure, 162 r Decimal classification, 197 Decimal digits, 164 Decimal numbers, 160, 168 Decimal system, 158, 163
Decision making, 199,225 Decoder, 372 Demand inquiry, 6 Density, 96 Design analysis, 273 Design automation, 273 Design logic, 275 Desensitize, 101 Deterioration, 231 Deterministic approach, 9 Deterministic control mechanism, 9 Diagnostic application, 374 Diagnostic flag, 140 Diagnostic coordinator, 315 Diagnostic program, 18 Diagnosis, 14 Dichotomy, 10, II, 159, 198 Dictionary, 215 original, 216 Dictionary of key words, 214 Differential calculus, 233 Digesters, 13 Digital, 51 Digital automation, 9, 342 Digital buffer module, 85 Digital computation, 173 Digital control application, 243, 244 Digital control equipment, 4 Digital control problem, 242 Digital control system, 13,40,319 Digital data transmission, 273 Digital display, 90 Digital guidance, 254 Digital information, 99 Digital input, 369 Digital manipulation, 160 Digital mathematics, 159 Digital subject, 123, 126 Digital technology, 346 Digitizer absolute, 102 frequency conversion, 102 incremental, 102 Dimensional tolerance, 227 Dionysius, 65 Dip tube, 89 Direct hydrocarbon oxidation, 13 Discriminatory power, 214 Disjunction, 178, 234 Disk file, 37, 200 Dispatching economic, 13
383
384 Dispatching, power, 12 Disseminate, 191 Dissemination, 84, 203 Distributed storage libraries, 6 Division, 159, 160 Document scanner, 95 Double-precision arithmetic, 38 Drawbacks, 191 Due time, 336 Dump, 333, 337 Dumping condition, 334 Duplication, 158 Dynamic optimal control, 253 Dynamic program, 22 Dynamic response, 78 Economic dispatch, 13 Economic statistics, 39 Education, 194 Effective memory, 232 Effective memory capacity, 231 Effector,S, 14,31,56,77 Effector mechanism, 80 Effector nerves, 78 Efferent, 33 Efferent neuron, 80 Efficient size, 290 Egypt, 65 Egyptian calculation, 158 Egyptians, 158, 160 Electroencephalocardiogram, 258 Electromechanical relays, 231 Electronic beam switching tubes, 109 Electronic circuitry, 163 Electronic component manufacture, 13 Electronic computation, 9 Electronic data processing, 202 Electronic machines, 162 Electronic media, 263 Electronic switching arrangement, 12 Electronically cataloging, 202 Electronics information, 18 industrial, 9 Emergency handling, 354 Encoder, 373 Encoding feedback, 107, 108 magnetic, 107, 109 spatial, 108, III time, 110 time base, 107
INDEX End-of-block, 139, 140 transmit, 140 End-of-block-check, 139, 140 control, 139, 140 End-of-block detection, 370 End-of-file, 364 End-of-run functions, 373 End-of-storage-area, 139 Endogenous information system, 41 Energy dissipation, 232 Engine testing, 13 Engineering, 229 Engineering design, II Engineering sales, 20 English, 161 Entropy, 209, 210 relative, 210 Epiglotis, 80 Equilibrium, 79 Equiprobable subdivision, 197 Error, 270 data, 270 program, 272 programming, 318 quiet, 270 round-of, 38 Error bit, ISO Error control, 150 Error correction, 310, 318 Errordetection, 10,34,270,310,318,370 mathematical-statistical, 270 Error-finding process, 270, 271 Error-free results, 279 Error procedures, 22 Error process, 270 Error rate, 9 Error recording, 354 Error routine, 348 Error scan, 9 Ethylene, 13 Ethylene oxide, 13 Etruscans, 160 Euclid, 160, 161 Euristic, 161 Evolution, 223 control systems, 20 human, 228 manned, 224 mental,224 purposeful, 224 purposeless, 224 self-evolution, 235
INDEX Evolutionary knowledge, 229 Exception reporting, 148 Execution chain, 354 Executive monitor, 343 Executive programme, 342,343,354,355,359, 360, 362 Executive routine, 335, 342, 350, 351,352, 353,355 Experimental communications, 14 Experimental life curve, 85 Exteroceptors, 79 Extrapolating guidance, 41 Extrapolation, 14 Facsimile, 30, 117 Fail-safe, 34, 314 Fail-slow, 8, 278, 299 Fail-soft, 8, 278, 299 Failure computer, 17 data, 17,318 interrupting, 297 systems, 30I Failure-free operations, 285 Failure rate, 286 Fallback, 40 Feedback, 10, 11,66,279 field,7 information, 150 negative, 200 nonfeedback, 150 Feedback control, 84 Feedback encoding, 107, 108 Feedback loops, 34 Feedback system, 34 Feed-forward, 8, 84 Feed-forward control, 84 Feed-forward facilities, 278 Field coil power, 110 Field feedback, 7 Field size, 38, 318 Fisher, 195,219 Flag bit, 38, 318 Flip, 323 Flip flop, 74 Flood control, 249 F100Q control works, 248 Flood frequency, 248 Flood frequency curves, 248 Flow, 28 Flow diagramming, 307 Flow rates, 92
385
Flowing stream, 82 Fluid catalytic cracking, 13 Fluid filling, 81 Format generator, 312 Fractions, 160 Frequency, 101 Frequency distribution, 190 Frequency signal, 119 Galvanization lines, 13 Ganglion collateral, 33 preganglion, 33 vertebral, 33 Ganglionic, 33 Gas-cooled reactors, 10 Gas distribution, 13 Gas purification, 13 Gasoline blending, 13, 263, 264 Gating, 234 Gauss, 372 Generation, 26 first, second, third, Geometry, 160, 173 Goethe, 194 Gradient methods, 254 Greeks, 158 Grems, 195,219 Grid-type, 83 Grinding, 13 Guidance, II, 30 automatic, 3 computer, 3 sophisticated, 5 systems, 249 traffic, 7 Guidance efficiency, 272 Guidance equipment, 4 Guidance function, 12, 325 Guidance logic, 325 Guidance profile, 191,202 Guidance resource, 43 Guidance system, 10 Gyro apparatus, 207 Halving, 158 Hardware, 10, 11,229,309,313,314,323, 324,348,349,350 machine, 190 simulated, 335 Hardware feature, 45 Hardware implication, 150
386 Hardware reliability, 374 Hardware software complex, 273 Hardware system, 434 Hearing, 79 Hellenistic period, 158 Herodotus, 158 Heuristic retrieval, 196 Hexadecimal, 162, 167, 168, 169 High-density recording, 232 High frequency, 195 High order plant, 204 High pressure polymerization, 13 High-speed buffers, 10 High-speed calculators, 232 High-speed data processors, 73 High-speed density magnetic tape, 26 High-speed memory, 231 High-speed random access memory, 6 High-speed switching devices, Hindu-Arabic notation, 160 Hindu numerals, 162 Historical ephemeris, 202 Homeostatic concepts, 244 Homeostatic mechanism, 229 Hot spots, 81 Human linkage, 99 Human operators, 99 Human organism, 232 Human nervous system, 77, 229, 231, 232 Human subsystem, 36 Hunger, 79 Huxley, 228 Independent variable, 24 Index, 215, 289 analytical,202 commutative, 176 distributive, 176 nodal,206 retrieval, 215 sorted-classified-abstracted, 190 Index number, 265 Index register, 309 Index term number, 215 Indexing 195, 199 analytical, 194 automatic, 193 multidimensional, 191 primigenial indexing for heuristic retrieval, 195 source, 195 Indexing contradictions, 194
INDEX Industrial process control, 136 Information guidance, 268 quick look, 92 speculative, 237 stored, 191 tally, 139 Information retrieval, 136, 180, 190, 191, 201,202,211,214,215 automatic, 193,205 Information retrieval system, 192,216 Information retrieval subsystem, 194 Information storage, 136 Information tableau, 204 Information technology, 10 Information theory, 4, 223, 227 Information understructure, 4 Initialization, 242 In-memory data selection, 326 In-memory deadlock, 330 In-memory operations, 239, 325, 330 In-memory overlaps, 320 In-memory stored records, 332 In-process, 14 In-process operations, 325, 326 Input, 199,236 Input coordinator, 105 Input scanner, 62 Input/output balance, 355 Input/output coordinator, 281 Input/output devices, 281, 322 Input/output interrupt, 348 Input/output typewriter, 85 Input-ring, 138 Instantaneous response, 40 Instruction word, 38 Integer, 159 positive, ISO Integer constant, 317 Integrated circuitry array, 204 Integrated communications, 3 Intelligence, 191, 239 artificial, 8, 359 Intercommunicate, 6 Interface, 7, 314, 319 Interface control, 319 Interface electronics, 85 Interface instruments, 10 Interface mechanism, 10 Interface memory space, 335 Interface units, 146 Interlacing, 151
INDEX Internal circuitry design, 163 Internal system, 309 Interoceptor, 79 Interpolation, 97, 98,201,202,225,243,371 Interrupt command, 318 Interrupt information, 336 Interrupt program, 48, 49 Interrupt stream, 9 Interrupt techniques, 44 Interval scanning timer, 9 Intra-extrapolation, 193 Intrinsic characteristic, 195 Inventory retrieval, 196 Iron, 13 Irredundant, 182 Irredundant coverings, 183 Iterative techniques, 38 Jewish, 161 Journal storage, 135 Keyboard, 7, 272 Keyboard data, 85 Keyboard punching, 84 Keyboard word, 206, 321 Kinesthesis, 80 Lagrange multipliers, 254 Language, 208 human, 208 machine, 208 optimal electronic, 205 pseudo, 211 query, 12 Language translation, 201 Laser, 130 Latin, 161 Lattice, 198 Lattice-like, 198 Lattice-model, 200 Law associative, 175 cum mutative, 175 distributive, 175 Law of error, 248 Learning, 9 Learning control device, 204 Length character, 38 Levers, 207 Limit words, 38, 318 Linear, 97, 159 Linear dependent, 183
387
Linear independent, 183 Linear programming, 254, 257, 259, 266, 373 Linear programming routine, 261 Linear sequence, 205 Linear sweep, 110 Line segment, 181 Line user, 12 Linguistics, 194 Liquid flow rates, 24 Literary data processing, 193 Literary sets, 199 Logarithmic, 227 Log entry, 312 Logging, 86, 312 routine, 308 Logging cycle, 31 Logging typewriter, 312 Logic, 173,223,234 Logic operator, 316 Logic system, 190 Lowell, 247 Low-frequency words, 216 Loop, 316 closed, 63, 92, 101, 318 control,46 open, 27, 63, 313 priority, 337 Lugubrious profession, 194 Macroop, 371, 373 Macroop computers actan, 372 Macrooperation, 139, 364, 370, 371 Magnetic cores, 40 Magnetic drum, 37 Magnetic tape, 118 Magnetic tape drives, 272 Maintenance, 290, 291 systematic, 289, 290, 291, 293 Maintenance dependability, 291 Maintenance features, 293 Maintenance programs, 291 Management planning, 14 Manchester University, 194 Man-library communication, 191 Man-machine system, 35 Man-made information machines, 235 Man-made information systems, 231, 232 Man-made nanowatt devices, 233 Man-made system, 2,6,66,224,232,234,237, 282 Manned (unmanned), 15 unmanned abstracting, 194
388
INDEX
unmanned system, 193 Manned media, 192 Manual digit entry switches, 313 Mask cyclic, 113 improved encoding, 108, 113 photographic binary, 113 rectangular, II, 112 redundant, 113 Mass spectrometers, 85 Material-component interaction, 10 Mathematical analysis, 270 Mathematical analytical study, 259 Mathematical doctrine of probabilities, 173 Mathematical expression, 34 Mathematical forecasting, 14 Mathematical hypothesis, 243 Mathematical logical system, 234 Mathematical model, 10,70,73,241,243, 245,246,252,253,267,274,307 Mathematical programming, 257, 262, 263, 264,266,267,268,269,273 Mathematical programming system, 223 Mathematical reliability, 282 Mathematical simulation, 12,70,73,245,307, 329 Mathematical simulator, 10 Mathematical statistical approach, 29 Mathematical statistics, 247 Mathematical system, 73 Mathematics, 223 applied,9 Matrix, 188, 189,265 basis, 265, 266 data, 265, 266 stochastic, 188 transformation, 265 Matrix addition, 186,372 Matrix equation, 185 Matrix representation, 217 Matrix theory, 180, 185 Maxterm, 179 Maze-like, 198 Maze-like structure, 200 Mean Time Between Failure, 285 Mean Time To Repair, 292 Medical research, 14 Memory, 236, 239 auxiliary, '37 bulk, 85 dead,78 external, 37
Memory, high-speed, 26 in-transit, 140 large, 26 low-cost, 26 nondestructive, 83 sequential, 234 shared, 9 Memory access, 349 Memory address, 320 absolute, 371 shared,9 Memory dump, 332, 348 Memory dump operation, 333 Memory guard, 322 Memory print, 322 Memory protect equipment, 37 Memory specification, 37 Memory size, 39 Memory-to-memory,35 Merge routine, 322 Mesopotamia, 160 Message auditing, 86 Message control, 86 Message processing function, 140 Message relays, 6 Message switching, 135, 136, 145 Metaphysical, 173 Methanol, 13 Method of summing, Microwave, 130, 131 Microwave channel, 95 Military digital communication, 136 Military logistics, 14 Minimal forms, 181 Minterm, 179 Missile checkout, 13 Missile test stand studies, 14 Model dynamic, 253 linear, 247 mathematical, 10,70,73,241 reliability, 293 TVA, 249 Model building, 263 Model checking, 263 Mode request, 319 Mode status, 319 Modular components, 6 Modulation carrier, 119 Modulator-demodulator, 115 Monitor, 41, 51, 312, 343 human, 352
INDEX Monitor function, 86 Monitor program, 353 Monitor system, 360 Monitoring, 15,16,315 alarm, 354 nuclear, 12 Monitoring program, 332, 357 Monitoring subroutine, 358 Monte Carlo, 49 Movement, 79 MTBF,300 Mucosal lining, 79 Multichannel capability, 26 Multicomputer, 6 Multifield memory, 52 Multifunctional planning, 12 Multiguidance ensemble, 236 Multilevel memory, 39 Multimeaning, 193 Multimemory, 236 Multipath distortion, 87 Multiple-access scientific computing system, 136 Multiple correlation, 373 Multiple level memory, 309 Multiple remote input/output terminals, 12 Multiple unit control, 13 Multiplexing, 10, 52 Multiplexing approach, 31 Multiplexor, 89 Multiplication, 158 Multiplication process, Multiprocessing, 6, 26, 236, 299, 331 Multiprocessing considerations, 337 Multiprogramming, 26, 275, 298, 349 Multiprogramming-multiplexor, 354 Multiplying sequential, 158 Muscle spindles, 79 Natural information network, 32 Natural logarithm, 163 Natural organism, 228, 230, 232 Natural system, 228, 231 N-dimensional cube, 183 Negations, 234 Neophyte, 308 Nerve disturbance, 231 Nervous system human, 231, 232 visceral, 33 Neural cybernetic, 34
Neurons, 33, 230, 232 Newton, 360 Nielen, 236 Noise, 290 Noise detecting, 34 Nondeterministic retrieval duties, 191 Nonlinear function generation, 78 Nonlinear programming, 254 Nonlinear system, 204 Nonvolatile, 83 Nuclear energy process, 13 Nuclear monitoring, 12 Numerical codes, 217 Numerical data processing, 193 Numerical system, 157, 159, 162 Nylar,13 Nylon, 13 Objective time for failure maintenance, 292 Oceanographic data, 90 Octal, 91, 165, 167, 168 Octet, 346 Octet band wagon, 346 Odometer, 66 Off-grade production, 45 Off-line (ness), 11, 26, 63 Off-line data transmission, 35 Off-line media, 270 Off-line system, 343 Off-line work, 357 Olfactory cells, 79 On-line, 5,6, 14,49,86,262,314,318 On-line application, 307 On-line computer, 99,308,310 On-line computer system design, 347 On-line computing, 266 On-line data, 98 On-line data application, 263 On-line data collection, 86 On-line data processing, 86 On-line digital control, 26 On-line display consoles, 12 On-line inquiry, 338 On-line input, 35 On-line inventory control, 136 On-line machine, 337 On-line operations, 64, 357 On-line order processing, 136 On-line peripheral gear, 122 On-line process control, 94 On-line real-time system, 342
389
390 Optimal electronic languages, 205 Optimization, 30 process, 310 self,9 steady state, 253 systems, 354 Ordinary rotation, 160 Organism,S Oscillatory conditions, 25 OTFM, 292 Output, 199,236, 242 Output pickup, 310 Output scheduling, 370 Output space, 335 Output terminals, 107 Overshoot, 82 Pain deep, 79 superficial, 79 Paper-pulp factory, 25 Parasympathetic, 33 Parasympathetic impulse, 33 Parasympathetic impulse subsystem, 33 Parity checks, ISO Parity ordering, 200 Partial correlation, 373 Parts summation, 227 Pattern task,268 Pattern recognition, 8, 239 advanced, 8 Payroll, II Pearson, 252 Pentads, 162 Peripheral blood vessel, 33 Peripheral equipment coordination, 311 Persian, 161 Personal flight control, 207 PERT 259,262 PERT/cost, 374 Phase reversal modulation, 120 Philips, 247 Photocell driver, 204 Photoelectronics, 89 Pickup sensory elements, 41 Pilot plants, 13 Pipeline pressure, 267 Place value system, 161 Plateau, 107 Plato, 70 Playback, 126
INDEX Pneumatic differential pressure transmitter, 89 Polling, 368, 369, 370 Polling status, 369 Polybolon, 65 Polymerization, 264 Polynomial, 179, 185, 372, 373 minimal, 185, 186 Position, 79 Position indicating pencil, 275 Positional notation, 158 Positive integer, 150 Post execution, 356 Post maintenance, 356 Power dispatching, 12 Power generation load, 24 Pressure, 28, 79 pipeline, 267 Printed bibliography listing title, 197 Printouts, 28 Priority signals, 344 Private lines, 118 Probability of success, 282 Probability theory, 200 Process control, 7, 78, 256, 266, 273,310,312, 315,318,362,363 automatic, 26 industrial, 7I statistical, 71 stochastic, 224 Process-control application, 41, 161,242,243, 327 Process-control program, 315, 357, 374 Process-control programming, 307 Process-control purposes, 228 Process-control systems, 322 Process data, 41 Process diagnostics, 310 Process lag, 82 Process optimization, 310 Process storage, 38 Process-type problems, 307 Process value, 28 Process variable, 27, 312 Process word, 38 Processing, 10 Processing unit, 334, 337 Product assurance, 14 Production analysis, 338 Producting scheduling, 13 Program control words, 9 Program relocation, 9
INDEX Programmer, 308 systems, 357 Programming, 374 computer processed, 264 linear, 254, 257, 259, 266, 373 mathematical, 257, 262, 263, 264, 266, 267, 268, 269, 273 micro, 345 nonlinear, 254 Programming routines, 308, 309 linear, 261 Progration time, 81 Proprioceptive sensibility, 79 Proprioceptor, 79 Protozoan, 238 Proximity, 195 Pseudo-instruction, 371 Pseudorandom number, 372 Pseudo real time, 35 Psychology, 194 Ptolemy, 161 Pulse count, 91 Pulse-count feature, 92 Punched card, 21, 88, 234 Punched tape, 21, 88 Quadratic equation, 159 Quality history, 278, 299 Quality history logs, 268 Quality history records, 348 Quality purpose, 14 Quality records, 14 Quarternary, 162 Quarter space, II Queue, 40 Queuing message, 144 Queing messages, 135 Query, 40, 153, 197,353 Query languages, 12 Quick-look information, 92 Quinary, 162 Quinary decimal, 162 Quinary system, 163 Railroad Random Random Random Random Random Random
classification yard control, 14 access, 10, 37 access memory, 26 noise, 227 number generator, 372 trial-and-error, 9 walk procedure, 49
391
Randomize, 200 Range evaluation, 372 Reaction kinetics, 255 Reactive agent, 89 Real time, 5,6, 10,17,49,83,84,92,137,202, 262, 270, 281, 308, 309, 314, 322, 356, 366 Real time application, 313, 315, 318,359.362 Real time clock, 254, 312 Real time computer, 270, 308. 357, 366 Real time computing, 273 Real time control, 17, 323 Real time control subroutines, 374 Real time coordinator, 346 Real time data system, 16 Real time executive routines, 342 Real time jobs, 325 Real time operation, 115,256,343,347,349, 374 Real time problem, 20 Real time process, 257, 271 Real time program, 312, 313, 327 Real time purpose, 307 Real time system, 3,37,116,190,278,330,332, 344,345,358 Receptor, 5 Receptor nerves, 78 Record carrier, 123 Record making, 148 Recreation of historical scripts, 201 Recycle flow, 89 Recycle stream, 89 Redundancy, 10,210,302 data, 236 high, 208 low, 208 Reflex arcs, 80 Regeneration of information, 202 Register, 38, 78 address, 349 storage, 323 word, 48 Regression coefficient, 373 Relay organ, 230 Reliability, 4, 9, 279, 281, 284, 296 mathematical, 282 standard, 287, 288 systems, 278 Reliability consideration, 374 Reliability feature, 293 Reliability level, 35 Reliability model, 293
392 Reliability studies, 7, 14,279 Remote deposit accounting, 136 Remote devices, 40 Remote distance, 51 Remote units, 314 Requirement determination phase, 43 Research engineer, 162 Resource allocation, 42 Respiratory movements, 79 Response time, 39, 40, 153 Resistance thermometer, 83 Resistance wire, 81 Retention time, 86 Retrieval, 195, 199,203 Retrieval language compiler, 206 Retrieval system, 206 Rod, 79, 83 Roman, 160 RoIling mills, 13 cold, 13 hot, 13 Routine executive, 335, 342, 350, 351, 352, 353, 355 linear programming, 261 presort, 322 programming, 308, 309 real time executive, 342 sort, 322 table-lookup, 213 transaction tracing, 39 Routine logging, 308 Saccule utricle, 79 Safe choice, 225 Safe stop, 312 SAGE,30 Satellite machine, 61 Satisfactory performance, 290 Scalar multiplication, 372 Scaling, 78 Scan error, 9 Scan cycle, 312. Scan readout, 109 Scan signals, 106 Scanner, 7, 85 document, 95 input, 62 Scanner speed, 62 Scanning, 196,242,307, 311, 312: alarm, 12
INDEX Scanning cycle, 18,52,307 Scanning intervals, 312 Scanning rate, 16 Schedule maker, Science, 223 Science Library, 194 Science of logic, 173 Scientific arbitration, 199 Scientific classification, 192 Scientific methods, 202 Scopostic, 225 Scopostic management, 225 Scopostic phenomena, 225 Segment, 160 Selective fading, 87 Selection-in-memory, 326 Self-adjusting, 237 Self-adjusting faculty, 330 Self-correcting capability, 191 Self-correcting features, 34 Self-correcting feedback loop, 84 Self-optimization, 9 Self-optimizing logical system, ISO Self-repairing, 237 Self-transforming process, 191 Semantic, 194,209 Semantic channel capacity, 209 Semicircular canals, 79 Semiprogram, 332, 333, 334, 335,336 Sensor-actuator system, 84 Sensory, 14 Sensory devices, 83, 96 Sensory elements, 78 Sensory technique, 77 Sequential multiplying, 158 Servomotor, 78 Sets, 204 Set point, 34 Sexagesimal notation, 159 Shaft position, 18 Shannon, 208 Shared memory, 9 Shift word, 372 Signal priority, 344 scan, 106 slave computer, 320 Signal lines, 34 Signal processing, 99 Signal voltage, 261 Simple counters, 89 Simulated hardware, 335
INDEX Simulation, 361 mathematical, 12,70,73,245,307,329 Simulation studies, 49, 193 Simulator, 70, 199,228,253,256,307 digital, 9 mathematical, 10 Sintering, 13 Sinusoidal variation, 246 Siphons, 65 Skeleton tables, 202 Slave computer signal, 320 Slack variable, 265 Slack vector, 261, 265 Smoothening, 310 Smell, 79 Soda ash, 13 Software, 4, 343, 366 Software implication, 150 Software package, 374 Software specification, 190 Solenoid-operated valve, 89 Solid-state circuitry, 26 Solid-state devices, 374 Sophisticated diagnostics, 8 Species formation, 235 Spectrophotometer, 85 Speculation, 238 Spinal cord, 33, 80 Square root, 78 Standard reliability, 287, 288 Star basic, 183 essential, 183 Statistical package, 373 Statistical process, 71 Statistical solver, 372 Statistical treatment, 193 Statistics, 200 economic, 39 mathematical, 247 Status alteration, 370 Status display, 7 Steady-state optimization, 253 Steinmetz, 72 Stereognosis, 79 Stimulus response, 8 Stochastic, 71, 187,330 Stochastic distribution, 313 Stochastic matrix, 188 Stochastic process, 224 Stochastic processing, 213 Stochastic searching, 206, 211
Stock-brokerage, 136 Stop minus, 207 Stop plus, 207 Storage, 203 auxiliary, 12 control, 318 core, 118, 200 in transit, 135 journal, 135 process, 135 Storage blocks, 315, 319 Storage media, 210 Storage register, 323 Stored information, 191 Strain gages, 83 Stratification, 81 Subset, 179, 182, 183, 199 Subsonic, 262 Subtraction, 160 Subtractor, 78 Successful operating time, 298 Successor, 352 SUMER,65 SUMER, 367, 374 SUMER, assembler, 365 SUMER executive, 364, 365, 366 SUMER language, 370 SUMER macro operation, 364 SUMER programming system, 365 SUMER tester, 365 Sumerians, !58, 160 Supersonic, 262 Supporting circuitry, 232 Surge tank, 89 Sweep voltage, III Switching, 74, 230 Switching mechanism, 230 Switching network, 181 Switching speed, 231 Symbolic language, 173 Symbolic program tape, 365 Syllogism, 199,234 Sympathetic, 33 Sympathetic division, 33 Sympathetic impulses, 33 Sympathetic subsystem, 33 Synapse transmittal, 231 Synchronizer, 86, 323 Synchronous defection, 119 Synchronous motor, 90 Synthetical alcohol, 13 Synthetical rubber, 13
393
394 Syrakusia, 65 Syrian, 161 Syringe, 65 System, 68, 72, 262 arithmetic, 158 autonomous, 33 binary, 167 control 9, 37, 57,60, 101,313,342 data processing, 67 digital control, 72, 374 hardware, 343 interlacing, 309 man-machine, 35 man-made, 2, 6,66,224, 23i, 237, 282 multicomputer, 31, 46 mathematical, 73 natural, 228, 231 numeric, 190 numerical, 157, 159, 162 off-line, 343 on-line, 52, 64 operating, 5 operational real-time, 26 physical, 73 place value, 161 process-control, 322 processing, 335 real-time data-control, 58 retrieval, 206 sexagesimal, 158, 160 sub,191 technological, 228 time-sharing, 37 time-varying, 204 two-valued, 173 Systemeter, 8 Systems analysis, 3, 4, 20, 57 Systems analyst, 22, 60, 66, 67, 72 Systems approach, 57 Systems behavior, 73, 268 Systems concept, 8, II Systems cost determination, 45 Systems design, 45, 229 Systems design phase, 44 Systems dupplication, 309 Systems engineer, 68, 69, 72, 152 Systems engineering, 69 Systems evaluation, 45 Systems function, 57 Systems guidance, 249 Systems logs, 355 Systems optimization, 354
INDEX Systems Systems Systems Systems Systems Systems Systems Systems
philosophy, 374 programmer, 357 reliability, 278 simulation, 249 studies, 3 supervisor, 356 work, 67, 70 value, 298
Table-lookup routine, 213 Tactile discrimination, 79 Tactile sensitivity, 79 Tally information, 139 Tally service, 142 Tape magnetic, 124,211 paper, 124 Tape logs, 355 Tape-ta-tape, 35 Taste, 79 Taste buds, 80 Taxinomy, 192 Telecommunication, 32, 194 Telemetering, 89 Telescope positioning, 13 Telesystem, 137, 139 Teletransmission,6 Teletransmission subsystem, 42 Television program switching, 13 Temperature, 28, 79 Tendon endings, 79 Terminal operators, 10 Terminate pulse, 348 Ternary, 162, 163, 168, 169 Thermocouple, 16,83 Thermocouple junction, 81 Thermodynamic transfer, 255 Thin film, 40 Thinking, 236 Thinking parts, 230 Thirst, 79 Throughput, 199, 236 Throughput dispatcher, 323 Time interval,S Time-out, 318 Time-sharing, 5, 6, 12,26,94,269,307,311, 344, 358 Time-sharing basis, 88 Time-sharing function, 357 Time-sharing system, 37 Tin, 13 Tinning lines, 13
INDEX Topology, 180, 183 Torque, 101 Touch,79 Traced-in, 195 Traced-out, 195 Traffic reporting, 86 Trance, 322 Transducer, 14,35 Transfer of storage, 318 Transition, 4 Transmission, 10 Transmission media, 9 Transmission time, 348 Transmittal, 203 synapse, 231 Transistor emitter, 105 Transonic, 262 Trapping, 319 Trapping mode, 17 Tree-like, 197, 198 Trial-and-error procedure, 180 Tributary channel, 141 Trunk channel, 141 Truth table, 178, 179, 183 Tube cathode ray, 112, 202 display, 275 dip, 89 electronic beam switching, 109 monos cope, 113 vacuum, 230, 232 Twin computer center, 137 Union, 176 Unit astronaut maneuvering, 270 command, 236 Unit application, 356 Unit fraction, 159 Universal, 176, 177 Utility, 281, 296, 297, 300, 301, 302 Value, 281,298, 299, 300, 301, 302 real,301 systems, 298 Variable, 315, 317, 319 artificial, 265
Variable, key, 209 logged,I4 slack,265 Variable length, 318, 345, 372 Variable word length, 346 Variable-size character, 346 Vasoconstrictor fibers, 33 Vector, 265 artificial, 261, 265 slack, 261, 265 Velocity, 90, 101 Venetian treatise, 162 Vent loss, 89 Vertex, 181, 183 essential, 183 Vertical wedge, 160 Vibratory sensitivity, 79 Visceral organs, 79 Vision, 79 Vinyl chloride, 13 Voltage, 101,227 binary trial, 108 signal,267 sweep, III trial, 109 Voltage encoder, 78 Von Neumann, 230 Waiting lines, 40 Weather data reduction, 13 Weather recognition, 14 Weaver, 208 White collar, 61 Wind tunnel, 262 Wind tunnel studies, 14 Word channel, 318 data, 318 limit, 38, 318 process, 318 shift,372 Word register, 48 Yaw, 207 Zero, 160 Zero offset, 78
395