[gme-users] RE: BON2 vs. UDM

Jonathan M. Sprinkle sprinkle at eecs.berkeley.edu
Tue Apr 13 11:46:54 CDT 2004


> I have my own problem with BON2 however. It is way too 
> complicated. As I said, I consider BONx as a thin layer (thin 
> means: on-demand object lookup AND straightforward object 
> model). I'm afraid BON2 missed the second criteria, and I 
> agree with you that it must be _learnt_ now. This was not 
> true for BON1. Once a student understood the concepts in GME, 
> BON1's object model was self evident. 

Here are some musings from someone who is struggling teaching BON2 to
up-and-coming GME experts:

I have to agree that BON2 has to be learned, and probably *re*learned, for
people who learned BON1.0 first. I think that BON2 is great as a
domain-specific interface (its ability to provide custom classes with
multiple inheritance and generate domain-specific classes for you by far
exceeds BON1.0) but where it lacks is in its ability to be used
out-of-the-box by a C++ programmer who understands the GME metamodel (and to
some degree, meta-metamodel) for which she is programming. 

 -- One good thing that made BON1.0 so easy was that you got those nice
popups in Visual Studio. I think that without a major overhaul, these will
be impossible to get in BON2. Is there an easy way to get this back that I
am missing?

 -- Another complication of BON2 is the use of the Impl as a necessary
interface through which to program (at least, as I see it). In order to get
the name of a GME Object, I have to use the ObjectImpl::getName( ) method. I
thought that I understood the use of Impl's to hide the behavior behind some
interface (thus protecting users from having to compile 3rd Party headers
used in Impl calculations), so the whole point was never having to interface
with the hidden implementation, since it would be prone to change. It seems,
however, that even in doing a traversal of objects, I have to use the
Impl's.

Any thoughts appreciated,
Jon



More information about the gme-users mailing list