Binary import/export in Moose

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

Binary import/export in Moose

tinchodias
Hi

I have been working in a object serialization framework last months,
called Fuel. And in order to test it in a real case, I made a package
that adds new import and export commands to Moose panel.

Fuel and this Moose extension still need a lot of work on
functionalities and performance optimizations.

The idea was to imitate the export/import MSE capabilities, and at
least in the basic cases I tried, it imitates well, but I have not too
much experience with Moose, so it would be nice to have feedback of
more experienced users, and to know if it could be useful or not.

I have tried in Moose 4.1 release and Moose 4.3 build #77 from
http://hudson.moosetechnology.org/job/moose-latest-dev/


More information at the end of this website:

http://rmod.lille.inria.fr/web/pier/software/Fuel


To install:

Gofer new
        squeaksource: 'Fuel';
        version: 'Fuel-MartinDias.78';
        version: 'FuelFameExtension-MartinDias.21';
        load.


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

Re: Binary import/export in Moose

Tudor Girba
Excellent job, Martin!

I tested it briefly with ArgoUML (194936 objects), and I get really cool results:
- Fuel import: 12988 ms
- MSE import: 65543 ms

Also, the size of the file is 14.9 MB instead of 30 MB.

This package will go in the default Moose configuration. Could you please add a ConfigurationOfFuel with a default configuration so that we can load it easily from the ConfigurationOfMoose?

Cheers,
Doru


On 4 Jan 2011, at 14:53, Martin Dias wrote:

> Hi
>
> I have been working in a object serialization framework last months,
> called Fuel. And in order to test it in a real case, I made a package
> that adds new import and export commands to Moose panel.
>
> Fuel and this Moose extension still need a lot of work on
> functionalities and performance optimizations.
>
> The idea was to imitate the export/import MSE capabilities, and at
> least in the basic cases I tried, it imitates well, but I have not too
> much experience with Moose, so it would be nice to have feedback of
> more experienced users, and to know if it could be useful or not.
>
> I have tried in Moose 4.1 release and Moose 4.3 build #77 from
> http://hudson.moosetechnology.org/job/moose-latest-dev/
>
>
> More information at the end of this website:
>
> http://rmod.lille.inria.fr/web/pier/software/Fuel
>
>
> To install:
>
> Gofer new
> squeaksource: 'Fuel';
> version: 'Fuel-MartinDias.78';
> version: 'FuelFameExtension-MartinDias.21';
> load.
>
>
> Cheers!
> Martin
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
www.tudorgirba.com

"Some battles are better lost than fought."




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

Re: Binary import/export in Moose

Mariano Martinez Peck


On Tue, Jan 4, 2011 at 6:14 PM, Tudor Girba <[hidden email]> wrote:
Excellent job, Martin!

I tested it briefly with ArgoUML (194936 objects), and I get really cool results:
- Fuel import: 12988 ms
- MSE import: 65543 ms

Tudor, and the export ?

thanks

mariano
 

Also, the size of the file is 14.9 MB instead of 30 MB.

This package will go in the default Moose configuration. Could you please add a ConfigurationOfFuel with a default configuration so that we can load it easily from the ConfigurationOfMoose?

Cheers,
Doru


On 4 Jan 2011, at 14:53, Martin Dias wrote:

> Hi
>
> I have been working in a object serialization framework last months,
> called Fuel. And in order to test it in a real case, I made a package
> that adds new import and export commands to Moose panel.
>
> Fuel and this Moose extension still need a lot of work on
> functionalities and performance optimizations.
>
> The idea was to imitate the export/import MSE capabilities, and at
> least in the basic cases I tried, it imitates well, but I have not too
> much experience with Moose, so it would be nice to have feedback of
> more experienced users, and to know if it could be useful or not.
>
> I have tried in Moose 4.1 release and Moose 4.3 build #77 from
> http://hudson.moosetechnology.org/job/moose-latest-dev/
>
>
> More information at the end of this website:
>
> http://rmod.lille.inria.fr/web/pier/software/Fuel
>
>
> To install:
>
> Gofer new
>       squeaksource: 'Fuel';
>       version: 'Fuel-MartinDias.78';
>       version: 'FuelFameExtension-MartinDias.21';
>       load.
>
>
> Cheers!
> Martin
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
www.tudorgirba.com

"Some battles are better lost than fought."




_______________________________________________
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
Reply | Threaded
Open this post in threaded view
|

Re: Binary import/export in Moose

Tudor Girba
This is what I got for the export:

Fuel:  76481.
MSE: 201837.

There are several reports on the fuel page:
http://rmod.lille.inria.fr/web/pier/software/Fuel

Cheers,
Doru


On 4 Jan 2011, at 18:23, Mariano Martinez Peck wrote:

