[gme-users] Metamodel composition ?

Vamshi Raghu vamshi.raghu at mail.mcgill.ca
Mon Apr 25 15:00:10 CDT 2005


Thanks Adi, Mat and Peter for the suggestions!
-Vamshi

Aditya Agrawal wrote:

>
> 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
>
>------------------------------------------------------------------------
>
>_______________________________________________
>gme-users mailing list
>gme-users at list.isis.vanderbilt.edu
>http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users
>  
>




More information about the gme-users mailing list