[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Conventions for representing inheritance in MIBs
Dave,
We faced this problem with the Diffserv MIB: the -03 version uses several
different mechanisms to tackle this:
1. define a child table that uses the same index variables as the parent;
this may or may not have entries that are creatable/deletable independent of
the parent.
2. define a child that is pointed to by a RowPointer in the parent (or
vice-versa) but with independent index variables.
I don't believe there is a single mechanism that can meet the differing
needs for inheritance: the generic/flexible mechanism of (2) above is too
inefficient to use in general and a closer coupling between parent and child
has better properties w.r.t. searching and creating. AUGMENTs is more
limiting I think - there the child and parent entries are very tightly
coupled (I think the rules are that neither can exist without the other).
My 2c.
Andrew
> -----Original Message-----
> From: Durham, David [SMTP:david.durham@intel.com]
> Sent: Wednesday, June 14, 2000 6:35 PM
> To: 'mibs@ops.ietf.org'
> Cc: 'Wijnen, Bert (Bert)'
> Subject: Conventions for representing inheritance in MIBs
>
> Hello,
>
> I'm sure this question has been asked before, but I am curious if anyone
> has
> thought about how Inheritance can be consistently represented in MIBs and
> if
> there are conventions for representing inheritance within the SMI. By
> inheritance I mean a hierarchical specialization of a common parent
> similar
> to the existing functionality provided by AUGMENTS (extending one
> object-type sequence with another). Only AUGMENTS appears to be too
> limited
> to describe the full semantics needed by inheritance.
>
> Inheritance example:
>
> Base
> ^
> |
> ____|____
> | |
> | |
> Child1 Child2
> ^
> |
> ____|____
> | |
> | |
> Child3 Child4
>
> So, when instantiating Child3, I also want to instantiate its parent,
> Child1, and their common Base, but none of the others. Similarly, when
> instantiating Child1, I should get it and the Base, but nothing else.
> Possibly all related instances should be indexed accordingly or otherwise
> associated.
>
> The advantage of inheritance is that it provides a mechanism for
> independent
> specializations. Thus, common attributes can be defined in a base object
> with well understood semantics, which can then be extended in a variety of
> ways (via new object-types).
>
> I realize that the concept can certainly be mapped into a MIB, but are
> there
> any common conventions for doing so? Perhaps textual conventions that
> could
> be defined so that compilers would automatically know the necessary
> semantics?
>
> Thanks for any input,
> -Dave
>
>
>