Apa itu Diagram Waktu?
Sebuah Diagram Waktu adalah diagram perilaku khusus diagram UML dirancang untuk memvisualisasikan durasi tepat dari status dan kondisi presisi di mana status-status tersebut berubah sepanjang garis waktu linear. Sebagai bagian penting dari spesifikasi Bahasa Pemodelan Terpadu (UML), jenis diagram ini jenis diagram UML berfokus sangat kuat pada batasan waktu keras, siklus jam, dan sinyal gelombang. Diagram ini melacak bentuk gelombang atau garis langkah untuk menggambarkan secara tepat berapa lama suatu objek tetap dalam kondisi tertentu sebelum pemicu eksternal mengubah statusnya.
Peta waktu banyak digunakan oleh insinyur sistem tertanam, pengembang protokol jaringan, dan arsitek perangkat keras untuk memodelkan kondisi persaingan, melacak perubahan siklus hidup thread, atau memetakan transisi register perangkat keras. Dengan VPasCode, Anda tidak perlu menghitung lebar piksel secara manual atau memetakan koordinat garis waktu. Mesin rendering kami menangani seluruh kisi temporal secara otomatis berdasarkan skrip teks biasa Anda.
Panduan Sintaks Inti: Elemen dan Konstruksi
Untuk merancang diagram waktu UML yang akurat dan sesuai standar di PlantUML, Anda perlu menguasai jenis peserta, definisi status, interval waktu, dan batasan sinkronisasi.
1. Deklarasi Peserta (Kuat vs. Ringkas)
Anda dapat memodelkan garis waktu menggunakan dua gaya visual yang berbeda tergantung seberapa banyak detail yang dibutuhkan sistem Anda. Anda harus mendeklarasikannya menggunakan kata kunci eksplisit:
- Garis Waktu Kuat: Menampilkan status sebagai baris yang terpisah dan tumpang tindih. Ideal untuk proses perangkat lunak tingkat tinggi.
kuat "Thread Aplikasi" sebagai Thread - Garis Waktu Ringkas: Menampilkan status sepanjang satu garis datar, menggunakan blok silang untuk menunjukkan perubahan. Sempurna untuk peta sinyal perangkat keras yang ringkas.
ringkas "Register CPU" sebagai Reg
2. Menentukan Transisi Status dan Langkah Waktu
Berbeda dengan diagram lainnya, Anda mengubah status dengan mendeklarasikan titik waktu menggunakan @ simbol, merujuk peserta Anda, dan menggunakan is kata kunci. Nama status yang berisi spasi atau karakter khusus harus dibungkus dengan tanda petik:
@0
Thread adalah Idle
@10
Thread adalah "Memproses Data"
3. Menghasilkan Sinyal Jam
Untuk mensimulasikan jam perangkat keras biner, gunakan kata kunciclock kata kunci. Anda harus menentukan periode siklus, siklus kerja opsional, dan nama internal:
clock "Jam Sistem" sebagai CLK dengan periode 2
4. Menambahkan Kendala Presisi dan Jadwal Waktu
Untuk mendokumentasikan batas waktu eksekusi yang ketat (seperti memastikan transisi sistem terjadi dalam jendela tertentu), gunakan sintaks<-> untuk menghubungkan dua koordinat waktu dengan label deskriptif:
@10 <-> @40 : {Kurang dari 30ms}
Praktik Terbaik untuk Tata Letak Waktu yang Bersih
- Jaga Satuan Waktu Tetap Seragam: PlantUML memperlakukan bilangan bulat garis waktu sebagai langkah-langkah berurutan umum. Pilih satuan waktu yang seragam untuk proyek Anda (misalnya, tick, mikrodetik, atau detik) dan pertahankan secara konsisten.
- Gunakan Label untuk Transisi yang Rumit: Anda dapat menambahkan pesan teks langsung pada perubahan status dengan menambahkan titik dua tepat setelah penugasan status (misalnya,
@10nReg sedang Membaca : "Aktifkan Interupsi"). - Urutkan Deklarasi Secara Strategis: PlantUML menyusun garis hidup secara vertikal sesuai urutan yang dideklarasikan dalam skrip Anda. Selalu letakkan jam utama Anda di bagian paling atas untuk memudahkan penyelarasan.
Contoh Diagram Waktu PlantUML Dunia Nyata
Contoh 1: Cache dan Status Register Mikrokontroler (Ringkas & Gelombang Jam)
Rancangan yang dapat dijalankan ini menunjukkan timeline rekayasa perangkat keras tertanam klasik, menjalankan jam sistem standar bersamaan dengan register penyimpanan data ringkas yang melacak status perangkat keras.
@startuml
clock "Jam Sistem (CLK)" sebagai clk dengan periode 2
ringkas "Register Bus Data" sebagai Reg
@0
Reg kosong
@2
Reg sedang Membaca : "Ambil"
@6
Reg sedang Menulis
@10
Reg terkunci
@14
Reg kosong
@enduml 
Analisis Sintaks: Kata kunciclock menghasilkan gelombang persegi berirama tinggi/rendah secara otomatis. Kata kunciReg baris menangani beberapa penugasan status secara berurutan di atas kisi waktu absolut. String teks yang ditambahkan dengan tanda titik dua (seperti : "Ambil") ditampilkan sebagai petunjuk yang rapi tepat di atas garis batas transisi.
Contoh 2: Segar Ulang Token Konsumen Web Asinkron (Kendala Multi-Thread yang Kuat)
Rancangan arsitektur perangkat lunak canggih dan sepenuhnya fungsional ini memanfaatkan format tata letak yang kuat untuk melacak alur kerja aplikasi web berbasis multi-thread, memetakan tenggat waktu waktu yang tepat antara klien web dan pekerja otorisasi.
@startuml
robust "Klien Peramban Web" sebagai Web
robust "Pekerja Token Otorisasi" sebagai Auth
@0
Web sedang Tidak Aktif
Auth sedang Tidur
@5
Web sedang MenungguToken
Auth sedang Memvalidasi
@15
Auth sedang Menghasilkan
@15 <-> @25 : {Jendela Generasi}
@25
Auth sedang Tidur
Web sedang MerenderHalaman
@40
Web sedang Tidak Aktif
@enduml 
Analisis Sintaks: Dengan menggunakan robust deklarasi, status-status tersebut tercantum dengan rapi pada sumbu Y untuk setiap baris lifeline individu. Kendala evaluasi waktu (@15 <-> @25 : {Jendela Generasi}) menggambar panah dimensi dua sisi standar di bagian atas kisi waktu, menunjukkan batas operasional yang ketat.