Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 208353

Summary: Property should not specialize TemplateableElement
Product: [Modeling] MDT.UML2 Reporter: Rafael Chaves <eclipse>
Component: CoreAssignee: James Bruck <bruck.james>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: bruck.james, Kenn.Hussey
Version: 2.2.0Keywords: plan
Target Milestone: M3   
Hardware: PC   
OS: Windows Vista   
Whiteboard: Compliance

Description Rafael Chaves CLA 2007-11-01 01:23:58 EDT
Property specializes TemplateableElement and that seems to be a deviation from the UML specification. I am reading the Templates section on the UML 2.1.1 spec and it seems that only Classifier, Operation, Package and StringExpression should specialize TemplateableElement.
Comment 1 Kenn Hussey CLA 2007-11-01 10:47:29 EDT
You're right! This must have been missed when the generalizations were removed during UML 2.0 finalization. Unfortunately, we can't remove this generalization (and the associated properties) from the Property metaclass until the next major release (3.0); the best we can do in the meantime (i.e. in 2.2) is mark the corresponding methods and metadata deprecated and remove their property descriptors from the edit layer - I've just committed these changes.
Comment 2 James Bruck CLA 2007-11-01 11:16:36 EDT
In theory, would it not be possible for the properties' type or the properties' qualifier to be items that could be involved in a template binding.

Say you have 2 properties p  and q.   p has a template where its type is a parameter of kind Class.   There could be a binding from q to the template of p that substitutes MyClass for the parameter.

Although impractical, this could be one usage of a template on a property or am I way off base.

Is the spec just negligent in mentioning this?

Comment 3 Kenn Hussey CLA 2007-11-01 12:35:50 EDT
I think that binding of the type for a property (like a parameter for an operation) would always occur within the context of an owning classifier (as with operations), meaning that the classifier should own the template signature...
Comment 4 James Bruck CLA 2008-10-07 15:23:45 EDT
Committed 20081005. (Galileo M3) 
Comment 5 James Bruck CLA 2008-11-04 15:27:24 EST
verified 20081104