|
Like to see your
advert somewhere on the Alternative TPF Hompage
site ?

Disclaimer: The
Alternative TPF Homepage is not responsible for the content of external sites
| |
Origins and Development of TPF
To really understand the origins and development of the
system we now call TPF we must take a trip back in time to circa
1940. We will visit a main ticket office of American Airlines in
Little Rock Arkansas, a growing company with growing ambitions.
Here the basic control of flight reservation was a large card
index around which eight or so clerks would sort through the
index cards for the flight being requested. They each knew the
number of seats for the type of aircraft being used and by
counting tally marks on the flight card they could tell if any
seats were left and give you your 'yes' or 'no' over the
telephone. If your reservation was being made through another
office it might take 2 1/2 to 3 hours to reach the revolving card
index via a teletypewriter network and some clerical personnel.
In some of the medium sized offices it was necessary to use
binoculars to view critical information posted on large
availability status boards in the agents area. The absence of a
red tag indicated that at least one seat was available on that
flight. If more than one seat was needed a phone call to the
back room might give you the availability which was again kept on
three-by-five index cards according to flight number.
By 1955 some automation had begun to creep into larger
offices and American's first automatic equipment, the Magnetronic
Reservisor, provided remote controls so that the agents could
search a memory drum and determine whether or not seats were
available. Now within a few seconds agents could check
availabilities but the posting of the passengers name, telephone
number and other information created a terrific paperwork
headache. It was still necessary to record the passenger data on
the ever present three-by-five cards and a constant river of
paper still wound its way on conveyor belts to find its place in
the back room.
For every agent on the telephone another was required in the
back to do the housekeeping. It was a system and it worked but as
it grew adding another clerk no longer was the answer and
American's management was constantly aware of the need for a
complete change in the concept to handle an ever increasing
volume of flights and passengers. New solutions were found but
never a total system cap`ble of keeping pace with the service
that was gobbling up transportation time and reducing days to
hours and hours to minutes.
If ever there was a problem crying out for a computer
solution it was this one but it took one of those strange quirks
of fate to get the whole thing off the ground (no pun intended).
The story goes that American Airlines' then President, C.R.
Smith, a giant in North American commercial aviation history, had
the occasion to be seated next to an IBM Sales and Marketing
Representative called, coincidentally, Blair Smith. It is not
clear whether the two were actually on an airplane at the time
but it makes the story somewhat better if we assume they were...
Anyway the two fell into conversation after learning of the
matching names and common interest brought the talk round to some
way of solving American's problems. C.R. Smith outlined the
airline's needs and Blair Smith went his way promising to follow
the matter up. It was a mere 30 days later that IBM responded to
American with a proposal to make a study of the airline's
problems and it was 1957 by the time the direction was firmed up
and formal agreements reached.
American Airlines appointed technical and functional
representatives to work with an IBM staff of 75 and the SABER
(Semi Automatic Business Environment Research) project was born.
In March of 1959 the initial program was proposed and one AA
executive commented years later "It was the best damn research
and development effort on the part of any company I've ever
seen." It was much more than a survey of one company's or even
an industry's needs; it was an entirely new concept which, it is
said, spawned IBM's 360 computer systems.
The SABER name was later changed to the name more familiar
to us today: SABRE. The system was actually implemented in 1962
and reportedly cost $30 million. Initially the hardware it ran on
was an IBM 7090 processor, a second generation computer using
disk files and specialized terminals developed for the airline
reservation function. Also developed during this project were
some innovations in communications technology, namely the
concepts of line concentration and of medium and low speed data
sets. Also the use of a front-end-processor, development and
improvement of large capacity rotating storage media (disk
drives), fast direct access techniques for data stored on disk
drives and the techniques of writing relocatable and reentrant
code. Most of these technical points will be discussed in the
later chapters but it should already be clear that the need for a
fast computer system for the specific problems that faced the
airline industry also contributed to the development of many of
the features we take for granted in our computers today.
Two other systems which built on the experience gained in
the SABER project were also developed in conjunction with IBM.
One was the Deltamatic system for Delta Airlines using IBM 7074
processors when it was implemented and the other was Panamac,
develnped with Pan-American Airlines using IBM 7080 processors.
Both of these systems were implemented in 1963 and the only
fundamental differences were in their respective sizes. This was
important becaure since much of the system code at the time had
to be hardware specific this meant that although the systems were
based on the same design there were some significant differences
in the code within them.
In 1964 IBM made two important announcements. One, which is
probably more widely regarded as important, was the introduction
of the System/360 (S/360) line of computers and the other was the
start of the development of PARS (Programmed Airline Reservation
System). Based on their experiences with the three airline
systems and the development of the S/360 concepts IBM endeavored
to design and develop a separate operating system which could
function on any of the S/360 machines from the Model 40 to the
Model 75. This operating system would be similar to the systems
developed for the airlines but would separate the 'application'
processing (booking seats, availability etc) from the 'system'
functions like accessing the database and restarting the system.
By 1968 IBM had developed PARS and released it as a product. At
this stage there was still no separation of function between
Applications and Systems software but now a general package was
available to all the other airlines to use on whatever type of
IBM S/360 machine they chose (so long as it was Model 40 - Model
75 !?).
It was not until 1969 that IBM managed to pry apart the
previously interwoven systems and applications portions of the
PARS system. The Applications portion of the new package was
christened APPS and the Systems portion became ACP (Airline
Control Program) the forerunner of TPF. In keeping with the
somewhat mysterious and arcane numbering schemes prevalent at IBM
this first release of the ACP product was called Version 4 (?).
Various other intermediate releases were brought out by IBM and
the details of their contents are listed in Appendix 1, until the
last numbered release of ACP, version 9.2.1, in February 1979.
In December 1979 IBM changed the name of the product to ACP/TPF
(IBM Program Product number 5748-T11) and quickly began to
eradicate the initials 'ACP' from all documentation.
This marked another turning point for the software, now it
was IBM's 'official' belief that applications other than the
airlines could and would benefit from its use. To be fair it was
probably more like the recognition that many other businesses
were actually using ACP/TPF than a conscious decision on IBM's
part to market it that way. Already such companies as American
Express, New York City Police, AVIS, GMAC, Federal Express,
Western Bank Corporation, Bank of America and several consumer
lending companies were ACP/TPF customers alongside the major
airlines of the world (with the exception of Aeroflot, the
world's largest, although even they may become TPF users before
long, 'glasnost' strikes again...).
It will soon become clear as we explore the development of
TPF that an extraordinary amount of cooperation has taken place
between both the users of the software, amongst themselves, and
the users in concert with IBM. We have already seen how the
three pioneering systems at American Airlines, Pan-Am and Delta
were the product of a close working relationship with IBM and
this relationship has continued throughout the lifetime of TPF up
to the present day. Pan-Am, with its financial problems, has
dropped from the forefront of TPF development but American and
Delta remain, along with some other airlines, notably United (or
rather its computing off-shoot COVIA Corp) and Eastern (or rather
its computing off-shoot System One). In fact the habit of
cutting the computer division free as a separate company will be
visited again as we approach the present day in our historical
survey.
Many people who have only been introduced to computers after
the advent of the Personal Computer will probably have little
appreciation for the industry as it was when those first
PARS-like systems were created. Computer engineers were still
struggling with operating system code that was too closely
associated with the hardware that it was running on to be easily
moved to different machines. The quest for a solution to this
problem was one of the driving forces behind the System 360
concept. For the first time software that operated on one
machine in the 'family' would work, largely unmodified, on any
other machine in the same 'family'. The effect of this simple
standardization on the industry is hard to over emphasize. With
experienced computer engineers now free to spend their time
developing better systems rather than trying to rewrite the
existing ones to work on the latest machines progress was much
more rapid.
However, even today, there is a place for system code that
is sympathetic to the hardware and is able to take advantage of
every design feature for improved performance. Modern software
companies, particularly in the highly competitive PC marketplace,
employ experts on each type of computer that they want their
software to run on. These experts are charged with rewriting
certain routines that interface with the hardware to 'fit' the
actual target machine and obtain every last ounce of performance
benefit at the expense of portability of the code.
This was the situation in the early days (or rather
years...) of ACP/TPF. IBM supplied the source for the operating
system to its customers, which probably goes back to those days
when ACP was just a part of the PARS system that included the
applications that would need to be customized for the user's
requirements. Nowadays the idea that an operating system from
IBM would arrive, in its shrink wrap, with libraries of source
code included would have many an MVS programmer rolling up his
sleeves. This had two major effects on the development of the
product as a whole. First it helped maintain the close working
relationship between the users and IBM, since these users were
doing a splendid job of correcting the many mistakes to be found
in the early releases of the software. Second it had the negative
effect of encouraging customization to a degree which meant that
it would be highly unlikely that IBM would ever be able to ship
the system without the source in the future.
Another problem that would have faced IBM if they had
shipped ACP/TPF OCO (Object Code Only) would have been support in
the event of system problems. It is hard to imagine an airline,
dependent on its 24 hour reservation system for its very
existence, waiting for the local IBM System Engineer to resolve a
problem that has caused their system to crater at peak time on a
Monday morning. In fact the availability of the source has
proved mutually beneficial as I mentioned before and it has
certainly made the job of an ACP/TPF systems programmer one of
the more interesting to be had in the mainframe world.
The close observance of the characteristics of the hardware
that I mentioned earlier dogged ACP/TPF for more than 20 years.
Only with the announcement of TPF V2 R4 did IBM solidly declare
that TPF was a strategic operating system in their portfolio and
that since it was now able to use the XA Common I/O technique
support for new hardware from IBM would always be available in
TPF at the same time as in other mainline operating environments.
This announcement brought to an end more than two decades of the
leading TPF users having to often write their own software to
handle new devices that they wished to put on their systems to
cope with the explosive growth they were experiencing as the
world discovered air travel.
If you scan through the catalogue of highlights listed in
Appendix 2 for the releases of ACP/TPF throughout its history you
will see a number of RPQ numbers. The term 'RPQ' belongs to IBM
and stands for Request Price Quotation. What it actually means is
that a feature has been added, often at the request of one or two
customers. This technique was common in the TPF world. In fact
it even reached the stage of having a special set of model
numbers for the IBM mainframes that included a whole host of
special hardware features created for the TPF environment.
As you can see this reliance on an empathy between hardware
and software was not ideal for the TPF customer. It meant that it
was hard to choose another hardware vendor other than IBM since
it was not clear whether the other vendors could offer the
special add-ons for the TPF peculiarities, or that they would
want to. It also became so much of a nuisance to IBM that they
eventually scrapped the idea of differentiating between the
higher performance machines built for the TPF user and the
standard mainframes intended for the vast majority of its
customers. Nowadays it is more unusual to see RPQ applied to a
modification necessary for TPF only as IBM has made these
modifications part of the standard product. It is still IBM
practice, I believe, to use an RPQ for a hardware modification
necessary to support some of its own new software for example.
In its lifetime ACP/TPF has flirted with almost any
technology that promised better performance. For a time the IBM
fixed head disks, 2305s, were supported but other advances, both
in hardware and software have made these devices an unnecessary
complication to an already complex system. Intelligent DASD
controllers having fast memory to provide caching have also been
in use for some time. Unfortunately, for a long time the type of
buffering used for TPF was incompatible with other operating
systems meaning DASD could not be shared in a single string
between TPF and anything else.
Having said up to now that ACP/TPF craved anything that
would give it more performance perhaps one of the most
interesting software developments during this time was that of
the Hypervisor. The situation faced by most of the airlines,
particularly those in N. America that did not already fly to many
other parts of the world at that time, was that they needed the
biggest, fastest machine that IBM could provide for the
transaction load during the day but often found that off-peak
traffic was only using a fraction of that expensive hardware. So
the idea of the Hypervisor was born, a software package that
would sit above the ACP system in the box and allow coexistence
within the machine with OS/VS. The constraints on the package
were severe, it must not impact ACP more than 5% and it had to
ensure that it had no effect on the system's overall reliability.
It also had to be totally invisible to ACP and to the other
system, OS/VS, and all applications running under these two
systems.
This was achieved by using the interrupt handlers in ACP.
These contain logic capable of recognizing whether any interrupt
belonged to ACP or not; so it was relatively easy to modify these
to process OS/VS interrupts.
OS/VS2 (MVS) is the only other system, other than a test ACP
system, that the Hypervisor was designed to host. This simplifies
the job of providing this 'virtual machine'. Anything more
complicated than that would have produced something akin to VM,
which would have been too much of an overhead. The guest system
runs in problem mode, that is to say in user mode as opposed to
system or supervisor mode. If guest code (OS/VS) is in control of
the processor when an interrupt occurs the native system (ACP
with the Hypervisor) gets control but the reverse is not true.
If the guest system is not in control but receives an interrupt
the interrupt is queued until the guest once again gets control
from the hypervisor. Even privileged instructions from the OS/VS
guest are simulated by the hypervisor to prevent the guest from
obtaining control over the system and excluding ACP. It also has
the effect of preventing any problems to ACP reliability from
faults in the OS/VS system but did degrade the perceived
performance of OS/VS. In 1973 this software was introduced and
with the release of the XA version of TPF, V2 R4, it was dropped.
The next major event in the history of ACP/TPF we are going
to visit was known as the JADE project (Joint Airlines
DEvelopment) which produced as a result the first ACP/TPF systems
to operate with multiple mainframe machines linked together and
sharing the same database. This was another example of the close
working relationship between IBM and the major users of ACP.
|