Legacy Issue Number: 13870
Source: TopQuadrant ( David Price)
It seems an odd thing to me to create a subclass of ExplicitAttribute to
instantiate for Attributes that have the potential to have inverses. I don't
understand the rationale. Seems like it would be simper to have a constraint
on InverseAttribute about it being owned by an EntityType referenced in an
Reported: EXPRESS 1.0b1 — Thu, 16 Apr 2009 04:00 GMT
Disposition: Resolved — EXPRESS 1.0
The RTF agrees that the InvertibleAttribute subclass of ExplicitAttribute is inappropriate. Careful examination of Clause 9.2.1 of ISO 10303-11 indicates that all ExplicitAttributes can create Relationships. The InvertibleAttribute in Clause 8.11.6 was intended to capture formal relationships among entities, following the rules for InverseAttributes in EXPRESS, but it is not a proper model of the EXPRESS ‘relationship’ concept.
Accordingly, the InvertibleAttribute subclass is removed and replaced in all appropriate usages by the superclass ExplicitAttribute.
An OCL formulation of the EXPRESS rules for the permissible attribute types of an ExplicitAttribute that is invertible may not be possible. The restriction is captured using a Boolean “isInvertible” attribute.
Removing InvertibleAttribute from the Relationships diagram also eliminates the last use of the <<implicit>> extension. The extension is removed from the model.
Issue 19061 points out other implementation problems with the Relationships model, and the resolution to that issue (q.v.) describes model corrections that overlap with the changes made in resolving this issue. The changes for Issue 19061 are merged with the changes for this Issue below.
Updated: Mon, 9 Mar 2015 14:33 GMT