moosetechnology / Famix

An abstract representation of source code. Famix is generic and can describe applications in multiple programming languages.
MIT License
12 stars 22 forks source link

Rename relationship between `TParametricEntity` and `TConcretisation` #706

Closed Gabriel-Darbord closed 5 months ago

Gabriel-Darbord commented 5 months ago

Each ParametricEntity can be related to another one by a Concretisation association, where one is more generic and the other is more concrete. The name of the relation of the more generic entity to the association is concretisation, which is fitting. However, the name of the opposite relation is genericEntity, which I think is misleading. Especially since the relation from the association to the more generic entity is already called genericEntity, where it makes sense. This would lead to code as follows:

parametricEntity genericEntity "<- Concretisation" genericEntity "<- ParametricEntity"

I suggest to rename the opposite relation of concretisation, from genericEntity to genericization (a real word).

concreteEntity genericization "<- Concretisation" genericEntity "<- ParametricEntity"
NicolasAnquetil commented 5 months ago

I am not sure genericEntity is a good name for the relation because it is not really an Entity May be this is the one we should rename (or may be both)

Gabriel-Darbord commented 5 months ago

I think we agree, but the wording of "opposite relation" was poorly chosen. I'm referring to the opposite of concreteEntity, which is called genericEntitities in the diagram, and genericEntity in the current implementation.

image

The renaming allows us to write instead of the previous example:

concreteEntity genericization "<- Concretisation" genericEntity "<- ParametricEntity"