[Better Comment Initiative]: FAMIX.Entity

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[Better Comment Initiative]: FAMIX.Entity

Stéphane Ducasse
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'>?



       





_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [Better Comment Initiative]: FAMIX.Entity

Tudor Girba-2

On 18 Sep 2011, at 19:04, Stéphane Ducasse wrote:

> 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...

        Remove "structural", because this has a meaning in Famix. Leave just "program entities".

> Any FAMIXEntity can be attached properties (declared using <property:longName:description:>), navigation queries using (<navigation:>) and simple state (using propertyAt: and propertyAt:put:).

        No. It should be:

        As any MooseEntity, a FAMIXEntity should be meta-described using Fame. This is achieved by means of <MSEProperty:type:>, and <MSEProperty:type:opposite:> pragmas.

> Such behavior is important for extensibility. It is inherited from Moose.Entity (See MooseEntity).
>
>
> Fields.
> /annotationInstances: AnnotationInstance* → annotatedEntity

        This should not be in the core comment, because this is an extension.

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

This is definitely the idea. It will probably be <package: 'FamixJava'> :)

This should not be in the comment. We have opened an issue for that:
http://code.google.com/p/moose-technology/issues/detail?id=162

Doru




>
>
>
>
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
www.tudorgirba.com

"Sometimes the best solution is not the best solution."


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev