Arsitektur Arus Data

Dalam arsitektur aliran data, keseluruhan sistem perangkat lunak dilihat sebagai rangkaian transformasi pada bagian atau kumpulan data masukan yang berurutan, di mana data dan operasi tidak bergantung satu sama lain. Dalam pendekatan ini, data masuk ke dalam sistem dan kemudian mengalir melalui modul satu per satu sampai mereka ditugaskan ke beberapa tujuan akhir (keluaran atau penyimpanan data).

Koneksi antara komponen atau modul dapat diimplementasikan sebagai aliran I / O, buffer I / O, pipa, atau jenis koneksi lainnya. Data dapat diterbangkan dalam topologi grafik dengan siklus, dalam struktur linier tanpa siklus, atau dalam struktur tipe pohon.

Tujuan utama dari pendekatan ini adalah untuk mencapai kualitas penggunaan kembali dan modifiabilitas. Ini cocok untuk aplikasi yang melibatkan serangkaian transformasi data independen atau komputasi yang terdefinisi dengan baik pada input dan output yang ditentukan secara teratur seperti kompiler dan aplikasi pemrosesan data bisnis. Ada tiga jenis urutan eksekusi antara modul-

  • Batch berurutan
  • Pipa dan filter atau mode pipa tidak berurutan
  • Pengendalian proses

Batch Sequential

Sekuensial batch adalah model pemrosesan data klasik, di mana subsistem transformasi data dapat memulai prosesnya hanya setelah subsistem sebelumnya selesai sepenuhnya -

  • Aliran data membawa sekumpulan data secara keseluruhan dari satu subsistem ke subsistem lainnya.

  • Komunikasi antar modul dilakukan melalui file perantara sementara yang dapat dihapus oleh subsistem yang berurutan.

  • Ini berlaku untuk aplikasi di mana data dikumpulkan, dan setiap subsistem membaca file input terkait dan menulis file output.

  • Aplikasi khas dari arsitektur ini mencakup pemrosesan data bisnis seperti perbankan dan penagihan utilitas.

Keuntungan

  • Menyediakan divisi yang lebih sederhana pada subsistem.

  • Setiap subsistem dapat menjadi program independen yang mengerjakan input data dan menghasilkan data output.

Kekurangan

  • Memberikan latensi tinggi dan throughput rendah.

  • Tidak menyediakan konkurensi dan antarmuka interaktif.

  • Kontrol eksternal diperlukan untuk implementasi.

Arsitektur Pipa dan Filter

Pendekatan ini menekankan pada transformasi data secara bertahap oleh komponen yang berurutan. Dalam pendekatan ini, aliran data digerakkan oleh data dan seluruh sistem diuraikan menjadi komponen sumber data, filter, pipa, dan penyerap data.

Koneksi antar modul adalah aliran data yang merupakan buffer pertama masuk / keluar pertama yang dapat berupa aliran byte, karakter, atau jenis lain semacam itu. Fitur utama dari arsitektur ini adalah eksekusi bersamaan dan bertahap.

Saring

Filter adalah trafo aliran data independen atau transduser aliran. Ini mengubah data dari aliran data masukan, memprosesnya, dan menulis aliran data yang diubah melalui pipa untuk diproses oleh filter berikutnya. Ia bekerja dalam mode inkremental, di mana ia mulai bekerja segera setelah data masuk melalui pipa yang terhubung. Ada dua jenis filter -active filter dan passive filter.

Active filter

Filter aktif memungkinkan pipa yang terhubung untuk menarik data masuk dan mendorong keluar data yang diubah. Ini beroperasi dengan pipa pasif, yang menyediakan mekanisme baca / tulis untuk menarik dan mendorong. Mode ini digunakan dalam pipa UNIX dan mekanisme filter.

Passive filter

Filter pasif memungkinkan pipa yang terhubung untuk mendorong data masuk dan mengeluarkan data. Ini beroperasi dengan pipa aktif, yang menarik data dari filter dan mendorong data ke filter berikutnya. Ini harus menyediakan mekanisme baca / tulis.

Keuntungan

  • Memberikan konkurensi dan throughput tinggi untuk pemrosesan data yang berlebihan.

  • Menyediakan dapat digunakan kembali dan menyederhanakan pemeliharaan sistem.

  • Memberikan modifiabilitas dan kopling rendah antar filter.

  • Memberikan kesederhanaan dengan menawarkan pembagian yang jelas antara dua filter yang dihubungkan dengan pipa.

  • Memberikan fleksibilitas dengan mendukung eksekusi sekuensial dan paralel.

Kekurangan

  • Tidak cocok untuk interaksi dinamis.

  • Penyebut umum yang rendah diperlukan untuk transmisi data dalam format ASCII.

  • Overhead transformasi data antar filter.

  • Tidak memberikan cara bagi filter untuk berinteraksi secara kooperatif untuk memecahkan masalah.

  • Sulit untuk mengkonfigurasi arsitektur ini secara dinamis.

Pipa

Pipa tidak memiliki kewarganegaraan dan membawa aliran biner atau karakter yang ada di antara dua filter. Itu dapat memindahkan aliran data dari satu filter ke filter lainnya. Pipa menggunakan sedikit informasi kontekstual dan tidak menyimpan informasi status antar-instansiasi.

Arsitektur Kontrol Proses

Ini adalah jenis arsitektur aliran data di mana datanya tidak bertumpuk sekuensial atau aliran pipelined. Aliran data berasal dari sekumpulan variabel, yang mengontrol pelaksanaan proses. Ini menguraikan seluruh sistem menjadi subsistem atau modul dan menghubungkannya.

Jenis Subsistem

Arsitektur kontrol proses akan memiliki file processing unit untuk mengubah variabel kontrol proses dan a controller unit untuk menghitung jumlah perubahan.

Unit pengontrol harus memiliki elemen berikut -

  • Controlled Variable- Variabel Terkendali memberikan nilai untuk sistem yang mendasari dan harus diukur dengan sensor. Misalnya, kecepatan dalam sistem kendali jelajah.

  • Input Variable- Mengukur masukan untuk proses. Misalnya suhu udara balik dalam sistem kontrol suhu

  • Manipulated Variable - Nilai Variabel yang Dimanipulasi disesuaikan atau diubah oleh pengontrol.

  • Process Definition - Ini mencakup mekanisme untuk memanipulasi beberapa variabel proses.

  • Sensor - Memperoleh nilai variabel proses yang berkaitan dengan kontrol dan dapat digunakan sebagai referensi umpan balik untuk menghitung ulang variabel yang dimanipulasi.

  • Set Point - Ini adalah nilai yang diinginkan untuk variabel terkontrol.

  • Control Algorithm - Ini digunakan untuk memutuskan bagaimana memanipulasi variabel proses.

Area Aplikasi

Arsitektur kontrol proses cocok di domain berikut -

  • Desain perangkat lunak sistem tertanam, di mana sistem dimanipulasi oleh data variabel kontrol proses.

  • Aplikasi, yang bertujuan untuk mempertahankan properti tertentu dari keluaran proses pada nilai referensi yang diberikan.

  • Berlaku untuk kontrol jelajah mobil dan sistem kontrol suhu gedung.

  • Perangkat lunak sistem waktu nyata untuk mengontrol rem anti-lock mobil, pembangkit listrik tenaga nuklir, dll.