OOAD - Pemodelan Dinamis

Model dinamis mewakili aspek-aspek yang bergantung pada waktu dari suatu sistem. Ini berkaitan dengan perubahan temporal dalam keadaan objek dalam suatu sistem. Konsep utamanya adalah -

  • State, yaitu keadaan pada suatu kondisi tertentu selama masa hidup suatu benda.

  • Transisi, perubahan keadaan

  • Peristiwa, peristiwa yang memicu transisi

  • Tindakan, komputasi tak terputus dan atom yang terjadi karena beberapa peristiwa, dan

  • Konkurensi transisi.

Mesin status memodelkan perilaku suatu objek saat melewati sejumlah status dalam masa pakainya karena beberapa peristiwa serta tindakan yang terjadi karena peristiwa tersebut. Mesin keadaan secara grafis diwakili melalui diagram transisi keadaan.

Transisi Serikat dan Negara

Negara

Status adalah abstraksi yang diberikan oleh nilai atribut yang dimiliki objek pada periode waktu tertentu. Ini adalah situasi yang terjadi untuk periode waktu terbatas dalam masa hidup suatu objek, di mana ia memenuhi kondisi tertentu, melakukan aktivitas tertentu, atau menunggu peristiwa tertentu terjadi. Dalam diagram transisi keadaan, suatu keadaan diwakili oleh persegi panjang bulat.

Bagian dari suatu negara bagian

  • Name- Sebuah string membedakan satu keadaan dari yang lain. Sebuah negara bagian mungkin tidak punya nama.

  • Entry/Exit Actions - Ini menunjukkan kegiatan yang dilakukan saat masuk dan keluar negara.

  • Internal Transitions - Perubahan dalam keadaan yang tidak menyebabkan perubahan keadaan.

  • Sub–states - Serikat di dalam negara bagian.

Status Awal dan Akhir

Keadaan awal default suatu objek disebut keadaan awalnya. Status terakhir menunjukkan penyelesaian eksekusi mesin negara. Status awal dan akhir adalah status semu, dan mungkin tidak memiliki bagian dari status reguler kecuali nama. Dalam diagram transisi keadaan, keadaan awal diwakili oleh lingkaran hitam yang terisi. Keadaan akhir diwakili oleh lingkaran hitam terisi yang dilingkari dalam lingkaran hitam tak terisi lainnya.

Transisi

Transisi menunjukkan perubahan status suatu objek. Jika suatu objek berada dalam keadaan tertentu ketika suatu peristiwa terjadi, objek tersebut dapat melakukan aktivitas tertentu dengan tunduk pada kondisi tertentu dan mengubah keadaan. Dalam kasus ini, transisi keadaan dikatakan telah terjadi. Transisi memberikan hubungan antara keadaan pertama dan keadaan baru. Transisi secara grafis diwakili oleh busur diarahkan padat dari negara sumber ke negara tujuan.

Lima bagian transisi adalah -

  • Source State - Keadaan yang dipengaruhi oleh transisi.

  • Event Trigger - Terjadinya dimana suatu objek dalam status sumber mengalami transisi jika kondisi jaga terpenuhi.

  • Guard Condition - Ekspresi Boolean yang jika True, menyebabkan transisi saat menerima pemicu peristiwa.

  • Action - Sebuah komputasi tak terputus dan atom yang terjadi pada objek sumber karena beberapa peristiwa.

  • Target State - Negara tujuan setelah transisi selesai.

Example

Misalkan seseorang naik taksi dari tempat X ke tempat Y. Keadaan orang tersebut mungkin adalah: Menunggu (menunggu taksi), Naik (dia telah mendapatkan taksi dan sedang bepergian di dalamnya), dan Mencapai (dia telah mencapai tujuan). Gambar berikut menggambarkan transisi negara.

Acara

Peristiwa adalah beberapa kejadian yang dapat memicu transisi status suatu objek atau sekelompok objek. Peristiwa memiliki lokasi dalam ruang dan waktu tetapi tidak memiliki jangka waktu yang terkait dengannya. Peristiwa umumnya dikaitkan dengan beberapa tindakan.

Contoh kejadian adalah klik mouse, penekanan tombol, interupsi, stack overflow, dll.

Peristiwa yang memicu transisi ditulis di samping busur transisi dalam diagram keadaan.

Example

Mempertimbangkan contoh yang ditunjukkan pada gambar di atas, transisi dari status Menunggu ke status Naik terjadi saat orang tersebut naik taksi. Demikian juga, keadaan akhir tercapai, ketika dia mencapai tujuan. Kedua kejadian ini dapat disebut sebagai peristiwa Get_Taxi dan Reach_Destination. Gambar berikut menunjukkan kejadian di mesin negara.

Peristiwa Eksternal dan Internal

Peristiwa eksternal adalah peristiwa yang diteruskan dari pengguna sistem ke objek di dalam sistem. Misalnya, klik mouse atau tombol − tekan oleh pengguna adalah peristiwa eksternal.

Peristiwa internal adalah peristiwa yang berpindah dari satu objek ke objek lain dalam suatu sistem. Misalnya, stack overflow, kesalahan pembagian, dll.

Acara yang Ditunda

Peristiwa yang ditangguhkan adalah peristiwa yang tidak segera ditangani oleh objek dalam status saat ini tetapi berbaris dalam antrean sehingga bisa ditangani oleh objek di beberapa status lain di lain waktu.

