Wednesday, October 19, 2016

Resume Chapter 13 Dependability Engineering

Tags

Dependability engineering berkaitan dengan teknik yang digunakan untuk meningkatkan keandalan sistem kritis dan non ktiris. teknik ini memiliki tiga pendekatan yang dapat digunakan untuk mengembangkan software yang andal, diantaranya :

1. Menghindari kesalahan.
2. Menghindari deteksi dan koreksi.
3. Menghindari toleransi.

13.1 Redudansi dan keragaman

 Adalah strategi paling dasar untuk meningkatkan kehandalan dari setiap jenis sistem. Redundansi berarti bahwa kapasitas cadangan termasuk dalam sistem yang dapat digunakan jika bagian dari sistem yang gagal. Keanekaragaman berarti bahwa komponen berlebihan dari sistem ini adalah dari jenis yang berbeda, sehingga meningkatkan kemungkinan bahwa mereka tidak akan gagal dengan cara yang persis sama.

13.2 Proses yang handal

Beberapa contoh aktivitas yang dapat dimasukkan dalam proses diandalkan antara lain:
1. Ulasan persyaratan.
2. Persyaratan manajemen.
3. Spesifikasi formal.
4. Pemodelan sistem.
5. Inspeksi desain dan program.
6. Analisis statis.
7. Tes perencanaan dan managemen.

13.3 Sistem asitektur yang dapat diandalkan

Software diversity dan redundancy pada sub bab 13.1 bisa di implementasikan ke berbagai gaya arsitektur, diantaranya :

- Sistem proteksi
  Keuntungan dari arsitektur ini adalah sistem proteksi perangkat lunak bisa lebih sedrhana dibanding perangkat lunak yang mengendalikan proses yang dilindungi.

- Self-monitoring architectures
  Dirancang untuk memantau operasi sendiri dan untuk mengambil beberapa tindakan jika masalah ini terdeteksi.

Agar efektif dalam mendeteksi baik hardware dan software kesalahan, pemantauan diri
sistem harus dirancang sedemikian rupa sehingga:
1. Perangkat keras yang digunakan dalam setiap saluran berbeda.
2. Perangkat lunak yang digunakan pada tiap channel yang bebeda. Jika tidak, perangkat lunak yang sama.

*Kesalahan bisa muncul pada waktu yang sama pada setiap saluran.

- N-version programming
 pemrograman multiversion digunakan untuk mendapatkan redundansi dan keberagaman dari perangkat lunak.

Gagasan ini pemrograman multiversion telah diturunkan dari sistem hardware mana gagasan triple modular redudance (TMR) telah digunakan selama bertahun-tahun untuk membangun sistem yang toleran terhadap kegagalan hardware.

*replikasi hardware

*lebih murah dari self chcking arsitektur dalam sistem yang mana memerlukan ketersediaan tinggi.

*biaya pengembangan lebih mahal karena diperlukan bebrapa tim berbeda untuk membuat versi yang berbeda dari versi software


- Software diversity
Yaitu pengembangan bagian berbeda dan dengan bahasa berbeda.
kekurangan :
- Biaya mahal.
Kelebihan :
- Adanya Back-up.



13.4 Dependable programming

panduan membuat program yang dapat diandalkan, diantaranya :

- Mengontrol visibilitas informasi dari sebuah program.
- Memeriksa validitas dari inputan.
- Menyediakan handler untuk semua pengecualian (error tetap jalan).
- Meminimalkan penggunaaan konstruksi yang rawan kesalahan.
- Menyediakan kemampuan untuk restart.
- Pembatasan pemeriksaan array.
- Menyertakan timeout untuk memanggil komponen eksternal.
- Nama dari semua konstanta mewakili nilai-nilai dunia nyata.


EmoticonEmoticon