>
>
> On Tue, Jan 4, 2011 at 6:14 PM, Tudor Girba <[hidden email]> wrote:
> Excellent job, Martin!
>
> I tested it briefly with ArgoUML (194936 objects), and I get really cool results:
> - Fuel import: 12988 ms
> - MSE import: 65543 ms
>
> Tudor, and the export ?
>
> thanks
>
> mariano
>  
>
> Also, the size of the file is 14.9 MB instead of 30 MB.
>
> This package will go in the default Moose configuration. Could you please add a ConfigurationOfFuel with a default configuration so that we can load it easily from the ConfigurationOfMoose?
>
> Cheers,
> Doru
>
>
> On 4 Jan 2011, at 14:53, Martin Dias wrote:
>
> > Hi
> >
> > I have been working in a object serialization framework last months,
> > called Fuel. And in order to test it in a real case, I made a package
> > that adds new import and export commands to Moose panel.
> >
> > Fuel and this Moose extension still need a lot of work on
> > functionalities and performance optimizations.
> >
> > The idea was to imitate the export/import MSE capabilities, and at
> > least in the basic cases I tried, it imitates well, but I have not too
> > much experience with Moose, so it would be nice to have feedback of
> > more experienced users, and to know if it could be useful or not.
> >
> > I have tried in Moose 4.1 release and Moose 4.3 build #77 from
> > http://hudson.moosetechnology.org/job/moose-latest-dev/
> >
> >
> > More information at the end of this website:
> >
> > http://rmod.lille.inria.fr/web/pier/software/Fuel
> >
> >
> > To install:
> >
> > Gofer new
> >       squeaksource: 'Fuel';
> >       version: 'Fuel-MartinDias.78';
> >       version: 'FuelFameExtension-MartinDias.21';
> >       load.
> >
> >
> > Cheers!
> > Martin
> > _______________________________________________
> > Moose-dev mailing list
> > [hidden email]
> > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> --
> www.tudorgirba.com
>
> "Some battles are better lost than fought."
>
>
>
>
> _______________________________________________
> 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

--
www.tudorgirba.com

"We are all great at making mistakes."








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

Re: Binary import/export in Moose

Mariano Martinez Peck


On Wed, Jan 5, 2011 at 12:51 AM, Tudor Girba <[hidden email]> wrote:
This is what I got for the export:

Fuel:  76481.
MSE: 201837.

Excellent!!
 

There are several reports on the fuel page:

yes, but I wanted to see yours ;)
 
Cheers,
Doru


On 4 Jan 2011, at 18:23, Mariano Martinez Peck wrote:

>
>
> On Tue, Jan 4, 2011 at 6:14 PM, Tudor Girba <[hidden email]> wrote:
> Excellent job, Martin!
>
> I tested it briefly with ArgoUML (194936 objects), and I get really cool results:
> - Fuel import: 12988 ms
> - MSE import: 65543 ms
>
> Tudor, and the export ?
>
> thanks
>
> mariano
>
>
> Also, the size of the file is 14.9 MB instead of 30 MB.
>
> This package will go in the default Moose configuration. Could you please add a ConfigurationOfFuel with a default configuration so that we can load it easily from the ConfigurationOfMoose?
>
> Cheers,
> Doru
>
>
> On 4 Jan 2011, at 14:53, Martin Dias wrote:
>
> > Hi
> >
> > I have been working in a object serialization framework last months,
> > called Fuel. And in order to test it in a real case, I made a package
> > that adds new import and export commands to Moose panel.
> >
> > Fuel and this Moose extension still need a lot of work on
> > functionalities and performance optimizations.
> >
> > The idea was to imitate the export/import MSE capabilities, and at
> > least in the basic cases I tried, it imitates well, but I have not too
> > much experience with Moose, so it would be nice to have feedback of
> > more experienced users, and to know if it could be useful or not.
> >
> > I have tried in Moose 4.1 release and Moose 4.3 build #77 from
> > http://hudson.moosetechnology.org/job/moose-latest-dev/
> >
> >
> > More information at the end of this website:
> >
> > http://rmod.lille.inria.fr/web/pier/software/Fuel
> >
> >
> > To install:
> >
> > Gofer new
> >       squeaksource: 'Fuel';
> >       version: 'Fuel-MartinDias.78';
> >       version: 'FuelFameExtension-MartinDias.21';
> >       load.
> >
> >
> > Cheers!
> > Martin
> > _______________________________________________
> > Moose-dev mailing list
> > [hidden email]
> > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> --
> www.tudorgirba.com
>
> "Some battles are better lost than fought."
>
>
>
>
> _______________________________________________
> 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

--
www.tudorgirba.com

"We are all great at making mistakes."








_______________________________________________
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
Reply | Threaded
Open this post in threaded view
|

Re: Binary import/export in Moose

Tudor Girba
Hmm, on the other hand, I have a question about the logic behind the Fame Fuel. I did not check the implementation too closely, but I would expect the Fame entities to be traversed in the same way as for the MSE export.

However, there was a bug with FAMIXAccess that when the isWrite flag was nil, isRead would raise an error (it is fixed in the meantime). This appeared when I exported the model with MSE, but it did not appear when I used Fuel. This leads me to believe that export has a different logic.

Am I correct? If yes, I would like to know what are the implications.

Cheers,
Doru


On 5 Jan 2011, at 10:26, Mariano Martinez Peck wrote:

>
>
> On Wed, Jan 5, 2011 at 12:51 AM, Tudor Girba <[hidden email]> wrote:
> This is what I got for the export:
>
> Fuel:  76481.
> MSE: 201837.
>
> Excellent!!
>  
>
> There are several reports on the fuel page:
> http://rmod.lille.inria.fr/web/pier/software/Fuel
>
>
> yes, but I wanted to see yours ;)
>  
> Cheers,
> Doru
>
>
> On 4 Jan 2011, at 18:23, Mariano Martinez Peck wrote:
>
> >
> >
> > On Tue, Jan 4, 2011 at 6:14 PM, Tudor Girba <[hidden email]> wrote:
> > Excellent job, Martin!
> >
> > I tested it briefly with ArgoUML (194936 objects), and I get really cool results:
> > - Fuel import: 12988 ms
> > - MSE import: 65543 ms
> >
> > Tudor, and the export ?
> >
> > thanks
> >
> > mariano
> >
> >
> > Also, the size of the file is 14.9 MB instead of 30 MB.
> >
> > This package will go in the default Moose configuration. Could you please add a ConfigurationOfFuel with a default configuration so that we can load it easily from the ConfigurationOfMoose?
> >
> > Cheers,
> > Doru
> >
> >
> > On 4 Jan 2011, at 14:53, Martin Dias wrote:
> >
> > > Hi
> > >
> > > I have been working in a object serialization framework last months,
> > > called Fuel. And in order to test it in a real case, I made a package
> > > that adds new import and export commands to Moose panel.
> > >
> > > Fuel and this Moose extension still need a lot of work on
> > > functionalities and performance optimizations.
> > >
> > > The idea was to imitate the export/import MSE capabilities, and at
> > > least in the basic cases I tried, it imitates well, but I have not too
> > > much experience with Moose, so it would be nice to have feedback of
> > > more experienced users, and to know if it could be useful or not.
> > >
> > > I have tried in Moose 4.1 release and Moose 4.3 build #77 from
> > > http://hudson.moosetechnology.org/job/moose-latest-dev/
> > >
> > >
> > > More information at the end of this website:
> > >
> > > http://rmod.lille.inria.fr/web/pier/software/Fuel
> > >
> > >
> > > To install:
> > >
> > > Gofer new
> > >       squeaksource: 'Fuel';
> > >       version: 'Fuel-MartinDias.78';
> > >       version: 'FuelFameExtension-MartinDias.21';
> > >       load.
> > >
> > >
> > > Cheers!
> > > Martin
> > > _______________________________________________
> > > Moose-dev mailing list
> > > [hidden email]
> > > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >
> > --
> > www.tudorgirba.com
> >
> > "Some battles are better lost than fought."
> >
> >
> >
> >
> > _______________________________________________
> > 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
>
> --
> www.tudorgirba.com
>
> "We are all great at making mistakes."
>
>
>
>
>
>
>
>
> _______________________________________________
> 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

--
www.tudorgirba.com

"Every thing has its own flow."





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

Re: Binary import/export in Moose

simondenier
In reply to this post by tinchodias
Hi Martin

The charts display many interesting features, and raise some questions :)

Do you have an idea about the drops observed at the 100,000 entities x-point? And why the MSE file size grows so sharply after that?
Which Moose models did you use to test?

Another topic: is it possible to 'shape' the instances when serializing them so that only the necessary data get exported. In other words, can we declare some fields as 'transient' so that Fuel does not need to traverse them. I'm thinking that all Moose entities have a cache: this cache does not need to be stored.


On 4 janv. 2011, at 14:53, Martin Dias wrote:

> Hi
>
> I have been working in a object serialization framework last months,
> called Fuel. And in order to test it in a real case, I made a package
> that adds new import and export commands to Moose panel.
>
> Fuel and this Moose extension still need a lot of work on
> functionalities and performance optimizations.
>
> The idea was to imitate the export/import MSE capabilities, and at
> least in the basic cases I tried, it imitates well, but I have not too
> much experience with Moose, so it would be nice to have feedback of
> more experienced users, and to know if it could be useful or not.
>
> I have tried in Moose 4.1 release and Moose 4.3 build #77 from
> http://hudson.moosetechnology.org/job/moose-latest-dev/
>
>
> More information at the end of this website:
>
> http://rmod.lille.inria.fr/web/pier/software/Fuel
>
>
> To install:
>
> Gofer new
> squeaksource: 'Fuel';
> version: 'Fuel-MartinDias.78';
> version: 'FuelFameExtension-MartinDias.21';
> load.
>
>
> Cheers!
> Martin
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
Simon Denier




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

