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.
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]
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.
Home
Tidak ada komentar:
Posting Komentar