Re: Objects and Relations

From: Walt <wamitty_at_verizon.net>
Date: Sat, 03 Feb 2007 14:33:05 GMT
Message-ID: <B21xh.1186$_d4.415_at_trndny05>


"David BL" <davidbl_at_iinet.net.au> wrote in message news:1170099752.947515.283690_at_l53g2000cwa.googlegroups.com...
> Many of the wars between the OO and RM camps end up in side issues,
> often with unsubstantiated performance or scalability claims or
> discussions about whether physical independence is good or bad.
>
> AFAIK these discussions ignore something simple and fundamental, which
> I will describe in this post.
>
> I have previously discussed this on comp.object (with mixed results),
> and I'm interested in feedback from the relational camp.
>
> Consider a web server. This can be seen at a number of different
> "levels of abstraction"
>
> 1. Elementary particles
> 2. Atoms
> 3. Molecules
> 4. Electronic components
> 5. Digital circuits
> 6. Computer
> 7. Executing process
> 8. Abstract computational machine
> 9. Web server
>

> All of these "levels of abstraction" are equally valid. I don't want
> to get into boring discussions about what's physical versus logical,

I think I get what you're driving at with multiple "levels of abstraction", but before I get into the substance of your discussion, I want to react to your introduction.

Layers 1 though 4 are too detailed for this discussion, and are a distraction. You can collapse them all into one big layer, the "analog layer", where digital signals are stored, transmitted, and manipulated using the Physics (and maybe Chemistry and Biology) of the underlying material world.

The "digital circuits" layer is something many of us know only as "the layer below the last one we have studied". It deserves the mention you gave it.

Between "computer" and "executing process", I would insert several layers of abstraction. Here are some possibilities, just off the top of my head:

"Operating system"  (Unix or Windows,  etc.)
"DBMS"    (Oracle, DB2,  etc.)
"virtual machine"  (like the Java virtual machine)
"runtime environment"  (different for various languages and for different
implementations of some languages).

And finally, "application object library". Essentially the "object world" in which all the application objects reside. It's not clear to me whether this layer is at a lower or higher level of abstraction than the executing process.

As I said, this is off the top of my head. I'll probably change my mind later. Received on Sat Feb 03 2007 - 15:33:05 CET

Original text of this message