InterfacePoint
Marker for interface-side artifacts (Port/ServiceInterface/Event/Field/Method/Error/Topic/etc.).
Interface points belong to elements through declarations in the user's Kotlin model (properties) or through service/topic definitions used by the elements' ports. A shared definition and its declared members can belong to several elements without acquiring a single declaration owner.
The shared identity / name / asil contract is declared here so view code (diagram exporters, model navigation) can access them uniformly without downcasting to each concrete subtype. Concrete InterfacePoint classes inherit these from com.stigway.metamodels.highway.MetamodelEntity, which all of them extend.
Inheritors
Properties
Classification after model wiring or source binding. Any non-null asil ends the lookup immediately. Otherwise, follow a use's referenced definition, then enclosing interface points, and finally the owning element's ASIL. Shared definitions retain their own declaration ownership. An entirely unclassified chain returns null; the owning element's parent and analysis usedIn references are not inheritance sources.