materi 8


MODEL-MODEL SISTEM


Tinjauan
1.      Formalisasi standard dari RPL untuk membuat sistem yang interaktif, yaitu berbasis model, misal Z, formalisasi aljabar, logika temporal dan deontic
2.     Model-model interaksi khusus, seperti predictability dan observability; reachability dan undo
3.     Model interaksi yang lengkap, yang dapat mengelompokkan fenomena seperti event atau status, memasukkan psikologi dan penekanan masalah feedback pada interface.

Formalisasi Standard

Tujuan spesifikasi formal ada 2 :
    Komunikasi
    Analisa

Notasi formal untuk komunikasi

Spesifikasi dapat dibuat sebagai bahasa yang ‘umum’ antar tim desain, desainer dan pembuat sistem. Ide2 tentang tampilan layar dapat dengan muda divisualisasikan dengan bantuan paket2 untuk menggambar (drawing tool), tetapi perilaku sistem yang dinamis sulit dikomunikasikan.
Sering spesifikasi formal menjadi ambigu sehingga deskripsi sistem menjadi ambigu pula            salah !
Simbol yang digunakan dan manipulasinya mempunyai arti dalam sistem formal, tetapi interpretasi simbol tersebut dapat berbeda untuk setiap orang.
Contoh :    layout layar untuk warna (x,y) koordinat (0,0) 

                   (x,y) = (0,0) = ? (kiri bawah atau kanan bawah)
                                                                   ambigu

PENTING !, jika membuat spesifikasi formal perlu disertai dengan penjelasan/ komentar dan deskripsinya/ dokumentasi.

Notasi Formal untuk analisa

Spesifikasi formal dapat dianalisa dalam berbagai cara :
    Periksa konsistensi internal,
Lihat jika setiap statement dibuat dalam satu bagian yang saling berkontradiksi. Contoh : umumnya tidak memungkinkan membangun system yang sesuai dengan properti antara teori dan praktek.
    Periksa konsistensi eksternal,
Yang berhubugan dengan program (bukan keuntungan dalam IMK). Tugas verifikasi ini merupakan keuntungan dari spesifikasi formal dari sudut pandang RPL.
    Periksa konsistensi eksternal,
Yang berhubungan dengan kebutuhan2, beberapa diantaranya seperti properti keamanan, sistem khusus, dll. Kebutuhan lainnya tentang system khusus misalnya fungsi yang dapat diakses hanya dengan penekanan kurang dari 3 keystrokes.

Notasi Berorientasi Model


Dimulai  pada akhir 1970 dan 1980 untuk menyediakan software engineer kemampuan menggambarkan dan alasan tentang komponen software yang menggunakan konstruksi matematika seperti konstruksi yang digunakan dalam bahasa pemrograman. Notasi matematika ini menggambarkan perilaku dari system software yang didekatkan dengan bagaimana diprogramkan.
Ada 2 yang digunakan : Z dan VDM, digunakan untuk spesifikasi interface. Z digunakan untuk menspesifikasikan editor, window manager dan toolkit grafik Presenter.

 Simple Sets
Set yang paling sederhana (standard) : R =  bilangan real, Z = bilangan integer, N = bilangan asli. Yang non standard didefinisikan sebagai set baru dengan melisting angka-angka finite dari nilai yang mungkin dari set tersebut. Misal  bentuk2 geometri dalam grafik.
          Shape_type ::= line | ellipse | rectangle
          Keystrokes ::= a | b | … | z | A | B | … | 0 | … | 9 | cursor_left | …
Atau [Keystrokes]                                                               

Set2 tersebut dapat dibuat lebih kompleks lagi, meliputi tupel yang terurut, tidak terurut, yang disebut skema dalam Z, deretan dan fungsi.
Contoh : koordinat (x,y) untuk titik (point) memerlukan 2 tupel (pasangan terurut) dari R :        
Point ::= R x R; misal Point (1.2, -3.0)

 

Bentuk geometri dalam 4 tupel : 

Shape_type x R x R x Point

                 Skema Z :
Shape
                                      type : Shape_type
                                      wid : R
                                      ht : R
                                      centre : Point

Jika menggunakan deklarasi skema, shape s dengan width atau centre dari s  dituliskan sebagai s.wid atau s.centre (seperti bahasa pascal dengan tipe record, C dengan ‘struct’)

Deretan (sequence) dapat mempunyai panjang tetap seperti array pada pascal. Dalam matematika panjang deretan bisa bervariasi. Dua deretan a dan b dapat digabungkan dengan memberikan deretan baru, ditulis sebagai a b – tipe list dalam LISP.

Function : perhitungan standard dalam bahasa pemrograman. Fungsi memetakan elemen2nya dari satu himpunan ke himpunan lainnya dan berlaku juga sebagai ‘kamus lookup’. Contoh : sqrt atau log.  Bergantung pada konteks yang digunakan, fungsi dalam spesifikasi diimplementasikan dengan fungsi tingkat program atau struktur data. Contohnya adalah fungsi untuk grafik, misal 


[Id]
Shape_dict == Id               Shape

Set Id adalah set dari identifier yang akan digunakan sebagai label dari shape. Objek shapes dari tipe shape_dict adalah label yang memetakan fungsi ke shapes. Jika id adalah label khusus maka kamus shapes dapat memetakan ke persegi panjang-rectangle dengan lebar 2.3, tinggi 1.4 dan pusat (1.2, -3), dituliskan sebagai :
                             Shape(id).type = rectangle                                                                              Shape(id).wid = 2.3                       
Shape(id).height = 1.4                            
Shape(id).centre = (1.2, -3.0)

Shape_dict sebagai fungsi parsial. Fungsi parsial tidak dapat memetakan semua elemen sumber ke elemen himpunan tujuan. Tidak semua dalam Id adalah argument yang valid untuk shapes. Himpunan nilai yang valid disebut domain dari shapes ‘dom shapes’
                             dom shapes = {5,1,7,4}
          shapes(5),shapes(1),shapes(7),shapes(4) adalah valid.

Tidak ada komentar:

Posting Komentar