New pragmas in FAME for associations

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

New pragmas in FAME for associations

Blondeau Vincent

Hello,

 

In our Fame meta meta model, some information about the source and target selector for the associations were missing. It was hard to extend the model with new associations.

 

With the help of Anne, I added the pragma <source> representing the incoming link of the association and <target> representing the outgoing link of the association (see FAMIXAssociation >> #from , #to for usage).

 

In Fame, it is represented in FM3PropertyDescription by isTarget and isSource (false by default).

 

All the tests related to this change are now green in Jenkins and some additional tests should be added to cover this new functionality.

 

MooseQuery is now based on these features.

 

Cheers,

Vincent

 


!!!*************************************************************************************
"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.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: New pragmas in FAME for associations

Tudor Girba-2
Hi,

Interesting.

Could you detail how MooseQuery uses these now?

Cheers,
Doru


> On Feb 3, 2017, at 5:38 PM, Blondeau Vincent <[hidden email]> wrote:
>
> Hello,
>  
> In our Fame meta meta model, some information about the source and target selector for the associations were missing. It was hard to extend the model with new associations.
>  
> With the help of Anne, I added the pragma <source> representing the incoming link of the association and <target> representing the outgoing link of the association (see FAMIXAssociation >> #from , #to for usage).
>  
> In Fame, it is represented in FM3PropertyDescription by isTarget and isSource (false by default).
>  
> All the tests related to this change are now green in Jenkins and some additional tests should be added to cover this new functionality.
>  
> MooseQuery is now based on these features.
>  
> Cheers,
> Vincent
>  
>
> !!!*************************************************************************************
> "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.list.inf.unibe.ch/listinfo/moose-dev

--
www.tudorgirba.com
www.feenk.com

"Problem solving should be focused on describing
the problem in a way that makes the solution obvious."





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

Re: New pragmas in FAME for associations

Blondeau Vincent


> -----Message d'origine-----
> De : Moose-dev [mailto:[hidden email]] De la part de
> Tudor Girba
> Envoyé : vendredi 3 février 2017 18:13
> À : Moose-related development
> Objet : [Moose-dev] Re: New pragmas in FAME for associations
>
> Hi,
>
> Interesting.
>
> Could you detail how MooseQuery uses these now?

Of course.
Before, the code to access the TEntityMetaLevelDependency >> incomingMSEPorperties was :

self dependencyFM3PropertyDescription select: [ :p |
        (p type implementingClass msePropertiesWithMethodNameEqualsTo: p)
                         ifNotNil: [ (self withAllSuperclasses collect: [ :c | c name asString ]) includes: (p type implementingClass msePropertiesWithMethodNameEqualsTo: p) arguments second ]
                        ifNil: [ false ] ]) ].

Now, it is just:
        self dependencyFM3PropertyDescription select: [ :p | p opposite isTarget ]) ].
Based at 100% on fame metadescriptions. I still kept the caching of the result because the first solution was computing intensive, but I think that with this new solution, we can remove this mechanism.

It also changed MooseIncomingQueryResult  >> isOppositeMultivalued: that is now really based on Fame.
And it removed ugly code like: "self lookupSelector: #from" in the fromMethod  and toMethod.

Cheers,
Vincent