Re: Binary import/export in Moose

Tudor Girba
As far as I understood, the export should go over Fame. Otherwise, why would it need anything specific to Fame? Or am I wrong?

Cheers,
Doru


On 5 Jan 2011, at 11:15, Simon Denier wrote:

> Hi Martin
>
> The charts display many interesting features, and raise some questions :)
>
> Do you have an idea about the drops observed at the 100,000 entities x-point? And why the MSE file size grows so sharply after that?
> Which Moose models did you use to test?
>
> Another topic: is it possible to 'shape' the instances when serializing them so that only the necessary data get exported. In other words, can we declare some fields as 'transient' so that Fuel does not need to traverse them. I'm thinking that all Moose entities have a cache: this cache does not need to be stored.
>
>
> On 4 janv. 2011, at 14:53, Martin Dias wrote:
>
>> Hi
>>
>> I have been working in a object serialization framework last months,
>> called Fuel. And in order to test it in a real case, I made a package
>> that adds new import and export commands to Moose panel.
>>
>> Fuel and this Moose extension still need a lot of work on
>> functionalities and performance optimizations.
>>
>> The idea was to imitate the export/import MSE capabilities, and at
>> least in the basic cases I tried, it imitates well, but I have not too
>> much experience with Moose, so it would be nice to have feedback of
>> more experienced users, and to know if it could be useful or not.
>>
>> I have tried in Moose 4.1 release and Moose 4.3 build #77 from
>> http://hudson.moosetechnology.org/job/moose-latest-dev/
>>
>>
>> More information at the end of this website:
>>
>> http://rmod.lille.inria.fr/web/pier/software/Fuel
>>
>>
>> To install:
>>
>> Gofer new
>> squeaksource: 'Fuel';
>> version: 'Fuel-MartinDias.78';
>> version: 'FuelFameExtension-MartinDias.21';
>> load.
>>
>>
>> Cheers!
>> Martin
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> --
> Simon Denier
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
www.tudorgirba.com

"Reasonable is what we are accustomed with."


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

Re: Binary import/export in Moose

tinchodias
In reply to this post by Tudor Girba
On Tue, Jan 4, 2011 at 5:14 PM, Tudor Girba <[hidden email]> wrote:
> Excellent job, Martin!
>
> I tested it briefly with ArgoUML (194936 objects), and I get really cool results:
> - Fuel import: 12988 ms
> - MSE import: 65543 ms
>
> Also, the size of the file is 14.9 MB instead of 30 MB.
>
> This package will go in the default Moose configuration. Could you please add a ConfigurationOfFuel with a default configuration so that we can load it easily from the ConfigurationOfMoose?

