[om-list] Re: System Design

Luke Call lacall at onemodel.org
Wed Nov 8 08:40:11 EST 2000


Mark Butler wrote:

>  If a listener starts with little knowledge about the state of the universe, I
> submit that information submitted in the form of natural and divine laws are
> dozens of orders of magnitude more powerful than prosaic little observations
> about the current state of this and that.
> 
> It's "energy is always conserved" vs. "I had a chicken sandwich for lunch"

Well, I really want a better personal organizer and a way to organize 
everything I know, and the chicken sandwich analogy sort of hits how I 
intend to do it, though it sounds weak. I still don't see how to store 
the myriad of valuable historical facts in a way that doesn't rely on 
human language, without an object model. You don't see how to meet your 
goals without precise logic. I keep thinking of that statement "truth is 
knowledge of things as they are, as they were, and as they are to come." 
I don't know for sure how its meaning applies to this topic, but it 
definitely makes me think about the old concept that if you can store 
the state of the universe at a given time, plus historical info and the 
Lord's future plans, plus know all the rules that govern it, you can 
have all truth.

The "energy conserved" point you make is obviously essential to really 
hit a home run with any system. This I vaguely consider putting at the 
level of super-classes that include code for dealing with the physics of 
material objects. But once we have a working organizer prototype and a 
working core logic model prototype we'll see better how to meld the 
concepts into one. Maybe it will be as simple as interface + core model, 
or maybe it will be something like joining architectures into one at 
some layer. I expect so. I may be able to store my object model as a 
layer on top of your logical model, or maybe we can embed logic in objects.

 
> In traditional ODBMSs, constraints are not first class (i.e. editable by users
> on an object by object basis), rather they are something the database
> administrator sets up for pre-defined classes on a relatively static basis.

I use the term constraint but need a better one, because I don't mean 
the RDBMS type. I mean something more like a rule in an object that a 
certain value must be within certain bounds, or that a certain procedure 
must be followed. These are like getters & setters with "stuff" in them. 
They make me think of constraints, stored procedures, and triggers, but 
I don't mean that the whole things is in an RDBMS. I apologize for using 
loose terminology. This may be the point where our concepts need to 
joint--?? In the rules and procedural code stored within objects that 
give them life. And these code fragments would be able to use variables 
wherever needed. Perhaps a scheme or lisp is a good internal tool for 
them, or python, or something else. I'll cross that bridge when I get 
there unless you've already got it handled by then.  :)

 
 
> > Sure:  In John's model or context within a larger model, there are
> > objects for governments and a constitution. There is a record of a war,
> > as individuals and governments engaged in activities of aggression
> > (methods!?) over time. (
> [...edited for space....]
> 
> The problem is that the procedure you just described would take an experienced
> person about an hour to translate into a model.  What I propose would
> automatically import the sentence structure verbatim into John's schema, and
> leave it to intelligent search algorithms to interpret (according to John's
> other beliefs and the context in which he lived) later.

The interface I envision would hopefully allow doing this in a few 
minutes or much less, depending entirely on the level of detail. Or, 
maybe we can automate it based on automatically parsed textual input to 
take much less time. The benefit is on the query side, because I don't 
want to store the original text at all except as a historical artifact 
or a sort of audit trail of references showing where data came from. I 
hope we'll want to model "truth", as we understand it at a given time, 
then expand & correct it over time. Human language is so vague and 
imprecise (like mine) that I think there is much greater value in 
focusing on storing the meaning, and keeping the rest only where there 
is a reason for it and space available. The historian in me wants to 
keep it all, regardless, but I question the practicality of always doing 
this (w/ current storage technology; maybe holographic storage or 
something will change this reasonably soon). I especially see its value 
as being less than that of recording meanings, and avoiding the 
performance cost of interpreting them each time they are queried.

 
> Yes, but on the other hand LISP syntax (Lots of Insane Stupid Parentheses)
> makes a very poor user interface, so I would recommend that we avoid it in
> favor of friendlier representations.

I don't think we want an interface that looks anything like a 
programming language, except perhaps when the user must create 
procedural code to model the meaning of a verb. But even then I hope we 
can come up with something easier to use, maybe like some of the fringe 
visual programming tools of the last several years.

 
> This is what Frege described as the difference between sense and denotation. 
> If we model the original sentence, that is a denotation for the sense that the
> author intended.  To put it in into our database in a different form we have
> to interpret the original denotation and translate it into our new preferred
> denotation, thus introducing interpretational error.

But it may be worth it, not to have to the processing required to 
interpret meaning at every query. Just store the essential meaning and 
sort out problems when they manifest themselves as inconsistencies 
later. This is just to get started. Then if individuals begin using the 
system as their primary means of recording data, there is no longer 
ambiguity. And as knowledge and understanding grow, we correct data, 
going back to the historical artifacts of original text whenever desired.


> ....I have been considering helping with the open source
> Postgres project (an open source object relational dbms), because the world
> really needs a first class open source rdbms, but I would rather help develop
> a next generation odbms, if there were enough contributors for it to get done
> in my lifetime.

I realize this is very slow progress, as Tom's humorous Sherlock Holmes 
email forwarded also points out. BUT: We are doing useful things; 
sometimes the tedium at the beginning pays off hugely later on. I think 
perhaps the best thing is for each of us to go forward with our visions 
while maintaining constant communication and trying to meld them at 
every turn. I sometimes (in my ignorance) think that formal logic can 
become a weaker attempt to model or identify truth than the consensus of 
individual observation and feeling that we actually rely on in practice 
in real life. Revelation (as both you and Tom correctly point out) is 
the only sure source and our efforts are weak by comparison, but still 
worthwhile. One's individual interpretation of what is try is ultimately 
what counts and that is what I plan to move forward and record, using 
inheritance and logical-like or procedural statements within 
classes/objects to model the rules that we have come to believe as true 
within our current realm of life. Since our respective understanding of 
each others' vision isn't complete yet, it may be most valuable to 
commit what we each have to code, while staying together as closely as 
possible and watching for opportunities to join then, much as we touched 
on earlier where I was talking software-centric design and you were 
discussing creating a solid theoretical foundation for a system. If we 
each do that we may have the pieces to put together, or as we continue 
talking in the meantime we may see better how this all works. I have no 
doubt that my understanding is the weaker here; I'll merely pursue what 
I do understand while I try to understand your views better. I hope that 
makes some sense and that you continue sending your thoughts from which 
I have already learned useful things and expect to continue to learn from!!

Luke

-- 
Help us put all knowledge in one bucket: www.onemodel.org.





More information about the om-list mailing list