REKAYASA PERANGKAT LUNAK LANJUT REAL TIME SISTEM Defri Kurniawan M.Kom
Intro Real Time System memiliki kharakteristik yang unik dimana sistem harus dapat menanggapi suatu peristiwa dalam jangka waktu yang singkat Real Time system pada komputer-komputer, digunakan untuk mengontrol berbagai sistem dari mesin pabrik (komputer ini berinteraksi langsung pada hardware)
Intro PL harus bereaksi terhadap peristiwa yang dihasilkan oleh sinyal hardware dan kontrol dalam menanggapi suatu peristiwa dari lingkungan sistem Tertanam dalam beberapa sistem perangkat keras yang lebih besar dan harus merespon secara real time
Pengertian Real Time System IEEE Computer Society Press: Sebuah sistem real time adalah sistem yang harus memenuhi batas waktu respon atau memiliki konsekuensi risiko yang parah (termasuk kegagalan) Ian Sommerville: Sebuah sistem real-time adalah sistem perangkat lunak dimana fungsi dari sistem, tergantung pada hasil yang dihasilkan oleh sistem dan waktu
Pengertian Real Time Software Real-time software adalah perangkat lunak yang mengukur, menganalisa, dan mengontrol kejadian nyata secara real-time.
Stimulus Real Time System harus memberikan respon terhadap stimulasi yang diberikan. Stimulasi dibagi menjadi 2 (dua) secara waktu: 1. Periodic Stimuli Bisa diprediksi kemunculannya berdasarkan interval waktu tertentu Sistem akan mengekseskusi sensor tiap 50 milidetik 2. Aperiodic Stimuli Biasanya disinyalkan menggunakan mekanisme interupsi komputer Sistem akan diinterupsi jika adanya I/O telah siap
Model of a Real Time System Periodic Stimuli digunakan pada real time system dengan penggunaan sensor yang saling terkait Sistem merespon yang diberikan oleh sensor, lalu sistem memberikan perintah kepada aktuator (aktuator = komponen penggerak) Model Sensor Sistem Aktuator merupakan Sistem Real Time
Model of a Real Time System Model of a Real Time System (Ian Sommerville, 2007)
Process Control Sensor/Aktuator Process Control Sensor/Aktuator
Element System Sensor control processes Mengumpulkan informasi dari sensor-sensor Data processor Melaksanakan pengolahan informasi yang terkumpul dan menghitung respon sistem Actuator control processes Menghasilkan sinyal kontrol untuk aktuator
Cakupan Real Time System Cakupan Mikrokontroler kecil yang tertanam pada pengoperasian oven microwave sampai sistem yang sangat besar seperti jaringan komunikasi global
Klasifikasi Sistem Real Time Sebuah sistem real-time lunak (soft real time) adalah sistem yang melakukan penurunan aksi jika hasilnya tidak diproduksi sesuai dengan persyaratan waktu yang ditentukan. Ex: telephony system Sebuah sistem real-time keras (hard real time) adalah sebuah sistem yang tidak menjalankan operasi dengan benar jika hasilnya tidak diproduksi sesuai dengan spesifikasi waktu tertentu. Ex: medical equipment, aircraft control
Real Time Programming hard-real time software mungkin harus diprogram dalam bahasa assembly untuk memastikan bahwa batas waktu terpenuhi. Bahasa seperti C memungkinkan program yang efisien yang akan ditulis, tetapi tidak memiliki konstruksi untuk mendukung konkurensi atau manajemen sumber daya bersama. Java mendukung konkurensi ringan dan dapat digunakan untuk beberapa soft real time sistem
Karakteristik Real Time System Timelines - waktu merupakan bagian penting. Realtime sistem harus merespon dalam waktu yang ditentukan Dynamic Internal Structure - Perlu komponen sistem yang dapat melakukan rekonfigurasi dinamis untuk menyesuaikan dengan kondisi eksternal lingkungan Reactiveness - kondisi yang secara terus menerus dapat berespons terhadap event yang beragam yang tidak dapat diprediksi urutan waktu kedatangannya
Karakteristik Real Time System Concurrency - menunjang kegiatan aspek synchronous, asynchronous, communication, interrupt handling menjadi bagian penting dalam penyelesaian masalah konkurensi ini
Pertimbangan Arsitektur RTS Karena kebutuhan untuk merespon tuntutan waktu yang dibuat oleh berbagai sensor, arsitektur sistem harus memungkinkan untuk cepat beralih antara penangan stimulus. Tuntutan waktu rangsangan yang berbeda-beda sehingga loop (perulangan) berurutan yang sederhana biasanya tidak memadai.
Arsitektur S1 P (S1) Testing process P (A1) A1 S2 P (S2) Monitoring processes P (A2) A2 S3 P (S1) Control processes P (A1) A3 P (A4) A4 Control panel processes
Intro Design Sistem Fungsi untuk menyelesaikan masalah terdefinisi jelas pada hirarki product engineering Memperhatikan setiap karakteristik sistem real time yang ada Disamping SRS (Software Requirement Analysis) juga definisikan IRS (Interface Requirement System) Keputusan desain harus dibuat atas dasar tentang persyaratan sistem non-fungsional
Intro Design Sistem
Intro Design Sistem Proses analisis dan perancangan menjadi lebih kompleks karena harus memperhatikan aspek kedinamisan Pemodelan behaviour merupakan satu aspek dasar yang harus dijabarkan pada proses analisis dengan jelas (state diagram, pemantauan signal kontrol, pendefinisian spesifikasi kontrol dsb)
Intro Design Sistem
Desain Proses RTS 1. Identifikasi stimuli untuk diproses dan tanggapan yang diperlukan terhadap rangsangan. 2. Untuk setiap stimulus dan respon, mengidentifikasi batasan waktu 3. Agregat stimulus dan pengolahan respon ke dalam proses konkuren. Sebuah proses dapat dikaitkan dengan masing-masing kelas stimulus dan respon.
Desain Proses RTS 4. Desain Algoritma untuk memproses setiap kelas dari stimulus dan respon. Ini harus memenuhi persyaratan waktu yang diberikan. 5. Desain sistem penjadwalan yang akan memastikan bahwa proses yang dimulai pada waktunya untuk memenuhi batas waktu. 6. Mengintegrasikan menggunakan sistem operasi real-time.
Real-time system modelling Efek dari stimulus dalam sistem real-time dapat memicu transisi dari satu keadaan ke keadaan lain. Finite state machines dapat digunakan untuk pemodelan sistem real-time. Namun, model FSM tidak memiliki struktur. Bahkan sistem sederhana dapat memiliki model yang kompleks. The UML mencakup notasi untuk memodelkan RTS dengan state diagram
Petrol pump state model Timeout Card inser ted into reader Reading do: get C C details Initialising do: initialise display Waiting Card removed Card OK Hose out of holster do: display welcome Validating do: validate credit card Ready Nozzle trigger on Delivering do: deliver fuel update display Timeout Invalid card Nozzle trigger off Resetting do: display C C error Stopped Nozzle trigger on Payment ack. Paying do: debit CC account Hose in holster
Monitoring and control systems Kelas penting dari sistem real-time Terus memeriksa sensor dan mengambil tindakan tergantung pada nilai-nilai sensor Sistem pemantauan memeriksa sensor dan melaporkan hasilnya. Sistem kontrol mengambil nilai sensor dan kontrol aktuator perangkat keras
Real Time Operating System Sistem operasi real-time, sistem operasi yang khusus mengelola proses dalam RTS. Bertanggung jawab untuk manajemen proses dan alokasi sumber daya (prosesor dan memori). Mungkin didasarkan pada kernel standar yang digunakan tidak berubah atau dimodifikasi untuk aplikasi tertentu. Biasanya tidak mencakup fasilitas seperti manajemen file
Operating System Component Scheduling informa tion Real-time clock Scheduler Interrupt handler Process r esour ce requir ements Processes awaiting resour ces Read y list Read y processes Resour ce mana ger Despa tcher Released resour ces Available resour ce list Processor list Executing pr ocess
Operating System Component Real-time clock Menyediakan informasi untuk proses penjadwalan. Interrupt handler Mengelola permintaan periodik tertentu untuk layanan Scheduler Memilih proses selanjutnya yang akan dijalankan. Resource manager Mengalokasikan sumber daya memori dan prosesor. Dispatcher Mulai proses eksekusi
Study Case: Sistem Pengamanan Gedung Sebuah sistem perangkat lunak yang akan diimplementasikan untuk mengontrol sistem alarm pencuri pada bangunan komersial. Menggunakan beberapa jenis sensor, termasuk sensor gerak, sensor pada pintu dan jendela Sistem mendeteksi ketika jendela telah dirusak dan sensor pintu yang mendeteksi pintu koridor yang membuka. Sistem secara otomatis melakukan panggilan polisi setempat menggunakan synthesizer suara, melaporkan lokasi alarm,
Study Case: Sistem Pengamanan Gedung(lanj) Menghidupkan lampu di kamar sekitar sensor aktif Sistem juga mendeteksi ketika listrik drop (memungkinkan sistem alarm mati), sistem sensor didukung oleh listrik tetapi dilengkapi dengan baterai cadangan Daya yang hilang terdeteksi menggunakan daya yang terpisah
Sensor & Aksi Sistem Sensor Aksi Detektor gerakan, sensor jendela, sensor pintu: 50 sensor jendela, 30 sensor pintu dan 200 gerakan detektor Sensor drop tegangan. Ketika penyusup terdeteksi, polisi dipanggil secara otomatis Lampu dinyalakan di kamar dengan sensor aktif Alarm terdengar aktif Sistem ini secara otomatis beralih ke cadangan daya ketika drop tegangan terdeteksi.
The R-T system design process 1. Mengidentifikasi stimuli dan respon terkait 2. Menentukan batasan waktu terkait dengan stimuli & respon 3. Mengalokasikan fungsi sistem pada proses yang konkuren 4. Design algoritma untuk pengolahan stimuli dan respon 5. Desain sistem penjadwalan yang menjamin bahwa proses akan selalu dijadwalkan untuk bertemu dengan batas waktunya
Mengidentifikasi stimuli & respon 1. Alarm Penyusup Stimuli-> sistem sensor Respon-> pemanggilan polisi, menyalakan lampu dan membunyikan alarm 2. Listrik Drop Stimuli->listrik drop, Respon->sistem beralih ke daya cadangan dalam batas waktu 50 ms
Menentukan batasan waktu terkait dengan stimuli & respon Stimulus/Response Interupsi Listrik Mati Alarm Pintu Alarm Jendela Detektor Gerak Timing Requirement Beralih ke listrik cadangan harus diselesaikan dalam batas waktu 50 ms Setiap alarm pintu harus disurvey tiap 2x perdetik Setiap alarm jendela harus disurvey tiap 2x per detik Setiap detektor gerak harus disurvey tiap 2x per detik Menyalakan Alarm Lampu Komunikasi Synthesiser Suara Alarm harus menyala ½ detik dari kejadian yang terdeteksi oleh sensor Lampu harus diaktifkan dalam ½ detik dari alarm yang dinyalakan oleh sensor Menghubungi polisi harus dimulai dalam waktu 2 detik setelah alarm menyala Pesan suara harus tersedia dalam waktu 4 detik setelah alarm menyala
Mengalokasikan fungsi sistem pada proses yang konkuren
Keterangan periodic stimuli ------------------- aperiodic stimuli Ada 30 sensor pintu yang harus diperiksa dua kali per detik. Ini berarti bahwa proses sensor pintu terkait harus menjalankan 60 kali per detik (60 Hz)
Design algoritma untuk pengolahan stimuli dan respon
Desain sistem penjadwalan. Langkah terakhir dalam proses desain adalah untuk merancang suatu sistem penjadwalan yang menjamin proses akan selalu dijadwalkan untuk memenuhi batas waktu tersebut. Dalam contoh ini, batas waktu tidak ketat. Proses prioritas harus diatur sehingga semua proses sensormemiliki prioritas yang sama. Proses untuk menangani kegagalan daya harus proses tingkat interupsi prioritas lebih tinggi. Prioritas proses pengelolaan sistem alarm harus sama dengan proses sensor