 |
|
 |
|
Next: Combobox Tooltips
|
| Author |
Message |
External

Since: Jan 22, 2008 Posts: 177
|
(Msg. 31) Posted: Sun Nov 02, 2008 7:12 pm
Post subject: Re: Object oriented database [Login to view extended thread Info.] Archived from groups: comp>databases>theory (more info?)
|
|
|
On Nov 2, 8:40 am, JOG wrote:
>
> These are the people who are worth discussing data models with
> because, well, they realise OO isn't one, and they have built another
> on top as best they could within its constraints.
I agree that OO isn't a data model. However, this depends on
sufficiently narrow definitions of OO and data. The definition
data = information in a form suitable for machine processing
doesn't seem narrow enough to me because objects have state and one
could say that objects represent information.
Since the misuse of OO is so harmful to the computer industry, I think
it's important to come up with better definitions of terms like
"object" and "data". Maybe this could allow for a decent exchange
with the headless chooks on comp.object. Am I dreaming?
Consider that within a given computational machine, we define
object = identifiable Finite State Machine (FSM)
and
variable = identifiable holder for an encoded value
It follows that every variable is an object because one can interpret
a variable as an FSM whose current state corresponds to the encoded
value and which supports all possible transitions between states
through assignment operations.
However it is not true that every object is a variable. For example,
a mutex object doesn't represent an encoded value, and cannot support
assignment.
It follows that there are two kinds of object types: value-types and
non-value-types. In OO, sub-typing is based on the Liskov
Substitution Principle (LSP) and more specifically on the
substitutability of a reference to a type of FSM, and it can easily be
proven that proper sub-typing of value-types is impossible. In fact a
"pure" OO language tries to ignore the distinction and perhaps even
emphasise the non-value-types. This is hard to justify. Value-types
should be promoted where possible.
If we define
data = encoded value
it is clear that OO has little to do with data models, except in the
case where the objects are just variables that hold encoded values.
Of course someone may say that OO encompasses data models for the same
reason.
Since values can easily compose, it follows for data as well. I see
the RM as just one important way to compose values. However the RM
doesn't have exclusivity on this. For example, a well written matrix
library using C++ templates provides a useful implementation of value-
types (matrices) that are composed from other value-types (eg complex
numbers).
Even though it's possible in some cases for an FSM to be regarded as a
variable encoding a value, it never makes sense to say that a value is
composed out of FSMs. Values are immutable whereas FSMs are not.
FSMs exist in time and space whereas values do not. This makes me
think that D&D has possibly created some confusion by suggesting that
object types are related to attribute types (and not to tuple types -
which they refer to as The First Great Blunder). I would suggest it
is better to just say that objects (ie FSMs) which can have
"behaviour" have nothing to do with either. Furthermore, attribute
types, relation types and tuple types are all value-types.
It is possible to compose complex FSMs from simpler ones. This of
course is the basis behind OO. However there is no algorithm that
can predict the behaviour of all given FSMs, and perhaps this explains
the pejorative one hears that "OO lacks a formal basis". However,
that's tantamount to saying that FSMs lack a formal basis, which is
not true. Is it meant to suggest that FSMs aren't useful? I think
a better pejorative would be to say that most OO programmers use
guesswork and aren't capable of programming complex FSMs without
unexpected behaviours (ie bugs), and therefore they should avoid FSMs
wherever possible (eg by promoting value-types - and more specifically
by the data centric principle). >> Stay informed about: Object oriented database |
|
| Back to top |
|
 |  |
External

