[gme-users] GME tutorial question: a paradigm for routers that have a fixed set of ports?

John K Black John_K_Black at raytheon.com
Wed Aug 16 14:41:12 CDT 2006

Hi Ace and Zoltan,

Thank you both for your thoughtful responses.

As Ace mentioned in his response, I am interested in
creating a domain specific modeling language that lets
users model *with* routers -- not a DSML for or
*creating* routers themselves.

I have tried using MetaGME to model specific routers,
but so far my attempts to do have been only partially
successful.  For example, I can create a "Yoyodyne 9000"
router that shows up in the GME Parts Browser.  When it
is dragged onto a diagram you can double-click it and the
Parts Browser shows exactly the fixed set of ports that
are associated with the Yoyodyne 9000.  Unfortunately,
this approach still requires that the model drag the ports
from the Parts Browser into the router.  That's not how
I'd like my DSML to behave.  I don't know if this is a GME
limitation, or if it's just because I have a messed
up metamodel.

I've experimented with Zoltan's ideas, and they work fine.
However, the copy/pasting approach is a little awkward.
The idea of having a separate UI that can manipulate
the model by automating the cut and paste or by letting
users pick pre-configured model elements from a palette
is interesting.  Could GME's scripting capabilities would
be of any use in automating the insertion of preconfigured
model elements?

In the end, I'm looking for a way to cleanly separate the
various levels of abstraction, so modelers only see the
abstractions(s) they need to see.  At the lowest level
there is MetaGME. Layered on top of it would be a DSML for
constructing routers.  Layered on top of that is a DSML
for modeling *with* routers. (I've left out other details
like connections, etc., but I hope the idea is clear.)

Of course if I build a separate UI as Zoltan suggested,
and tell the modelers to use my UI and not to use the
GME Parts Browser, then I suppose I could sort of achieve
the effect that I'm looking for.

BTW, I'm not *really* interested in modeling routers,
especially the "Yoyodyne 9000" ;^) I'm just sticking with an
example that lots of GME users are probably familiar with.


-----"Ace Thompson" <acethompson at igniteweb.net> wrote: -----

>To: "'John K Black'" <John_K_Black at raytheon.com>
>From: "Ace Thompson" <acethompson at igniteweb.net>
>Date: 08/15/2006 06:40PM
>Subject: RE: [gme-users] GME tutorial question: a paradigm for
>routers that have a fixed setof ports?
>Mr. Black,
>After I sent my response, I realized that the suggestion for using
>library feature to model your "built-in" constructs really bumps
>into your last comments in your email: that you'd like a language
>modeling _with_ routers, not for creating the routers themselves.
>Clearly using the library approach would pull you into building a
>both for modeling routers and for modeling with routers, at least to
>extent. Of course, the other approach involves using meta-GME to
>routers, which might be a worse alternative depending on how much
>will be involved; depending on your needs it may be easier simply to
>a corner of your language that just won't be used too often by the
>(i.e. the "model routers" part). I have done this in a number of
>in order to allow myself a degree of flexibility rather than
>something into the language. Of course the benefit depends on how
>"hard-coded" something is (or not), and also on how your other tools
>work with the user models...
>At any rate, good luck (again),
>-----Original Message-----
>From: gme-users-bounces at list.isis.vanderbilt.edu
>[mailto:gme-users-bounces at list.isis.vanderbilt.edu] On Behalf Of John
>Sent: Tuesday, August 15, 2006 2:24 PM
>To: gme-users at list.isis.vanderbilt.edu
>Subject: [gme-users] GME tutorial question: a paradigm for routers
>that have
>a fixed setof ports?
>I've been working through the long GME tutorials, and have
>a question about the way "Routers" are modeled.
>Suppose I want to provide the modeler with a paradigm
>that includes router models that are *preconfigured* with
>a standard set of ports, so that when the router is dragged
>from the parts browser it is not necessary to manually add
>the ports.  In other words, suppose all of my routers always
>have exactly ports "e0", "e1", and "s0", and I don't want
>the modeler to have model that, nor do I want the modeler
>constructing his or her own router.  The modeler should
>simply drag the router from the parts browser and connect
>it up.
>Sort of like grabbing an IC from a parts bin.
>Is there a way to accomplish this with GME?
>For those familiar with CoSMIC and PICML, I've looked at how
>idl2picml imports IDL3 constructs and partially builds a PICML
>model.  The modeler can then select components from the model
>browser to build CCM applications.  The modeler can also work
>with PICML constructs from the parts browser to build new
>components.  So, with PICML and idl2picml you can both model
>components and model with components.
>That's not really what I want to do.  I would like to build a
>paradigm that is good for modeling with routers, but not for
>creating models of routers.
>John Black
>gme-users mailing list
>gme-users at list.isis.vanderbilt.edu

More information about the gme-users mailing list