Mohon tunggu...
Johan Japardi
Johan Japardi Mohon Tunggu... Penerjemah - Penerjemah, epikur, saintis, pemerhati bahasa, poliglot, pengelana, dsb.

Lulus S1 Farmasi FMIPA USU 1994, Apoteker USU 1995, sudah menerbitkan 3 buku terjemahan (semuanya via Gramedia): Power of Positive Doing, Road to a Happier Marriage, dan Mitos dan Legenda China.

Selanjutnya

Tutup

Gadget Pilihan

Model Perangkat Lunak Swa-Organisasi untuk IoT, Bagian 2/2

8 September 2021   01:49 Diperbarui: 8 September 2021   01:51 325
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.
Lihat foto
IoT. Sumber: https://bit.ly/3yLRlpi

Sambungan dari: Model Perangkat Lunak Swa-Organisasi untuk IoT, Bagian 1/2.

***
Struktur perangkat lunak kompleks muncul tanpa sebuah pengontrol sentral.

Gagasan perangkat lunak swa-organisasi kontras dengan sistem swa-adaptif. Ini karena sistem swa-adaptif sering membutuhkan para manajer adaptasi untuk mengontrol seluruh proses adaptasi di luar model perangkat lunak. Proses ini disebut sebagai adaptasi eksogen.

Sebaliknya, adaptasi dicapai melalui swa-organisasi, dan karena itu terjadi secara murni terdesentralisasi tanpa memerlukan otoritas sentral, pengontrol eksternal, atau pemimpin. Proses ini disebut sebagai adaptasi endogen.

Tidak seperti perangkat lunak swa-adaptif, dalam model perangkat lunak swa-organisasi tidak ada gagasan tentang sistem yang dikelola atau mengelola, karena komponen-komponen, yang termasuk dalam sistem itu sendiri, secara kolaboratif mewujudkan adaptasi dengan munculnya perilaku komputasi.

Seperti perangkat lunak swa-adaptif, ada pemicu adaptasi untuk memulai kemunculan komponen-komponen komposit setelah mendeteksi perturbasi-perturbasi di lingkungan operasi sistem internal atau eksternal. Perturbasi-perturbasi di lingkungan internal termasuk kegagalan sistem dan kinerja suboptimal.

Perturbasi-perturbasi yang ada di lingkungan eksternal termasuk perubahan dalam persyaratan pemangku kepentingan, penskalaan runtime (yaitu penambahan/penghapusan komponen), variasi lingkungan, dan peningkatan beban kerja.

Untuk mengilustrasikan bagaimana komponen perangkat lunak swa-organisasi menangani lingkungan-lingkungan terbuka, perhatikan contoh yang ditunjukkan pada gambar di bawah ini.

Contoh sebuah model perangkat lunak swa-organisasi. Sumber: IEEE Systems, Man, and Cybernatics, Vol. 7, No. 3, July 2021, hlm. 7.
Contoh sebuah model perangkat lunak swa-organisasi. Sumber: IEEE Systems, Man, and Cybernatics, Vol. 7, No. 3, July 2021, hlm. 7.

Pada waktu t0, 4 komponen berinteraksi untuk memenuhi persyaratan R1, R2, dan R3. Dalam hal ini, hasil dari swa-organisasi adalah perakitan komposit A, B, dan C.

Tiba-tiba, pada waktu t1, persyaratan R3 tidak lagi diperlukan, dan komponen E muncul. Karena persyaratan telah berubah dan komponen E menawarkan kinerja yang lebih baik daripada B, maka komponen-komponen yang ada mengatur diri sendiri untuk menghubungkan C dengan D dan mengganti B dengan E.

Perhatikan bahwa komponen C telah bermutasi dengan menambahkan port baru untuk memenuhi persyaratan R1 dan R2.

Akhirnya, pada jendela waktu yang terakhir, persyaratan R1, R2, dan R3 menjadi usang karena spesifikasi baru didefinisikan. Oleh karena itu, komponen-komponen mengatur diri sendiri sekali lagi untuk menyusun struktur komputasi yang sama sekali baru. Pada jendela waktu mana pun, komponen-komponen komposit muncul tanpa pengontrol atau pemimpin sentral.

Mengapa Model Perangkat Lunak Swa-Organisasi?
Dengan kemajuan pesat teknologi perangkat keras dan komunikasi, sistem IoT menjadi semakin dinamis, besar secara fungsional, dan sangat kompleks, sehingga pengelolaan manual menjadi tidak mungkin.

Dinamisme atau tong susu (churn), membuat Benda-benda (dan komponen-komponen perangkat lunak) terus-menerus muncul dan menghilang di lingkungan jaringan yang sama sekali tidak pasti. Ini bisa menjadi konsekuensi dari mobilitas, kegagalan, atau koneksi jaringan yang buruk.

