Hi all,
I want to implement equivalence relation on FAMIX entities. For example, methods m1, m2 are equivalent if they have the same name, same signature and their classes have the same name. Any idea to introduce these relations in a customizable way in FAMIX ? I guess I have to introduce a new meta-model in the FAMIX family ?
Regards, -- Serge Stinckwich UCBN & UMI UMMISCO 209 (IRD/UPMC) Every DSL ends up being Smalltalk http://www.doesnotunderstand.org/
I think that you need a new entity "equivalence" with a Multivalued link to methods. And you need to extend methods with a back link to that entity.
-- View this message in context: http://moose-dev.97923.n3.nabble.com/Equivalence-relation-on-FAMIX-entities-... Sent from the moose-dev mailing list archive at Nabble.com.
I am not sure why you want to do this in the metamodel?
May be there is something I am not understanding here.
Anyway, with Anne Etien, we are implementing something to compare two models and find if two entities model the same thing (typically two FamixMethods modelling the same concrete method in two versions of a software)
We defined several methods: - a isVersion: b a and b have the same class, the same name and their owners are isVersion: one of the other
- a equalNoName: b similar to isVersion, but we allow them to have different names (allows renaming)
- a equalNoOwner: b similar to isVersion, but we allow them to have different owners (allows moving)
is any of this similar to what you want?
nicolas
On 06/13/2013 11:35 AM, Serge Stinckwich wrote:
Hi all,
I want to implement equivalence relation on FAMIX entities. For example, methods m1, m2 are equivalent if they have the same name, same signature and their classes have the same name. Any idea to introduce these relations in a customizable way in FAMIX ? I guess I have to introduce a new meta-model in the FAMIX family ?
Regards,
Serge Stinckwich UCBN & UMI UMMISCO 209 (IRD/UPMC) Every DSL ends up being Smalltalk http://www.doesnotunderstand.org/ _______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Dear Nicolas,
On Thu, Jun 13, 2013 at 12:47 PM, Nicolas Anquetil Nicolas.Anquetil@inria.fr wrote:
I am not sure why you want to do this in the metamodel?
May be there is something I am not understanding here.
Yes you are right, we don't need to add equivalence relations in the meta-model, we just need to extend the existing FAMIX meta-model with some specific queries.
Anyway, with Anne Etien, we are implementing something to compare two models and find if two entities model the same thing (typically two FamixMethods modelling the same concrete method in two versions of a software)
Yes, this is very similar to what we want to do actually with a colleague from Paris 6 University :-) Be able to test if 2 entities of two different models are equivalent or not.
We defined several methods:
- a isVersion: b
a and b have the same class, the same name and their owners are isVersion: one of the other
- a equalNoName: b
similar to isVersion, but we allow them to have different names (allows renaming)
- a equalNoOwner: b
similar to isVersion, but we allow them to have different owners (allows moving)
I would like to implement something like:
method1 isEquivalentTo: method2 withRelation: aBlock
where the equivalence relation is defined in aBlock.
Regards, -- Serge Stinckwich UCBN & UMI UMMISCO 209 (IRD/UPMC) Every DSL ends up being Smalltalk http://www.doesnotunderstand.org/
In this case, you should simply extend the FAMIX classes with the wanted queries.
Cheers, Doru
-- www.tudorgirba.com
"Every thing has its own flow."
On 14.06.2013, at 11:01, Serge Stinckwich serge.stinckwich@gmail.com wrote:
Dear Nicolas,
On Thu, Jun 13, 2013 at 12:47 PM, Nicolas Anquetil Nicolas.Anquetil@inria.fr wrote:
I am not sure why you want to do this in the metamodel?
May be there is something I am not understanding here.
Yes you are right, we don't need to add equivalence relations in the meta-model, we just need to extend the existing FAMIX meta-model with some specific queries.
Anyway, with Anne Etien, we are implementing something to compare two models and find if two entities model the same thing (typically two FamixMethods modelling the same concrete method in two versions of a software)
Yes, this is very similar to what we want to do actually with a colleague from Paris 6 University :-) Be able to test if 2 entities of two different models are equivalent or not.
We defined several methods:
- a isVersion: b
a and b have the same class, the same name and their owners are isVersion: one of the other
- a equalNoName: b
similar to isVersion, but we allow them to have different names (allows renaming)
- a equalNoOwner: b
similar to isVersion, but we allow them to have different owners (allows moving)
I would like to implement something like:
method1 isEquivalentTo: method2 withRelation: aBlock
where the equivalence relation is defined in aBlock.
Regards,
Serge Stinckwich UCBN & UMI UMMISCO 209 (IRD/UPMC) Every DSL ends up being Smalltalk http://www.doesnotunderstand.org/ _______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev