Kelas A
Oleh :
Kelompok 3
3.1 Pendahuluan
Aplikasi besar dapat dibagi menjadi tiga sub-proses utama:
Desain
Pemrograman
Retensi data
Kecenderungan saat ini terhadap metode orientasi objek berdampak pada masing-masing
bidang berikut ini: metodologi desain tradisional seperti analisis 'top-down' memberi jalan
kepada analisis orientasi objek, bahasa pemrograman konvensional hingga bahasa
pemrograman orientasi objek, dan basis data relasional ke orientasi objek atau diperpanjang
database relasional. Bab ini menyelidiki masalah teknis dan arsitektural yang terlibat dalam
membuat transferensi ini serta keuntungan yang dapat diperoleh melalui proses ini.
Selama beberapa tahun terakhir ini semakin jelas bahwa solusi komputer sistem tenaga
yang saat ini ada tidak memadai. Kebutuhan bisnis hari ini menuntut model data yang
kompleks, akses cepat dan berbagi informasi di seluruh bisnis. Bahasa perangkat lunak
orientasi objek, database dan teknik pengembangan sekarang dipandang sebagai solusi yang
mungkin untuk masalah ini dan banyak penelitian [1-4] telah dikhususkan untuk penerapan
metodologi ini ke analisis dan pengendalian sistem tenaga.
Metodologi ini ditandai dalam proses desain modular 'top-down': perancang pertama-tama
menghasilkan spesifikasi keseluruhan proses, dan kemudian secara progresif membagi desain
menjadi sub-proses komponen. Misalnya sebuah proses untuk membaca sebuah file bisa dibagi
dua seperti yang ditunjukkan pada Gambar 3.1. Setiap lapisan dalam diagram menggambarkan
spesifikasi komponen desain yang lebih rinci yang dibutuhkan untuk membangun induk
(tingkat yang lebih tinggi). Misalnya, membaca data membutuhkan dua sub-proses 'Read Data
Element' dan 'Check End of File'. Tanda panah menggambarkan aliran data antara proses, dan
proses apapun hanya dapat terhubung ke orang tua langsung atau anak-anaknya sendiri.
Misalnya 'Close File' mungkin tidak berkomunikasi dengan proses 'Check End of File'.
\
Gambar 3.1 Filosofi Desain Modular Top Down
Metode analisis ini menghasilkan definisi fungsional yang modular dengan rapi.
Namun, mekanisme analisis top down tidak menginstruksikan perancang pada bentuk
data yang dilewatkan di antara blok fungsional. Ini harus berasal dari tempat lain - fungsi
'Elemen Baca Elemen' tidak mengatakan apakah data ada dalam struktur data agregat ASCII,
heksadesimal atau majemuk tertentu.
Bahkan dalam metode analisis yang lebih terstruktur, seperti VDM [6], penekanan dalam
desain adalah pada pra dan pasca-syarat fungsi. Namun, analisis terperinci dan terstruktur ini
menentukan data keadaan sebuah proses. Untuk melanjutkan contoh membaca file, fungsi
'Baca Data' bisa memiliki pra / post-syarat berikut ini:
Ini menyiratkan bahwa proses tersebut harus memiliki penanda data akhir-of-file sebagai
bagian dari informasi negara untuk proses tersebut. Namun, dorongan utama analisis masih
bergantung pada rancangan blok fungsional, dengan data merupakan produk dari analisis ini.
Beberapa kata benda ini, seperti Open Architecture, mungkin akan tidak ditampilkan pada
daftar.
Demikian juga kata kerja di setiap kalimat menghasilkan sejumlah fungsi yang
dibutuhkan. Misalnya, dalam kasus 'Jaringan Distribusi Ketenagalistrikan' yang diusulkan, kita
memiliki fungsi anggota kandidat sebagai berikut:
Merubah
Pembaruan (grafis / tampilan)
Sertakan (item pabrik)
Tampilan
Teknik sederhana inilah yang menghasilkan titik awal untuk pembangunan objek kelas dalam
sebuah aplikasi.
Kepatuhan terhadap hukum Demeter harus mengurangi jumlah ketergantungan antar kelas dan
membuat penggunaan kembali kode lebih banyak dalam sejumlah aplikasi.
Mesin negara berhingga yang telah selesai digunakan untuk menggambarkan hubungan
ini. Mealy kondisi mesin dan Harel statechart notasi [10] keduanya digunakan oleh Rumbaugh
untuk menangkap metode yang mungkin memiliki kelas.
3.2.4.2 Modularitas
Prinsip enkapsulasi menghasilkan antarmuka publik ke dunia luar untuk setiap objek.
Pengguna objek tidak perlu tahu dan dipisahkan dari implementasi internal objek. Dengan
demikian, perubahan pada data internal objek diisolasi ke objek sendiri, dan tidak ada
perubahan eksternal yang perlu dilakukan.
3.2.4.3 Ekstensibilitas
Jika model perlu diperluas melalui penambahan kelas lebih lanjut, penggunaan pewarisan
seringkali dapat mengurangi beban kerja yang dibutuhkan. Sebagai contoh, diberi model
analisis sistem tenaga yang berisi kelas Generator, penambahan kelas baru - Coal-Fired
Generator - tidak memerlukan usaha besar: perancang hanya menciptakannya sebagai subkelas
metode spesifik Generator dan overloads di kelas baru Sebagian besar kode tidak harus
diimplementasikan kembali.
BIPS pada awalnya menerapkan arsitektur SIMIAN di C ++, dengan menggunakan database
ObjectStore untuk menyediakan repositori data pusat yang dibutuhkan, dan CORBA (Common
Object Request Broker Architecture) standar komunikasi. Menggunakan dari database
berorientasi objek dalam industri sistem tenaga harus mengarah pada peningkatan kinerja
sambil menangani data yang semakin kompleks dan ekstensif set. Selain itu kompleksitas objek
itu sendiri sangat disederhanakan mengadopsi desain dan implementasi orientasi objek.
3.3.1 Hirarki Gambaran dari Kelas SIMIAN
Bagian atas hierarki kelas SIMIA mendefinisikan fungsionalitas dasar yang umum
untuk semua objek di dalam sistem. Setiap lapisan didefinisikan untuk melakukan fungsi
tertentu (Gambar 3.4).
Superclass abstrak, perilaku dinamis dan kelompok kelas pesan membentuk kelas inti
arsitektur, terlepas dari penerapannya. Kelompok kelas selanjutnya bergantung pada aplikasi.
Gambar 3.5 hanya menggambarkan topologi jaringan dan hierarki kelas model, meskipun
dalam aplikasi lain, seperti yang diperlukan untuk mengintegrasikan sistem SCADA ke dalam
arsitektur, kelas hierarki tersebut akan ditempatkan pada posisi hierarki paralel di dalam
diagram dan disajikan dari yang terpisah. (meskipun dihubungkan melalui CORBA) database
obyek-orientasi.
Bagian berikut menjelaskan implementasi komponen-komponen dari arsitektur SIMIAN
dan implikasinya terhadap aplikasi dan algoritma.
Dalam tahap desain sebuah aplikasi orientasi objek adat kebiasaan objek adalah sering
didirikan oleh mesin untuk mendefinisikan keadaan logika yang diusulkan kelas dalam sistem
[1,9,15] .Yang berlaku kondisi untuk kelas ini kemudian diterjemahkan ke dalam kode program
untuk menciptakan anggota data internal dan batasan eksternal untuk kelas .
Perancangan dari kelas SIMIAN juga mengikuti prinsip ini, tetapi bukan
menerjemahkan model kondisi mesin ke statis, pernyataan pemrograman, menuntut agar setiap
objek dalam sistem dikaitkan dengan mesin kondisi eksplisit.
Mendeklarasikan perilaku objek dalam mesin kondisi eksplisit memberikan sejumlah
manfaat atas mekanisme tradisional dari pernyataan program.
Enkapsulasi dari perilaku objek eksplisit dalam satu kelas.
Perilaku objek, meski dikaitkan dengan pewarisan kelas, tidak sesuai dengan itu,
menghilangkan kesulitan yang terkait dengan kondisi dan pewarisan [16].
Mesin kondisi dimodifikasi pada saat run-time.
Pengguna dapat mengubah perilaku suatu objek
Perubahan kondisi mungkin dipicu secara dinamis melalui satu antarmuka pengguna.
Perilaku suatu objek mungkin terkait dengan pengguna melalui satu mekanisme dan bukan
serangkaian atribut yang beragam (sehingga mempermudah perancangan antarmuka
pengguna).
Keadaan mesin internal masing-masing objek memberikan model perilaku dinamis
untuk objek kepemilikan. Dari Gambar 3.5, masing-masing mesin kondisi dapat didasarkan
pada mesin induk induk. Pengeditan run-time dapat dilakukan dengan membuat mesin anak
(secara analog dengan pewarisan kelas) - melibatkan perubahan hanya pada contoh perilaku
kelas, atau alternatifnya ke mesin kondisi terkait, mengubah perilaku semua benda kelas yang
terkait dengan mesin yang diberikan serta semua anaknya.
Setiap mesin kondisi berisi satu set keadaan internal, satu set pemicu eksternal dan satu
set transisi. Setelah semua masukan menyatakan untuk transisi adalah VALID, transformasi ke
keadaan keluaran dipertimbangkan. Jika transisi selesai (lihat di bawah), sebuah pesan dikirim
ke objek aplikasi Event Handler untuk memberi tahu aplikasi yang tertarik mengenai
kemungkinan perubahan data contoh kelas.
Pada Gambar 3.7, perubahan keadaan saklar sekarang memerlukan konfirmasi - dua kondisi
memicu tambahan dan dua keadaan internal tambahan dimasukkan. Selain itu, fungsi dinamis
(sendMessage) sekarang dikaitkan dengan transisi dari 'Switch Open Pending' menjadi 'Open'.
Fungsi sendmessage (umum untuk semua objek) mengirimkan pesan ke event handler
SIMIAN, yang selanjutnya akan diteruskan ke objek aplikasi yang relevan untuk memberikan
sinyal yang dapat didengar di meja kontrol.
Penting untuk dicatat bahwa penggabungan fungsi ini dapat dilakukan selama sistem
run-time. Mesin kondisi dapat diedit oleh petugas yang berwenang setiap saat, sedangkan
kaitan antara kode inti dan sinyal yang terdengar adalah melalui pesan yang melintas protokol
ke aplikasi independen (yang mungkin atau mungkin tidak mengakses inti OODBMS).
bawah, grup A kemungkinan memiliki koneksi nol, Port memiliki satu, Pipa memiliki dua dan
Web memiliki kemungkinan interkoneksi ke objek lain. Pembatasan lebih lanjut dapat
diperkenalkan di kelas anak untuk melarang interkoneksi tanaman tertentu (seperti barang
pabrik yang beroperasi pada tingkat voltase yang berbeda-beda, misalnya 132 kV langsung ke
415 V).
Selain interkoneksi, model dapat diwakili oleh model lain, dan mungkin juga mengandung
model lain.
3.4.1 Model Agregasi
Dalam pemodelan sistem tenaga sering ada kebutuhan untuk menggabungkan entitas
(baik fisik maupun abstrak) menjadi satu 'model komponen'. Misalnya, saklar pemilih bus
secara logis terdiri dari dua switch, namun sebenarnya adalah 'komponen' tunggal (dualitas
juga terlihat antara transformer dan belitan dan jaringan distribusi dan gardu induk di
dalamnya).
3.6 Kesimpulan
Dari hasil awal, arsitektur SIMIAN nampaknya bisa diterapkan dan sistem yang efisien
untuk pemodelan sistem tenaga. Pekerjaan masa depan akan menyelidiki efek penskalaan
dalam ukuran jaringan. Jaringan IEEE 30-Bus adalah tidak realistis kecil dibandingkan dengan
studi perencanaan distribusi khas 5000 node.
Kemampuan perilaku dinamis dari sistem SIMIAN ditemukan memungkinkan
perpanjangan yang mudah, sekaligus mempertahankan sifat arsitektur yang berorientasi objek.
Integrasi GUI untuk parameter model penjelajahan dan representasi topologi jaringan
diimplementasikan dengan dinamis fungsi, dan fungsionalitas mesin negara. Penggunaan
mekanisme yang umum tidak hanya disederhanakan desain tapi juga memungkinkan kelas GUI
resultan untuk menjadi dibangun dengan cara yang sangat generik dan sebagai aplikasi
independen sepenuhnya benda. Dalam memasarkan 'aplikasi' ke platform perangkat keras yang
berbeda, seperti PC, Kemampuan terakhir ini mengharuskan hanya satu bagian ini yang perlu
di porting objek aplikasi server mungkin tetap berada di workstation. Selain itu, otomatis
update informasi antar aplikasi dan OODBMS diselesaikan secara mulus melalui sistem
penanganan event. Dari ini Pengalaman, nampaknya aplikasi yang lebih kompleks, misalnya
SCADA, bisa Jadilah 'melesat' dengan cara yang sebanding.