[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