[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[YANG] uses-stmt refinements



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
YANG at ietf.org
https://www.ietf.org/mailman/listinfo/yang