I'd prefer it if for now this discussion remained on the general principle rather than any specific cases. I've already put a counter argument on that issue so that discussion continues there.
There are definitely cases at the moment where we do quite rightly enforce well-formedness rules. You don't have to take long looking at the UML spec to find them. 4.5.3.23 Interface [1] An Interface can only contain Operations. self.allFeatures->forAll(f | f.oclIsKindOf(Operation) or f.oclIsKindOf(Reception)) 4.5.3.20 GeneralizableElement [3] Circular inheritance is not allowed. not self.allParents->includes(self) [5] A GeneralizableElement may only be a child of GeneralizableElement of the same kind. self.generalization.parent->forAll(p | self.oclIsKindOf(p)) I certainly don't think we should enforce all well-formedness I'm just saying we need to document somewhere where we have agreed to enforce and how it is enforced. Each case is then up for individual discussion and agreement. We should not enforce anything on reading XMI, only when actually creating and manipulating model elements using ArgoUML. Regards Bob. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
