Why do we have so many metamodel?

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

Why do we have so many metamodel?

Mathieu SUEN
Hi,

With Damien we are looking at the RefactoringEngine and after a while  
we are wondering how come we had so many metamodel.
Is there any reason to have RBClass RBMethod and so one.

We also have the same things for OmniBrowser: OBMethodNode  
OBClassNode ...
Is there any particular design reason?

        Mth




Reply | Threaded
Open this post in threaded view
|

Re: Why do we have so many metamodel?

Bergel, Alexandre
This is an interesting question.
The main reason I see for this is the fact that none of those meta-
model were by default in Squeak. Each of the author started to make  
its own, for the understandable will to be self-contain without  
relying on external libraries...

Alexandre


On 8 May 2007, at 11:17, Mathieu Suen wrote:

> Hi,
>
> With Damien we are looking at the RefactoringEngine and after a  
> while we are wondering how come we had so many metamodel.
> Is there any reason to have RBClass RBMethod and so one.
>
> We also have the same things for OmniBrowser: OBMethodNode  
> OBClassNode ...
> Is there any particular design reason?
>
> Mth
>
>
>
>

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.software-artist.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




Reply | Threaded
Open this post in threaded view
|

Re: Why do we have so many metamodel?

Colin Putney

On May 12, 2007, at 4:34 AM, Bergel, Alexandre wrote:

> The main reason I see for this is the fact that none of those meta-
> model were by default in Squeak. Each of the author started to make  
> its own, for the understandable will to be self-contain without  
> relying on external libraries...

>> With Damien we are looking at the RefactoringEngine and after a  
>> while we are wondering how come we had so many metamodel.
>> Is there any reason to have RBClass RBMethod and so one.
>>
>> We also have the same things for OmniBrowser: OBMethodNode  
>> OBClassNode ...
>> Is there any particular design reason?

No, the refactoring engine was around when I started working on  
OmniBrowser. It's simply that they *aren't* the same things. OBNodes  
form an object graph that can be traversed by the browser. They serve  
as a type of adaptor between the browser and the domain objects they  
wrap. OmniBrowser's metamodel is actually a graph of OBMetaNode  
instances. Its purpose is to describe the appearance and behavior of  
nodes in the browser.

I don't know enough about the guts of the RB to describe the role  
played by its metamodel, but I'd bet it's more oriented toward  
providing a good interface for the kind of transformations that the  
refactoring browser performs, rather than presentation.

Make sense?

Colin