Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: SUO: What the marketplace needs from us.




Eric,

I agree that with the current state of software
development tools, it is impossible to use logic
effectively.  I don't blame application programmers,
who have jobs to do and are stuck with the current
crop of garbageware.  I mostly blame the computer
science professors, who have done a lousy job of
teaching several generations of students how to
design software tools.

> A relational data model will not yield OO classes
> for our Java programmers without a lot of hard work.

And what do you mean hard work?  For whom?  For the
middleware software developers?  For the application
software developers?  For the end users?

My primary reason for talking about RDBs was not to
recommend SQL as the representation, but to recommend FOL.

> An ontological data model would be my choice but is
> a hard sell.

What is an "ontological data model"?  Ontologies are
represented in logic, not in "data models".

Without good tools, the application programmers will never
use logic.  With the right kind of tools, you don't have
to sell it, they'll run after you to get it.

> [about logic programming] I don't at all disagree.
> But I'm not yet that good of a salesman.

I taught many people in IBM how to use Prolog, but I
wasn't a good enough salesman to convince management
that they should use it seriously.  I did convince enough
people that IBM eventually produced an excellent Prolog
product, but the salesmen had no idea how to sell it
to customers, and it dropped like a lead balloon.

In my current work (with VivoMind LLC) we have excellent
logic-based tools, but we are not even attempting to
sell them.  What we are selling is results.  I'll have
more to say about that later.

 > It would take take one seriously qualified fair Godmother
 > to translate relational SQL into Horn logic. And I'm not
 > seeing how the subset of horn logic whith which
 > it behaves consistently, will help me translate
 > the Horn rules in my ontology. How would I encode
 > "All men are mortal" in a RDB?

What I would recommend is that all representations
for RDBs, O-O languages, etc., be generated from
a common logic-based form.  And the notation for logic
that I suggest is anything in the CL family, including
controlled natural languages, such as ACE:

    http://www.jfsowa.com/logic/ace.htm

In ACE, you would write "Every person is mortal."
With appropriate tools, the system would translate that
to its preferred internal version of CL.  From that
internal form, the system would generate whatever
representation the target language(s) would require.
For an RDB, it would generate a constraint that
would check every update of type Person and block
any immortals from being added to the DB.

> ... I want that expressive power as much as you,
> but I feel constrained by the current needs of my customer
> and what I perceive to be the needs of the marketplace.

I certainly agree that we have to accommodate the
customers' needs within the contraints of budgets
and deadlines.  But I want to change the marketplace
by providing appropriate tools so that those needs
can be met much more expeditiously with much better
results.  But until such tools become available, 
people have to muddle through with what they have.

> But maybe Jim Hendler would argue that FOL can be
> backfilled into DAML and that he was merely focusing
> on the realities of DARPA's and the US DOD's needs.

DARPA and the rest of DoD have very different needs.
The operational units need software ASAP, and they have
to make do with what is available.  DARPA is supposed
to focus on future requirements, which should go far
beyond what is currently available.

In any case, DAML and OIL have been merged into OWL,
which is being represented within the CL family.
Therefore, anything represented in OWL could be used
by richer CL languages, such as KIF and CGs.  But to
limit ontologies to what is representable in OWL
would be a disaster for future growth.

John