I added a check at the end of the meta meta model generation on the opposites. It should throw an Assertion failure is your model is not well designed:

 

Name: Fame-SmalltalkBinding-VincentBlondeau.14

Author: VincentBlondeau

Time: 19 January 2017, 5:16:16.582209 pm

UUID: 814148a9-f22d-7244-97e9-e147e6cfdace

Ancestors: Fame-SmalltalkBinding-PavelKrivanek.13

 

Vincent

 

De : Moose-dev [mailto:moose-dev-bounces@list.inf.unibe.ch] De la part de Pavel Krivanek
Envoyé : jeudi 19 janvier 2017 14:43
À : Moose-related development
Cc : Moose-dev Moose Dev
Objet : [Moose-dev] Re: BUG - MooseModel resetMeta

 

Solved, there were more than one opposite references in the metamodel. Because the pragma processor was processing a dictionary of references, the order was random and it caused such undeterministic behavior.

 

-- Pavel

 

2017-01-19 12:23 GMT+01:00 Anne Etien <anne.etien@univ-lille1.fr>:

Hi,

 

I am developing a tool based on Fame pragma.

Considering the following methods:

FAMIXSQLExpression >>referencedRequests

<MSEProperty: #referencedRequests type: #FAMIXRequest opposite: #usedInExpression> <multivalued> 

<MSEComment: 'List of requests referenced by the expression.'>

^ referencedRequests

 

FAMIXRequest >>usedInExpression

<MSEProperty: #usedInExpression type: #FAMIXSQLExpression opposite: #referencedRequests>

<MSEComment: 'Expression in which the request is used.'>

^ usedInExpression

 

 (FAMIXSQLExpression mooseDescription at: 'referencedRequests') hasOpposite should return true.

However, I don’t have always the same behavior after each resetMeta.

(1 to: 100) do: [ : e | MooseModel resetMeta. (FAMIXSQLExpression mooseDescription at: 'referencedRequests') hasOpposite ifFalse: [ 1halt ] ].

always halts, at some unpredictable iteration (usually less than 10)

 

Does someone has any idea what is the problem and how to solve it?

 

By the way, MooseSQL is available here https://ci.inria.fr/moose/job/MooseSQL/

 

Thanks in advance for your help.

 

Anne

 

 


_______________________________________________
Moose-dev mailing list
Moose-dev@list.inf.unibe.ch
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.!!!"