MOF definiuje cele obu pakietów jako: „Podstawowym celem pakietu EMOF jest możliwość budowania prostych metamodeli przy użyciu prostych koncepcji oraz wspieranie rozszerzeń (poprzez mechanizm rozszerzenia klas) dla bardziej skomplikowanych metamodeli przy użyciu CMOF”.
MOF składa się z architektury 4-warstowej, zapewnia warstwę metamodelu oraz górną warstwę zwaną warstwą M3 i poza tą warstwą opisuje zasady tworzenia i manipulowania modelami i metamodelami przez zdefiniowanie interfejsu COBRA (Common Object Requesting Broker Architecture) do opisu tych operacji.
Chcemy opisać nasz system za pomocą języka MOF:
1. Powinniśmy zapewnić podstawowy zakres UML'a który zapewni bogaty „język” do opisu takich typów systemów jak:
2. Powinniśmy opisać klasy oraz asocjacje: