Konfigurasi dan Wiring

Slides:



Advertisements
Presentasi serupa
Teknik Pemrograman Terstruktur
Advertisements

Bab 6 PERANCANGAN PERANGKAT LUNAK
STRUKTUR DATA (5) Pointer dan Function
Modular Programming Slamet Kurniawan, S.Kom.
1 & 2.  Rekayasa = Engineering - pemakaian ‘science’ untuk menyelesaikan’masalah praktis’ - Dari tidak ada menjadi ada.
RECORD.
Subprogram Minggu V – VI
PERANCANGAN PERANGKAT LUNAK
Prosedur (Procedure).
BAB IV SUB PROGRAM DAN FUNGSI
Function Ery Setiyawan Jullev.
SIKLUS PENGEMBANGAN SISTEM
PERTEMUAN 7 Pemrograman Visual
STRUKTUR DATA (5) Pointer dan Function
Procedure , Function dan Parameter
STRUKTUR DATA Pointer dan Function
Modul 4 Prosedur dan Fungsi.
Fungsi Fungsi (Sub Program) :
Abstraksi dan Generalisasi
1 Pertemuan Fungsi Matakuliah: T0016 / Algoritma dan Pemrograman Tahun: 2007 Versi: 6.
1. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :  Mendemonstrasikan penggunaan fungsi serta pengiriman parameter 2.
SUBRUTIN By Adnan Purwanto, S.Kom.
KERNEL Minggu ke 2.
Fungsi dan Prosedur.
Prosedur dan Fungsi Triana Elizabeth, S.Kom.
PROCEDURE AND FUNCTION
BAB 6 FUNGSI DAN PROSEDUR.
Prosedur dan fungsi By Serdiwansyah N. A..
Pemrograman Visual I Outline: Method Method Void & fungsi
Operating System Structure
Operating System Structure
Sistem Operasi Pendahuluan.
DATABASE ADMINISTRATION
Pemrograman Dasar TinyOS
Struktur Sistem Operasi
Algoritma pemrograman 2a
SUBALGORITMA.
Virtual Memory Virtual Memory Virtual Memory Virtual Memory
Operating System Structure
POLYMORPHISM.
Sistem Informasi Psikologi
Analisis Kinerja Sistem Pertemuan ke 3
Prinsip-prinsip Pemasaran
Object Oriented Programming
Basis Data.
Bagian 1 Definisi Pemasaran dan Proses Pemasaran
BAB IV : SISTEM OPERASI KOMPUTER
SISTEM INFORMASI BERBASIS KOMPUTER
Fungsi, Parameter & Rekursi
Model Eksekusi TinyOS.
Pemrograman Dasar TinyOS Menggunakan nesC
DATABASE ADMINISTRATION
Pengenalan TinyOS.
IT234 ALGORITMA DAN STRUKTUR DATA
for further detail, please visit
SISTEM OPERASI (Struktur Sistem Operasi)
Review Algoritma 1 Teks Algoritma terdiri dari tiga bagian :
A. Sistem Operasi Fungsi Sistem Operasi
A.SISTEM OPERASI BAB 4.
Suplemen collaboration diagram component diagram
PERENCANAAN PENYELENGGARAAN EVENT
DASAR - DASAR PERANCANGAN PERANGKAT LUNAK
Teknik Pemrograman Terstruktur
Pemrograman Terstruktur
Pemrograman Terstruktur
SI702 Tata Kelola Sistem Informasi Pertemuan #9
KERNEL Minggu ke 2.
PEMBUATAN APLIKASI COMBINE IMAGE DENGAN MENGGUNAKAN Luqman Alghifari Hakim. for further detail, please visit
Bagian 1 Definisi Pemasaran dan Proses Pemasaran
PIHAK-PIHAK YANG BERPERAN DALAM KASUS.
Transcript presentasi:

Konfigurasi dan Wiring

Motivasi TinyOS dibangun dari berbagai lapis komponen Suatu komponen sangat mungkin terkait dengan berbagai komponen yang lain Mengkaitkan komponen-komponen dalam nesC dilakukan di dalam konfigurasi: kenyataannya, program pada TinyOS mengandung lebih banyak konfigurasi daripada modul Konfigurasi berarti suatu komponen yang tinggal pakai: semua komponen yang terkait sudah di-wiring dalam satu konfigurasi Selain melakukan wiring, konfigurasi juga mengekspor antarmuka

Contoh

Operator -> and <- revisited nesC Hasil kompilasi ke C