Wow :)
Well... and at least I think the benchmark class could be moved to
other package because it's not necessary. Maybe in next weeks I can do
it (Now I'm travelling, on holidays!).

>
> Cheers,
> Doru
>

Thanks! Martin

>
> On 4 Jan 2011, at 14:53, Martin Dias wrote:
>
>> Hi
>>
>> I have been working in a object serialization framework last months,
>> called Fuel. And in order to test it in a real case, I made a package
>> that adds new import and export commands to Moose panel.
>>
>> Fuel and this Moose extension still need a lot of work on
>> functionalities and performance optimizations.
>>
>> The idea was to imitate the export/import MSE capabilities, and at
>> least in the basic cases I tried, it imitates well, but I have not too
>> much experience with Moose, so it would be nice to have feedback of
>> more experienced users, and to know if it could be useful or not.
>>
>> I have tried in Moose 4.1 release and Moose 4.3 build #77 from
>> http://hudson.moosetechnology.org/job/moose-latest-dev/
>>
>>
>> More information at the end of this website:
>>
>> http://rmod.lille.inria.fr/web/pier/software/Fuel
>>
>>
>> To install:
>>
>> Gofer new
>>       squeaksource: 'Fuel';
>>       version: 'Fuel-MartinDias.78';
>>       version: 'FuelFameExtension-MartinDias.21';
>>       load.
>>
>>
>> Cheers!
>> Martin
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> --
> www.tudorgirba.com
>
> "Some battles are better lost than fought."
>
>
>
>
> _______________________________________________
> 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
Reply | Threaded
Open this post in threaded view
|

Re: Binary import/export in Moose

tinchodias
In reply to this post by Tudor Girba
On Wed, Jan 5, 2011 at 9:37 AM, Tudor Girba <[hidden email]> wrote:
> Hmm, on the other hand, I have a question about the logic behind the Fame Fuel. I did not check the implementation too closely, but I would expect the Fame entities to be traversed in the same way as for the MSE export.

Yes! I used the Fame meta-descriptions.

>
> However, there was a bug with FAMIXAccess that when the isWrite flag was nil, isRead would raise an error (it is fixed in the meantime). This appeared when I exported the model with MSE, but it did not appear when I used Fuel. This leads me to believe that export has a different logic.

That should be a bug, because my goal was to imitate MSE logic. En
fact I made two prototypes before this version that reused the
Fame/MSE implementation classes, but the result was not so good, so
finally I wrote the logic in other way.

>
> Am I correct? If yes, I would like to know what are the implications.

Do I answered the question?

>
> Cheers,
> Doru
>
>
> On 5 Jan 2011, at 10:26, Mariano Martinez Peck wrote:
>
>>
>>
>> On Wed, Jan 5, 2011 at 12:51 AM, Tudor Girba <[hidden email]> wrote:
>> This is what I got for the export:
>>
>> Fuel:  76481.
>> MSE: 201837.
>>
>> Excellent!!
>>
>>
>> There are several reports on the fuel page:
>> http://rmod.lille.inria.fr/web/pier/software/Fuel
>>
>>
>> yes, but I wanted to see yours ;)
>>
>> Cheers,
>> Doru
>>
>>
>> On 4 Jan 2011, at 18:23, Mariano Martinez Peck wrote:
>>
>> >
>> >
>> > On Tue, Jan 4, 2011 at 6:14 PM, Tudor Girba <[hidden email]> wrote:
>> > Excellent job, Martin!
>> >
>> > I tested it briefly with ArgoUML (194936 objects), and I get really cool results:
>> > - Fuel import: 12988 ms
>> > - MSE import: 65543 ms
>> >
>> > Tudor, and the export ?
>> >
>> > thanks
>> >
>> > mariano
>> >
>> >
>> > Also, the size of the file is 14.9 MB instead of 30 MB.
>> >
>> > This package will go in the default Moose configuration. Could you please add a ConfigurationOfFuel with a default configuration so that we can load it easily from the ConfigurationOfMoose?
>> >
>> > Cheers,
>> > Doru
>> >
>> >
>> > On 4 Jan 2011, at 14:53, Martin Dias wrote:
>> >
>> > > Hi
>> > >
>> > > I have been working in a object serialization framework last months,
>> > > called Fuel. And in order to test it in a real case, I made a package
>> > > that adds new import and export commands to Moose panel.
>> > >
>> > > Fuel and this Moose extension still need a lot of work on
>> > > functionalities and performance optimizations.
>> > >
>> > > The idea was to imitate the export/import MSE capabilities, and at
>> > > least in the basic cases I tried, it imitates well, but I have not too
>> > > much experience with Moose, so it would be nice to have feedback of
>> > > more experienced users, and to know if it could be useful or not.
>> > >
>> > > I have tried in Moose 4.1 release and Moose 4.3 build #77 from
>> > > http://hudson.moosetechnology.org/job/moose-latest-dev/
>> > >
>> > >
>> > > More information at the end of this website:
>> > >
>> > > http://rmod.lille.inria.fr/web/pier/software/Fuel
>> > >
>> > >
>> > > To install:
>> > >
>> > > Gofer new
>> > >       squeaksource: 'Fuel';
>> > >       version: 'Fuel-MartinDias.78';
>> > >       version: 'FuelFameExtension-MartinDias.21';
>> > >       load.
>> > >
>> > >
>> > > Cheers!
>> > > Martin
>> > > _______________________________________________
>> > > Moose-dev mailing list
>> > > [hidden email]
>> > > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>> >
>> > --
>> > www.tudorgirba.com
>> >
>> > "Some battles are better lost than fought."
>> >
>> >
>> >
>> >
>> > _______________________________________________
>> > 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
>>
>> --
>> www.tudorgirba.com
>>
>> "We are all great at making mistakes."
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> 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
>
> --
> www.tudorgirba.com
>
> "Every thing has its own flow."
>
>
>
>
>
> _______________________________________________
> 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
Reply | Threaded
Open this post in threaded view
|

Re: Binary import/export in Moose

Tudor Girba
Hi Martin,

Thanks, that is what I thought. So, we should check this possible bug.

Cheers,
Doru


On 5 Jan 2011, at 15:16, Martin Dias wrote:

> On Wed, Jan 5, 2011 at 9:37 AM, Tudor Girba <[hidden email]> wrote:
>> Hmm, on the other hand, I have a question about the logic behind the Fame Fuel. I did not check the implementation too closely, but I would expect the Fame entities to be traversed in the same way as for the MSE export.
>
> Yes! I used the Fame meta-descriptions.
>
>>
>> However, there was a bug with FAMIXAccess that when the isWrite flag was nil, isRead would raise an error (it is fixed in the meantime). This appeared when I exported the model with MSE, but it did not appear when I used Fuel. This leads me to believe that export has a different logic.
>
> That should be a bug, because my goal was to imitate MSE logic. En
> fact I made two prototypes before this version that reused the
> Fame/MSE implementation classes, but the result was not so good, so
> finally I wrote the logic in other way.
>
>>
>> Am I correct? If yes, I would like to know what are the implications.
>
> Do I answered the question?
>
>>
>> Cheers,
>> Doru
>>
>>
>> On 5 Jan 2011, at 10:26, Mariano Martinez Peck wrote:
>>
>>>
>>>
>>> On Wed, Jan 5, 2011 at 12:51 AM, Tudor Girba <[hidden email]> wrote:
>>> This is what I got for the export:
>>>
>>> Fuel:  76481.
>>> MSE: 201837.
>>>
>>> Excellent!!
>>>
>>>
>>> There are several reports on the fuel page:
>>> http://rmod.lille.inria.fr/web/pier/software/Fuel
>>>
>>>
>>> yes, but I wanted to see yours ;)
>>>
>>> Cheers,
>>> Doru
>>>
>>>
>>> On 4 Jan 2011, at 18:23, Mariano Martinez Peck wrote:
>>>
>>>>
>>>>
>>>> On Tue, Jan 4, 2011 at 6:14 PM, Tudor Girba <[hidden email]> wrote:
>>>> Excellent job, Martin!
>>>>
>>>> I tested it briefly with ArgoUML (194936 objects), and I get really cool results:
>>>> - Fuel import: 12988 ms
>>>> - MSE import: 65543 ms
>>>>
>>>> Tudor, and the export ?
>>>>
>>>> thanks
>>>>
>>>> mariano
>>>>
>>>>
>>>> Also, the size of the file is 14.9 MB instead of 30 MB.
>>>>
>>>> This package will go in the default Moose configuration. Could you please add a ConfigurationOfFuel with a default configuration so that we can load it easily from the ConfigurationOfMoose?
>>>>
>>>> Cheers,
>>>> Doru
>>>>
>>>>
>>>> On 4 Jan 2011, at 14:53, Martin Dias wrote:
>>>>
>>>>> Hi
>>>>>
>>>>> I have been working in a object serialization framework last months,
>>>>> called Fuel. And in order to test it in a real case, I made a package
>>>>> that adds new import and export commands to Moose panel.
>>>>>
>>>>> Fuel and this Moose extension still need a lot of work on
>>>>> functionalities and performance optimizations.
>>>>>
>>>>> The idea was to imitate the export/import MSE capabilities, and at
>>>>> least in the basic cases I tried, it imitates well, but I have not too
>>>>> much experience with Moose, so it would be nice to have feedback of
>>>>> more experienced users, and to know if it could be useful or not.
>>>>>
>>>>> I have tried in Moose 4.1 release and Moose 4.3 build #77 from
>>>>> http://hudson.moosetechnology.org/job/moose-latest-dev/
>>>>>
>>>>>
>>>>> More information at the end of this website:
>>>>>
>>>>> http://rmod.lille.inria.fr/web/pier/software/Fuel
>>>>>
>>>>>
>>>>> To install:
>>>>>
>>>>> Gofer new
>>>>>       squeaksource: 'Fuel';
>>>>>       version: 'Fuel-MartinDias.78';
>>>>>       version: 'FuelFameExtension-MartinDias.21';
>>>>>       load.
>>>>>
>>>>>
>>>>> Cheers!
>>>>> Martin
>>>>> _______________________________________________
>>>>> Moose-dev mailing list
>>>>> [hidden email]
>>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>>
>>>> --
>>>> www.tudorgirba.com
>>>>
>>>> "Some battles are better lost than fought."
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>>>
>>> --
>>> www.tudorgirba.com
>>>
>>> "We are all great at making mistakes."
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> 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
>>
>> --
>> www.tudorgirba.com
>>
>> "Every thing has its own flow."
>>
>>
>>
>>
>>
>> _______________________________________________
>> 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

--
www.tudorgirba.com

"Every thing has its own flow."





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

Re: Binary import/export in Moose

simondenier
In reply to this post by Tudor Girba

On 5 janv. 2011, at 13:21, Tudor Girba wrote:

> As far as I understood, the export should go over Fame. Otherwise, why would it need anything specific to Fame? Or am I wrong?

Ah sorry, I missed the part which says that it's Fuel + some Moose/Fame extensions.

Still, I guess the idea makes sense in general. This would be the general equivalent of the Fame <derived> meta-property.