Kelas Acara

Kelas acara menunjukkan sekelompok acara dengan struktur dan perilaku yang sama. Seperti kelas objek, kelas acara juga dapat diatur dalam struktur hierarki. Kelas acara mungkin memiliki atribut yang terkait dengannya, waktu menjadi atribut implisit. Misalnya, kita dapat mempertimbangkan peristiwa pemberangkatan penerbangan suatu maskapai penerbangan, yang dapat kita kelompokkan ke dalam kelas berikut -

Flight_Departs (Flight_No, From_City, To_City, Route)

Tindakan

Aktivitas

Aktivitas adalah operasi atas status suatu objek yang membutuhkan beberapa periode waktu. Mereka adalah eksekusi yang sedang berlangsung dalam sistem yang dapat diinterupsi. Aktivitas ditampilkan dalam diagram aktivitas yang menggambarkan aliran dari satu aktivitas ke aktivitas lainnya.

Tindakan

Tindakan adalah operasi atom yang dijalankan sebagai hasil dari peristiwa tertentu. Secara atomik, ini berarti bahwa tindakan tidak dapat disela, yaitu, jika tindakan mulai dijalankan, tindakan tersebut akan selesai tanpa terganggu oleh peristiwa apa pun. Suatu tindakan dapat beroperasi pada suatu objek di mana suatu peristiwa telah dipicu atau pada objek lain yang terlihat oleh objek ini. Serangkaian tindakan terdiri dari suatu aktivitas.

Tindakan Masuk dan Keluar

Tindakan entri adalah tindakan yang dijalankan saat memasuki suatu keadaan, terlepas dari transisi yang mengarah ke situ.

Demikian juga, tindakan yang dijalankan saat keluar dari suatu keadaan, terlepas dari transisi yang dipimpinnya, disebut tindakan keluar.

Skenario

Skenario adalah deskripsi dari urutan tindakan tertentu. Ini menggambarkan perilaku objek yang menjalani serangkaian tindakan tertentu. Skenario primer menggambarkan urutan esensial dan skenario sekunder menggambarkan urutan alternatif.

Diagram untuk Pemodelan Dinamis

Ada dua diagram utama yang digunakan untuk pemodelan dinamis -

Diagram Interaksi

Diagram interaksi menggambarkan perilaku dinamis di antara objek yang berbeda. Ini terdiri dari sekumpulan objek, hubungannya, dan pesan yang dikirim dan diterima objek. Dengan demikian, model interaksi perilaku sekelompok objek yang saling terkait. Dua jenis diagram interaksi adalah -

  • Sequence Diagram - Ini mewakili urutan temporal pesan secara tabel.

  • Collaboration Diagram - Ini mewakili organisasi struktural objek yang mengirim dan menerima pesan melalui simpul dan busur.

Diagram Transisi Status

Diagram transisi status atau mesin status menggambarkan perilaku dinamis dari satu objek. Ini menggambarkan urutan keadaan yang dilalui suatu objek dalam masa hidupnya, transisi keadaan, peristiwa dan kondisi yang menyebabkan transisi dan respons karena peristiwa tersebut.

Concurrency of Events

Dalam sistem, dua jenis konkurensi mungkin ada. Mereka adalah -

Konkurensi Sistem

Di sini, konkurensi dimodelkan di tingkat sistem. Sistem keseluruhan dimodelkan sebagai agregasi dari mesin status, di mana setiap mesin status dijalankan secara bersamaan dengan yang lain.

Konkurensi dalam Objek

Di sini, sebuah objek bisa mengeluarkan kejadian bersamaan. Sebuah objek mungkin memiliki status yang terdiri dari sub-status, dan peristiwa bersamaan dapat terjadi di masing-masing sub-status.

Konsep yang terkait dengan konkurensi dalam suatu objek adalah sebagai berikut -

Status Sederhana dan Komposit

Keadaan sederhana tidak memiliki sub-struktur. Keadaan yang memiliki keadaan lebih sederhana yang bersarang di dalamnya disebut keadaan komposit. Sebuah sub-negara bagian adalah negara bagian yang bertumpuk di dalam negara bagian lain. Ini umumnya digunakan untuk mengurangi kompleksitas mesin negara. Sub-negara bagian dapat disarangkan ke sejumlah level.

Status komposit mungkin memiliki sub-status berurutan atau sub-status bersamaan.

Sub-negara bagian berurutan

Dalam sub-status berurutan, kontrol eksekusi berpindah dari satu sub-negara ke sub-negara lain satu demi satu secara berurutan. Ada paling banyak satu status awal dan satu status akhir di mesin status ini.

Gambar berikut mengilustrasikan konsep sub-status berurutan.

Sub-negara bagian serentak

Dalam sub-negara bagian bersamaan, sub-negara bagian dijalankan secara paralel, atau dengan kata lain, setiap negara bagian secara bersamaan menjalankan mesin negara di dalamnya. Setiap mesin negara memiliki status awal dan akhir sendiri. Jika satu sub-status serentak mencapai keadaan akhirnya sebelum yang lain, kontrol menunggu di keadaan akhirnya. Saat semua mesin status bersarang mencapai status akhir mereka, sub-status bergabung kembali ke aliran tunggal.

Gambar berikut menunjukkan konsep sub-negara bagian bersamaan.