Operator = Seperti halnya modul, konfigurasi juga dapat menyediakan atau menggunakan antarmuka Namun karena konfigurasi tidak memiliki kode implementasi, maka harus disedikan oleh komponen lain Cara adalah dengan menjadi proxy, yaitu dengan mengubah implementasi komponen lain menjadi seolah-olah implementasinya Operator yang digunakan adalah = Operator = menghubungkan antarmuka pada signature konfigurasi dengan komponen di implementasi

Contoh

Kesimpulan Operator -> dan <- menggabungkan komponen yang sudah ada dan melengkapi signature yang sudah ada Operator = mendefinisikan bagaimana antarmuka sebuah konfigurasi diimplementasikan: tentu saja dengan “meminjam” komponen (baca: modul) lain Dengan kata lain, konfigurasi mendelegasikan antarmuka pada signature-nya ke komponen lain dengan operator =

Serba-serbi Konfigurasi Penggunaan kata kunci “as” digunakan dalam mengelola namespace mengingat penamaan komponen pada nesC adalah flat (nama adalah global) Penggunaan kata kunci “as” juga dapat digunakan untuk menyingkat nama komponen Dalam hal wiring, maka nama yang digunakan adalah nama di belakang kata kunci “as”: sesungguhnya kata kunci “as” ditambahkan secara implisit

Serba-serbi Konfigurasi Dalam melakukan wiring, antarmuka dapat dipandang sebagai tipe data: 2 komponen dapat dihubungkan jika memiliki (baca: menyediakan atau menggunakan) antarmuka yang sama Dalam melakukan wiring, boleh tidak disebutkan nama antarmuka di salah satu komponen, berlaku pula pada saat mengekspor antarmuka Ingat: penyingkatan wiring tidak dilakukan berdasarkan nama melainkan berdasarkan peran komponen (penyedia atau pengguna): tidak boleh menghubungkan peran yang sama

Serba-serbi Konfigurasi Masih ingat akhiran C dan P? Maka ingatlah bahwa praktek tersebut tercakup dalam Programming hint 11 Auto-initialization dapat dilakukan pada tingkat konfigurasi: berguna untuk memastikan bahwa suatu komponen (atau abstraksi layanan) telah diinisialisasi pada saat booting Auto-initialization dilakukan dengan menghubungkan pada MainC (Programming hint 12)

Serba-serbi Konfigurasi Membangun abstraksi yang lebih besar/kompleks dengan menggabungkan berbagai komponen terkait dalam lapisan-lapisan pada suatu konfigurasi memberikan keuntungan Extensibility: meskipun kodenya menjadi lebih kompleks, tetapi lebih mudah dimodifikasi Hardware specificity: membagi abstraksi menjadi lapisan-lapisan mempermudah dalam hal mengubah implementasi yang spesifik perangkat keras Tapi ingat: pada saat menggunakan abstraksi/layanan jangan melakukan wiring pada lapisan yang berbeda-beda (Programming hint 13)

Serba-serbi Konfigurasi Multiple wiring dapat terjadi karena tugas wiring adalah “menghubungkan”: artinya, tidak salah jika komponen A telah dihubungkan dengan komponen B kemudian juga dihubungkan dengan komponen C Mengingat wiring adalah hubungan dua arah, maka ada kemungkinan (atau kepastian?): Fan out: satu komponen “memanggil” banyak komponen, contoh event Fan in: banyak komponen “memanggil” satu komponen, contoh command

Serba-serbi Konfigurasi Jadi, sesungguhnya tidak ada hubungan yang unik (baca: satu ke satu) antara komponen Hati-hati, fan in dan fan out tidak menentukan urutan pemanggilan: tergantung saat kompilasi meskipun bisa diatur dengan cara tertentu (silakan Bab 9) nesC memperlakukan multiple wiring secara hati-hati, yaitu pada kasus hubungan “transitif”: A -> B, A -> C, B -> C maka pemanggilan B ke C akan berhenti pada C (tidak terjadi rekursi)

Serba-serbi Konfigurasi Pada kasus fan out terdapat fungsi penggabungan (combine function) untuk menggabungkan nilai kembalian suatu fungsi Fungsi penggabungan harus disediakan dan harus bersifat asosiatif dan komutatif: tidak terpengaruh urutan atau pengelompokan pemanggilan fungsi Jika tidak ada fungsi penggabungan, maka nesC mengeluarkan peringatan (Programming hint 14) Contoh pada kembalian fungsi dengan tipe error_t Jika nilai kembaliannya sama, maka nilai tersebut dikembalikan ke pemanggil Jika berbeda berbeda maka akan mengembalikan FAIL