>
> Cheers,
> Doru
>
>
> On 5 Jan 2011, at 11:15, Simon Denier wrote:
>
>> Hi Martin
>>
>> The charts display many interesting features, and raise some questions :)
>>
>> Do you have an idea about the drops observed at the 100,000 entities x-point? And why the MSE file size grows so sharply after that?
>> Which Moose models did you use to test?
>>
>> Another topic: is it possible to 'shape' the instances when serializing them so that only the necessary data get exported. In other words, can we declare some fields as 'transient' so that Fuel does not need to traverse them. I'm thinking that all Moose entities have a cache: this cache does not need to be stored.
>>
>>
>> On 4 janv. 2011, at 14:53, Martin Dias wrote:
>>
>>> Hi
>>>
>>> I have been working in a object serialization framework last months,
>>> called Fuel. And in order to test it in a real case, I made a package
>>> that adds new import and export commands to Moose panel.
>>>
>>> Fuel and this Moose extension still need a lot of work on
>>> functionalities and performance optimizations.
>>>
>>> The idea was to imitate the export/import MSE capabilities, and at
>>> least in the basic cases I tried, it imitates well, but I have not too
>>> much experience with Moose, so it would be nice to have feedback of
>>> more experienced users, and to know if it could be useful or not.
>>>
>>> I have tried in Moose 4.1 release and Moose 4.3 build #77 from
>>> http://hudson.moosetechnology.org/job/moose-latest-dev/
>>>
>>>
>>> More information at the end of this website:
>>>
>>> http://rmod.lille.inria.fr/web/pier/software/Fuel
>>>
>>>
>>> To install:
>>>
>>> Gofer new
>>> squeaksource: 'Fuel';
>>> version: 'Fuel-MartinDias.78';
>>> version: 'FuelFameExtension-MartinDias.21';
>>> load.
>>>
>>>
>>> Cheers!
>>> Martin
>>> _______________________________________________
>>> Moose-dev mailing list
>>> [hidden email]
>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>> --
>> Simon Denier
>>
>>
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> --
> www.tudorgirba.com
>
> "Reasonable is what we are accustomed with."
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
Simon Denier




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

Re: Binary import/export in Moose

tinchodias
In reply to this post by simondenier
On Wed, Jan 5, 2011 at 10:15 AM, Simon Denier <[hidden email]> wrote:
> Hi Martin
>

Hi Simon

> The charts display many interesting features, and raise some questions :)
>
> Do you have an idea about the drops observed at the 100,000 entities x-point? And why the MSE file size grows so sharply after that?

Actually I don't know why has that shape the chart, I have not the
code here, but I remember I used for the X-axis the result of
MooseModel>>size.

> Which Moose models did you use to test?

Ah... I should include that information in the chart. In this moment I
can't open Moose (it's not my computer!), but are all generated using
MooseScripts. You can see in the Doc part of the FLFameBenchmarks
class.

>
> Another topic: is it possible to 'shape' the instances when serializing them so that only the necessary data get exported. In other words, can we declare some fields as 'transient' so that Fuel does not need to traverse them. I'm thinking that all Moose entities have a cache: this cache does not need to be stored.

In Fuel for now it's not implemented the transient declaration, but in
the extension for Moose I (tried to) use the Fame meta-description in
the same way that MSE does.

Thanks!

>
>
> On 4 janv. 2011, at 14:53, Martin Dias wrote:
>
>> Hi
>>
>> I have been working in a object serialization framework last months,
>> called Fuel. And in order to test it in a real case, I made a package
>> that adds new import and export commands to Moose panel.
>>
>> Fuel and this Moose extension still need a lot of work on
>> functionalities and performance optimizations.
>>
>> The idea was to imitate the export/import MSE capabilities, and at
>> least in the basic cases I tried, it imitates well, but I have not too
>> much experience with Moose, so it would be nice to have feedback of
>> more experienced users, and to know if it could be useful or not.
>>
>> I have tried in Moose 4.1 release and Moose 4.3 build #77 from
>> http://hudson.moosetechnology.org/job/moose-latest-dev/
>>
>>
>> More information at the end of this website:
>>
>> http://rmod.lille.inria.fr/web/pier/software/Fuel
>>
>>
>> To install:
>>
>> Gofer new
>>       squeaksource: 'Fuel';
>>       version: 'Fuel-MartinDias.78';
>>       version: 'FuelFameExtension-MartinDias.21';
>>       load.
>>
>>
>> Cheers!
>> Martin
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> --
> Simon Denier
>
>
>
>
> _______________________________________________
> 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
Reply | Threaded
Open this post in threaded view
|

Re: Binary import/export in Moose

simondenier

On 5 janv. 2011, at 15:24, Martin Dias wrote:

> On Wed, Jan 5, 2011 at 10:15 AM, Simon Denier <[hidden email]> wrote:
>> Hi Martin
>>
>
> Hi Simon
>
>> The charts display many interesting features, and raise some questions :)
>>
>> Do you have an idea about the drops observed at the 100,000 entities x-point? And why the MSE file size grows so sharply after that?
>
> Actually I don't know why has that shape the chart, I have not the
> code here, but I remember I used for the X-axis the result of
> MooseModel>>size.
>
>> Which Moose models did you use to test?
>
> Ah... I should include that information in the chart. In this moment I
> can't open Moose (it's not my computer!), but are all generated using
> MooseScripts. You can see in the Doc part of the FLFameBenchmarks
> class.


OK I see. Which tool do you use to draw the charts? Maybe it would be better to show each point/model individually. I am not sure we can actually draw a linear interpolation between the points given the set of models.

Also when running in the 4.3 image, I get lots of #sortBy: deprecation warning in the Transcript for MSE export, this should be fixed.


