PDQ: Queries with Objects in 1986
    Greg Bryant

I've specialized in formal language design and implementation since the 80's, 
often as a consultant, and built some successful systems.

In 1986, I consulted to a former client in silicon valley that had changed
names from CADTec to Sherpa. They were building what would later be called
'configuration management' systems. These always needed human interfaces,
and so I designed and built a few with them. One language was just called 
PDQ, or 'product data query', essentially a query translator in front of 
the database. 

PDQ became the heart of a system called Sherpa DMS (Data Management System), 
a customizable design-and-construction workflow application that became heavily used
by the aerospace industry throughout the 90's. It helped with logistics and 
engineering management, a field then called 'Product Data Management' which
would later be called 'Product Information Management' and later 'Lifecycle
Management'. Most jetliners produced in the 90's were designed using Sherpa DMS. 
It was still in use after the dotcom boom, and might still be embedded in some
legacy systems today.

PDQ might have been the first object-oriented query language in a successful
commercial product. It's hard to tell, since such subsystems are often hidden, 
and most products are lost.

Also, it's hard to call PDQ an object-oriented query language, in our contemporary 
sense (I'm writing in 2017) since the intention was not to integrate with o-o 
languages, whose compilers were still not yet considered reliable commercial products 
in 1986, but instead to offer an optional approach to describing relations among 
products, parts, and attributes -- an approach simpler than relational query languages 
of mid-80's database products, but which would be implemented on top of them.

Utimately, this set of features propagated into almost all general-purpose query 
languages. The ideas had been floating around in labs for years, so I'm not sure 
if this implementation was a primary influence -- but it was certainly successful 
enough to be influential.

A few years later, several of my colleagues at Sherpa formed a successful rival 
company known as Agile Software.

Here are my working papers for the initial implementation, finished in the summer 
of 1986. It's a nice example of the process required to delineate any query language's 
denotational semantics.