Anda di halaman 1dari 16

Diterjemahkan dari bahasa Inggris ke bahasa Indonesia - www.onlinedoctranslator.

com

Bab 6

Fasilitas Pengujian dan Debugging


Model

Ingat bahwa Arena adalah alat pemodelan berorientasi objek dengan antarmuka pengguna
grafis (GUI), di mana pemodel dan mesin berinteraksi. Lebih khusus lagi, tindakan pemodel (latar
depan) melalui GUI meminta Arena untuk merespons dengan tindakan (latar belakang). Untuk
semua tujuan praktis, setiap interaksi adalah sepasang tindakan latar depan/latar belakang, yang
dapat dianggap terjadi secara berurutan dalam arti bahwa pasangan sebelumnya harus
diselesaikan sebelum pasangan berikutnya mulai memproses.
Alat pemodelan dan simulasi harus menyediakan fasilitas yang memadai untuk pengujian
model dan debugging untuk membantu pemodel memastikan bahwa model simulasi yang sedang
dibangun bebas dari kesalahan sintaksis dan logis. Kegiatan pemodelan tersebut dapat dilihat
sebagai bagian dari verifikasi model (lihat Langkah 4 dari Bagian 1.5), yaitu, memeriksa bahwa
kode simulasi benar mewakili model konseptual. Ingatlah bahwa hanya setelah model diverifikasi,
pemodel melanjutkan dengan validasi model (lihat Langkah 5 dari Bagian 1.5), yaitu, memeriksa
bahwa model konseptual (sekarang diwakili dengan benar oleh kode simulasi) secara memadai
menangkap kenyataan.
Arena menyediakan serangkaian fasilitas yang kaya untuk mendukung pengujian model
dan debugging sepanjang siklus hidup model simulasi. Fasilitas ini memungkinkan
pengguna untuk mengakses objek Arena, kode, dan data yang mendasari gambar model di
layar (lihat Gambar 5.1), seperti parameter model dan kode SIMAN (blok). Lebih lanjut
memungkinkan pemodel untuk memeriksa model berjalan, baik dalam mode animasi visual
atau dalam mode perintah tekstual. Bab ini mengulas fasilitas pengujian dan debugging
Arena yang didukung olehJalankan Interaksi bilah alat. Untuk informasi lebih lanjut, lihat
Kelton et al. (2004), Rockwell Software (2005), dan menu bantuan Arena, dibahas dalam
Bagian 6.6.

6.1 FASILITAS UNTUK KONSTRUKSI MODEL

Interaksi pemodel/mesin yang paling mendasar di Arena adalah konstruksi model.


Pemodel membuat model di latar depan dengan menyeret dan menjatuhkan objek modul
dari panel template diProyek bar ke kanvas jendela model, dan Arena bereaksi
Pemodelan dan Analisis Simulasi dengan Arena
Hak Cipta 2007 oleh Academic Press, Inc. Semua hak reproduksi dalam bentuk apa pun dilindungi undang-undang. 107
108 Fasilitas Pengujian dan Debugging Model

Gambar 6.1 Model Arena sederhana dari antrian server tunggal (file tes1.doe).

di latar belakang dengan membuat kode SIMAN terkait. Model disimpan dalam file dengan
ekstensi .kelinci betina. Kode SIMAN yang dihasilkan secara otomatis ditempatkan dalam dua file,
keduanya dapat diakses melalui opsi SIMAN dari pull-down Lari Tidak bisa:

- File model (dengan ekstensi .mod extension) berisi logika model dalam bentuk blok
SIMAN. Perlu upaya untuk mengenal kode SIMAN, karena pengetahuan ini dapat
mempercepat debugging model secara signifikan. Arena yang luasMembantumenu
lebih lanjut memfasilitasi tugas ini.
- File eksperimen (dengan ekstensi .exp extension) daftar semua elemen model, termasuk
informasi proyek, sumber daya, antrian, keluaran statistik, dan banyak lainnya. Penting
untuk memeriksa file ini dan memeriksa ulang komponen model, terutama selama proses
konstruksi model.

Sebagai contoh, perhatikan model sederhana Gambar 6.1 yang menggambarkan model Arena
yang disebut tes1, yang sesuai ditempatkan oleh Arena dalam file tes1.doe.
Model tes1 terdiri dari urutan Buat, Rebut, Tunda, Lepaskan, dan Membuangmodul bersama-
sama, dan memiliki sumber daya yang disebut Sumber 1 dengan antrian yang disebut Rebut 1.
Antrian. Panel 6.1 di bawah ini menampilkan tes1.mod file modelnya tes1 dalam file tes1.doe.

; Pernyataan model untuk modul: Buat 1


;
5$ MEMBUAT, 1, HoursToBaseTime(0.0),
Entitas 1:HoursToBaseTime(EXPO(1)):NEXT(6$); 6$
MENETAPKAN: Buat 1.NumberOut¼Buat 1.NumberOut th 1: BERIKUTNYA(0$);

;
; Pernyataan model untuk modul: Rebut 1
;
0$ ANTRE, Rebut 1.Antrian;
MENANGKAP, 2,Lainnya:Sumber daya 1,1:BERIKUTNYA($10);
10$ MENUNDA: 0.0,,VA:NEXT(2$);
;
; Pernyataan model untuk modul: Penundaan 1
;
2$ MENUNDA: EXPO( 0.8 ),,Lainnya:NEXT(3$);
;
; Pernyataan model untuk modul: Rilis 1
;
3$ MELEPASKAN: Sumber daya 1,1:NEXT(4$);
;
Fasilitas Pengujian dan Debugging Model 109

; Pernyataan model untuk modul: Buang 1


;
4$ MENETAPKAN: Buang 1.NumberOut¼Buang 1.NumberOut th 1; Ya;
11$ MEMBUANG:

Panel 6.1 Isi file tes1.mod

