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).