>
> Cheers,
> Doru
>
>
> > On Feb 3, 2017, at 5:38 PM, Blondeau Vincent
> <[hidden email]> wrote:
> >
> > Hello,
> >
> > In our Fame meta meta model, some information about the source and
> target selector for the associations were missing. It was hard to extend the
> model with new associations.
> >
> > With the help of Anne, I added the pragma <source> representing the
> incoming link of the association and <target> representing the outgoing link
> of the association (see FAMIXAssociation >> #from , #to for usage).
> >
> > In Fame, it is represented in FM3PropertyDescription by isTarget and
> isSource (false by default).
> >
> > All the tests related to this change are now green in Jenkins and some
> additional tests should be added to cover this new functionality.
> >
> > MooseQuery is now based on these features.
> >
> > Cheers,
> > Vincent
> >
> >
> >
> !!!********************************************************
> ***********
> > ****************** "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.list.inf.unibe.ch/listinfo/moose-dev
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Problem solving should be focused on describing the problem in a way that
> makes the solution obvious."
>
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.list.inf.unibe.ch/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.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: New pragmas in FAME for associations

Tudor Girba-2
Hi,

That looks really cool!

Cheers,
Doru


> On Feb 6, 2017, at 10:40 AM, Blondeau Vincent <[hidden email]> wrote:
>
>
>
>> -----Message d'origine-----
>> De : Moose-dev [mailto:[hidden email]] De la part de
>> Tudor Girba
>> Envoyé : vendredi 3 février 2017 18:13
>> À : Moose-related development
>> Objet : [Moose-dev] Re: New pragmas in FAME for associations
>>
>> Hi,
>>
>> Interesting.
>>
>> Could you detail how MooseQuery uses these now?
>
> Of course.
> Before, the code to access the TEntityMetaLevelDependency >> incomingMSEPorperties was :
>
> self dependencyFM3PropertyDescription select: [ :p |
>        (p type implementingClass msePropertiesWithMethodNameEqualsTo: p)
>                         ifNotNil: [ (self withAllSuperclasses collect: [ :c | c name asString ]) includes: (p type implementingClass msePropertiesWithMethodNameEqualsTo: p) arguments second ]
>                        ifNil: [ false ] ]) ].
>
> Now, it is just:
>        self dependencyFM3PropertyDescription select: [ :p | p opposite isTarget ]) ].
> Based at 100% on fame metadescriptions. I still kept the caching of the result because the first solution was computing intensive, but I think that with this new solution, we can remove this mechanism.
>
> It also changed MooseIncomingQueryResult  >> isOppositeMultivalued: that is now really based on Fame.
> And it removed ugly code like: "self lookupSelector: #from" in the fromMethod  and toMethod.
>
> Cheers,
> Vincent
>
>>
>> Cheers,
>> Doru
>>
>>
>>> On Feb 3, 2017, at 5:38 PM, Blondeau Vincent
>> <[hidden email]> wrote:
>>>
>>> Hello,
>>>
>>> In our Fame meta meta model, some information about the source and
>> target selector for the associations were missing. It was hard to extend the
>> model with new associations.
>>>
>>> With the help of Anne, I added the pragma <source> representing the
>> incoming link of the association and <target> representing the outgoing link
>> of the association (see FAMIXAssociation >> #from , #to for usage).
>>>
>>> In Fame, it is represented in FM3PropertyDescription by isTarget and
>> isSource (false by default).
>>>
>>> All the tests related to this change are now green in Jenkins and some
>> additional tests should be added to cover this new functionality.
>>>
>>> MooseQuery is now based on these features.
>>>
>>> Cheers,
>>> Vincent
>>>
>>>
>>>
>> !!!********************************************************
>> ***********
>>> ****************** "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.list.inf.unibe.ch/listinfo/moose-dev
>>
>> --
>> www.tudorgirba.com
>> www.feenk.com
>>
>> "Problem solving should be focused on describing the problem in a way that
>> makes the solution obvious."
>>
>>
>>
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.list.inf.unibe.ch/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.list.inf.unibe.ch/listinfo/moose-dev

--
www.tudorgirba.com
www.feenk.com

"Don't give to get. Just give."






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

Re: New pragmas in FAME for associations

Blondeau Vincent
It is!

We tend to have everything described in the meta meta model (fame) in a way that using existing tools with new models is just to add descriptions at the right place in the model. These additions are really easy to made (one method to change and 2 to add) and it simplify a lot the implementation in the tools.

Cheers,
Vincent

> -----Message d'origine-----
> De : Moose-dev [mailto:[hidden email]] De la part de
> Tudor Girba
> Envoyé : lundi 6 février 2017 10:56
> À : Moose-related development
> Objet : [Moose-dev] Re: New pragmas in FAME for associations
>
> Hi,
>
> That looks really cool!
>
> Cheers,
> Doru
>
>
> > On Feb 6, 2017, at 10:40 AM, Blondeau Vincent
> <[hidden email]> wrote:
> >
> >
> >
> >> -----Message d'origine-----
> >> De : Moose-dev [mailto:[hidden email]] De la
> >> part de Tudor Girba Envoyé : vendredi 3 février 2017 18:13 À :
> >> Moose-related development Objet : [Moose-dev] Re: New pragmas in
> FAME
> >> for associations
> >>
> >> Hi,
> >>
> >> Interesting.
> >>
> >> Could you detail how MooseQuery uses these now?
> >
> > Of course.
> > Before, the code to access the TEntityMetaLevelDependency >>
> incomingMSEPorperties was :
> >
> > self dependencyFM3PropertyDescription select: [ :p |
> >        (p type implementingClass msePropertiesWithMethodNameEqualsTo:
> p)
> >                         ifNotNil: [ (self withAllSuperclasses collect: [ :c | c name asString
> ]) includes: (p type implementingClass
> msePropertiesWithMethodNameEqualsTo: p) arguments second ]
> >                        ifNil: [ false ] ]) ].
> >
> > Now, it is just:
> >        self dependencyFM3PropertyDescription select: [ :p | p opposite
> isTarget ]) ].
> > Based at 100% on fame metadescriptions. I still kept the caching of the
> result because the first solution was computing intensive, but I think that
> with this new solution, we can remove this mechanism.
> >
> > It also changed MooseIncomingQueryResult  >> isOppositeMultivalued:
> that is now really based on Fame.
> > And it removed ugly code like: "self lookupSelector: #from" in the
> fromMethod  and toMethod.
> >
> > Cheers,
> > Vincent
> >
> >>
> >> Cheers,
> >> Doru
> >>
> >>
> >>> On Feb 3, 2017, at 5:38 PM, Blondeau Vincent
> >> <[hidden email]> wrote:
> >>>
> >>> Hello,
> >>>
> >>> In our Fame meta meta model, some information about the source and
> >> target selector for the associations were missing. It was hard to
> >> extend the model with new associations.
> >>>
> >>> With the help of Anne, I added the pragma <source> representing the
> >> incoming link of the association and <target> representing the
> >> outgoing link of the association (see FAMIXAssociation >> #from , #to for
> usage).
> >>>
> >>> In Fame, it is represented in FM3PropertyDescription by isTarget and
> >> isSource (false by default).
> >>>
> >>> All the tests related to this change are now green in Jenkins and
> >>> some
> >> additional tests should be added to cover this new functionality.
> >>>
> >>> MooseQuery is now based on these features.
> >>>
> >>> Cheers,
> >>> Vincent
> >>>
> >>>
> >>>
> >>
> !!!********************************************************
> >> ***********
> >>> ****************** "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.list.inf.unibe.ch/listinfo/moose-dev
> >>
> >> --
> >> www.tudorgirba.com
> >> www.feenk.com
> >>
> >> "Problem solving should be focused on describing the problem in a way
> >> that makes the solution obvious."
> >>
> >>
> >>
> >>
> >>
> >> _______________________________________________
> >> Moose-dev mailing list
> >> [hidden email]
> >> https://www.list.inf.unibe.ch/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.list.inf.unibe.ch/listinfo/moose-dev
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Don't give to get. Just give."
>
>
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.list.inf.unibe.ch/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.list.inf.unibe.ch/listinfo/moose-dev