The construction and implementation of metamodels | Synapse