Dataspaces must be able to be both shared and private.
(Use cases #6 & #7)
Dataspace dimensions must be able to be both shared and private.
(Use cases #3 & #4)
Dimension scales must be able to be both shared and private.
(Use cases #1 & #2)
All combinations of above objects are allowed.
Multiple scales may be associated with each dimension.
(Use cases #5)
Unlimited dimensions on shared dimensions and dataspaces are allowed.
(Use cases #4 & #7)
Changing the size of a dimension in a dataset which is sharing that
dimension (via shared dimension or dataspace) is updated in the "current"
size of the shared dimension information.
(Use cases #4 & #7)