Pemeriksaan Panel 6.1 mengungkapkan bahwa setiap baris dimulai dengan bilangan bulat
diikuti dengan tanda dolar. Ini adalah label yang ditetapkan Arena untuk blok, yang digunakan
untuk mengidentifikasi blok dalam kode SIMAN untuk transfer kontrol (“pergi ke”) oleh LANJUT
petunjuk. Penelusuran Panel 6.1 mengungkapkan urutan blok SIMAN berikut yang
mengimplementasikan pemetaan dari modul Arena ke blok SIMAN.

1. The Buat1 modul dipetakan menjadi dua blok SIMAN: MEMBUAT dan MENETAPKAN.NS
MEMBUAT model blok sumber acak entitas masuk dengan distribusi waktu antar
kedatangan eksponensial rata-rata 1. The MENETAPKAN blok menghitung jumlah
total entitas yang dibuat.
2. The Rebut1 modul dipetakan menjadi dua blok SIMAN: ANTRE dan MENANGKAP. NSANTRE
blok, disebut Rebut 1. Antrian, memegang entitas masuk yang bersaing untuk akses ke
MENANGKAP blok untuk satu unit sumber daya yang disebut Sumber 1 (entitas bersaing
dengan prioritas 2).
3. The Penundaan1modul dipetakan ke dalam SIMANMENUNDA blok yang memodelkan waktu layanan
terdistribusi secara eksponensial dengan rata-rata 0,8 unit waktu untuk entitas yang masuk.
4. The Rilis1 modul dipetakan ke dalam SIMAN MELEPASKAN blok yang melepaskan satu unit
Sumber 1 sumber daya yang sebelumnya disita oleh entitas yang masuk.
5 Buang1 modul dipetakan menjadi dua blok SIMAN: MENETAPKAN dan
MEMBUANG. NS MENETAPKAN blok melacak jumlah entitas keluar, sementara
MEMBUANG blok hanya membuang entitas yang masuk.

Perhatikan bahwa modul Arena dipetakan ke sejumlah variabel blok SIMAN. Misalnya,
Membuat modul dipetakan menjadi dua blok SIMAN, sedangkan Melepaskanmodul
dipetakan menjadi hanya satu. Perhatikan bahwa koneksi antar modul diwakili oleh kata
kunciLANJUT dan nomor dalam kurung diikuti dengan tanda $. Ingatlah bahwa angka-angka
ini berfungsi sebagai label blok. Faktanya, blok-blok dalam file .modfile secara implisit diberi
nomor mulai dari 1; angka 0 adalah singkatan dari“lingkungan”(NS “melengkapi” dari
sistem). Angka-angka ini tidak ditampilkan dalam file, tetapi berguna untuk mengakses blok
dariJalankan Pengontrol untuk tujuan debugging, seperti yang akan ditunjukkan nanti
dalam bab ini.
Selanjutnya, Panel 6.2 menampilkan tes1.exp file modelnya tes1 dari file tes1.doe.

PROYEK, "Menguji file mod/exp", "Insinyur Industri", ,,Tidak,


Ya,Ya,Ya,Tidak,Tidak,Tidak,Tidak,Tidak,Tidak;
VARIABEL: Buang 1.NumberOut,CLEAR(Statistics),CATEGORY ("Kecualikan"):

Buat 1.NumberOut,CLEAR(Statistics),CATEGORY ("Kecualikan");

ANTRIAN: Rebut 1.Antrian,FIFO,,AUTOSTATS(Ya,,);


FOTO-FOTO:
SUMBER DAYA: Sumber Daya 1, Kapasitas(1),,,BIAYA(0.0,0.0,0.0),KATEGORI (Sumber
Daya),,AUTOSTATS(Ya,,);
110 Fasilitas Pengujian dan Debugging Model

DSTAT: NR (Sumber Daya 1), Pemanfaatan Sumber Daya 1,"",


