The consistency is achieved by having a filtering mechanism that works based on the information from the meta-model. When you filter by saying that you only want classes, the filter will produce a consistent but smaller meta-model that will contain what is needed for the class to be appropriately described.
I think there is still one issue left in the algorithm, but first we should see how it performs on larger case studies.
In any case, one side-effect is that the information from the ImportingContext should not be needed anymore because we could finally reuse the one from the original meta-descriptions.
Cheers, Doru
On 13 Nov 2011, at 23:13, Stéphane Ducasse wrote:
I want to know in particular how the consistency of the resulting model is handled.
Thanks :).
Andre, when you come back, we should pick up where we left and look into the integration of the Fame filter in Moose.
Cheers, Doru
On 13 Nov 2011, at 21:39, Nicolas Anquetil wrote:
FYI
andre is on holiday till Wednesday
nicolas
----- Mail original -----
De: "Tudor Girba" tudor@tudorgirba.com À: "Moose-related development" moose-dev@iam.unibe.ch Envoyé: Dimanche 13 Novembre 2011 21:22:06 Objet: [Moose-dev] Re: Help with VerveineJ +1.
We now have the basic mechanism for loading partial models. But, I will let Andre answer more details.
Andre, you have the floor :)
Cheers, Doru
On 13 Nov 2011, at 16:12, Stéphane Ducasse wrote:
If I remember Andre did a custom mse loader that can filter entities to be loaded. Now I will wait for his answer
In general this is a good idea to extract at maximum level and to filter while loading.
Stef
On Nov 11, 2011, at 7:43 PM, Santiago Vidal wrote:
Hi, I had create several MSE files of different versions of a Java system using VerveineJ. Then, I had tried to load them to the Moose Panel but after load two of them I run out of memory in Moose (The Pharo error is "Space is Low"). I had the same problem when loading several versions of Mondrian to Moose Panel. However, we solved it by using the following script (we select only those thing in which we are interested):
| mooseModel packages task |
#('2.10' '2.13' '2.100') do: [:version | | project | project := (ConfigurationOfMondrian project version: version).
[ project load.
"This is necessary by Moose to properly import" Gofer new url: 'http://www.squeaksource.com/CollectionExtensions'; version: 'CollectionExtensions-TudorGirba.29'; load. packages := (project packages collect: #name) select: [:p | p beginsWith: 'Mondrian']. mooseModel := MooseModel new. task := MooseSqueakClassCategoryImporterTask new. task importerClass: SmalltalkImporter. task importingContext mergeClassAndMetaclass. task model: mooseModel. task runCandidateOperator. task addFromPackagesNamed: packages. task runWithProgress. mooseModel name: 'Mondrian ', version. mooseModel allMethods do: #numberOfLinesOfCode. mooseModel install.
] on: Error do: [ :ex | self halt. Transcript show: 'cannot load version ', version, ' ', ex printString. ]. ]
Is there any way to do the same with VerveineJ (that is, reduce the size of the MSE files)? Or is there a way to expand the memory of Moose? Thanks
-- Santiago Vidal _______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- www.tudorgirba.com
"One cannot do more than one can do."
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- www.tudorgirba.com
"In a world where everything is moving ever faster, one might have better chances to win by moving slower."
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- www.tudorgirba.com
"Presenting is storytelling."