Skalabilitas fungsional adalah masalah lain yang muncul dari fakta bahwa fungsionalitas 1 Benda bisa divirtualisasikan oleh lebih dari 1 komponen perangkat lunak, dan ada banyak Benda yang tersedia. Faktanya, semakin banyak komponen yang tersedia, semakin banyak perilaku komputasi yang mungkin (yang berpotensi menyebabkan masalah ledakan kombinatorial).

Terakhir tetapi tidak kalah penting, kompleksitas mengacu pada jumlah interaksi antara komponen-komponen perangkat lunak, dan ini terkait erat dengan skalabilitas fungsional karena semakin banyak komponen perangkat lunak yang disusun, semakin kompleks pula sebuah sistem.

Oleh karena itu, untuk mengatasi tantangan yang akan segera terjadi ini, sangat penting untuk menyediakan teori enjiniring perangkat lunak yang memfasilitasi konstruksi sistem perangkat lunak IoT autonom.

Kebanyakan penelitian yang dilakukan dalam bidang komputasi autonom dibangun di atas manajer adaptasi tersentralisasi (misalnya, loop kontrol monitor - analisis -rencana -eksekusi -pengetahuan). Namun, karena hukum variasi yang diperlukan, yang mengacu pada ledakan jumlah keadaan sistem, solusi autonom top-down seperti itu tidak cocok untuk menangani lingkungan terbuka yang realistis seperti IoT.

Karena swa-organisasi adalah pendekatan bottom-up yang terkenal yang menangani secara tepat tantangan yang dihadapi IoT, beberapa upaya awal telah dilakukan untuk mengaplikasikan prinsip-prinsip swa-organisasi dalam ranah IoT.

Namun, sebagian besar pekerjaan ini telah dilakukan dari perspektif enjiniring sistem umum, bukan perspektif enjiniring perangkat lunak. Hanya beberapa karya yang telah dirancang dalam konteks model perangkat lunak swa-organisasi.

Karena sistem IoT menjadi semakin intensif perangkat lunak, kita perlu mendefinisikan aturan swa-organisasi dalam semantik komponen-komponen perangkat lunak. Jika tidak, swa-organisasi tidak terjadi di antara komponen-komponen perangkat lunak tetapi di antara sesuatu yang lain (misalnya, simpul-simpul jaringan atau robot).

Kita perlu memanfaatkan fleksibilitas dan pengelolaan yang ditawarkan perangkat lunak versus perangkat keras (membandingkan jaringan-jaringan yang didefinisikan perangkat lunak) untuk mengadaptasi sistem IoT ke konteks operasi yang berbeda.

Pada akhirnya, itu adalah perangkat lunak yang mengontrol sistem-sistem tertanam (embedded systems) dalam Benda-benda, dan karena itu, swa-organisasi selalu berasal dari dunia virtual.

Sistem-sistem tertanam hanyalah antarmuka-antarmuka ke realitas fisik, karena menyediakan mekanisme untuk menyusun /memunculkan perilaku-perilaku komputasi yang kompleks dengan cepat tanpa entitas adaptasi tersentralisasi apa pun. Model-model perangkat lunak swa-organisasi adlaah sebuah kontribusi penting untuk bidang komputasi autonomik.

Tantangan dan Arah Potensial Penelitian
Karena sifatnya yang nondeterministik, tantangan utama swa-organisasi adalah memunculkan fungsionalitas yang bermakna dari interaksi-interaksi yang terdesentralisasi.

Karena konsep yang bermakna bervariasi dari satu domain ke domain lainnya, model-model tujuan (misalnya, RELAX dan KAOS) bisa digunakan untuk menspesifikasi perilaku-perilaku seluruh sistem yang diharapkan dalam bentuk requirements@run.time (yang harus dipenuhi tanpa pembuat alasan sentral).

Selain model-model tujuan, teknik-teknik verifikasi/pengujian runtime bisa diintegrasikan untuk membuktikan kebenaran perilaku-perilaku komputasi yang muncul,semua ini tanpa mengorbankan operasi sistem.

Selain berurusan dengan nondeterminisme dan kebenaran, tantangan lain adalah sebagai berikut:
1. Ketidaklengkapan
Karena sifat yang terdesentralisasi, komponen-komponen perangkat lunak tidak selalu bisa memiliki pandangan yang lengkap dan konsisten tentang lingkungan operasinya (misalnya, pengetahuan tentang komponen-komponen lain yang tersedia atau menjalankan struktur-struktur komposisi).

Ini terutama benar dalam ekosistem-ekosistem IoT dengan sejumlah besar komponen perangkat lunak IoT. Bagaimana pengetahuan bisa disebarluaskan secara efisien untuk mempertahankan representasi akurat dari dunia di bawah lingkungan-lingkungan yang sangat dinamis?

2. Swa-Eksplanasi
Transparansi pengambilan keputusan adalah sebuah keharusan dalam pendekatan tanpa campur tangan manusia karena pengguna mungkin memerlukan penjelasan tentang munculnya perilaku komputasi tertentu. Bagaimana swa-eksplanasi (penjelasan mandiri) bisa disediakan dalam model-model perangkat lunak swa-organisasi, terutama ketika komponen-komponen peserta sepenuhnya autonom dan beroperasi dalam domain-domain administratif yang berbeda?

3. Pengukuran
Sampai saat ini, ada banyak penelitian tentang sistem swa-organisasi di mana banyak metrik evaluasi yang berbeda telah diusulkan, misalnya entropi, kerapuhan (fragility), dan stabilitas. Apakah metrik-metrik ini cocok untuk mengevaluasi kemunculan komputasi dalam model-model perangkat lunak swa-organisasi? Jika tidak, metrik-metrik apa yang paling cocok untuk domain enjiniring perangkat lunak itu?

4. Kuantifikasi Ketidakpastian
Karena sistem-sistem IoT beroperasi dalam lingkungan yang penuh dengan ketidakpastian aleatorik dan epistemik, tidak mungkin untuk memprediksi ruang program-program kompleks yang muncul dari komponen-komponen perangkat lunak yang muncul dan menghilang secara dinamis.

Untuk mengontrol konstruksi ruang-ruang tersebut, pendekatan kuantifikasi ketidakpastian bisa digunakan untuk mendefinisikan mekanisme pengambilan keputusan yang bisa  dipercaya yang secara proaktif menyesuaikan cara komponen-komponen berinteraksi. Apa konstruk-konstruk semantik yang memungkinkan komponen-komponen perangkat lunak untuk secara kolaboratif memecahkan masalah-masalah kuantifikasi ketidakpastian?

5. Evolusi Dinamis Aturan-aturan Swa-Organisasi
Aturan-aturan swa-organisasi bisa ditentukan sebelumnya pada waktu desain. Namun, dalam skenario tertentu, aturan-aturan itu mungkin tidak cukup untuk mencapai tujuan-tujuan sistem global.

Apakah mungkin untuk mendefinisikan teknik-teknik pembelajaran terdesentralisasi (misalnya, pembelajaran penguatan kolaboratif/multiagen) untuk aturan-aturan swa-organisasi yang berkembang secara dinamis tanpa campur tangan manusia?

6. Penalaran Evolusi
Model-model perangkat lunak swa-organisasi selalu berkembang saat runtime, sehingga menjadi perlu untuk mempertimbangkan dinamika.

Evolusi pemodelan dalam sistem-sistem swa-organisasi tradisional bisa dilakukan dengan menggunakan aljabar, logika temporal, atau jaringan Petri dari proses.

Apakah teknik-teknik ini cocok untuk alasan tentang perangkat lunak yang swa-evolusi? Jika tidak, teknik-teknik penalaran mana yang lebih tepat?

7. Semantik Perangkat Lunak dan Aturan Swa-Organisasi
Mendefinisikan aturan-aturan swa-organisasi generik untuk menyusun perangkat lunak secara autonom dalam domain IoT yang berbeda adalah sebuah tantangan.

Ini menimbulkan pertanyaan tentang aturan-aturan swa-organisasi apa yang paling cocok untuk model-model perangkat lunak IoT. Bisakah kita menanamkan aturan-aturan itu dalam semantik sebuah model komponen (universal)? Bisakah kita mengambil inspirasi dari sistem biologis swa-organisasi untuk menentukan model-model komponen yang terinspirasi secara biologis?

Kesimpulan
Meskipun impian untuk menghapus tugas-tugas yang dilakukan oleh para enjinir perangkat lunak masih jauh dari kenyataan, swa-organisasi menawarkan rute yang menggembirakan menuju sistem-sistem perangkat lunak generasi berikutnya di mana perangkat lunak tidak secara eksplisit diprogram tetapi muncul tanpa pengontrol sentral untuk memenuhi kebutuhan yang konteks tertentu saat runtime. Kelas abstraksi ini disebut sebagai model-model perangkat lunak swa-organisasi.

Kepustakaan
1. Arellanes, Damian, Self-Organizing Software Models for the Internet of Things, IEEE Systems, Man, and Cybernatics, Vol. 7, No. 3, July 2021, hlm. 4-9.
2. Diary Johan Japardi.
3. Berbagai sumber daring.

Jonggol, 7 September 2021

Johan Japardi

HALAMAN :
  1. 1
  2. 2
  3. 3
  4. 4
Mohon tunggu...

Lihat Konten Gadget Selengkapnya
Lihat Gadget Selengkapnya
Beri Komentar
Berkomentarlah secara bijaksana dan bertanggung jawab. Komentar sepenuhnya menjadi tanggung jawab komentator seperti diatur dalam UU ITE

Belum ada komentar. Jadilah yang pertama untuk memberikan komentar!
LAPORKAN KONTEN
Alasan
Laporkan Konten
Laporkan Akun