Geert,
Initially, I didn't see your point, but I decided to go take yet another look at section 13 of the infrastructure specification. When you read the first paragraph of the "Extensibility" subclause in section 13, I don't see your point. but when you read the second paragraph, ok, I see your point, and then you read the "list of reasons", I'm back to I don't see your point.
After a fairly thorough review of section 13 of the UML Infrastructure Library specification, I'll try to paraphrase your point:
Using concrete metaclasses as extension points is supported by the profile mechanism, extending abstract metaclasses is not supported by the profile mechanism. Is this correct? If so, I don't see this clearly reflected in the specification.
Requirement 8 says I can't change the parenting of existing classes, or the semantics of the existing metaclass definitions. Adding a subclass of an existing abstract or concreate metaclass does not change the base meta-model, it is still read only.
If the metaclass were final, I would absolutely agree with you, however, none of the four classes I listed are defined with final semantics.
At this point, I think I need to ask Sparx Systems the question.
thanks for the discussion, it was most helpful.
regards,
Dave