Equivalence relation on FAMIX entities

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

Equivalence relation on FAMIX entities

SergeStinckwich
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
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Equivalence relation on FAMIX entities

Uko2
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-tp4027866p4027867.html
Sent from the moose-dev mailing list archive at Nabble.com.
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Equivalence relation on FAMIX entities

Nicolas Anquetil
In reply to this post by SergeStinckwich

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
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
Nicolas Anquetil -- RMod research team (Inria)

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

Re: Equivalence relation on FAMIX entities

SergeStinckwich
Dear Nicolas,

On Thu, Jun 13, 2013 at 12:47 PM, Nicolas Anquetil
<[hidden email]> 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
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Equivalence relation on FAMIX entities

Tudor Girba-2
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 <[hidden email]> wrote:

> Dear Nicolas,
>
> On Thu, Jun 13, 2013 at 12:47 PM, Nicolas Anquetil
> <[hidden email]> 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
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

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