Extending Semantic Interoperability
To Legacy Systems
And an Unpredictable Future

John F. Sowa

VivoMind Intelligence, Inc.

15 August 2006



Interoperability and Ontology

Computer systems interoperate by passing messages.

Every message has a meaning (semantics) and a purpose (pragmatics).

The role of ontology is to make the semantics and pragmatics explicit
in terms of the people, places, things, events, and properties involved.



To Predict the Future — Look at the Past



Early History




The New Field of Computer Science



Computer Science Reaches Maturity



ANSI/SPARC Conceptual Schema

Proposed as the basis for interoperable databases in 1978.

Revived as an ISO standards project, R.I.P. 1999.


The PC Revolution

A new generation of PC users are unaware of anything that went before.

Many great new "killer apps" — e.g., spreadsheets.

Most of the mistakes and some of the lessons of the past are repeated.

IBM mainframes begin a long, slow decline.

Old timers continue to do research on formal methods.

But anything that cannot be done by WIMPy tools is ignored.

The Unified Modeling Language (UML) has prettier diagrams than VDL.

Those diagrams could be defined in logic, but they're not.

Without a formal definition in logic, the diagrams
lack the precision and coherence of VDL.


World's Largest Ontology Project

Cyc project started in 1984 by Doug Lenat.


Project Halo

Project for evaluating methods of knowledge representation.

Goal:  Build an intelligent tutor.

Test case:  Encode knowledge from a chemistry textbook in order to answer questions on a freshman chemistry exam.

Participants:  Cycorp, OntoPrise, SRI International.



Lessons to be Learned

Why did UML succeed, but VDL was ignored?

Why hasn't Cyc been used in commercial applications?



Take advantage of what developers already know:

Focus on bottom-up tasks, rather than top-down ontologies:

Use ISO Common Logic as the underlying formalism for the database
language, the UML diagrams, and controlled English.


ISO Common Logic

CL is a framework for a family of logic-based languages:

Purpose:  Guarantee that content exchanged between CL-conformant languages has the same semantics in each language.


Representing Rules in Controlled English

Attempto Controlled English:

If a copy of a book is checked out to a borrower
   and a staff member returns the copy
then the copy is available.

If a staff member adds a copy of a book to the library
   and no catalog entry of the book exists
then the staff member creates a catalog entry
        that contains the author name of the book
           and the title of the book
           and the subject area of the book
   and the staff member enters the id of the copy
   and the copy is available.

These statements can be automatically translated to or from CL.


Use of Controlled English


Elephant 2000

I meant what I said, and I said what I meant.
An elephant's faithful, one hundred per cent.


An elephant never forgets.

Proposal by John McCarthy:

A language based on logic and speech acts.



Legacy systems survive for many decades —
and their ontologies are inherited by their successors.

Communications among people *and* computers are always
based on task-oriented ontologies.

Those ontologies are bottom-up, highly specialized, and usually de facto.
Example:  Amazon.com ontology, which suppliers are forced to adopt.

Formal definitions are important for both upper and lower ontologies.

Upper-level ontologies are important as guidelines.

When conflicts occur, the lower level wins.

At every level, intentions, expressed in speech acts, are fundamental.


Challenge to AI for the Next Fifty Years

Position paper by Alan Bundy, pioneer in automated problem solving: