Re: How to access one specific lowlevel object through a general highlevel interface?
- From: "H. S. Lahman" <h.lahman@xxxxxxxxxxx>
- Date: Tue, 20 Dec 2005 19:31:37 GMT
Responding to Clark...
First, I'd like a clarification on the context. The message title suggests a context of distributed interoperability where the concerns are identity and interfaces. But your body description of the problem sounds like a network access problem where the concerns are protocol conversion and hardware allocation. Which is it? In particular, who is the 'client' you refer to below?
The real problem can be destilled to something like this: One client wants to send data using one specific top layer protocol. At this top layer, there are a number of different protocols, where each one inherits the main Protocol class.
This I find curious. Network protocols are conveniently organized into layers or, possibly, hierarchies. However, one usually doesn't associate inheritance with that. Could you put some more words around what is being inherited?
And every protocol subclass in turn contains several different communication channels that inherits the Channel class. So, a client knows about several different high level protocols and each protocol has many channels.
Now, when data is to be sent, we must send that data over the "most appropriate" communication channel. This channel can be found by traversing the hierarchy of protocols and channels.
Who decides that, the Client?
However, after we have found the "best" channel, we cannot send data through this channel directly! Instead we must send data through the specific protocol which the selected channel belongs to.
From what you describe, my understanding here is:
subordinate to 1 1 R3 contains *
+--------------- [Protocol] ------------------ [Channel]
| A | *
| R1 | R2 | evaluates
| +--------+-----------+ |
| 1 | | |
+---- [LowerLevel] [RootLevel] |
| 1 |
| selects |
| through | R4 [R5,R1,R3]
| |
| R5 |
| |
| 1 1 |
[Client] --------------+The R1 relationship defines the hierarchy of protocols. The Client accesses the hierarchy through a root protocol, via R5, and "walks" the structure to get a list of candidate Channels via R1/R3 and adds them to the R4 collection. It (or somebody else?) determines which Channel to use by selecting from the resulting R4 collection. Once the Channel is selected, one navigates R3 to select the corresponding protocol (or "walks" up the structure via R1 to find an appropriate higher level protocol).
Is this correct? If so, then none of the classes has any special knowledge of the other classes, other than the navigational structure of the Protocol hierarchy. The Channel is selected by applying the selection criteria to each Channel in the R4 collection and that collection is created by simply "walking" the hierarchy and collecting the relevant Channels. Once one has the Channel, then one selects the proper Protocol by again "walking" the structure and applying the selection criteria to each Protocol encountered.
************* There is nothing wrong with me that could not be cured by a capful of Drano.
H. S. Lahman hsl@xxxxxxxxxxxxxxxxx Pathfinder Solutions -- Put MDA to Work http://www.pathfindermda.com blog: http://pathfinderpeople.blogs.com/hslahman (888)OOA-PATH
.
- References:
- Prev by Date: Re: How to access one specific lowlevel object through a general highlevel interface?
- Next by Date: Re: Why no one operating system is wrtten in an object language...!!!
- Previous by thread: Re: How to access one specific lowlevel object through a general highlevel interface?
- Index(es):
Relevant Pages
|