Paul is a Canadian, British-born, computer systems architect and programmer, and the inventor/discoverer of Flow-Based Programming (FBP). He is the author of Flow-Based Programming: A New Approach to Application Development, whose second edition is now on sale (as of 2010), in paperback and ebook (Kindle and epub) format. He and a number of like-minded collaborators have been promoting the ideas described in this book for more than 50 years, injecting these ideas into the application development collective consciousness. In the last few years a number of large and small companies worldwide have adopted, or been inspired by, these ideas - these include IBM, Google, Facebook, Microsoft, Hortonworks, New York Times, Pentaho, and many others... unless it was parallel evolution ("steam-engine time"). A partial list can be found in "External references".
Early Life and Education
Paul was born John Paul Rodker, in 1937, in St. John's Wood, London, UK, just before the start of World War II, the son of John Rodker, writer, translator, and publisher, and the artist, Barbara Stanger McKenzie-Smith, in London, England. After his parents' divorce and his mother's subsequent marriage to Edward A. Morrison III, an American citizen who signed on with the Royal Air Force, Paul's last name was changed to Morrison via an arcane British procedure called a deed poll, but he was never formally adopted. In recent years, Paul has started including Rodker again in his name in informal situations. Some family information, including a possible origin for the name "Rodker" and a link to as much of the Rodker family tree as Paul has been able to put together, can be found here.
Paul spent most of World War II in Marshfield in Gloucestershire, and various other locations in the south of England. The only things he can really remember about the war years is seeing the city of Bath, 8 miles away, burning on the horizon (Paul would have been 5 years old at the time), and seeing the famous Mummers perform on the Marshfield village main street, as they had been doing almost continuously since the 1100's. Paul was one of the lucky children, as he got to spend the war in England, and was able to see his mother, who stayed in or near London, from time to time.
For about 10 years after the end of the war, Paul's mother and step-father lived in Middlesex (now part of Greater London), and after that moved to North Wales, to the area around Dolgellau, Gwynedd. They had had one son, Thomas, Paul's half-brother, who is a retired mining engineer, now living in Vancouver, B.C., Canada. Barbara and Edward are both buried in the village of Llanelltyd, N. Wales.
During the war years Paul was educated by various "governesses" (some younger and some older!), and after the war was over he was sent to the Dragon School, a well-known boarding school in Oxford, where his lifelong interests in languages, science, and science fiction got their start. He would like to recognize the impact his brilliant science teacher, Gerd Sommerhoff, had on his life - Gerd pioneered what was really an early form of computer-based training using cards, and imbued his students with a love of science which has stayed with Paul all his life. At the Dragon, he was taught Latin, Classical Greek, French, and the usual other school subjects, but it was science that he enjoyed most. At about the age of 12, he won a scholarship to Eton College, entitling him to live in College, use the letters K.S. (King's Scholar) after his name, and wear a tail-coat and a gown (this was the reason that Eton scholars were called "tugs" - from "gens togata"). At the age of 15, for some unexplained reason his step-father decided he should specialize in Classics (this came as a bit of a surprise, as at the time he was trying to decide between maths and science!).
At the time Paul left Eton, the U.K. still had 2 years' compulsory National Service. At Eton, Paul had learned among other things to strip down and reassemble Sten and Bren guns, but was turned down due to minor medical problems (rather to his relief!), and was therefore able to go straight on to university, getting an "exhibition" at King's College, Cambridge. At Cambridge, he earned an MA in Archaeology and Anthropology, specializing in Social Anthropology. This subject had been recommended to him by the then provost of King's, Noel Annan, as he had missed out on several years of science, but was resolved not to do any more Classics! Anthropology and Archaeology proved to be a perfect fit with his interests, and science was not a prerequisite, so he was able to spend an extremely enjoyable 3 years learning how to recognize Neanderthal skulls and hearing about the Kachin from someone who had actually lived among them. In between Eton and Cambridge, he spent a summer at the University of Innsbruck, Austria, studying Sumerian under Herr Professor Oberhuber, plus some other subjects. (By the way, if all those "Kings" sound a bit repetitious, Eton and King's College were both founded by the same king, Henry VI.) In spite of all this education, Paul considers himself largely self-taught.
English boarding schools are famous for their horrendous food, so it was at Cambridge that Paul discovered, via the Chinese and Indian restaurants there, that (to paraphrase Peter Mayle) "food could have taste". He also took advantage of all the amenities that a famous university offers, including making friends from all over the world, playing in a small Latin band, enjoying what was then called "jive", Scots dancing, Indian music, and reading on "the backs". One friend at King's who left a strong impression was the brilliant and courageous South African anthropologist and activist, John (Jan) Epaminondas Laredo. He died suddenly in 2000, and Paul always regretted that they had lost touch with each other after leaving Cambridge.
After leaving Cambridge in 1958, he decided to make a move into the newly emerging computer field rather than become an anthropologist, and joined IBM (UK) in January, 1959. His first few months with IBM were spent working on Unit Record equipment, followed later that year by his first computer - the IBM 650 - 2000 10-digit words of memory on a rotating magnetic drum. This means that, as of Sept. 2019, he realized he could boast that he had been programming computers continuously for 60 years (some sort of record, surely?!). He eventually worked for IBM for 33 years in 3 countries - initially in England and the US, but, for most of his career, in Canada: first in Montréal and then Toronto.
In 1963, Paul left England, got married (in Trinidad and Tobago), and then settled in the US, where Paul worked for IBM on compiler design and general systems architecture. During this period, Paul designed and developed the data structure for IBM's internal Engineering Information System (combining compressed indices, caches and B-trees), which he believes was a precursor to IBM's popular VSAM access method, modelling it in APL. It is not clear to what extent his design influenced VSAM, which uses very similar design principles - in those days IBM's East and West coasts did not communicate very well! If Paul's design was not an ancestor of VSAM, it was definitely a case of similar needs driving similar designs!
Soon after moving with his family to Montréal, Québec, in 1968, some other ideas, rooted, oddly enough, in his experience 10 years earlier with Unit Record equipment, and later influenced by Geoffrey Gordon's GPSS, flowered into what is now called Flow-Based Programming (FBP). In the early '70s he joined the IBM team helping to design and build the Bank of Montreal's "Mech" on-line banking system, an innovative, forward-looking, 24/7, system that went live in the mid-'70s. Most of the batch part of this system was built using the first implementation of FBP, called "AMPS" (Advanced Modular Processing System), written in S/360 Assembler Language, running on a single IBM mainframe, and at least one of these batch programs was still running in production as of the end of 2013 (almost 40 years later!), although many of the other ones had been rewritten over the years.
On this project, Paul was one of the lead architects - among other things, he designed and in most cases built much of:
- the Mech online database,
- a bilingual error message system (detailed design - the overall concept was developed by the late Art Farkas of the Bank),
- built a set of Structured Programming macros to make IBM's High Level Assembler Language more usable (at the time these didn't exist for HLASM),
- designed and wrote the macros implementing the Mech database and error message system,
- specified coding standards for the project,
- participated in the design of the batch subsystem, and of course
- built the first implementation of FBP (AMPS).
It should be pointed out that, during the almost 40 years after Paul left the project, the part of the Mech batch system which was written in AMPS was maintained entirely by Bank personnel (and maybe a few IBMers), many of whom had not even been born when it was written!
In 1976, at around the time Mech went "live", Paul was transferred to Toronto, Canada, where he built a VM/CMS implementation of the IBM document indexing product STAIRS, called STAIRS/CMS. STAIRS itself was originally developed in support of IBM's antitrust lawsuit in 1969, and STAIRS/CMS became quite a successful product, although it was more accepted in Europe than in N. America. In the 1990s, IBM migrated customers to IBM SearchManager/370 under VM, and provided migration facilities to help them to do this. Paul spent the rest of his IBM career working on various FBP projects, and retired from IBM in 1992.
Following his retirement, he worked at another bank, retiring (again!) in 1994, after which he worked for about 10 years as a programming contractor. Not surprisingly, he spent several years of this time working on the famous Y2K problem, as did tens of thousands of other programmers, helping to stave off what could well have become a major world-wide disaster! After this he resumed working as a contractor, including returning to the Bank of Montreal for several more years (this time in Toronto), where he built a number of regression test tools using AMPS and also improved AMPS' debug facilities. After this period, he concluded his contracting career working on Ray Nissan's job scheduling software, Cybermation, later acquired by CA Technologies.
Paul is now an unpaid consultant, living in picturesque Unionville, Ontario, spending his time on trying to spread the word about Flow-Based Programming. Over the last few years he has built implementations using Java, C#, C++ (supported by Boost, and using Lua as a scripting language), and more recently a Go version which takes advantage of Go's "goroutines".
To quote Australian programmer Sam Watkins, "FBP is the industrial revolution waiting to happen to software development."
Paul also spends some of his time communicating and worrying about the planet, and our species in general. Paul uses LinkedIn to manage his professional contacts, and emits the occasional tweet on matters that interest him: mostly political, medical, and scientific. His blog seems to have lapsed somewhat during the last few years, in favour of tweets. There is now a Google group, with almost 800 members worldwide (as of Feb. 2020), and more recently we have a Discord forum (see the FBP root page). There is an invitation link for the latter at Discord.
"Smart" Data Types
Paul has always felt strongly about the idea that data should be "smart". Traditionally computer data has been held as simple numeric or string values, resulting in frequent confusions about the units or encoding involved - it is now possible to handle this cleanly using OO concepts. He has put a web page on this topic on his web site, and he and the software architect, Denis Garneau, built a set of smart business data types for the brokerage project they worked on which used JavaFBP. Code for the business data types can also be found on GitHub.
Paul hasn't worked on "smart" data for quite a few years, although he is still strongly committed to it, so he is pleased to report that this extremely important topic is now being ably promoted by Werner Keil, Senior Test Automation Engineer, Microservice Expert at ING-DiBa. The Java SE 8 implementation of Units of Measurement Implementation, version 1.0.3, was released on Jan. 22, 2017.
"A Museum for Young Gentlemen and Ladies"
Paul inherited a children's reference book dating from the mid-1700s, that was owned by one John Smith, one of Paul's mother's ancestors, entitled "A Museum for Young Gentlemen and Ladies - 15th Edition", which was apparently very popular in its time. A copy of this was among a set of books that one Jane Barnes was arrested and sentenced for stealing, in 1783. She was fined 1 shilling and imprisoned for six months in a house of correction.
This book was apparently never digitized, so Paul has now done this, and the result can be found on the Gutenberg project, at A Museum for Young Gentlemen and Ladies, where it is now available in HTML, epub and Kindle formats. In case you were wondering, the "ſ", "ſ" - "long s" - has not been preserved in order to allow text searching, but they have been retained in the Table of Contents, for the look of it!
In late 2016, Paul donated the actual book to the Osborne Collection of Early Children's Books, Toronto Public Library, where it will hopefully be better cared for than Paul (or his descendants) would ever have been able to!
Programming languages and development methodologies, linguistics, space flight and science fiction, West African, Caribbean, Latin, and Indian music (Paul played percussion with a Latin band at Cambridge, and then later played the guïro in one of the late, great Fela Kuti's first bands, in England - probably the Highlife Rakers, although Paul doesn't remember the name of the band - and got paid for it too!); and as many areas of science, especially the life sciences, as he can keep up with. During the period when he was living in London, he was a member of the Asian Music Circle, and was also a member of the British Interplanetary Society, whose president at the time was the distinguished writer and visionary, Arthur C. Clarke.
Among the formative influences in his life, he would like to acknowledge his wife, his mother, many of the concepts of Christian Science (one of his teachers was "Fougasse", the noted British cartoonist), the Dragon School, Eton College (some positive effects, in an unintended sort of way), Recovery International, and of course Cambridge University - in Paul's totally unbiassed opinion, the finest university on the planet.
- Data Responsive Modular, Interleaved Task Programming System, IBM Technical Disclosure Bulletin, Vol. 13, No. 8, 2425-26, January 1971
- Data Stream Linkage Mechanism, IBM Systems Journal, Vol. 17, No. 4, 1978
- Flow-Based Programming: A New Approach to Application Development, Van Nostrand Reinhold, NY, 1994. ISBN 0-442-01771-5. Now out of print, but available second-hand. Ed Yourdon kindly added this book to his list of cool books.
- Flow-Based Programming, 2nd Edition: A New Approach to Application Development, CreateSpace, 2010. ISBN 1-451-54232-1
Link to Flow-Based Programming web page.
Link to Flow-Based Programming Google group web page.
LinkedIn: J. Paul Morrison - LinkedIn