Subject: [YANG] uses-stmt refinements

From: Andy Bierman <[email-masked]>
Date: Fri, 28 Mar 2008 11:51:30 -0700

Hi,

One topic we may want to consider further is refinements.
It seems some clauses are excluded because they would
break 'the contract' implied by the grouping (e.g., type-stmt).
Yet some things are allowed which do seem to break the contract,
(e.g., config-stmt), and some things are not allowed, which
do not seem to break the contract (e.g., add a key to a list that
doesn't have one).

What is the real nature of the grouping?

We seem to be have 2 perceptions, neither one actually correct:
   1) grouping is like C #define
   2) grouping is like an OO class

We need to clarify the grouping refinements, and where the actual
contract is embodied (i.e., in the grouping, in the uses, or both).

If a grouping implies no contract at all (ala C #define)
then many of the corner-case refinements are not problems
at all, since the uses-stmt determines the real contract.

If a grouping implies some sort of contract (ala class),
then things are more complicated to define, and many corner-cases
will need to be addressed.

Andy

_______________________________________________
YANG mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/yang