Arrow system

Thomas M. Farrelly
Fri, 07 May 1999 19:35:25 +0200

Billy Tanksley wrote:
> > From: Thomas M. Farrelly []
> > Subject:      Re: Arrow system
> >
> > Imagine this. You have something describing the state transitions in an
> > automata. Under TUNES it would be possible to do whatever you wished,
> > and the lucky wish is: Put some system state invariants on the whole
> > model, like "this and that state is to take maximum 1 second". So now,
> > when going form one state to another, the system will sometimes test if
> > the time spent in the last state is within a special interval. And if
> > you wanted to, go to a special state depending on this.
> >
> > In the arrow system, you say that state transistions can be expressed
> > simply by a graph of the transitions, but when you want to _add new
> > information to it_, as it often the case in a reuse situation, it
> > suddenly is no longer interpretable by the same ontology - and there
> > need not be information available to create the new ontology from the
> > old one. This means that it is not very easy at all to communicate the
> > different graphs between the different ontologies that initially all
> > talked about the same concept.
> >
>         Ah, but as I understand it, the purpose of the arrow system is to
> allow you to _NOT_ have to modify the old code you're re-using -- instead,
> you point to it from your new code.  The old code remains intact, ontology
> and all.  Your new code doesn't modify it; instead, it "cuts into" the old
> ontology and indicates the desired system.

My point exactly (about the need for contexts): In order to do this
"cutting-in", you require a context switch between the information
specifying the cutting and the information beeing cut into and out out
of. Suddenly you go from a homoiconic system to one where there is the
cutting and the data - two colors. In practice the cutting corresponds
to the static framework ( or class definition in oo ) and the data
corresponds to the dynamic state of objects ( or objects in oo ).

And you might say that the cutting would be transparent and run smoothly
through your different ontologies, but then if it practically wasn't
there, you could really reflect on it eighter. You could ofcource add a
new ontology where the cutting is regarded as anything else, but then
your off to the meta-class-protocol style reflection of smalltalk.

>         So you're not adding new information to old code, not really.

No, I am adding new information to an old structure - causing the old
ontology to be useless. Whether or not the new ontology is referentially
dependent on the old or a modified copy, is not the problem - the
problem is that your new flora of structures and ontologies will not be
as intermixable as you would want, expect and need.

But for the sake of argument: lets say that they were intermixable (
i.e. you can use the old ontology with the new structure and get a
predictable(if not useful) effect ). Then _all_ structures would need to
have a kind of openness to them, they would have the option to add new
structures to them - and a referencing scheme which could locate some
substructure inside them regardless of the other substructures. In short
you would need a framework for handling attributes.

I expect that this could be designed in an arrow-fashion way, but then
you would have a split between the arrow structures that conformed to
the standard and those which do not.

> > It appears to me ( who is by no means an expert ) that you have
> > reinvented the usefullness of references. But you lack real objects to
> > reference. Surely you can call the definition of objects for ontologies,
> > but it doesn't help much. It will not provide any uniform way of
> > interpreting information. It's close to saying: "lets interpreted all
> > information as bits!", "what about [fill in problem here] ?" - "I'll
> > just use some more bits for that!" - and we all know how that went:)
> >
> > Flame me if I'm wrong, or give me a concrete example of how something
> > real can be done. For example:
> >
>         I don't think you're wrong, honestly.  I wish I had some time to
> work with this, but I don't.  So I have to reserve judgement, but in the
> meantime I think this'll take a lot more work -- just like every other
> comprehensive system of proof ever developed.  Riohgt now we don't even have
> a proof system, only a simplistic modelling system.
>         Have you read The Arrow Paper?

Yes, an early version, and it's all very insighfull. 

    Thomas M.  Farrelly