hi!
Why is there not a method atMethodScope? Also, why is there not a atClassScope? Apparently this method is deprecated and one should use atTypeScope instead. However, a class define a type, but a type does not necessarily defines a class. It may define an interface. I have the impression that atTypeScope and atClassScope are both relevant. We could even introduce atInterfaceScope. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In (default) FAMIX type and classes are very similar For example FamixType has attributes, methods, supertype, ... As for (java) interfaces they are implemented as FamixClass with the property isInterface I guess there are lots of historical reasons behind this. So therewas asClassScope at the begining of Moosechef if I recall correctly, but it was renamed asTypeScope A look in moose-dev list shows a discussion o this topic in february 2013: "Issue 906 in moose-technology:" nicolas On 21/09/2015 16:17, Alexandre Bergel wrote: > hi! > > Why is there not a method atMethodScope? > > Also, why is there not a atClassScope? Apparently this method is deprecated and one should use atTypeScope instead. However, a class define a type, but a type does not necessarily defines a class. It may define an interface. I have the impression that atTypeScope and atClassScope are both relevant. We could even introduce atInterfaceScope. > > Cheers, > Alexandre _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by abergel
Hi,
In order to solve all these problems, we developed the new version of MooseChef a.k.a MooseQuery. There are two methods atScope: and toScope: taking a famix class name (e.g. atScope: FAMIXMethod) to go up (respectively down) in the containment tree until entities of the specified type. Cheers, Anne Le 21 sept. 2015 à 16:17, Alexandre Bergel <[hidden email]> a écrit : > hi! > > Why is there not a method atMethodScope? > > Also, why is there not a atClassScope? Apparently this method is deprecated and one should use atTypeScope instead. However, a class define a type, but a type does not necessarily defines a class. It may define an interface. I have the impression that atTypeScope and atClassScope are both relevant. We could even introduce atInterfaceScope. > > Cheers, > Alexandre > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > > _______________________________________________ > 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 |
There is implementor of atScope: in my image.
I have the last version of Famix-Core loaded… Alexandre > On Sep 21, 2015, at 1:58 PM, Anne Etien <[hidden email]> wrote: > > Hi, > > In order to solve all these problems, we developed the new version of MooseChef a.k.a MooseQuery. There are two methods atScope: and toScope: taking a famix class name (e.g. atScope: FAMIXMethod) to go up (respectively down) in the containment tree until entities of the specified type. > > Cheers, > Anne > Le 21 sept. 2015 à 16:17, Alexandre Bergel <[hidden email]> a écrit : > >> hi! >> >> Why is there not a method atMethodScope? >> >> Also, why is there not a atClassScope? Apparently this method is deprecated and one should use atTypeScope instead. However, a class define a type, but a type does not necessarily defines a class. It may define an interface. I have the impression that atTypeScope and atClassScope are both relevant. We could even introduce atInterfaceScope. >> >> Cheers, >> Alexandre >> -- >> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: >> Alexandre Bergel http://www.bergel.eu >> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. >> >> >> >> >> _______________________________________________ >> 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 -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
atScope: is not yet in FAMIX. Is it possible that loaded the new MooseQuery? Doru On Tue, Sep 22, 2015 at 2:25 AM, Alexandre Bergel <[hidden email]> wrote: There is implementor of atScope: in my image. _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by abergel
Hi!
> Why is there not a method atMethodScope? I have just added #atMethodScope defined as: MooseQueryResult>>atMethodScope ^ self opposites Looks okay no? Alexandre > > Also, why is there not a atClassScope? Apparently this method is deprecated and one should use atTypeScope instead. However, a class define a type, but a type does not necessarily defines a class. It may define an interface. I have the impression that atTypeScope and atClassScope are both relevant. We could even introduce atInterfaceScope. > > Cheers, > Alexandre > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
> -----Message d'origine----- > De : [hidden email] [mailto:moose-dev- > [hidden email]] De la part de Alexandre Bergel > Envoyé : mardi 22 septembre 2015 16:44 > À : Moose-related development > Objet : [Moose-dev] Re: Question about MooseChef > > Hi! > Hi, > > Why is there not a method atMethodScope? > > I have just added #atMethodScope > defined as: > > MooseQueryResult>>atMethodScope > > ^ self opposites > > Looks okay no? It didn't work if your association "opposite" is something else than a method. Try on a method of your model where the result is not empty: self queryOutgoingAccesses atMethodScope You will see that the result is not methods but attributes. If you query references, you will get classes instead of methods... I think you should use MooseQuery that is designed to resolve these issues: MCHttpRepository location: 'http://smalltalkhub.com/mc/AnneEtien/MooseQueryDraft/main' user: '' password: '' Cheers, Vincent > > Alexandre > > > > > > Also, why is there not a atClassScope? Apparently this method is > deprecated and one should use atTypeScope instead. However, a class > define a type, but a type does not necessarily defines a class. It may define > an interface. I have the impression that atTypeScope and atClassScope are > both relevant. We could even introduce atInterfaceScope. > > > > Cheers, > > Alexandre > > -- > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > > Alexandre Bergel http://www.bergel.eu > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > > > > > > > _______________________________________________ > > Moose-dev mailing list > > [hidden email] > > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis. This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted. _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
+1 Doru On Tue, Sep 22, 2015 at 5:32 PM, Blondeau Vincent <[hidden email]> wrote:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Blondeau Vincent
Hi!
> It didn't work if your association "opposite" is something else than a method. > Try on a method of your model where the result is not empty: > self queryOutgoingAccesses atMethodScope I have tried only on outgoing invocations. I wrote a test about it. But yes, what I have done is probably not optimal. > You will see that the result is not methods but attributes. > If you query references, you will get classes instead of methods... > > I think you should use MooseQuery that is designed to resolve these issues: > > MCHttpRepository > location: 'http://smalltalkhub.com/mc/AnneEtien/MooseQueryDraft/main' > user: '' > password: '' Well… I think MooseQuery should be added to Moose and not loaded as a separate package. What is the status of it? I had a look at Famix-Core.MooseQueryEXPERIMENTAL and MooseQuery. Tests are green and it looks okay. So, what next? Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
as explained by Vincent, opposites gives you the entities on the other
end of the association you queried for outgoing invocationsm the opposite can only be the invoked methods. so it does what you want but we qny other associations it will fail to return methods the idea of atXXScope is that it raises or lowers the result to the appropriate level. So outgoingInvocation should normally give methods, but with atPackageScope, it will return the packages containing the methods Therefore your implementation does not work and it can be actually tricky to make it work. The problem being that from the result you have, the system must "guess"whether the scope asked is obtained by going up the containement tree, for example from method to their classes (belongsTo) to their packages (belongsTo) , or down the treem for example one could asked all the referenced classes and down to their methods. This is what the new MooseQuery solves with the two scoping selectors that Anne mentionned nicolas On 22/09/2015 21:07, Alexandre Bergel wrote: > Hi! > >> It didn't work if your association "opposite" is something else than a method. >> Try on a method of your model where the result is not empty: >> self queryOutgoingAccesses atMethodScope > I have tried only on outgoing invocations. I wrote a test about it. > But yes, what I have done is probably not optimal. > >> You will see that the result is not methods but attributes. >> If you query references, you will get classes instead of methods... >> >> I think you should use MooseQuery that is designed to resolve these issues: >> >> MCHttpRepository >> location: 'http://smalltalkhub.com/mc/AnneEtien/MooseQueryDraft/main' >> user: '' >> password: '' > Well… I think MooseQuery should be added to Moose and not loaded as a separate package. What is the status of it? > I had a look at Famix-Core.MooseQueryEXPERIMENTAL and MooseQuery. Tests are green and it looks okay. > So, what next? > > Alexandre > _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
> So outgoingInvocation should normally give methods,
Shouldn’t it return invocations? It would be surprising that it return methods. > This is what the new MooseQuery solves with the two scoping selectors that Anne mentionned Yes, I had a look at MooseQuery, and apparently it deserves to be in the image. Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Yes, MooseQuery should be integrated now. I am waiting for that :) Doru On Tue, Sep 22, 2015 at 10:43 PM, Alexandre Bergel <[hidden email]> wrote: > So outgoingInvocation should normally give methods, _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Hi,
We are very happy that you are all waiting for MooseQuery integration. We didn’t know that we could integrate it. I have currently some personal problems to manage and so I am not very available. Next week, I will be at ICSME (with the workshops, there will be 4 papers about software evolution analysis, with Moose or Pharo). Jean-Christophe has a new associate professor position in Brest and so is not very available neither. We should be able to do the integration before the middle of Octobre. Sorry for the delays. Cheers, Anne Le 22 sept. 2015 à 22:51, Tudor Girba <[hidden email]> a écrit :
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Hi Anne, Will you happen to also be at Bremen during VISSOFT? If yes, we could meet on Sunday or Monday morning. Cheers, Doru On Fri, Sep 25, 2015 at 7:50 AM, Anne Etien <[hidden email]> wrote:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Free forum by Nabble | Edit this page |