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'>?