opengeospatial / CityGML-3.0CM

CityGML 3.0 Conceptional Model
MIT License
89 stars 16 forks source link

Inherited associations in implementation specifications #128

Closed heidivanparys closed 4 years ago

heidivanparys commented 4 years ago

All the requirements with an identifier like /req/xyz/classes contain the following.

Req x /req/xyz/classes
For each UML class defined or referenced in the xyz Package:
A The Implementation Specification SHALL contain an element which represents the same concept as that defined for the UML class.
B The Implementation Specification SHALL represent associations with the same source, target, direction, roles, and cardinalities as those of the UML class.
C The implementation Specification SHALL represent the attributes of the UML class including the name, definition, type, and cardinality.
D The implementation Specification SHALL represent the attributes of all parent classes of the the UML class including the name, definition, type, and cardinality.

Should there be a statement regarding inherited associations?

Req x /req/xyz/classes
For each UML class defined or referenced in the xyz Package:
A The Implementation Specification SHALL contain an element which represents the same concept as that defined for the UML class.
B The Implementation Specification SHALL represent associations with the same source, target, direction, roles, and cardinalities as those of the UML class.
C The implementation Specification SHALL represent the attributes of the UML class including the name, definition, type, and cardinality.
D The implementation Specification SHALL represent the attributes of all parent classes of the the UML class including the name, definition, type, and cardinality.
E The implementation Specification SHALL represent the associations with the same source, target, direction, roles, and cardinalities of all parent classes of the UML class.
cmheazel commented 4 years ago

I say yes.

3DXScape commented 4 years ago

Combine BE and CD

TatjanaKutzner commented 4 years ago

Yes, a statement on inherited associations should be added.

The statements could even be combined, i.e. B+E and C+D. In addition, "parent class" should be replaced by "direct and transitive superclasses", as it is not fully clear whether the term "parent class" only refers to the direct superclass or also to the transitive superclasses.

Suggested statements: B+E: The Implementation Specification SHALL represent the associations with the same source, target, direction, roles, and multiplicities of the UML class and of all direct and transitive superclasses of the UML class. C+D: The implementation Specification SHALL represent the attributes including the name, definition, type, and multiplicity of the UML class and of all direct and transitive superclasses of the UML class.

3DXScape commented 4 years ago

Eliminate direct and transitive and Chuck say's it's OK:

B+E: The Implementation Specification SHALL represent the associations with the same source, target, direction, roles, and multiplicities of the UML class and of all superclasses of the UML class. C+D: The implementation Specification SHALL represent the attributes including the name, definition, type, and multiplicity of the UML class and of all superclasses of the UML class.

cmheazel commented 4 years ago

It is best that a requirement be concise and well focused. So I have elected not to combine B+E or C+D.

Requirement part E now says: "The implementation Specification SHALL represent the associations of all superclasses of the UML class including the source, target, direction, roles, and multiplicity."

The terms superclass and multiplicity are used consistently across the requirements.

3DXScape commented 4 years ago

Agreed by unanimous consent, closed 3 Sept meeting