Since: Aug 01, 2008 Posts: 42
|
(Msg. 32) Posted: Mon Nov 03, 2008 11:25 am
Post subject: Re: Object oriented database [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
"David BL" wrote in message
> On Nov 2, 8:40 am, JOG wrote:
>>
>> These are the people who are worth discussing data models with
>> because, well, they realise OO isn't one, and they have built another
>> on top as best they could within its constraints.
>
> I agree that OO isn't a data model. However, this depends on
> sufficiently narrow definitions of OO and data. The definition
>
> data = information in a form suitable for machine processing
>
> doesn't seem narrow enough to me because objects have state and one
> could say that objects represent information.
>
When discussing data with OO people, I think both the OO people and the data
centered people focus on the wrong thing. We insist on finding a mapping
between data and objects. I think that's the wrong place to start. I think
we should start with messages. Every formulation of the OO paradigm starts
out by saying that objects collaborate with each other by exchanging
messages. Describing messages in terms of data is a whole lot simpler, and
less philosophical than describing objects in terms of data. Very very few
of the OO people insist that there's some metaphysical difference between
messages and data.
Instead of describing a database as a repository of persistent objects, we
could describe a database as a repository of persistent messages. These
messages are addressed "to whom it may concern", and that raises some
issues, but they are fairly mundane issues.
Even Alan Kay, originator of OO programming, has said that he
underemphasized messages in his original description of what OOP is all
about. And certainly the early years of OOP, OOD, and even OOA were filled
with examples of very clever objects reduced to near uselessness by obtuse
messaging systems. And the thing that might enable OO systems to scale up
better than they do would be a messaging system that can be revised and
extended without breaking existing objects.
I don't have all the answers here, or even any of the answers. I'm just
trying to get us both started in terms of asking the right questions.
> emphasise the non-value-types. This is hard to justify. Value-types
> should be promoted where possible.
>
> If we define
>
> data = encoded value
>
> it is clear that OO has little to do with data models, except in the
> case where the objects are just variables that hold encoded values.
> Of course someone may say that OO encompasses data models for the same
> reason.
>
> Since values can easily compose, it follows for data as well. I see
> the RM as just one important way to compose values. However the RM
> doesn't have exclusivity on this. For example, a well written matrix
> library using C++ templates provides a useful implementation of value-
> types (matrices) that are composed from other value-types (eg complex
> numbers).
>
> Even though it's possible in some cases for an FSM to be regarded as a
> variable encoding a value, it never makes sense to say that a value is
> composed out of FSMs. Values are immutable whereas FSMs are not.
> FSMs exist in time and space whereas values do not. This makes me
> think that D&D has possibly created some confusion by suggesting that
> object types are related to attribute types (and not to tuple types -
> which they refer to as The First Great Blunder). I would suggest it
> is better to just say that objects (ie FSMs) which can have
> "behaviour" have nothing to do with either. Furthermore, attribute
> types, relation types and tuple types are all value-types.
>
> It is possible to compose complex FSMs from simpler ones. This of
> course is the basis behind OO. However there is no algorithm that
> can predict the behaviour of all given FSMs, and perhaps this explains
> the pejorative one hears that "OO lacks a formal basis". However,
> that's tantamount to saying that FSMs lack a formal basis, which is
> not true. Is it meant to suggest that FSMs aren't useful? I think
> a better pejorative would be to say that most OO programmers use
> guesswork and aren't capable of programming complex FSMs without
> unexpected behaviours (ie bugs), and therefore they should avoid FSMs
> wherever possible (eg by promoting value-types - and more specifically
> by the data centric principle).
> >> Stay informed about: Object oriented database |
|
| Back to top |
|
 |  |
External

Since: Jan 15, 2008 Posts: 1017
|
(Msg. 33) Posted: Mon Nov 03, 2008 11:25 am
Post subject: Re: Object oriented database [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
Walter Mitty wrote:
> "David BL" wrote in message
>
>
>>On Nov 2, 8:40 am, JOG wrote:
>>
>>>These are the people who are worth discussing data models with
>>>because, well, they realise OO isn't one, and they have built another
>>>on top as best they could within its constraints.
>>
>>I agree that OO isn't a data model. However, this depends on
>>sufficiently narrow definitions of OO and data. The definition
>>
>> data = information in a form suitable for machine processing
>>
>>doesn't seem narrow enough to me because objects have state and one
>>could say that objects represent information.
The fact that objects (specifically object instances) have state and
variables have state should be a clue to the observant.
> When discussing data with OO people, I think both the OO people and the data
> centered people focus on the wrong thing. We insist on finding a mapping
> between data and objects.
Frankly, I disagree. I respectfully suggest the data folks do something
very different, which is why D&D published the Two Great Blunders.
> I think that's the wrong place to start. I think
> we should start with messages. Every formulation of the OO paradigm starts
> out by saying that objects collaborate with each other by exchanging
> messages. Describing messages in terms of data is a whole lot simpler, and
> less philosophical than describing objects in terms of data. Very very few
> of the OO people insist that there's some metaphysical difference between
> messages and data.
But messages are no different from operations. The idea of messages
tends to focus too much on physical implementation or a location-based
computational model with the idea that the message moves from one
physical location to another. At the logical level of discourse where we
actually use operators to identify the operations we use, data has no
physical location.
<snip> >> Stay informed about: Object oriented database |
|
| Back to top |
|
 |  |
External

Since: Oct 31, 2008 Posts: 27
|
(Msg. 34) Posted: Mon Nov 03, 2008 11:44 am
Post subject: Re: Object oriented database [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
On Nov 2, 1:57 pm, DBMS_Plumber wrote:
> On Nov 1, 7:57 am, wrote:
>
> > ... my point is how do you serve object
> > oriented programmers persistance without worrying about a data model?
>
> If you think the priority in information management is the care and
> comfort of
> programmers, you really have no idea what you are doing.
Well in the usage case that I had envisioned, that was sort of the
point, care and comfort of the programmer. >> Stay informed about: Object oriented database |
|
| Back to top |
|
 |  |
External

Since: Oct 30, 2008 Posts: 2
|
(Msg. 35) Posted: Mon Nov 03, 2008 3:17 pm
Post subject: Re: Object oriented database [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
This was more response than I actually thought I my post would get
(first time posting to newsgroups)  .
I do apologise if my post falls outside the scope of this group as I
might have been looking for a more pragmatic discussion, although the
theory interests me.
My first objective is to create something that fits within the
framework of existing programming languages, making it as easy as
possible for programmers to use. As I see it, there is enough in
common between C++, Java and C# for example to be able to create a
common object model.
Seeing from some posts I might have used the term "object model"
wrongly, but I have defined it as the set of classes used by one
application. I am not looking to create a "data warehouse" style
database that would be used by a wide range of applications, but
rather a database / distribution system that is tightly linked with
one or just a few applications. The reasoning being that there are a
lot of applications that need to store complex data that doesn't have
much meaning outside the application itself. From experience, I have
seen so many applications that use a relation database just because
that happens to be the only or the easiest available choice.
Tomas >> Stay informed about: Object oriented database |
|
| Back to top |
|
 |  |
External

Since: Jan 22, 2008 Posts: 177
|
(Msg. 36) Posted: Mon Nov 03, 2008 5:18 pm
Post subject: Re: Object oriented database [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
On Nov 4, 12:21 am, "Walter Mitty" wrote:
> Instead of describing a database as a repository of persistent objects, we
> could describe a database as a repository of persistent messages. These
> messages are addressed "to whom it may concern", and that raises some
> issues, but they are fairly mundane issues.
That doesn't make sense to me. Have I got this right - the database
records the messages but not the objects? Where are the objects?
How do you account for the causal ordering of the messages? >> Stay informed about: Object oriented database |
|
| Back to top |
|
 |  |
External

Since: Jan 22, 2008 Posts: 177
|
(Msg. 37) Posted: Mon Nov 03, 2008 5:21 pm
Post subject: Re: Object oriented database [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
On Nov 4, 12:49 am, Bob Badour wrote:
> Walter Mitty wrote:
> > "David BL" wrote in message
> >>I agree that OO isn't a data model. However, this depends on
> >>sufficiently narrow definitions of OO and data. The definition
>
> >> data = information in a form suitable for machine processing
>
> >>doesn't seem narrow enough to me because objects have state and one
> >>could say that objects represent information.
>
> The fact that objects (specifically object instances) have state and
> variables have state should be a clue to the observant.
It seems like Bob thinks
variable = object
There are plenty examples of objects that aren't variables. Eg
instances of classes like Mutex, PrinterProxy, ThreadPool. Also,
instances of GUI classes like Slider and Button are state machines
that cannot be interpreted as holding an abstract mathematical value
that doesn't exist in time or space.
There seems to be an assumption that an instance of a class (which has
members), can be compared to a tuple. That is only the physical
implementation of an object. Semantically an object has no need to
represent an abstract value at all. >> Stay informed about: Object oriented database |
|
| Back to top |
|
 |  |
External

Since: Jan 22, 2008 Posts: 177
|
(Msg. 38) Posted: Mon Nov 03, 2008 5:25 pm
Post subject: Re: Object oriented database [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
On Nov 4, 8:17 am, mrto... DeleteThis @tpg.com.au wrote:
> This was more response than I actually thought I my post would get
> (first time posting to newsgroups) .
>
> I do apologise if my post falls outside the scope of this group as I
> might have been looking for a more pragmatic discussion, although the
> theory interests me.
>
> My first objective is to create something that fits within the
> framework of existing programming languages, making it as easy as
> possible for programmers to use. As I see it, there is enough in
> common between C++, Java and C# for example to be able to create a
> common object model.
>
> Seeing from some posts I might have used the term "object model"
> wrongly, but I have defined it as the set of classes used by one
> application. I am not looking to create a "data warehouse" style
> database that would be used by a wide range of applications, but
> rather a database / distribution system that is tightly linked with
> one or just a few applications. The reasoning being that there are a
> lot of applications that need to store complex data that doesn't have
> much meaning outside the application itself. From experience, I have
> seen so many applications that use a relation database just because
> that happens to be the only or the easiest available choice.
If you're going to make Finite State Machines (i.e. objects) persist
then I recommend you at least consider the following barriers:
* The difficulty of allowing schema evolution of persistent FSMs
* The need for finding consistent cuts when persisting FSMs
* The contradictory nature of transactions and orthogonal
persistence
Persisting values instead of FSMs is /much/ easier. >> Stay informed about: Object oriented database |
|
| Back to top |
|
 |  |
External

Since: Oct 31, 2006 Posts: 177
|
(Msg. 39) Posted: Mon Nov 03, 2008 8:48 pm
Post subject: Re: Classic Typo [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
"Walter Mitty" wrote:
>
>"Eric" wrote in message
>
>On Oct 31, 12:36 am, mrto....RemoveThis@tpg.com.au wrote:
>
>> I am looking for people who have an interest in object oriented
>> databases, primarily to share ideas or to find out end-user
>
>>That would be an exiting topic if there was an OO data model.
>
>I apologize for calling attention to a typo. I make lots of typos myself.
>But "really exiting topic" for "really exciting topic" (I guess) is a
>classic! It's a keeper!
Sorry, but the typo has left the building.
Sincerely,
Gene Wirchenko
Computerese Irregular Verb Conjugation:
I have preferences.
You have biases.
He/She has prejudices. >> Stay informed about: Object oriented database |
|
| Back to top |
|
 |  |
External

Since: Oct 31, 2008 Posts: 27
|
(Msg. 40) Posted: Wed Nov 05, 2008 5:09 pm
Post subject: Re: Object oriented database [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
On Nov 3, 8:25 pm, David BL wrote:
> On Nov 4, 8:17 am, mrto... DeleteThis @tpg.com.au wrote:
>
>
>
> > This was more response than I actually thought I my post would get
> > (first time posting to newsgroups) .
>
> > I do apologise if my post falls outside the scope of this group as I
> > might have been looking for a more pragmatic discussion, although the
> > theory interests me.
>
> > My first objective is to create something that fits within the
> > framework of existing programming languages, making it as easy as
> > possible for programmers to use. As I see it, there is enough in
> > common between C++, Java and C# for example to be able to create a
> > common object model.
>
> > Seeing from some posts I might have used the term "object model"
> > wrongly, but I have defined it as the set of classes used by one
> > application. I am not looking to create a "data warehouse" style
> > database that would be used by a wide range of applications, but
> > rather a database / distribution system that is tightly linked with
> > one or just a few applications. The reasoning being that there are a
> > lot of applications that need to store complex data that doesn't have
> > much meaning outside the application itself. From experience, I have
> > seen so many applications that use a relation database just because
> > that happens to be the only or the easiest available choice.
>
> If you're going to make Finite State Machines (i.e. objects) persist
> then I recommend you at least consider the following barriers:
>
> * The difficulty of allowing schema evolution of persistent FSMs
>
> * The need for finding consistent cuts when persisting FSMs
>
> * The contradictory nature of transactions and orthogonal
> persistence
>
> Persisting values instead of FSMs is /much/ easier.
I think there are cases for OODBs, just like there are cases for
RDBMSs. Sometimes your data is easily expressed as tables and
relations, but OODBs also see uses when the relational model does not
apply as much. I would love to have some of the databases services
available independent of the relational model when I felt it was an
appropriate thing to do, and most RDBMs's would probably be able to
fufill these purposes, its just that it would be extra work to use the
relational model in some cases.
What I actually have ended up doing in a few cases typically some
homegrown solution to avoid RDBMs's added expense and effort but to
get some of the transaction logging and recovery just by sheer
homegrown coding. What we need are some more transaction oriented
systems with better programming support rather than just always with
the RDBMs stuff.
Lets face it, right now the premier RDBMS environment is SQL. This is
sort of a sad state of affairs folks, this is in no way or form a
modern language with scoping, code reuse, or any other sort of
endearing quality. While many commercial and open source databases
bring in more modern language support in some areas, we're essentially
saddled with SQL's flat and sad namespace and at least in my case,
ducktyped anonymous column naming just to get the same sort of
flexibility any decent pick system gives you by default.
RDBMS purists tend to always want the relational algebra, without
considering that some folk sometimes just might want regular
arithmetic instead. >> Stay informed about: Object oriented database |
|
| Back to top |
|
 |  |
| Related Topics: | Object-oriented SQL statements - Please comment on the approach illustrated in : http://www.zhmicro.com/Database.pdf On July 19 this was posted at comp.object. Regards, Z.
A new proof of the superiority of set oriented approaches:.. - Among the least explored opportunities RM has to offer comes the issue of numerical / time series linear interpolation of values. Recently, I have solved the following problem on a community board which I encountered this problem a few years ago with..
A pk is *both* a physical and a logical object. - An extract from a post on experts-exchange.com (gosh I miss the quote of the week by Fabian PASCAL) ..A sign of our times...I invited Scott Pletchers to come explain how a primary is both a physical and logical concept...I am curious to see if he will..
Database Hosting - Hi all, Our company is about to embark on rewriting our entire application to be truly client/server based, and bring the UI up to .NET. One of the additional services that our CEO wants to provide is the hosting of the software ourselves (to save our....
The Database that Understands What It's Told - Thought this might interest the group: A company has freely released a groundbreaking technology which allows you to describe things in plain language, such as: This is a picture of my dog at Central Park. The meaning of the descriptions is translated.. |
|
You can post new topics in this forum You can reply to topics in this forum You can edit your posts in this forum You can delete your posts in this forum You can vote in polls in this forum
|
|
|
|
 |
|
|