12 Jun 2007

MDA - Part 4: Lapisan Pemodelan

OMG menggunakan arsitektur empat lapis (four-layered) dalam standard-standard yang dipakai di MDA. Lapisan ini mendefinisikan model-model untuk tingkat abstraksi yang berbeda, masing-masing lapisan dinamakan sebagai M0, M1, M2, dan M3.
Lapisan-lapisan tersebut memuat sebuah hirarki dari tingkatan-tingkatan model, masing-masing (kecuali yang paling atas) merupakan sebuah instans dari (instance of) tingkatan di atasnya. Tabel 1 adalah penjelasan masing-masing lapisan pemodelan beserta contohnya.
  1. Lapisan M0 (Apa yang dimodelkan)
    Lapisan M0 adalah lapisan dari data user (user data), atau merupakan instans aktual. Sebagai contoh, seorang mahasiswa dengan nama “Budi” dan beralamat di “Jalan Ganesha 10”, dan seorang mahasiswa bernama “Ahmad” dan beralamat di “Jalan Dago”, keduanya adalah instans.
  2. Lapisan M1 (Model)
    Lapisan M1 adalah model yang memuat M0. Sebagai contoh, mahasiswa dapat dimodelkan dalam UML sebagai kelas yang memiliki atribut nama dan alamat.
  3. Lapisan M2 (Metamodel)
    Lapisan M2 adalah metamodel, yaitu sebuah abstraksi dari model. Sebagai contoh, spesifikasi dari UML adalah sebuah metamodel.
  4. Lapisan M3 (Meta-metamodel)
    Lapisan M3 adalah meta-metamodel, yaitu sebuah spesifikasi dari bahasa pemodelan yang digunakan untuk mengekspresikan metamodel dalam M2. Dalam OMG, lapisan ini adalah selalu bahasa pemodelan MOF.

Tabel 1 Empat Lapisan Pemodelan OMG [1]
Lapisan
Deskripsi
Contoh
meta-metamodel (M3)
Infrastruktur untuk sebuah arsitektur pe-metamodel-an.
Mendefinisikan bahasa untuk mespesifikasikan sebuah metamodel.
MetaClass, MetaAttribute, MetaOperation
metamodel (M2)Sebuah instans dari sebuah meta-metamodel.
Mendefinisikan bahasa untuk menspesifikasikan sebuah model.
Class, Attribute, Operation,Component
model (M1)Sebuah instans dari sebuah metamodel.
Mendefinisikan sebuah bahasa untuk menggambarkan suatu domain informasi
Mahasiswa, Jurusan, hitungIPK
user data atau user object (M0)
Sebuah instans dari sebuah model.
Mendefinisikan sebuah domain informasi tertentu.
<Budi, Jl. Ganesha 10>, IF, 3.55
Gambar 6 memperlihatkan contoh lapisan pemodelan untuk UML dan bahasa pemrograman Java. Pada lapisan M0 terdapat user data dan objek dari bahasa java, keduanya adalah instansiasi dari lapisan M1. Pada lapisan M1, sebuah model UML dan sebuah kelas dalam bahasa Java adalah instansiasi dari lapisan M2. Lapisan M2 berisi metamodel dari UML dan bahasa Java, yaitu model yang menggambarkan atau menspesifikasikan UML dan bahasa Java. Dan pada lapisan teratas atau lapisan M3 terdapat MOF yang merupakan suatu infrastruktur untuk pembuatan metamodel yang menjadi standard dalam MDA. MOF dapat dikatakann sebagai metamodel dari metamodel (M2).
Lapisan Pemodelan untuk UML dan Java.Gambar 6 Lapisan Pemodelan untuk UML dan Java. [2]

Referensi:
  1. OMG Unified Modeling Language Specification Version 1.4, OMG, September 2001.
  2. Kurtev, Ivan and Berg, Klaas van den (2004), Unifying Approach for Model Transformations in the MOF Metamodeling Architecture, Software Engineering Group, University of Twente.


Tidak ada komentar:

Posting Komentar