iho-ohi / S-101-Documentation-and-FC

Repository issues of S-101 document and feature catalogue
23 stars 5 forks source link

FC: `role` should have consistent `roleType` #141

Closed DavidGrant-NIWC closed 1 week ago

DavidGrant-NIWC commented 5 months ago

The roles do not always use the same role type.

For instance, LightSectored has a StructureEquipment binding to many features with role supports and roleType composition. It also has a StructureEquipment binding with role supports to different features which uses roleType association. I believe that the roleType of the role is intended to be consistent, so one of these roleTypes is incorrect. Note that this issue is not always found within a given feature type; the roleType may be specified one way in a given feature type and in a different way in some other feature type.

Here's a list of the inconsistencies (but note that the FC may contain multiple occurrences of each inconsistency): FairwayAggregation role="consistsOf" has inconsistent roleType (aggregation and association). TwoWayRouteAggregation role="consistsOf" has inconsistent roleType (aggregation and association). CautionAreaAssociation role="componentOf" has inconsistent roleType (association and aggregation). StructureEquipment role="supports" has inconsistent roleType (composition and association). TextAssociation role="identifies" has inconsistent roleType (composition and association).

DavidGrant-NIWC commented 3 months ago

Fixed in FC 1.3.1, but note that theStructure can be either an aggregation (when used in a RoofedStructureAggregation relationship) or composition (when used in a StructureEquipment relationship); in both cases these are containers so shouldn't cause any issues.

StructureEquipment role="theStructure" has inconsistent roleType (DistanceMark uses composition, PylonBridgeSupport uses aggregation). StructureEquipment role="theStructure" has inconsistent roleType (Bollard uses composition, PylonBridgeSupport uses aggregation). StructureEquipment role="theStructure" has inconsistent roleType (LightAllAround uses composition, PylonBridgeSupport uses aggregation). StructureEquipment role="theStructure" has inconsistent roleType (LightSectored uses composition, PylonBridgeSupport uses aggregation). StructureEquipment role="theStructure" has inconsistent roleType (LightFogDetector uses composition, PylonBridgeSupport uses aggregation). StructureEquipment role="theStructure" has inconsistent roleType (LightAirObstruction uses composition, PylonBridgeSupport uses aggregation). StructureEquipment role="theStructure" has inconsistent roleType (Daymark uses composition, PylonBridgeSupport uses aggregation). StructureEquipment role="theStructure" has inconsistent roleType (Retroreflector uses composition, PylonBridgeSupport uses aggregation). StructureEquipment role="theStructure" has inconsistent roleType (RadarReflector uses composition, PylonBridgeSupport uses aggregation). StructureEquipment role="theStructure" has inconsistent roleType (FogSignal uses composition, PylonBridgeSupport uses aggregation). StructureEquipment role="theStructure" has inconsistent roleType (PhysicalAISAidToNavigation uses composition, PylonBridgeSupport uses aggregation). StructureEquipment role="theStructure" has inconsistent roleType (RadarTransponderBeacon uses composition, PylonBridgeSupport uses aggregation). StructureEquipment role="theStructure" has inconsistent roleType (SignalStationWarning uses composition, PylonBridgeSupport uses aggregation). StructureEquipment role="theStructure" has inconsistent roleType (SignalStationTraffic uses composition, PylonBridgeSupport uses aggregation).

TDYCARHugh commented 3 months ago

I think it would be better, more clear, if roles were unique to each association class. The roles are treated as property names, similar to attributes, so having the same role for different associations could be confusing.

DavidGrant-NIWC commented 3 months ago

Reopened based on Hugh's comment

rmalyankar commented 3 months ago

I think it would be better, more clear, if roles were unique to each association class. The roles are treated as property names, similar to attributes, so having the same role for different associations could be confusing.

I think the same.

gorogara commented 2 months ago

@DavidGrant-NIWC @TDYCARHugh @rmalyankar @JeffWootton I am planning to incorporate feedback into S-101 FC 1.4.1. Would changing the Role Type of The Structure in "Roofed Structure Aggregation" to Composition resolve this issue?

DavidGrant-NIWC commented 2 months ago

Would changing the Role Type of The Structure in "Roofed Structure Aggregation" to Composition resolve this issue?

image

image

JeffWootton commented 1 week ago

New Role Type TheRoofedStructure included for S-101 Edition 1.5.0. Changes made throughout the DCEG and proposal submitted to GI Registry.

Close issue.