DATABASE(,"Persistent Waktu", "Ditentukan Pengguna", "Utilisasi Sumber
Daya 1");
MENGULANGI, 1,,,Ya,Ya,,,,24,Jam,Tidak,Tidak,,,Ya; Entitas 1,
ENTITAS:
Gambar.Laporan,0.0,0.0,0.0,0.0,0.0,0.0,AUTOSTATS (Ya,,);

Panel 6.2 Isi file tes1.exp.

Sebuah walk-through Panel 6.2 mengungkapkan urutan item berikut:

1. The PROYEK item memberikan identifikasi model.


2. The VARIABEL item mencantumkan setiap variabel model, bersama dengan nilai awalnya (default
adalah 0).
3. The ANTRIAN daftar item antrian model, bersama dengan disiplin antrian mereka (default
adalah FIFO) dan kapasitas (default adalah tak terhingga).
4. The FOTO-FOTO item daftar nama gambar entitas.
5 SUMBER DAYA item mencantumkan sumber daya model, bersama dengan kapasitas, jadwal, dan
informasi kegagalan/perbaikan.
6. The DSTATS statistik daftar item yang ditentukan dengan Persistent Waktu pilihan diJenis
kolom dari Statistik spreadsheet, beserta atributnya. NStes1.expfile juga akan
mencantumkan statistik yang ditentukan dengan Menghitung pilihan di Jenis kolom dari
Statistik spreadsheet di bawah a hitung-hitungan item untuk masing-masing rekannya di
. modmengajukan; di sini, daftar itu kosong, jadihitung-hitungan item dihilangkan. A
FREKUEN-CIES item juga akan dimasukkan untuk statistik yang ditentukan dengan
Frekuensipilihan di Jenis kolom dari Statistik spreadsheet, analog denganhitung-
hitungan barang.
7. The MENGULANGI item mencantumkan data dari Parameter Replikasi kotak dialog dari
Mempersiapkan pilihan di Lari Tidak bisa.
8. The ENTITAS item mencantumkan setiap nama entitas dan nama gambar yang sesuai.

Sekarang harus jelas bagi pembaca bahwa .mod berkas dan .exp file mencerminkan informasi
dalam .kelinci betina mengajukan. Selain itu, model simulasi harus sekompak mungkin untuk
meningkatkan efisiensi berjalannya: Karena setiap modul dipetakan ke dalam satu set blok SIMAN
(pernyataan), yang dikompilasi untuk membuat file yang dapat dieksekusi, model harus“
dibersihkan” dari setiap modul yang tidak perlu.

6.2 FASILITAS UNTUK PEMERIKSAAN MODEL

Arena dapat diinstruksikan untuk melakukan sejumlah pemeriksaan logika model untuk mendeteksi
kesalahan sintaksis dan kesalahan animasi. Sebagian besar kesalahan terdeteksi pada waktu kompilasi, dan
sisanya pada waktu proses. Namun, menangkap kesalahan pemodelan logis adalah tanggung jawab pemodel.
Pengecekan model dapat dimulai dengan tiga cara:

- Memilih Periksa Model pilihan dari Lari Tidak bisa


- Mengklik Memeriksa tombol pada Jalankan Interaksi toolbar (lihat Bagian 6.3.1)
- Mengklik Pergi tombol di Standar toolbar, yang memulai pemeriksaan model, dan jika berhasil, itu
memulai menjalankan model
Fasilitas Pengujian dan Debugging Model 111

Ketika Arena mendeteksi kesalahan yang jelas, muncul kotak dialog, berjudul Kesalahan/Peringatan,
dan menghasilkan pesan masalah, bersama dengan kemungkinan penyebabnya. Kotak dialog ini
menampilkan lima tombol sebagai berikut:

- NS Sebelumnya tombol muncul informasi kesalahan sebelumnya. NSLanjut


- tombol muncul informasi kesalahan berikutnya. NSMenemukan tombol
- menempatkan modul yang mengandung kesalahan.
- NS Sunting tombol memungkinkan pemodel untuk memperbaiki kesalahan dengan mengedit bidang
- modul. NSMenutup tombol menutup kotak dialog.

Pengguna kemudian berinteraksi dengan kotak dialog sampai semua kesalahan (dan biasanya peringatan)
dihapus.

6.3 FASILITAS UNTUK MODEL RUN CONTROL

Arena menyediakan fasilitas run-control yang rumit yang mendukung berbagai interaksi run-
time yang dirancang untuk memantau simulasi run dan mengontrol perkembangannya dari waktu
ke waktu. Lebih khusus lagi, pemodel dapat menginterupsi proses dan membuat penetapan ke
atribut dan variabel, atau mengatur agar proses berhenti kapan pun kondisi yang ditentukan
pengguna terpenuhi. Selanjutnya, pemodel dapat menghidupkan animasi visual dan melihat
model berkembang seiring waktu, sambil memantau nilai variabel dan pergerakan entitas dalam
model. Jelas, penggunaan fasilitas ini sangat penting dalam memverifikasi logika model dari
perilaku model.

6.3.1 RPBB MODES

Arena mendukung fungsionalitas seperti VCR untuk menjalankan replikasi dalam berbagai
mode. Fungsionalitas ini dapat diakses melalui opsi diLari menu atau tombol yang sesuai pada
Standar bilah alat. Tombol-tombol ini memiliki ikon mirip VCR yang sudah dikenal sebagai berikut:

- NS Pergi tombol memulai atau melanjutkan replikasi.


- NS Melangkah tombol langkah melalui acara replikasi oleh acara. Setiap kali diklik,
replikasi berjalan, memproses peristiwa yang paling dekat (lihat Bagian 2.1), dan
kemudian replikasi dijeda.
- NS Maju cepat tombol menangguhkan animasi model dan menjalankan replikasi
hingga selesai.
- NS Berhenti sebentar tombol menjeda replikasi. Pemodel dapat melanjutkan eksekusi
dengan mengklik salah satu tombol di atas.
- NS Mulai Ovetombol r menginisialisasi replikasi
- baru. NSAkhir tombol mengakhiri replikasi.

6.3.2 MOUSE-BASED RPBB CONTROL

Fungsionalitas run control berbasis mouse dapat diakses baik melalui Jalankan Kontrolpilihan
dari Lari menu, atau Jalankan Interaksi toolbar, ditunjukkan pada Gambar 6.2.
112 Fasilitas Pengujian dan Debugging Model

Gambar 6.2 Arena Jalankan Interaksi bilah alat.

Toolbar ini terdiri dari enam tombol dari kiri ke kanan sebagai berikut:

1. The Memeriksa tombol melakukan pemeriksaan model seperti yang dijelaskan dalam Bagian 6.2.
2. The Memerintah tombol membuka jendela perintah untuk interaksi tekstual dengan model.
Kontrol menjalankan baris perintah akan ditinjau di Bagian 6.3.3.
3. The Merusak tombol membuka kotak dialog yang memungkinkan pemodel memasukkan
empat jenis titik henti: Break on Time, Break on Condition, Break on Entity, Break on
Module, dan Istirahat pada Waktu Tanggal Kalender. Parameter break-point ditentukan
dalam bidang yang sesuai dari kotak dialog. Kapanpun lari“hits” break point, eksekusinya
dijeda, memungkinkan pemodel untuk memeriksa keadaan model. Untuk melanjutkan
eksekusi, pemodel mengklik salah satu tombol atau opsi menu seperti VCR, seperti yang
dijelaskan di Bagian 6.3.1.
4. The Jam tangan tombol membuka jendela yang memungkinkan pemodel untuk menambah,
menghapus, atau mengedit ekspresi untuk melihat nilai dinamisnya selama proses.
5 Istirahat di Modul tombol mengatur atau menghapus titik istirahat dalam modul kanvas yang
dipilih. Setiap kali entitas memasuki modul atau melanjutkan mengeksekusi logikanya, proses
dihentikan sementara.
6. The Konektor Animasi tombol menghidupkan dan mematikan animasi entitas melalui
konektor model.

Fungsionalitas dari Jalankan Interaksi toolbar juga dapat diakses dari LariTidak bisa.

6.3.3 KEYBOARD-BASED RPBB CONTROL

NS Memerintah tombol di Jalankan Interaksi toolbar sangat berguna untuk interaksi


berbasis keyboard. Itu juga dapat diakses dengan mengklikJalankan Kontrol pilihan di Lari
menu, lalu pilih Memerintah pilihan. Salah satu tindakan membukaMemerintahjendela di
bawah

Gambar 6.3 Arena Memerintah jendela.


Fasilitas Pengujian dan Debugging Model 113

Bagian atas dari Memerintah jendela menampilkan lima objek grafis dari kiri ke
kanan sebagai berikut:

1. The Blok Langkah tombol digunakan untuk memajukan simulasi satu langkah (peristiwa) pada satu waktu.

2. The Aktifkan Pelacakan Blok tombol sakelar menghidupkan dan mematikan pelacakan.
3. Objek berikutnya adalah menu pull-down yang memungkinkan pengguna untuk memilih perintah
debugging.
4. Tombol berikutnya menyisipkan perintah yang dipilih di bagian bawah panel teks
dari Memerintah jendela diawali dengan prompt yang terdiri dari waktu simulasi
saat ini diikuti oleh lebih besar dari (>) karakter.
5. Objek terakhir adalah anotasi teks yang menjelaskan perintah yang dipilih dan sintaksnya.

sekali Memerintah jendela dibuka, pemodel juga dapat mengetikkan perintah langsung
setelah prompt. Daftar perintah yang sering digunakan berikut ini:

1. PERGILAH memulai atau melanjutkan lari.

2. PERGI SAMPAI memulai proses dan menghentikannya pada waktu yang ditentukan. Contohnya,

PERGI SAMPAI 100

memulai lari dan menghentikannya tepat waktu SEKARANG ¼ 100.

3. AKHIR menghentikan proses dan menghasilkan laporan ringkasan.


4. BERHENTI melakukan hal yang sama tanpa menghasilkan laporan ringkasan.
5. MENETAPKAN memungkinkan pengguna untuk menetapkan nilai ke variabel atau
atribut entitas. Misalnya, simulasi dihentikan pada waktu 25.6. Kemudian, perintah
25.6> TETAPKAN Inventaris Target ¼ 250

memberikan nilai 250 ke variabel Inventaris Target pada saat ini.


6. MENUNJUKKAN menampilkan nilai ekspresi, variabel, dan atribut saat ini.
Misalnya, perintah
TAMPILKAN NQ(Q1) th NQ(Q2)

TAMPILKAN NQ(*)

menampilkan, masing-masing, jumlah dari jumlah entitas dalam antrian Q1 dan Q2, dan panjang
saat ini dari setiap antrian dalam model. Tanda bintang (*) adalah karakter wild card, dan
merupakan singkatan dari“semua.”
7. MELIHAT menampilkan berbagai model data. Misalnya, perintah
LIHAT SUMBER 21..30
LIHAT ENTITAS 5
LIHAT ANTRIAN Mac_q

menampilkan, masing-masing, kode SIMAN dari nomor blok 21 hingga 30 (ingat


bahwa blok SIMAN secara implisit diberi nomor dari 1 dan seterusnya), atribut entitas
5 (ingat bahwa semua entitas diberi nomor secara berurutan dari 1 pada waktu
pembuatan), dan antrian disebut Mac_q, beserta semua entitas dan atributnya.
8. MENGATUR perintah melakukan sejumlah fungsi penting dalam Jalankan Pengontrol,
yang meliputi berikut ini:
A. SETEL BREAK menetapkan break point di lokasi tertentu dalam model. Ketika suatu entitas
mencapai titik istirahat seperti itu, Arena menangguhkan lari dan memungkinkan pemodel
untuk“mencolek” ke dalam keadaan model. Proses dapat dilanjutkan ketika pemodel
mengetikkan perintah yang sesuai. Sebagai contoh,
114 Fasilitas Pengujian dan Debugging Model

SET BREAK 25

menetapkan break point di blok nomor 25.


B. ATUR JAM memungkinkan pemodel untuk memantau nilai variabel,
atribut, atau ekspresi (khususnya, apakah kondisi yang ditentukan
terpenuhi). Misalnya, perintah
SET JAM TANGAN NQ(Mac_q)
ATUR JAM NR(Mac) > 2

menangguhkan proses, masing-masing, setiap kali ukuran antrian Mac_q berubah, atau
kapan pun jumlah server yang sibuk di sumber daya Mac melebihi 2.
C. ATUR JEJAK mengaktifkan jejak SIMAN untuk memantau aliran entitas melalui blok,
dan penugasan yang dibuat di setiap blok dipantau. Sebagai contoh,
ATUR JEJAK *

menampilkan riwayat lengkap pergerakan entitas dan penetapan variabel


selama proses berjalan sejak perintah ini dikeluarkan hingga proses
dihentikan (lihat contoh di Panel 6.3).
9. MEMBATALKAN membatalkan Jalankan Pengontrol opsi yang membentuk argumen
perintah ini. Contohnya,
BATALKAN JAM TANGAN *

membatalkan semua JAM TANGAN permintaan yang dikeluarkan lebih awal. Dalam nada yang
sama, perintah

BATALKAN PELACAKAN *

BATALKAN BREAK 3

batalkan, masing-masing, semua permintaan pelacakan sebelumnya, dan titik istirahat ditetapkan pada blok 3.

6.4 CONTOH RUN TRACING

Bagian ini menggambarkan laporan jejak yang dihasilkan oleh Arena sebagai tanggapan
terhadap pemodelJEJAK perintah. Contoh menunjukkan bahwa pemodel dapat memperoleh dan
meninjau informasi yang sangat rinci pada setiap simulasi yang dijalankan. ResultannyaJEJAK
laporan daftar urutan temporal peristiwa internal Arena dan tindakan yang dilakukan oleh setiap
peristiwa pada saat terjadinya. Tindakan ini termasuk penugasan variabel dan atribut, merebut
dan melepaskan sumber daya, dan umumnya, pergerakan entitas Arena. Ingatlah bahwa Arena
selalu mencoba“pindah” entitas melalui blok sejauh yang mereka bisa sebelum “diblokir” dari
gerakan maju lebih jauh (misalnya, dengan a MENUNDAmemblokir). Faktanya, setelah setiap
peristiwa, Arena mencoba untuk mendorong entitas ke depan, sampai tidak ada yang dapat maju
dalam model, di mana jam simulasi maju ke waktu peristiwa yang paling dekat (ingat Bagian 2.1),
dan pemrosesannya memicu putaran entitas lainnya. gerakan.

6.4.1 EXAMPLE: OPENA-ENDED TBALAP

Panel 6.3 menampilkan sebagian dari jejak sejarah terbuka dari proses yang dihasilkan dengan
mengeluarkan perintah ATUR JEJAK * pada waktu 0.
Fasilitas Pengujian dan Debugging Model 115

Waktu: 0,0 Entitas: 2 1 5$


MEMBUAT

Jenis Entitas disetel ke Entitas 1


Pembuatan berikutnya dijadwalkan pada waktu 1.36794 Batch
dari 1 entitas Entitas 1 dibuat
2 6$ MENETAPKAN

Buat 1.NumberOut diatur ke 1.0


3 2$ ANTRE
Entitas 2 dikirim ke blok berikutnya
4 MENANGKAP

Tally Rebut 1.Queue.WaitingTime tercatat 0,0 Merebut 1 unit sumber


daya Sumber daya 1
5 10$ MENUNDA

Ditunda 0,0 hingga waktu 0,0


6 1$ MENUNDA

Ditunda oleh 0.433114 hingga waktu 0.433114


Waktu: 0.433114 Entitas: 2 7 4$
MELEPASKAN

Sumber daya 1 yang tersedia meningkat 1 menjadi 1


8 0$ MENETAPKAN

Buang 1.NumberOut diatur ke 1.0


9 11$ MEMBUANG

Pelepasan Entitas 2
Waktu: 1.36794 Entitas: 3 1 5$
MEMBUAT

Jenis Entitas disetel ke Entitas 1


Pembuatan berikutnya dijadwalkan pada waktu 1,84734 Batch
dari 1 entitas Entitas 1 dibuat
2 6$ MENETAPKAN

Buat 1.NumberOut diatur ke 2.0


3 2$ ANTRE
Entitas 3 dikirim ke blok berikutnya
4 MENANGKAP

Tally Resource 1.Queue.WaitingTime tercatat 0,0 Merebut 1 unit sumber


daya Resource 1
5 10$ MENUNDA

Ditunda 0,0 hingga waktu 1,36794


6 1$ MENUNDA

Ditunda oleh 1.36281 hingga waktu 2.73075

Panel 6.3 Jejak yang dihasilkan oleh perintah ATUR JEJAK *.

Pemeriksaan Panel 6.3 mengungkapkan bahwa setiap baris yang berisi blok SIMAN dimulai dengan bilangan
bulat. Bilangan bulat itu adalah nomor blok yang ditetapkan Arena yang digunakan dalamJEJAK laporan. Akhirnya,
tindakan yang terjadi di setiap blok SIMAN (pada entri entitas di sana) dicantumkan dalam format indentasi.
116 Fasilitas Pengujian dan Debugging Model

Panduan Panel 6.3 harus menjelaskan bagaimana Jalankan Pengontrol menampilkan


jejak temporal dari run history model. Mulai dari baris pertama, urutan peristiwa jejak
terungkap sebagai berikut:

- Pada waktu 0,0, Entitas 2 (dari jenis ENTITAS 1) dibuat di MEMBUAT blok (nama tipe ini ditetapkan
sebagai default oleh Arena, tetapi pemodel tentu saja dapat mengubahnya). entitas berikutnya (
Entitas 3) kedatangan dijadwalkan terjadi pada waktu 1.36794. Perhatikan bahwa entitas dibuat
secara tunggal (dalam kumpulan ukuran 1).
- Entitas 2 selanjutnya masuk MENETAPKAN memblokir dan memicu tugas

MEMBUAT1:NOMOR KELUAR ¼ 1

di mana BUAT 1.NUMBEROUT adalah variabel Arena yang melacak jumlah entitas
yang memasuki model di blok BUAT 1. Arena mengumpulkan statistik ini secara
otomatis untuk menghasilkan statistik entitas saat run berakhir.
- Entitas 2 kemudian dilanjutkan melalui ANTRIAN, TARIK, dan MENUNDA blok milik Menangkap
modul. Itu memasuki antrian yang disebutRebut 1. Antrian pada MENANGKAP blok, dan setelah
mencatat waktu tunggu di sana, ia segera mengambil sumber daya yang disebutSumber 1. (
Perhatikan bahwa jika Sumber 1 sedang sibuk, lalu Entitas 2 akan menunggu di Rebut 1. Antrian
sampai Sumber 1 menjadi bebas.) MENUNDA blok menyebabkan penundaan durasi 0. Berikutnya
- MENUNDA blok milik a Menunda modul dan mewakili berlalunya waktu pemrosesan entitas.
Entitas 2 tertunda untuk memproses durasi 0,433114 unit waktu. Perhatikan baik-baik bahwa jam
simulasi (variabel sistemSEKARANG) telah diatur ke 0,0 sampai ini MENUNDA memblokir. Untuk
mengetahui alasannya, perhatikan bahwa karenaSumber 1 sumber daya awalnya menganggur,
yang baru saja dibuat Entitas 2 berhasil “mendorong jalannya” melalui urutan blok sampai “
dihukum” di ini MENUNDA blok untuk diproses oleh Sumber 1.Selanjutnya, jam simulasi dimajukan
- ke SEKARANG ¼ 0.433114, dan Entitas 2 menyelesaikan pemrosesannya di Sumber 1 dan
melepaskan sumber daya ini. Ia kemudian memasuki sebuahMENETAPKAN blok di mana ia
menambah 1 variabel penghitung yang disebut Buang 1.NumberOut.Akhirnya, Entitas 2 memasuki
- MEMBUANG blok di mana ia dihapus dari model.
- Jam simulasi selanjutnya adalah SEKARANG ¼ 1.36794 pada titik mana entitas tiba
berikutnya (Entitas 3) dibuat di MEMBUAT memblokir dan memasuki model. Ia kemudian
memulai perjalanannya sendiri melalui model.

6.4.2 EXAMPLE: TBALAP STERPILIH BKUNCI

Panel 6.4 menampilkan sebagian dari jejak sejarah yang berkaitan dengan blok 1 sampai 4
saja. Jejak ini diproduksi dengan mengeluarkan perintahSET BLOK PELACAKAN 1.4 pada waktu 0.

0.0>setel blok jejak 1.4 0.0>lanjutkan


hingga 4
Waktu: 0,0 Entitas: 2 1 5$
MEMBUAT

Jenis Entitas disetel ke Entitas 1


Pembuatan berikutnya dijadwalkan pada waktu 1.36794 Batch
dari 1 entitas Entitas 1 dibuat
2 6$ MENETAPKAN

Buat 1.NumberOut diatur ke 1.0


Fasilitas Pengujian dan Debugging Model 117

3 1$ ANTRE
Entitas 2 dikirim ke blok berikutnya
4 MENANGKAP

Tally Rebut 1.Queue.WaitingTime tercatat 0,0 Merebut 1 unit sumber


daya Sumber daya 1
Waktu: 1.36794 Entitas: 3 1 5$
MEMBUAT

Jenis Entitas disetel ke Entitas 1


Pembuatan berikutnya dijadwalkan pada waktu 1,84734 Batch
dari 1 entitas Entitas 1 dibuat
2 6$ MENETAPKAN

Buat 1.NumberOut diatur ke 2.0


3 1$ ANTRE
Entitas 3 dikirim ke blok berikutnya
4 MENANGKAP

Tally Rebut 1.Queue.WaitingTime tercatat 0,0 Merebut 1 unit sumber


daya Sumber daya 1

Panel 6.4 Jejak yang dihasilkan oleh perintah SET BLOK PELACAKAN 1.4.

Pemeriksaan Panel 6.4 mengungkapkan bahwa itu dimulai dengan dua perintah yang dikeluarkan
pengguna (yang pertama mengatur jejak dan yang lainnya menentukan durasinya), dan waktu simulasi
ketika dikeluarkan. Pemeriksaan nomor blok di Panel 6.4 memverifikasi bahwa hanya blok 1, 2, 3, dan 4
yang muncul diJEJAK laporan; yaitu, bilangan bulat pertama di setiap baris berada dalam kisaran 1 hingga
4 (pola ini berlanjut dalam jejak yang diperluas). Jadi, untuk menghasilkan laporan ini, Arena hanya
mengekstrak informasi blok yang relevan untuk dimasukkan dalam laporan dan membuang semua
informasi lainnya. Jejak yang difilter seperti itu berguna dalam memfokuskan pada tindakan di blok yang
dipilih, terutama untuk tujuan debugging.

6.4.3 EXAMPLE: TBALAP STERPILIH ENITIES

Panel 6.5 menampilkan sebagian dari run history yang berkaitan dengan Kesatuan 2 saja. Jejak ini
diproduksi dengan mengeluarkan perintahSET ENTITAS TRACE 2 pada waktu 0.

0.0>setel entitas jejak 2


***
Jejak diatur pada entitas 2
0.0>lanjutkan sampai 4
Waktu: 0,0 Entitas: 2 1 5$
MEMBUAT

Jenis Entitas disetel ke Entitas 1


Pembuatan berikutnya dijadwalkan pada waktu 1.36794 Batch
dari 1 entitas Entitas 1 dibuat
2 6$ MENETAPKAN

Buat 1.NumberOut diatur ke 1.0


3 1$ ANTRE
Entitas 2 dikirim ke blok berikutnya
118 Fasilitas Pengujian dan Debugging Model

Tally Resource 1.Queue.WaitingTime tercatat 0,0 Merebut 1 unit sumber


daya Resource 1
5 10$ MENUNDA

Ditunda 0,0 hingga waktu 0,0


6 0$ MENUNDA

Ditunda 0,541393 hingga 0,541393


Waktu: 0.541393 Entitas: 2 7 3$
MELEPASKAN

Sumber daya 1 yang tersedia meningkat 1 menjadi 1


8 4$ MENETAPKAN

Buang 1.NumberOut diatur ke 1.0


9 11$ MEMBUANG

Entitas Tally 1.TotalTime tercatat 0,541393 Disposing entity 2

Waktu istirahat: 4.0

Panel 6.5 Jejak yang dihasilkan oleh perintah SET ENTITAS PELACAKAN 2.

Pemeriksaan Panel 6.5 mengungkapkan bahwa baris kedua adalah konfirmasi dari ATUR JEJAK
perintah di baris pertama. Pemeriksaan nomor entitas di Panel 6.5 memverifikasi bahwa hanya
Entitas 2 muncul di sana. Jadi, untuk menghasilkan laporan ini, Arena hanya mengekstrak
informasi entitas yang relevan untuk dimasukkan dalam laporan, dan membuang semua
informasi lainnya. Sekali lagi, jejak yang difilter seperti itu berguna dalam memfokuskan pada
riwayat entitas tertentu melalui sistem, terutama untuk tujuan debugging.

6.5 VISUALISASI DAN ANIMASI

Arena menyediakan dukungan untuk visualisasi model dan animasi simulasi berjalan. Ini dapat
digunakan untuk mengamati dan memantau evolusi temporal model'status dan statistik selama
lari. Kegiatan observasi dan pemantauan tersebut digunakan baik untuk men-debug model
maupun untuk memahami berbagai fenomena yang terjadi di dalamnya. Kami sekarang
melanjutkan untuk menggambarkan fasilitas animasi utama di Arena.

6.5.1 ANIMATE CONEKTOR BUTTON

NS Jalankan Interaksi toolbar termasuk Konektor Animasi tombol. Saat diklik, tombol ini
mengaktifkan gerakan entitas di antara modul. Objek entitas diwakili baik oleh gambar
default atau gambar yang ditetapkan pengguna. Melacak gerakan entitas target pada
kanvas model selama proses berjalan membantu dalam memverifikasi logika model.

6.5.2 ANIMATE TOOLBAR

Gambar 6.4 menampilkan Menghidupkan toolbar, yang mendukung visualisasi dan animasi
nilai data dinamis dari waktu ke waktu.
Toolbar ini terdiri dari sembilan tombol sebagai berikut (dari kiri ke kanan):
Fasilitas Pengujian dan Debugging Model 119

Gambar 6.4 Arena Menghidupkan bilah alat.

- NS Jam tombol muncul kotak dialog yang memungkinkan pemodel untuk menginisialisasi “jam”dan
mulai berjalan.
- NS Tanggal tombol muncul kotak dialog yang memungkinkan pemodel untuk menginisialisasi kalender
dan mulai berjalan, menunjukkan tanggal saat ini.
- NS Variabel tombol muncul kotak dialog yang memungkinkan pemodel untuk
menentukan ekspresi dan formatnya. Nilai ekspresi itu tetap up to date selama
simulasi dijalankan.
- NS Tingkat tombol muncul kotak dialog yang memungkinkan pemodel untuk menentukan dan
menampilkan informasi yang sama seperti Variabel tombol, tetapi sebagai analog grafis “tingkat.”
Ini berguna dalam melacak nilai ekspresi terbatas untuk melihat sekilas besaran relatif saat ini.
Contohnya adalah pemanfaatan sumber daya (dibatasi oleh 0 dan 1), yang ditentukan dengan
mengetikDAVG (ID Dstat) dalam Ekspresi bidang kotak dialog, di mana DAVG (ID Dstat) singkatan
dari rata-rata Waktu-Persisten statistik yang nomor Arenanya adalah ID Dstat. Demikian pula
ekspresi TAVG (ID Penghitungan) digunakan untuk menghitung nilai rata-rata yang dikumpulkan
oleh Menghitung statistik yang nomor Arenanya adalah ID penghitungan.
- NS Histogram tombol muncul kotak dialog yang memungkinkan pemodel untuk menentukan
koleksi histogram pada ekspresi tertentu dari waktu ke waktu selama simulasi berjalan.
- NS Merencanakan tombol muncul kotak dialog yang memungkinkan pemodel untuk menentukan
plot nilai ekspresi dari waktu ke waktu selama simulasi berjalan.
- NS Antre tombol muncul kotak dialog yang memungkinkan pemodel untuk menentukan antrian dan
menampilkan ukurannya dari waktu ke waktu selama simulasi berjalan sebagai standar T-bar (lihat Bagian
5.2).
- NS Sumber tombol memunculkan kotak dialog yang memungkinkan pemodel untuk menentukan sumber
daya yang ditentukan pengguna dan menampilkan statusnya dari waktu ke waktu selama simulasi
dijalankan. Sumber daya dapat diidentifikasi di layar dengan ikonnya, yang disediakan oleh default Arena,
tetapi dapat diedit secara grafis oleh pemodel.
- NS Global tombol muncul kotak dialog yang memungkinkan pemodel untuk menentukan ekspresi
terbatas, dan untuk menampilkan nilainya dari waktu ke waktu melalui ikon selama simulasi berjalan.

6.5.3 ANIMATE TTRANSFER TOOLBAR

NS Transfer Animasi toolbar mendukung visualisasi dan animasi berbagai perangkat


transportasi, seperti conveyor, forklift, AGV (kendaraan berpemandu otomatis), dan
sebagainya. Toolbar ini akan ditinjau kembali dan dijelaskan di Bab 13.

6.6 FASILITAS BANTUAN ARENA

Arena menyediakan dua fasilitas bantuan online: the Membantu menu dan Membantu
tombol. Perbedaan utama antara kedua fasilitas ini adalah cara pemodel mengakses
informasi yang diperlukan.
120 Fasilitas Pengujian dan Debugging Model

6.6.1 HELP MENU

NS Membantu menu terletak di bilah menu Arena dan berisi opsi yang disebutBantuan
Arena, yang membuka kotak dialog dengan tiga tab:

- NS Isi tab menampilkan daftar isi topik bantuan Arena.


- NS Indeks tab menampilkan daftar kata kunci Arena dalam urutan abjad. Hal ini memungkinkan pengguna untuk
memasukkan kata kunci ke dalam kotak teks untuk mengambil informasi terkait.
- NS Mencari tab memungkinkan pengguna untuk mencari semua kemunculan kata atau frasa di file
bantuan Arena. Pengguna memasukkan target pencarian ke dalam kotak teks di bagian atas tab untuk
mengambil informasi yang diperlukan.

6.6.2 HELP BUTTON

NS Membantu tombol terletak di Arena Standar toolbar dan memiliki ikon tanda panah dan tanda
tanya. Ini dapat digunakan untuk mendapatkan informasi tentang objek Arena yang digambarkan di
kanvas. Pengguna mengklikMembantu tombol dan tindakan ini memunculkan penunjuk dengan ikon
yang sama. Pengguna kemudian menyeret penunjuk itu ke objek yang diinginkan, dan mengklik lagi
pada objek itu untuk mengambil informasi yang relevan.

LATIHAN

1. Garis produksi. Pertimbangkan lini produksi berikut, yang terdiri dari dua stasiun kerja secara seri:
yang pertama melakukan a proses pengisian dan yang kedua melakukan aproses pembatasan.
Kedua workstation memiliki ruang buffer yang tidak terbatas. Sistem pengisian kehidupan nyata
biasanya merupakan operasi batch yang mengisi sejumlah wadah secara bersamaan. Namun,
untuk menyederhanakan pemodelan, di sini kita akan memperlakukan setiap pekerjaan sebagai
satu kesatuan. Waktu antar pekerjaan di stasiun kerja pertama terdistribusi secara merata antara
1,5 dan 5 menit. Setelah selesaiproses pengisian, pekerjaan bergabung dengan buffer dari proses
pembatasan. Waktu pengisian pekerjaan terdistribusi secara segitiga iid dengan parameter 1, 3,
dan 5 menit, sedangkan capping membutuhkan waktu tetap 3 menit. A. Kembangkan model
Arena untuk jalur produksi dan simulasikan selama 10.000 menit.

B. Perkirakan statistik berikut:


- Jumlah rata-rata pekerjaan di setiap buffer workstation
- Pemanfaatan setiap workstation
Pada awal menjalankan simulasi, lakukan tindakan berikut:
c. Cetak dan periksa Arena.mod dan .exp file.
D. MenambahkanVariabel jendela untuk
- Jumlah pekerjaan saat ini di setiap antrian
- Tingkat keluaran sistem (Petunjuk: Anda dapat menggunakan
- ekspresi) Jumlah total entitas yang keluar dari sistem
- Waktu sistem rata-rata dari entitas yang berangkat
e. Tambah sebuahTingkat gambar untuk pemanfaatan setiap workstation.
F. Tambah sebuahSumber gambar untuk setiap workstation untuk memantau keadaan idle dan
sibuk.
Fasilitas Pengujian dan Debugging Model 121

G. MenggunakanMemerintah jendela, keluarkan perintah yang sesuai untuk menghentikan


simulasi di SEKARANG ¼ 500. Saat simulasi berhenti, berikan perintah yang sesuai untuk
memeriksa entitas di semua antrian model.
H. PadaSEKARANG ¼ 750, berikan perintah pelacakan yang sesuai untuk memantau riwayat
replikasi hingga SEKARANG ¼ 800. Pada saat itu, gunakan AKHIR perintah untuk menampilkan
output simulasi.
2. Antrian pesan di server database. Pertimbangkan antrian pesan dalam sistem database di
mana permintaan pengguna (query) tiba secara acak. Antrian pesan memiliki kapasitas
terbatas 64kb. Permintaan tiba iid menurut distribusi waktu antar kedatangan eksponensial
dengan laju 1 pesan per 2,5 detik. Setiap pesan memiliki ukuran terkait (dalam kilobyte)
didistribusikan iid Tria (4, 12, 16). Pesan yang datang akan hilang jika tidak dapat masuk ke
dalam sisa kapasitas antrian pesan. Kueri disajikan berdasarkan ukuran yang lebih kecil-
pertama (yang mungkin tidak terlalu realistis karena pesan panjang akan cenderung
menunggu lebih lama dalam antrean). Waktu layanan tergantung pada ukuran pesan
sedemikian rupa sehingga dibutuhkan 1 detik per 4 kilobyte dalam pesan.(Petunjuk: Anda
dapat memodelkan antrian itu sendiri sebagai sumber daya dengan kapasitas 64 unit.) a.
Kembangkan model Arena untuk sistem antrian pesan, dan simulasikan selama 5000 detik.

B. Perkirakan statistik berikut:


- Rata-rata jumlah pesan dalam antrian
- Rata-rata delay per query dalam antrian
- Pemanfaatan server database
- Kemungkinan hilangnya pesan pada saat kedatangan
Pada awal menjalankan simulasi, lakukan tindakan berikut:
c. Cetak dan periksa Arena.mod dan .exp file.
D. MenambahkanVariabel jendela untuk
- Jumlah kueri saat ini dalam antrian Probabilitas
- kerugian (Anda dapat menggunakan ekspresi)
- Waktu sistem rata-rata untuk meninggalkan pesan
e. Tambah sebuahTingkat gambar untuk pemanfaatan server.
F. Tambah sebuahSumber gambar untuk server untuk memantau keadaan idle dan sibuk.
G. MenggunakanMemerintah jendela, keluarkan perintah yang sesuai untuk
menghentikan simulasi di SEKARANG ¼ 1250 detik. Saat simulasi berhenti, berikan
perintah yang sesuai untuk memeriksa pesan dalam antrian model.
H. PadaSEKARANG ¼ 3000 detik, keluarkan perintah pelacakan yang sesuai untuk
memantau riwayat replikasi hingga SEKARANG ¼ 3100. Pada saat itu, gunakan perintah
END untuk menampilkan output simulasi.
3. Situs perdagangan elektronik. Pertimbangkan situs perdagangan elektronik yang menerima
permintaan pelanggan dengan waktu antar kedatangan eksponensial iid rata-rata 10 menit. Situs
melayani permintaan sedemikian rupa sehingga pada akhir setiap jam, semua permintaan (baru)
dilayani dalam layanan batch dengan waktu layanan iid yang didistribusikan secara merata antara
10 dan 30 menit. Pendatang baru pada suatu waktu pelayanan harus menunggu putaran
pelayanan berikutnya yang akan dimulai tepat 1 jam setelah pelayanan sebelumnya dimulai.

A. Kembangkan model Arena untuk situs e-niaga, dan simulasikan selama 5000 menit. (Petunjuk: Anda
dapat menggunakan petunjuk yang sama yang diberikan dalam Latihan 2.)
B. Perkirakan statistik berikut:
- Rata-rata jumlah permintaan yang menunggu untuk diproses.
122 Fasilitas Pengujian dan Debugging Model

- Waktu respons rata-rata permintaan pelanggan (waktu respons didefinisikan sebagai


perbedaan waktu antara waktu kedatangan permintaan dan waktu penyelesaian
prosesnya).
Pada awal menjalankan simulasi, lakukan tindakan berikut:
c. Cetak dan periksa Arena.mod dan .exp file.
D. MenambahkanVariabel jendela untuk
- Jumlah permintaan saat ini yang menunggu untuk diproses
- Waktu respons pelanggan rata-rata (Petunjuk: Anda dapat menggunakan variabel Arena TAVG ( )
untuk menghitung rata-rata waktu respons.)
e. Tambah sebuahSumber gambar untuk server untuk memantau keadaan idle dan sibuknya.
F. PadaSEKARANG ¼ 3000 detik, keluarkan perintah pelacakan yang sesuai untuk memantau
riwayat replikasi hingga SEKARANG ¼ 3100. Pada saat itu, gunakan AKHIR perintah untuk
menampilkan output simulasi.

Anda mungkin juga menyukai