[Top] [All Lists]

Re: [ontolog-forum] ONTOLOG community event planning and scheduling sess

To: ontolog-forum@xxxxxxxxxxxxxxxx
From: John F Sowa <sowa@xxxxxxxxxxx>
Date: Tue, 10 Sep 2013 10:56:08 -0400
Message-id: <522F3308.4030603@xxxxxxxxxxx>
On 9/10/2013 7:22 AM, David Eddy wrote:
> My crude rule-of-thumb for an IBM mainframe production application
> would have a minimum of 6 languages in a single application:
> Languages used in the last application I had my hands on:
> - Assembler
> - CICS
> - JCL
> - IMS (how many sub languages in & around a 40 year-old IMS application?)
> - ETC (an HTML-like document composition language from Applied Data
>   Research) - ??? report writer.    (01)

That is an example of what happens in the "real world".  For the benefit
of academics who have never seen, heard, or read about the "real world",
I'll use CICS (Customer Information Control System) as an example:    (02)

 From http://en.wikipedia.org/wiki/CICS
> CICS was originally developed in the United States at an IBM Development
> Center in Des Plaines, Illinois, beginning in 1966 to address requirements
> from the public utility industry. The first CICS product was released in 1968,
> named Public Utility Customer Information Control System, or PU-CICS. It 
> clear immediately that it had applicability to many other industries, so the
> Public Utility prefix was dropped with the introduction of the first release
> of the CICS Program Product on July 8, 1969, not long after IMS database
> management system.    (03)

In those days, IBM had some online interfaces to mainframes (TSO and
CP/67), but they couldn't handle large numbers transactions per second.
IBM had also developed SABRE for airline reservations in the 1960s, and
the basic SABRE design and *ontology* is still being used by all the
airlines around the world.    (04)

But the combination of CICS + IMS + COBOL rapidly became the workhorse
that made IBM the dominant computer company in the world for many
decades.  Some researchers (like me, for example) had a great deal
of respect for that combination -- because it paid our salaries.  But
other researchers at IBM were as clueless as any academics anywhere.    (05)

As David points out, CICS is still going strong today. That is because
IBM integrated it with all the latest developments.  In fact, CICS is
better integrated with the WWW than any of the Semantic Web tools:    (06)

Also from wiki/CICS
> Recent CICS Transaction Server enhancements include support for Web
> services and Enterprise Java Beans (EJBs), Event processing, Atom feeds,
> and RESTful interfaces. CICS Transaction Server version 4.2, which became
> generally available on 24 June 2011, includes support for system events,
> 64-bit Java, transaction tracking, and password phrases...
> CICS TS ... introduces support for Atom feeds, and SupportPac CA1S adds
> support for the PHP scripting language.    (07)

CICS is so widely used that an open-source version of the CICS API,
called OpenKicks, was developed for Linux, Unix, and Windows:    (08)

    http://www.replatformtech.com/downloads/openkicksprint.pdf    (09)

And by the way, that ancient SABRE ontology for airline reservations
has been inherited by *all* reservation systems for cars, hotels, and
travel services of any kind anywhere in the world.  In terms of usage,
commercial ROI, *and* research by academics who never heard of SABRE,
the SABRE ontology has had more impact on the world than anything
written in OWL or any other so-called ontology language.    (010)

For people like me who have a high regard for logic and formal
specifications, please note that the IBM Hursley Lab, which has
maintained and developed CICS since 1974, worked with Oxford to
use the Z logic and tools to specify the basic CICS foundation.
That led to a faster, more reliable, and more extensible rewrite.    (011)

 From wiki/CICS
> Part of CICS was formalized using the Z notation in the 1980s and
> 1990s  in collaboration with the Oxford University Computing Laboratory,
> under  the leadership of Sir Tony Hoare. This work won a Queen's Award
> for  Technological Achievement.    (012)

At least some academics recognize that the real world has technically
challenging problems that are worth their attention.    (013)

> How many languages are there in a SW application?  RDF, OWL, SPARQL, ???    (014)

Any application of SW tools that does anything useful uses as many
different languages as anything implemented for IBM mainframes.
Unfortunately, the academics who dominate the W3C ignore those
practices because they are, to use an IBM word, *counter-strategic* .    (015)

Following is the definition from the Dictionary of IBM Jargon:    (016)

 From http://www.comlay.net/ibmjarg.pdf
> 1. adj. Not the official policy. Applied to suggestions that one would
>    like to ignore. “Not the basket in which IBM has placed its eggs.”
> 2. adj. Not the published official policy. That is, causing embarrassment
>    to those who are responsible for what is strategic.    (017)

An earlier edition of the dictionary was more blunt.  Counter-strategic
was defined as "Embarrassingly superior to what is strategic."  And
Strategic was defined as "Supported by managers who have been promoted
beyond their level of competence."  But those definitions were purged.    (018)

By the way, CICS was originally ignored as counter-strategic, but IBM
management was forced to support it because it was so profitable. But
instead of integrating CICS into the mainstream operating system, which
was implemented in Poughkeepsie, NY, they banished it to Hursley, UK.    (019)

That banishment made CICS more portable than other components of the OS
-- but some top managers considered portability counter-strategic.    (020)

John    (021)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J    (022)

<Prev in Thread] Current Thread [Next in Thread>