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

2 DEKADE

sejauh jalan ini
dua dekade telah terlampaui
ujung harapan yang pasti
untuk tempat kembali nanti
selalu coba didekati

tak hanya sendiri
kita berdua
dengan diawali mītsāqan ghalīzha
bersama membangun
jalan ke ujung harapan itu
agar kelak, kita, anak, cucu, dan para penerus
dikumpulkan bersama
di taman abadi-Nya

jalan panjang yang dilewati
masih belum berujung
masih akan bertemu tantangan
entah berapa dekade lagi
namun tak usah risau
tetaplah berpegang pada ikatan-Nya
tetaplah memohon
tetaplah memantaskan diri

...orang-orang itulah yang mendapat tempat kesudahan (yang baik),
(yaitu) surga 'Adn yang mereka masuk ke dalamnya bersama-sama dengan orang-orang yang saleh dari bapak-bapaknya, isteri-isterinya dan anak cucunya… [QS. Ar-Ra’d 13:22-23]


Jakarta, 9-8-18 ~ 9-8-98

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…

Review singkat TP-Link Powerline Adapter - TL-PA4010PKit

Beberapa waktu yang lalu saya membeli powerline adapter produksi TP-Link, TL-PA4010PKit.


TP-Link memiliki banyak produk untuk powerline adapter-nya. Saya memilih TL-PA4010P dengan pertimbangan kebutuhan saat ini, yaitu colokan listriknya masih dapat digunakan dan untuk IPTV box-nya UseeTV.

Powerline adapter adalah adapter untuk komunikasi data lewat jaringan listrik, dalam penggunaan rumah tangga biasa disebut HomePlug. Keuntungannya adalah kita tidak perlu tarik kabel, bolongin dinding atau plafon untuk mengulur kabel jaringan, cukup tancapkan ke colokan listrik maka jaringan komputer bisa dibuat.

Selain jenis yang pakai kabel di atas, ada juga yang dilengkapi dengan WiFi, bisa sebagai access point atau extender saja.

Walau di spesifikasi transmisi datanya bisa mencapai 500Mbps, tetapi spesifikasi port Ethernet-nya cuma 10/100Mbps. Jadi perangkat yang terhubung di port cuma bisa mentransmisikan data maksimum 100Mbps, tetapi aktualnya bisa jadi kurang dari itu.

Untuk kebutuhan saya se…