>
>>
>> Another topic: is it possible to 'shape' the instances when serializing them so that only the necessary data get exported. In other words, can we declare some fields as 'transient' so that Fuel does not need to traverse them. I'm thinking that all Moose entities have a cache: this cache does not need to be stored.
>
> In Fuel for now it's not implemented the transient declaration, but in
> the extension for Moose I (tried to) use the Fame meta-description in
> the same way that MSE does.
>
> Thanks!
>
>>
>>
>> On 4 janv. 2011, at 14:53, Martin Dias wrote:
>>
>>> Hi
>>>
>>> I have been working in a object serialization framework last months,
>>> called Fuel. And in order to test it in a real case, I made a package
>>> that adds new import and export commands to Moose panel.
>>>
>>> Fuel and this Moose extension still need a lot of work on
>>> functionalities and performance optimizations.
>>>
>>> The idea was to imitate the export/import MSE capabilities, and at
>>> least in the basic cases I tried, it imitates well, but I have not too
>>> much experience with Moose, so it would be nice to have feedback of
>>> more experienced users, and to know if it could be useful or not.
>>>
>>> I have tried in Moose 4.1 release and Moose 4.3 build #77 from
>>> http://hudson.moosetechnology.org/job/moose-latest-dev/
>>>
>>>
>>> More information at the end of this website:
>>>
>>> http://rmod.lille.inria.fr/web/pier/software/Fuel
>>>
>>>
>>> To install:
>>>
>>> Gofer new
>>>       squeaksource: 'Fuel';
>>>       version: 'Fuel-MartinDias.78';
>>>       version: 'FuelFameExtension-MartinDias.21';
>>>       load.
>>>
>>>
>>> Cheers!
>>> Martin
>>> _______________________________________________
>>> Moose-dev mailing list
>>> [hidden email]
>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>> --
>> Simon Denier
>>
>>
>>
>>
>> _______________________________________________
>> 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

--
Simon Denier




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

Re: Binary import/export in Moose

Mariano Martinez Peck
In reply to this post by simondenier


On Wed, Jan 5, 2011 at 11:15 AM, Simon Denier <[hidden email]> wrote:
Hi Martin

The charts display many interesting features, and raise some questions :)

Do you have an idea about the drops observed at the 100,000 entities x-point? And why the MSE file size grows so sharply after that?
Which Moose models did you use to test?

Another topic: is it possible to 'shape' the instances when serializing them so that only the necessary data get exported. In other words, can we declare some fields as 'transient' so that Fuel does not need to traverse them. I'm thinking that all Moose entities have a cache: this cache does not need to be stored.


I don't know if it is possible in Fuel, but others serializers outside Smalltalk does that. We can do it at class level or at instance level. I think Fuel can provide that classes implement a class side method  #isFuelSerializable

The we can implement:

Object >> isFuelSerializable
^ true

And override for those classes that are yet not supported by Fuel, suppose, Class. THen:

Class >> isFuelSerializable
^ false

Notice that this is not a programmer choice, but Fuel limitations/decisions. If you try to serialize an instance of any of those classes, you should rise NotSerializableError or something like that.

At the same time, we can provide a feature so users can provide what to serialize. Fuel can implement the default:

Object >> isFuelTransient
^ false

and for those particular classes that you DO NOT want to seriaize, you can implement this way:

MyClass >> isFuelTransient
^ true

That's at class level. Going to instance level is a little complicated since we don't have the kind of Java definition. But we can implement a class side message that answers the name of the instVa that should be transient. Example:

Object >> fuelTransientInstanceVariables
^ ()


MyOtherClas >> fuelTransientInstanceVariables
^ ( 'name' 'age')

blah....

or something like that. What I think it is important is being able to mark transient stuff and non-serializable stuff too.
 
Cheers

Mariano


On 4 janv. 2011, at 14:53, Martin Dias wrote:

> Hi
>
> I have been working in a object serialization framework last months,
> called Fuel. And in order to test it in a real case, I made a package
> that adds new import and export commands to Moose panel.
>
> Fuel and this Moose extension still need a lot of work on
> functionalities and performance optimizations.
>
> The idea was to imitate the export/import MSE capabilities, and at
> least in the basic cases I tried, it imitates well, but I have not too
> much experience with Moose, so it would be nice to have feedback of
> more experienced users, and to know if it could be useful or not.
>
> I have tried in Moose 4.1 release and Moose 4.3 build #77 from
> http://hudson.moosetechnology.org/job/moose-latest-dev/
>
>
> More information at the end of this website:
>
> http://rmod.lille.inria.fr/web/pier/software/Fuel
>
>
> To install:
>
> Gofer new
>       squeaksource: 'Fuel';
>       version: 'Fuel-MartinDias.78';
>       version: 'FuelFameExtension-MartinDias.21';
>       load.
>
>
> Cheers!
> Martin
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
Simon Denier




_______________________________________________
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