Langsung ke konten utama

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.


Komentar

Postingan populer dari blog ini

USWAH HASANAH

...
.

لَّقَدْ كَانَ لَكُمْ فِى رَسُولِ ٱللَّهِ أُسْوَةٌ حَسَنَةٌۭ لِّمَن كَانَ يَرْجُوا۟ ٱللَّهَ وَٱلْيَوْمَ ٱلْءَاخِرَ وَذَكَرَ ٱللَّهَ كَثِيرًۭا


Sesungguhnya telah ada pada (diri) Rasulullah itu suri teladan yang baik bagimu (yaitu) bagi orang yang mengharap (rahmat) Allah dan (kedatangan) hari kiamat dan dia banyak menyebut Allah.(QS. Al-Ahzab [33]:21)


Ya Allah jadikan kami umat Rasul-Mu Muhammad SAW yang senantiasa meneladani beliau. Meneladani jalan kehidupan, jalan dakwah, dan jalan perjuangan Rasulullah SAW.
Dan jadikan apa-apa yang hamba dan keluarga hamba tinggalkan hanyalah kebaikan dan menjadi uswah kebaikan bagi yang akan datang.
..

Oracle Package untuk fungsi ‘terbilang’ (repost)

Contoh penggunaan:
SELECT PKG_DIGIT_SPELLER.ENGRupiah('12345') FROM DUALSELECT PKG_DIGIT_SPELLER.ENGRupiah('12345.56') FROM DUAL Hasil:
TWELVE THOUSAND THREE HUNDRED AND FOURTY-FIVE RUPIAHSTWELVE THOUSAND THREE HUNDRED AND FOURTY-FIVE RUPIAHS FIFTY-SIXCREATE OR REPLACE PACKAGE PKG_DIGIT_SPELLER IS /******************************************************************************* Nama Package : PKG_DIGIT_SPELLER Oleh : Ibrahim F Burhan (ibrahim@burhan.biz) Deskripsi : Menghasilkan ucapan bilangan dalam bahasa Indonesia dan Inggris Hak Cipta Oleh Ibrahim F Burhan (ibrahim@burhan.biz) 2000 Siapa saja diperkenankan untuk memakai, mengubah ataupun mengembangkan source code ini, dengan syarat tetap mencantumkan keterangan ini. Reposted from my archive (Mar 16, 2001) *******************************************************************************/ TYPE typeSpellString IS VARRAY(100) OF VARCHAR2(20); arrSpellString typeSpellStrin…

i-Zakat Privacy Policy

Privacy Policy built the i-Zakat app as a Free app. This SERVICE is provided by at no cost and is intended for use as is. This page is used to inform visitors regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use my Service. If you choose to use my Service, then you agree to the collection and use of information in relation to this policy. The Personal Information that I collect is used for providing and improving the Service. I will not use or share your information with anyone except as described in this Privacy Policy. The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible at i-Zakat unless otherwise defined in this Privacy Policy. Information Collection and Use For a better experience, while using our Service, I may require you to provide us with certain personally identifiable information. The information that I request will be retained on your device and is not col…