[gme-users] Metamodel composition ?

Aditya Agrawal aagrawa at us.ibm.com
Mon Apr 25 12:10:15 CDT 2005


Vamshi wrote on 04/24/2005 01:34:50 PM:

> I'll try to make the example clearer:
> 1)
> Lets say I've defined a language with delay, gain, adder and patch-cord 
> components (L1), using MetaGME (MG). This gives me a simple language for 

> describing digital filters. It also gives me a nice visual environment 
> (V1) to do this. Now I give my environment to a signal processing expert 

> and ask him to describe a language that contains predefined filters like 

> feedforward comb filters (FFCFs), feedback comb filters (FBCFs), allpass 

> filters (APs), etc using this environment. The description of this new 
> language L2 is much more concise and clear in L1, than in MG. So one 
> motivation is readability/maintainability.
> 2)
> Now lets assume the expert was able to define L2 and it's corresponding 
> environment V2 using L1-V1. This would give me L2-V2 which has FFCFs and 

> FBCFs, whose parameters are defined visually in V1. (So people familiar 
> with the notation from a typical electrical engineering textbook could 
> use V1 with little training to create the new language+environment of 
> L2-V2). Further, I could define, similar to GReAT, *patterns*/sequences 
> of filters/filter-networks, using the V1 notation. Describing these 
> patterns in the MG notation (class diagrams), might be difficult or 
> impossible for the domain expert, but maybe possible with little effort 
> using V1 + a pattern language.
> So the other motivation is reuse. Can the "domain-specific visual 
> modeling" idea be extended to "domain-specific visual metamodeling" ?
> 
> I hope that was a better description.
> One solution I can think of is to write an *interpreter* for L1 which 
> generates and registers the paradigm L2 and the corresponding 
> metaconfiguration file for V2. Perhaps I should take a look at the 
> GME-GUI code to see how this is done? Or maybe I can do this with GReAT?

Now I understand the motivation better. As Mat suggested you can use the 
type/subtype/instance feature of GME. This will give a dynamic type system 
where say signal processing experts can create more complex type based on 
the simple types defined in the meta. Users can use these concepts by 
attaching the complex types as libraries.

The other alternative as you mentioned is to write an interpreter that 
could convert an instance of P1 to produce a new metamodel P2. Here you 
have to be careful because you will be using P1 in two roles, (1) as a 
metamodeling environment and (2) as a modeling environment. You can 
however, define clear semantics for both and then write the interpreter.

Since the MetaGME paradigm is the same as any other modeling paradigm in 
GME, you can use any of the model access API's to write such an 
interpreter. GReAT would actually be quite useful for this task as these 
are the kind of scenarios it has been designed for.

Thanks,
Adi

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.isis.vanderbilt.edu/pipermail/gme-users/attachments/20050425/568981cc/attachment.htm


More information about the gme-users mailing list