[gme-users] BONExtender related problem

Zoltan Molnar zoltan.molnar at vanderbilt.edu
Thu Jun 17 10:39:23 CDT 2004


Hi,
I would question first the metamodeling: if you are connecting the
attributes to the derived model as well, why do you use interface
inheritance? The regular inheritance or implementation inheritance would do
this.
 
If you definitely want to keep unchanged this metamodel, then i suggest a
human intervention (removing the getters in the private part).
 
 
Regarding the implementation inheritance the current version of BonExtender
lacks a feature: producing compilable code. Since this kind of inheritance
is mapped to private inheritance
like "class DerivedImpl : private BaseImpl"  this derivation makes the
upcast to ObjectImpl impossible (in general each class declared with the
DECLARE... macros has to be castable to ObjectImpl).
 
The next version of BonExtender will solve this by 
"class DerivedImpl: 
      private BaseImpl
    , virtual public BON::Model" 
 
So in such cases each implementation inherited class will be derived
publicly from its BON::<kind> class.
 
Regards, Zoli
 
 
 -----Original Message-----
From: gme-users-bounces at list.isis.vanderbilt.edu
[mailto:gme-users-bounces at list.isis.vanderbilt.edu] On Behalf Of Sujata
Mujumdar
Sent: Wednesday, June 16, 2004 9:45 PM
To: gme-users
Subject: [gme-users] BONExtender related problem



Dear all,

I have a doubt regarding the BonExtender Interpreter wrt to its treatment of
the "Interface Inheritance" and "Implementation Inheritance". After running
the interpreter on the trial meta (attached to this mail) the
*BonExtension.cpp & *BonExtension.h files that are generated , when
compiled, gave errors. 

Precisely, if both the classes (Base and Derived) share the same attributes,
then in the case of the Derived class, a class is generated with the name
'DerivedImpl'. This class has multiple definitions for the "get" method of
the common attribute (common attribute to both Derived and Base classes) :
one is a public definition while the other is a private definition, leading
to compilation errors.

Note that this doesn't occur in case when using the generic inheritance. Any
inputs to what I can do to resolve this?

Thanks and Regards,

--Sujata

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.isis.vanderbilt.edu/pipermail/gme-users/attachments/20040617/45c27322/attachment.htm


More information about the gme-users mailing list