We have
FAMIX.Entity extends Moose.Entity
FAMIXEntity is the abstract root class of the FAMIX meta-model entities.
Fields.
/annotationInstances: AnnotationInstance* → annotatedEntity
Proposed new version:
----------------------------------------------------------------------------------------------------------------
FAMIX.Entity extends Moose.Entity
FAMIXEntity is the abstract root class of the FAMIX meta-model entities. Subclasses will
represent structural entities
of program: relations, types, functions...
Any FAMIXEntity can be attached properties (declared using
<property:longName:description:>), navigation queries using (<navigation:>)
and simple state (using propertyAt: and propertyAt:put:).
Such behavior is important for extensibility. It is inherited from Moose.Entity (See
MooseEntity).
Fields.
/annotationInstances: AnnotationInstance* → annotatedEntity
-----------------------------------------------------------------------------------------------------------------
Question why FAMIXAnnotationInstance are in Java Package?
Answer because /annotationInstances comes only from Java.
Question: could we tag fields as coming from a specific extension?
annotatedEntity
<MSEProperty: #annotatedEntity type: #FAMIXEntity opposite: #annotationInstances>
^ annotatedEntity
may be this is an opportunity to use <package: 'Java'>
Now how could we get that
<MSEProperty: #annotatedEntity type: #FAMIXEntity opposite: #annotationInstances>
is associated to <package: 'Java'>?