Hey Sara,
to get the EMOF associated with a Smalltalk class, just write
^Mushroom asMetaDescription
to get a Namespace with all classes, write
Namespace allClasses do: #asMetaDescription. ^Namespace asMetaDescription (the first line is necessary to make sure all classes are initialized and added to the namespace).
Today, I tried to do this with FAMIXModel. e.g, I called the class methods 'metamodelAttribute' 'in FAMIXClass and I got an EMOF entity whos 'owner' was nil!
Never call the metamodel* methods your self, these are callbacks for the Meta framework. For example to access the attribute name 'attribute' in FAMIXClass, just type
FAMIXClass asMetaDescription attributeNamed: 'attribute'
Moreover, in VisualLauncher class, you define the method mooseStrictFamixMetaModel. In this method, you do: 'package := (Meta.System reference metamodel elementNamed: 'FAMIX')' but it returns nil
That code smells, it should read
Meta.PackageLibrary packageNamed: 'FAMIX'
to ensure proper initialization. Hmm, I see there is yet another bug introduced by those $#&!* comments, I'll fix both Meta and Moose right now...
cheers, AA