Where Tunes is going.

Brian Rice water@tscnet.com
Sat, 23 Oct 1999 11:48:40 -0700

At 10:07 AM 10/23/99 -0400, Tom Novelli wrote:
>You want peer review, you got it :)
>> Of course this is necessary, and I have no doubt that such a description
>> can be distilled from all of this rhetoric once the Arrow environment gets
>> "filled out", just as an object-oriented language needs a certain set of
>> classes to develop applications from in order to be really useful.  To
>> those who have spent the time these last few months on IRC helping me in
>> discussions, you would understand that there are a few simple concepts
>> within Arrow: (1) epistemic constructs (no semantic content), (2) reifying
>> ontologies to support every kind of semantic content desired, built from
>> the epistemic constructs, and (3) the modality concept to analyze the
>> possibilities available to an agent in a given context and yield a formal
>> means for constructing a semantic framework (a logic) dynamically.
>This could be a nice simple explanation if it didn't use special
>vocabulary.  Epistemic? Ontologies?  My dictionary says only that
>epistemology and ontology are obscure branches of philosophy, dealing with
>human knowledge and existentialism... too vague.  Reify and Modality
>aren't in the dictionary.  What do _you_ mean by Agent?  I know what
>"semantic" means, but I'm probably in the minority.  Framework - that
>sounds simple, but "semantic framework"? Uhh.. throw me a bone here :)
>Unless the people you're trying to reach are at the top of the ivory
>tower, with PhD's in CS and Philosophy, you had better put your message in
>layman's terms.

No web search?  Are you crazy?  (I suggest going to www.ask.com, and asking
"What is an ontology?")

Epistemic ideas are those that are not concerned with interpretation or
representation.  For instance, both bits and arrows are formal epistemic
constructs for information.  They can be represented and used in arbitrary
ways.  Other examples include electrical signals travelling through
neurons.  The importance of the concept is that you can model something
without inherently commiting it to a particular domain of knowledge.  BTW,
there are examples for using arrows as information constructs, but I
haven't yet found them on line.  To describe it basically, arrow
collections form functions, and "partial function specifications" are
similar to "incomplete bit-strings".  The relations are due to basic
information theory, and I can elaborate as necessary.

Ontologies are modular specifications of semantic domains, applied usually
in the Knowledge-Representation field of AI.  My idea for these is to
extend them so that they don't simply define first-order terms, but that
they also define higher-order terms, allowing them to specify higher-order
programming languages.  In Prolog and Lisp (and lately, XML), the usual
ontologies relate terms and attributes as predicates to basic definitions
with attributes in another domain's language.  Basically, they contain a
set of formal definitions which are applied modularly.  In the usual
fields, ontologies don't provide algorithms, just ways to "effectively
compute" the meaning of a term in some code.  My idea to extend this makes
ontologies powerful enough to describe any formal (higher-order or
otherwise) system, and to do it using epistemic constructs, so that the
information imparted can be "lifted" as easily as possible from the
original domain.

(These represent a very small sample of the total effort into this subject.)

As for reifying ontologies dynamically, consider that they could be
modelled as arrows (a bit of a stretch, I know).  The important aspects are
that they link the terms from one domain to another and that they aren't
unique (i.e. there may be more than one way to define a set of terms with
another).  Another aspect is that, as sets of definitions between domains,
the ontologies are composable and reversible (as I've described arrows as
being).  Essentially, I'm talking about a category of ontologies, for those
familiar with categories.  It's a web connecting domains of information and
knowledge, constructed formally and providing a facility for automatically
composing sets of definitions into new ones.  Now, ultimately this web
should be reflective: that is, it should address issues that affect it's
internal representation and implementation, which would make the notion
more complex, but at the same time it would make it usable as the Tunes
meta-translator framework.

The agent concept is just a way of talking about the information stores
that communicate via ontologies.  Agents can accept or decline the
applicability of ontologies to their purpose.  Some ontologies might
provide a useful set of meanings for an agent, while others might not.
Agents don't have to be limited to a single domain of knowledge or a single
computational thread, they merely represent some coherent task.  I don't
have a good model for an agent just yet, but that could change soon.

The modality concept is a bit rougher.  If you consider a relation as
providing a web of allowable transitions in a formal system (as "aRb" would
imply that it is possible to move from "a" to "b" via "R").  This is the
world of modal logic.  Basically, the modality concept applies to sets of
relations that interact.  For instance, the web (or hierarchy) of possible
terms that can be defined in a particular programming language defines a
particular modality.  You could consider it a "way of getting what you
want" via small formal steps allowed by a specification.

Well, that should prompt plenty more questions, and I'll put together some
URL's to help explain further.  And oh yes, thank you very much for the