During the initialization of a FMMetaMetaModel we are executing an "updateCache" method that does as follow at the level of the FMMetaModel:
updateCache
nameDict := (FM3Constant constants collect: [ :const | const name asString -> const ]) asDictionary.
typeDict := (FM3Constant constants collect: [ :const | const class -> const ]) asDictionary.
self elements do: [ :each | self updateCacheWith: each ].
This couple the FM3 specific meta model to the metaMetaModel.
During the initialization of a FMMetaMetaModel we are executing an "updateCache" method that does as follow at the level of the FMMetaModel: updateCache nameDict := (FM3Constant constants collect: [ :const | const name asString -> const ]) asDictionary. typeDict := (FM3Constant constants collect: [ :const | const class -> const ]) asDictionary. self elements do: [ :each | self updateCacheWith: each ].
This couple the FM3 specific meta model to the metaMetaModel.