| From: DECWET::BURNS "David Burns (617) 444 3939" 23-APR-1992 11:09:05.04
To: TOOK::L_GROSSMAN
CC: BURNS
Subj: RE: Q: MSL question in MCC notes file (I have no no clue)
I can't speak authoritatively on this because I don't know GDMO.
However, I do have a clue as to what is being asked, so I'll pass it
along. (The question sounds like it is coming from somebody who knows GDMO and
doesn't know MSL, so its the blind talking to the blind here. . .)
The "Relative Distingushed Names" corresponds roughly to our
"Class-Instance pairs" used to specify a subentity, and you use the
contents of the IDENTIFIER=() clause to identify the identifier(s) whose
contents (at run-time) specifies the instance of something you want.
The best I have to offer as to how this works comes from my work
on the SNMP Protocol Engine for the Common Agent. The SNMP PE "looks things
up" in a binary representation of MSL, so here is how it works:
An SNMP message arrives at the port the SNMP PE is listening on, and
nestled inside the message is an SNMP Object Identifier of "m" arcs whose
first "n" arcs exactly specify some attribute described by some MSL
statements. (The message is perhaps a request to return the value of
the attribute). At this point, the SNMP PE (acting as part of an SNMP "agent")
"knows" the generic attribute that it must return, but it doesn't know which
instance to return. The instance is specified by the remaining (m-n) arcs
in the SNMP OID. It is these remaining arcs that contain the VALUES of the
MSL Identifier Attributes that indicate exactly which attribute's value is
to be returned.
To know how to process and interpret the remaining "instance arcs",
the SNMP PE "walks upward" inside the binary representation of the MSL
that describes the attribute until it finds the enclosing CHILD ENTITY for
the attribute (in other words, until it finds the description of the class
that contains the attribute). In the description for the subentity is the
contents of the IDENTIFIER=() clause. The Identifier attributes named in
that clause are the MSL equivalents of the Relative Distinqushed Names!
The SNMP PE walks down the list of identifiers and looks up the datatypes
of each identifier. For each datatype processed, the SNMP PE knows how
to convert one or more remaining instance arcs into the VALUES of these
Identifier Attributes which then makes it possible to find the right instance
of the requested attribute to be returned.
This is how "SNMP MIBS" get represented in MSL. I can't say for sure
how DNA "things" are represented and looked up, but it has to be very similar.
|