Bagaimana cara memotong tambang teknologi informasi

Artikel ini merumuskan beberapa masalah teknologi informasi (TI) dan mempertimbangkan pendekatan untuk solusi mereka, yang mungkin menarik bagi pengembang arsitektur sistem komputer dan bahasa pemrograman, serta bisnis di bidang TI. Tetapi mereka semua, dengan pengecualian beberapa , hampir tidak percaya bahwa ada masalah, setidaknya dalam apa yang dijelaskan dalam artikel ini, terutama karena industri ini berkembang lebih dari. Namun, meskipun beberapa masalah tidak dikenali, bagaimanapun, mereka harus dipecahkan "secara menyeramkan" untuk waktu yang lama dan bertahap. Dan adalah mungkin untuk menghemat tenaga kerja dan uang jika Anda menyelesaikannya secara penuh dan sekaligus.

Baik ekonomi maupun komunikasi sosial sudah dimungkinkan tanpa menggunakan IT canggih. Jadi mari kita lihat mengapa teknologi yang digunakan saat ini tidak lagi cocok dan apa yang harus diganti dengannya. Penulis akan berterima kasih atas diskusi berkualitas yang konstruktif dan berharap untuk menemukan informasi yang berguna tentang solusi modern untuk "masalah" yang diangkat.

Ide-ide yang mendefinisikan arsitektur komputer tidak banyak berubah sejak zaman von Neumann. Ini didasarkan pada suatu algoritma dalam proses mengeksekusi urutan perintah yang datanya diproses. Oleh karena itu, aktor utama adalah proses (Controlflow), yang disediakan (sesuai dengan prioritas dan hierarki) sumber daya komputasi di bawah kendali sistem operasi (OS).

Urutan dan ketergantungan dari pemrosesan semua data dalam agregat dijelaskan dalam program pusat (terkemuka). Dan ketika membuat tipe data baru, perlu diramalkan dalam program terkemuka peluncuran algoritma untuk generasi tepat waktu mereka, dan mengatur momen dan metode penggunaannya ("pertemuan") dengan program lain. Tetapi untuk ini, masih perlu untuk mengoordinasikan struktur data yang harus ditemukan dari pengembang (bukan tanpa kepentingan komersial yang terakhir). Dan jika set data yang sebelumnya diproses oleh proses terkemuka independen, sesuai dengan logika pengembangan integrasi, mulai berpotongan, maka akan diperlukan untuk mengembangkan proses terkemuka baru yang mengintegrasikan program yang sebelumnya independen.
Semua ini terjadi terus menerus seiring dengan kemajuan dan perkembangan teknologi digital. Dan dengan demikian, semakin banyak kekuatan dan sarana hanya diperlukan untuk mempertahankan sistem dalam kondisi kerja, yang menjadi lebih monopolistik dan kurang terlihat. Bahkan di tingkat perusahaan, jumlah kelas data yang berbeda (tabel atau struktur yang berisi data) mencapai ratusan dan ribuan. Tidak mungkin bahwa di mana ada spesialis yang, secara keseluruhan, akan membayangkan bahwa, pada kenyataannya, mereka semua disimpan. Itu terjadi bahwa dengan pengembangan sistem pemrosesan dalam database (DB), "sampah" dari data dalam struktur lama terakumulasi, yang belum berpartisipasi dalam algoritma pemrosesan baru, tetapi dapat "diambil" ketika membuat permintaan data.

Seringkali lebih mudah untuk menambahkan add-on baru dari yang lama ke fitur aplikasi baru daripada menggunakan teknologi pemrograman objek yang ada, daripada memahami algoritma dan struktur data yang ada. Dan berkali-kali. Sangat mudah untuk melihat bahwa ini adalah jalan buntu.

Tentu saja, mereka mencari dan menemukan jalan keluar dari jalan buntu. Ini adalah sistem modifikasi basis data "on the fly", dan protokol pengiriman pesan, serta tulang punggung lintas-platform (bus) untuk pertukaran data, dll. Dan semua teknologi dan platform perangkat lunak ini terkadang diperbarui beberapa kali dalam sebulan. Tetapi jika ini terus berlanjut, maka keuntungan dari pengembangan TI selanjutnya akan menjadi lebih kecil dari biaya pengembangan ini. TI mengarah ke jalan buntu karena alasan berikut:

  • -, ;
  • -, , ;
  • -, , ( ), ;
  • , , . , -.

Penulis tidak mengklaim memiliki pengetahuan yang komprehensif tentang platform sistem modern dan bahasa pemrograman, yang terutama mulai berkembang setelah ia mencapai usia pensiun. Pengalaman pemrograman saya dimulai dengan pengembangan driver untuk pengambilan sampel data dari perekam telemetri untuk pengujian pesawat dan mesin roket (termasuk untuk roket bulan).

Pada masa itu, semua perangkat lunak untuk kompleks IVC (masing-masing berukuran hampir 200 meter persegi) habis oleh program kabel untuk input awal satu kartu punch dan peluncuran kode yang terdapat di dalamnya ditambah minimum rutinitas dalam bentuk paket kartu punch yang kurus. Sisanya yang dia bisa. Tetapi untuk alat perekam telemetri khusus tidak ada perangkat lunak.

Saya harus memprogram kode mesin dan alamat absolut, mengembangkan pada saat yang sama sekelompok driver untuk berbagai perangkat input / output dan subprogram, mulai dengan mengubah angka desimal menjadi kode biner dan memformat kembali. Nah, saya kemudian merujuk pada "kami tidak melalui ini", dan bahkan menyerah enam bulan jatuh di Baikonur, di mana sistem serupa dikerahkan - saat itu, bahkan pada perjalanan bisnis, mereka memberikan mantel kulit domba yang cukup bagus. Dan ketika akhirnya saya sampai di sana, itu tidak lagi. Pemrogram wanita sebelumnya belajar di sana, tetapi karena mereka berasal dari kepercayaan khusus dari departemen lain, mereka tidak seharusnya melakukannya, terutama di musim panas. Ngomong-ngomong, mereka mengatakan bahwa saat itu masih ada pemasangan dan penembakan perlengkapan langit-langit. Jadi, ketika salah satu gadis pertama kali menekan tombol "Input Awal",pada saat yang sama, tembakan pertama pistol rakitan bergemuruh. Gadis dan kursi itu dibawa pergi beberapa meter dari remote control.

Ya, dan saya tidak bisa terganggu oleh perkembangan arsitektur dari seluruh kompleks perangkat lunak dan tahap-tahap pemrosesan telemetri, meskipun saya bukan bos saat itu. Jadi saya harus secara pribadi dan lembur mengembangkan assembler, kemudian debuggers (untuk 2 jenis komputer yang berbeda, salah satunya juga menekan kartu dan kaset menekan lainnya) secara real time dengan intersepsi dari gangguan sistem dan deteksi loop. Sebagai lulusan dari Institut Fisika dan Teknologi (MIPT), saya harus mengambil semua omong kosong biner ini, meninggalkan yang lain algoritma komputasi yang jelas. Dan mereka membawa saya ke kantor ini karena di biro desain tetangga (yang diciptakan setelah perang dan setengah dari karyawan pada awalnya adalah insinyur dan desainer dari pabrik Junkers dan Messerschmidt Jerman yang diekspor ke Uni Soviet bersama dengan peralatan,staf dan keluarga mereka) Saya memodelkan sistem mesin turbojet pada kompleks komputer analog MPT-9 (lampu, foto di bawah ini - tidak ada gambar yang lebih baik; lemari ukuran orang, dan persegi panjang putih kecil adalah skala voltmeter per 100 volt) untuk debugging sistem kontrol mesin .



Ketik AVM atau komputer digital - apa bedanya? Dan saya harus mengatakan, untuk lulusan departemen pendidikan jasmani saat itu benar-benar hampir tidak ada. Di fakultas saya, bagaimanapun, ini sama sekali tidak diajarkan dan, seperti yang terjadi, kemudian tidak diminati. Prinsip-prinsip pengoperasian komputer analog dan digital (setengah-tambahan, register geser, dan semua itu) diajarkan kepada kami di departemen militer, seperti keterampilan menghitung parameter peluncuran rudal Bumi-ke-Bumi kelas target ke angka 5 di slide rule panjang meter. Saya percaya tidak ada yang seperti ini sekarang. Tetapi ketika mereka memutuskan untuk memperkenalkan kursus pemrograman ke kursus kami, maka hampir semua (!) Siswa menyatakan bahwa mereka, sebagai "ilmuwan murni," tidak akan pernah membutuhkan ini - dan memboikot kuliah. Tentu saja, ini tidak berlaku untuk siswa Departemen Teknik Komputer - bagi mereka setiap mikrodetik disimpan dalam rutinitas untuk BESM-6,memberi, menurut rumor, premi hampir 20 rubel. Ini terlepas dari kenyataan bahwa beasiswa di kursus senior adalah 55 rubel. Dan kami, para pemogok, membatalkan pengiriman makalah tentang pemrograman - tetapi kemudian saya, dan banyak dari teman-teman mahasiswa saya, akhirnya memprogram.

Seiring waktu, untuk komputer kita (yah, itu masih belum BESM-6, tetapi lebih sederhana dan jauh kurang terkenal), seorang penerjemah dengan Algol-60 muncul, tetapi tanpa perpustakaan subprogram, entah bagaimana tidak perlu bagi mereka. Di assembler, ya dengan debugger, mudah memprogram apa pun. Selanjutnya, ia datang ke pengembangan pita magnetik disk dan sistem operasi disk (transparan dari sisi perangkat lunak aplikasi dan antarmuka operator - ini untuk kemungkinan keluar dari disk berdiri) dengan kontrol, sekarang mereka akan mengatakan, file Bat. Dan akhirnya, pengawas tugas dikembangkan yang menjalankan file bat skrip untuk mengambil data yang diminta oleh operator. Dia bahkan ingin mengembangkan sistem operasi yang lengkap, karena nantinya menjadi seperti Unix, tetapi sehubungan dengan transisi ke jenis komputer Ryad, ini tidak menjadi tidak pantas.

Dalam keadilan, saya akan mengatakan bahwa saya terlibat tidak hanya dalam perangkat lunak sistem. Ketika menjadi perlu untuk mengembangkan program transformasi Fourier cepat untuk analisis spektral, saya harus melakukan ini dengan cepat dan cepat, terutama karena saya tidak dapat menemukan deskripsi yang dapat dimengerti dari algoritma FFT. Saya harus menemukannya kembali. Ya, hal-hal seperti itu.

Saya perhatikan bahwa semua algoritma dan sistem pemrosesan yang dikembangkan tidak dipublikasikan di mana pun karena kerahasiaan segala sesuatu dan semua yang ada di departemen ini dan, lebih lagi, tidak sesuai dengan profil perusahaan - hanya departemen layanan.

Sudah sebelum "perestroika", saya diundang untuk memimpin laboratorium perangkat lunak sistem di cabang institut penelitian khusus Moskow. Tugasnya adalah mengembangkan sistem komputasi terdistribusi dalam pengontrol kontrol multiprosesor, termasuk perangkat keras dan perangkat lunak. Nah, maka lembaga penelitian ini, seperti banyak yang lain, tidak ada lagi. Saya menganggap perlu untuk memasukkan "nostalgia" ini dalam artikel hanya dengan tujuan untuk menunjukkan bahwa penulis memiliki beberapa gagasan tentang sistem otomasi, mungkin sedikit ketinggalan jaman.

Jadi, jika kita perlu membangun organisme sosial yang dinamis dan menarik, serta ekonomi yang memadai untuk itu, maka, seperti yang diyakini penulis, disarankan untuk mengubah prinsip-prinsip organisasi teknologi informasi. Yaitu:

  • , , .

Basis data global yang terdistribusi harus merupakan konglomerasi dari basis data yang terorganisir secara hierarkis yang dibangun berdasarkan satu prinsip.

Jika umat manusia pernah setuju untuk membuat bahasa ilmiah internasional di mana hubungan "siapa (apa), siapa (apa), berisi (termasuk), milik ..., absen dari ..., ketika, di mana, di mana, akan, sebelum, sesudah, sekarang, selalu, dari ... ke, jika ... lalu, dengan apa, bagaimana, mengapa, dll. " Jika mereka secara eksplisit dan tidak ambigu diwakili oleh konstruksi linguistik dan / atau simbol hubungan (yang dapat mencerminkan hubungan struktur data yang dijelaskan dalam metadata), maka artikel ilmiah dapat langsung dimuat ke dalam basis pengetahuan ini, dan dengan kemungkinan menggunakan konten semantik.

Arsitektur dan prinsip-prinsip penulis basis data seperti itu dikembangkan. Beberapa variannya diperkenalkan dan selama beberapa tahun digunakan tanpa keluhan dalam sistem administrasi balai kota dengan hampir satu juta orang.

  • Untuk setiap jenis data, tujuannya (dan deskripsi teks yang cukup terperinci), hubungannya dengan data lain, dan algoritme untuk memperolehnya dari data yang sebelumnya diterima (atau dihitung) harus ditunjukkan. Demikian pula, bentuk presentasi mereka dalam antarmuka pengguna yang khas harus dijelaskan dan alat terkait harus ditunjukkan. Karakteristik dan alat ini, yang disebut metadata , juga merupakan data biasa dan karenanya harus dimasukkan ke dalam basis data. Setidaknya dalam database di mana mereka dibutuhkan, jika tidak disajikan dalam database level yang lebih tinggi.

Metadata berfungsi untuk menunjukkan potensi keberadaan dan untuk memastikan pemilihan data yang ada sesuai dengan makna semantiknya. Metadata lokal harus, jika mungkin, dipetakan ke metadata dalam pengklasifikasi database dari hierarki yang lebih tinggi. Penulis menggunakan beberapa analog metadata pada saat itu baik di pengawas tugas dan di sistem pembayaran pensiun dan tunjangan kota, arsitektur database yang dikembangkan oleh penulis, di mana ia mengepalai departemen otomasi pada saat algoritma pembayaran dan indeksasi pensiun diubah oleh pemerintah jika tidak 3 kali sebulan.

Ini bukan untuk mengatakan bahwa mereka tidak berurusan dengan masalah ini. Pertama, standar XML memungkinkan Anda untuk mengkarakterisasi data dengan tag, meskipun dalam file linear. Ada lebih banyak pendekatan global untuk masalah ini: google, misalnya, "OWL ontology description language". Dan di sini, penulis mengusulkan solusi yang sangat radikal ketika data disimpan dalam database tanpa referensi ke salah satu struktur asli, dan struktur yang diperlukan oleh pengguna dibentuk sesuai dengan deskripsi mereka dalam metadata.

  • Perhitungan aliran harus dilakukan menggunakan teknologi Dataflow , yaitu, manajemen data harus dilakukan. Data baru harus dihitung sesuai dengan algoritma yang ditentukan untuk mereka, segera setelah data awal yang diperlukan muncul. Komputasi harus dilakukan secara desentral dan paralel pada jaringan.

Pemrosesan data harus terdiri dari penulisan data baru ke dalam basis data, dihitung sesuai dengan algoritma yang dibandingkan dengan menggunakan sampel yang memenuhi persyaratan untuk menentukan sumber data yang dihitung sebelumnya atau dimasukkan. Data baru akan secara otomatis diterima segera setelah sampel yang diperlukan terbentuk - dan seterusnya di seluruh jaringan basis data terdistribusi. Urutan tindakan tidak perlu ditentukan (mis., Tidak perlu menulis kode program dari program kontrol), karena ketika mengelola menurut data, tindakan selanjutnya dilakukan berdasarkan fakta ketersediaan sumber yang diperlukan.

(Kira-kira teknologi komputasi yang sama digunakan dalam database spreadsheet Excel, di mana data selanjutnya dalam sel dihitung karena mereka dihitung dalam sel dengan data sumber. Dan di sana Anda juga tidak perlu menjelaskan urutan perintah untuk ini.)

Semua "pemrograman" diturunkan untuk menggambarkan data baru dalam metadata dengan atributnya (termasuk hak akses), hubungan, karakteristik tampilan dalam antarmuka pengguna (jika perlu), menentukan kondisi untuk atribut dari data sumber yang nilainya menentukan kemunculannya dalam sampel, dan pengaturan algoritma pemrosesan. Algoritma, di lebih dari 99% situasi, muncul untuk menunjukkan apa yang harus dilakukan dengan data dari serangkaian sampel: tambahkan, hitung rata-rata, temukan maksimum atau minimum, hitung penyimpangan statistik, tentukan fungsi regresi, dll. dengan berbagai pilihan yang ditentukan. Dalam kasus umum, perhitungan (jumlah produk, dll.) Dimungkinkan untuk beberapa sampel, misalnya, A N dari sampel {N} dan B K dari sampel{K} , dll., Di mana k , misalnya, pada gilirannya adalah sampel dari parameter K N dari sampel {N} . dll. Rumus yang sesuai dengan sel untuk menghitung data baru dalam contoh Excel juga dapat menyusun deskripsi algoritma dalam modul perangkat lunak untuk mendapatkan data baru dari sumber data dalam teknologi Dataflow. Dan untuk ini, seperti di Excel, Anda biasanya tidak perlu menarik programmer profesional. Apakah kadang-kadang dan hanya untuk tugas tertentu.

Dengan demikian, dengan sedikit pengecualian, seluruh ruang lingkup tugas informatisasi dapat dibuat oleh spesialis dalam industri terapan tanpa keterlibatan programmer profesional. Data yang mereka tangani dapat dijelaskan oleh para ahli yang sama dalam metadata secara independen (jika tidak ada analog) dan dalam hal konten, tujuan dan gambar mereka dapat menyalin dokumen kertas yang mereka kenal. Konstruktor desainer sederhana akan cukup untuk ini. Setiap dokumen (juga laporan atau artikel ilmiah) tidak hanya berupa file teks, tetapi kombinasi informasi dari database, juga dilengkapi dengan alat untuk presentasi dan bekerja dengannya, ditunjukkan dalam metadata.

Sekarang, untuk menyediakan kemampuan seperti itu, browser terus-menerus memperluas fungsionalitasnya dengan menambahkan flash player, opsi untuk skrip Java, memperkenalkan tag baru, layanan web, dll Metadata akan memungkinkan untuk mengatur, melokalkan dan mengatur proses ini.
Dan Anda selalu dapat mengatur penerimaan dokumen arbitrer baru (kumpulan data) tanpa mengedit algoritma yang ada untuk berfungsinya seluruh sistem, karena data yang sama dari database terdistribusi, pada kenyataannya, dapat berpartisipasi dalam berbagai algoritma yang berbeda untuk mendapatkan dokumen baru dari sampel yang diinginkan. Untuk penerapan akuntansi perdagangan terpadu dalam manajemen data dan penerapan database terdistribusi terpadu, Anda bahkan tidak perlu mengirim laporan ke mana pun - mulai berfungsi. Data yang muncul akan diambil dan diperhitungkan secara otomatis.

Pengembang yang terlibat dalam otomasi dalam kaitannya dengan proses bisnis dapat menunjukkan bahwa semua fitur ini telah lama diimplementasikan dalam spesifikasi sistem BPM. Dan hanya pada contoh BPM-sistem kita melihat bagaimana ide-ide manajemen data bersifat rahasia, mis. tanpa menyadari esensi dari fenomena tersebut, mereka meresap ke dalam praktik - tentu saja, sejauh ini, di bawah kendali program tuan rumah pusat. Tetapi, sayangnya, agar sistem BPM bekerja, seperti "paling keren" "ELMA", perusahaan harus memiliki seorang programmer dengan perintah yang baik dari bahasa pemrograman C-sharpe. Penulis dapat berpartisipasi dalam administrasi sistem ini.. Dan tanpa programmer penuh waktu, Anda harus menyesuaikan struktur dan prosedur bisnis Anda dengan template yang diusulkan. Tetapi pendekatan ini tidak berbeda dari praktik biasa dalam memperoleh aplikasi aplikasi dengan semua masalah adaptasi dan integrasi mereka.

Gagasan pengelolaan data yang murni diformalkan secara matematis dalam bentuk grafik berorientasi dan data bergerak dalam bentuk “token” ternyata sulit untuk diimplementasikan dalam praktik. Selain itu, membutuhkan penggunaan memori asosiatif yang mahal dan intensif. Oleh karena itu, penulis mengusulkan implementasi dalam bentuk model "kasar", di mana setiap modul sepenuhnya melakukan pemrosesan sumber dalam database lokal. Modul serupa akan bekerja di basis data lokal lainnya, menggabungkan hasilnya di basis data tingkat yang lebih tinggi. Ketika semua sumber data terdaftar diproses, data baru akan menerima status siap.
Jika tidak ada data di database lokal, permintaan dikirim ke database tingkat yang lebih tinggi, dll. Dan sudah dari itu permintaan akan direplikasi sesuai dengan database lokal bawahan. Hasil penyempurnaannya juga akan diintegrasikan ke dalam basis data tingkat atas, dan kemudian dikirim ke basis data lokal yang memprakarsai permintaan, atau lebih tinggi dalam hierarki jika permintaan datang dari atas. Dengan demikian, tidak perlu mengetahui alamat email dari semua sumber dan penerima. Untuk setiap basis data lokal, cukup mengetahui hanya alamat dari basis data hierarki yang lebih tinggi. Prinsip pengorganisasian transaksi ini memungkinkan sistem yang mudah diskalakan dan terukur.
Algoritma perhitungan yang paling sederhana dan jelas dapat ditampilkan menggunakan diagram alur. Mereka menunjukkan data apa yang dimasukkan ke setiap modul perangkat lunak, dan di mana output yang dihitung di dalamnya dikirimkan. Penulis mengembangkan bahasa DFCS untuk pemrograman komputasi paralel dalam suatu sistem yang dikendalikan oleh aliran data , di mana semua koneksi diagram alur dapat dijelaskan.

Dalam contoh di diagram blok di bawah ini, jajaran genjang warna (besar dan kecil) menunjukkan data, dan dalam blok putih - modul program dengan algoritma pemrosesan data. Garis putus-putus menunjukkan tindakan yang dilakukan oleh perangkat elektromekanis.



Dalam diagram blok ditentukan dengan tepat modul mana yang terhubung, dan tidak diperlukan memori asosiatif, tetapi beberapa langkah sinkronisasi data harus disediakan, terutama jika paralelisasi bagian “sempit” dari cabang algoritma digunakan. Modul perangkat lunak (PM) dalam beberapa kombinasi optimal dimuat ke dalam unit komputasi (WB). Data dari PM ke PM ditransmisikan melalui port yang dapat direpresentasikan secara virtual atau oleh register perangkat fisik. Saat mengelola data, modul, perangkat, atau port, file, atau permintaan ke basis data secara fungsional sama dan dapat dipertukarkan. Port fisik digunakan untuk bertukar data antara WB melalui saluran data dan, mungkin juga antara PM dalam satu WB.Data sementara disimpan hanya di port (register) dan kadang-kadang, mungkin dalam beberapa antrian. Dan array data utama harus disimpan dalam database, yang harus dieksekusi sebagai perangkat khusus yang terpisah , karena antarmuka akses data harus sama - terlepas dari struktur dan hubungan data tertentu.

Data antar perangkat ditransmisikan melalui bus data di mana banyak perangkat dan modul yang menggunakannya dapat ditempatkan. Sebelum mulai bertukar data, perangkat yang bertukar harus "mengambil" bus sehingga tidak ada yang campur tangan. Capture biasanya terjadi sesuai dengan algoritma untuk menimbang alamat perangkat di bus dan mengambil setidaknya sebanyak siklus jam sebagai kedalaman bit dari alamat mereka.
Namunada dan bahkan diimplementasikan dalam perangkat keras di lembaga penelitian tersebut di atas teknologi penangkapan bus dalam 1-2 siklus oleh perangkat, terlepas dari jumlah mereka . Mengingat kemajuan teknologi, Anda dapat menggunakan puluhan atau ratusan bus data untuk pertukaran, memilih yang gratis. Arsitektur kompleks komputasi ditunjukkan pada gambar di bawah ini. Kompleks dapat disambungkan dengan menghubungkan bus mereka melalui adapter transfer data.

Bukan sistem operasi (OS) yang mengontrol operasi modul, tetapi protokol pergerakan data (SDA) bersama dengan program transportasi. Program kontrol lalu lintas sangat kompak dan terletak di setiap unit komputasi.

Ini adalah SDA yang meluncurkan modul jika input data ada di port. Data output yang dihasilkan ditempatkan di port output, dari mana program transportasi (atau driver) mentransfernya melalui bus data ke port input dari modul berikutnya yang terhubung ke yang pertama, dan sudah ada program SDA sendiri meluncurkannya. Jika modul berada di unit komputasi yang sama, maka program transportasi tidak digunakan, dll. Jika modul telah bekerja, tetapi tidak ada input baru, maka SDA menghentikan eksekusi modul ini. Modul akan melanjutkan operasi ketika port ini muncul di port. Namun, aturan SDA yang tampak jelas tersebut dalam praktiknya tidak dapat memastikan operasi sistem Dataflow yang stabil. Jadi aturan lalu lintas yang "benar" jauh lebih menarik, dan, saya punya alasan untuk berpikir, dapat diwujudkan .

Berkat aturan lalu lintas, sistem berbasis data terdesentralisasi secara fundamental. OS, sebagai sistem yang mengontrol eksekusi dan berbagi tugas, antrian, dll., Tidak diperlukan sama sekali, bahkan untuk manajemen sumber daya. Semua permintaan tersebut dilakukan dengan mengakses layanan (sebagai modul perpustakaan) melalui porta mereka dengan menempatkan data dengan persyaratan di dalamnya. Jika tidak ada sumber daya (sibuk), maka jawabannya harus menunggu, mungkin dengan keluar melalui port batas waktu. Karena desentralisasi lengkap dari semua perangkat dan fungsi kompleks komputasi, ia dapat dengan mudah diskalakan, dan serangkaian blok tugas dapat dimuat dan digandakan sesuai keperluan dan jika sumber daya gratis tersedia. Pada prinsipnya, peraturan lalu lintas dapat dilengkapi dengan layanan paralelisasi untuk aliran dan pemuatan tambahan salinan blok di depan yang membuat antrian data. Dengan distribusi modul yang sukses di antara sumber daya komputasi otonom dari jaringan komputer, pipa komputasi dapat diimplementasikan,ketika hasil (untuk data masa lalu) pada output diperoleh secara bersamaan dengan penerimaan kumpulan data sumber (baru) berikutnya.

Jadi, langkah apa yang harus diambil untuk mengimplementasikan TI tingkat lanjut?

  1. Untuk mengembangkan struktur basis data terpadu yang cocok untuk menyimpan data apa pun dalam interkoneksi mereka, termasuk deskripsi metadata.
    Pada prinsipnya, ini telah dilakukan, tetapi belum dipublikasikan di mana saja (meskipun diuji).
  2. Mengembangkan sistem organisasi basis data hierarki dan teknologi transaksi (atas dan bawah) berdasarkan metadata untuk mengecualikan pengalamatan khusus ke sumber data dan konsumen.
  3. Untuk mengembangkan dan akhirnya mengimplementasikan suatu tiruan dari teknologi Dataflow dalam kerangka teknologi Web yang ada pada server Web menggunakan model basis data struktur terpadu yang diterapkan dalam teknologi basis data relasional. Saat ini, ini akan menjadi investasi paling efektif.
  4. ().
    , , .
  5. , .
    DFCS . .
  6. .1, .
  7. , .
  8. .
  9. .
    .

Jelas bahwa menggunakan simulasi Dataflow dalam teknologi Web yang ada (lihat Bagian 3), sistem kontrol proses otomatis (APCS) tidak dapat dibangun. Untuk melakukan ini, perlu mengimplementasikan Dataflow "dalam perangkat keras", yang merupakan apa yang mereka lakukan, hingga "perestroika", di lembaga penelitian yang disebutkan di atas untuk tujuan penggunaan dalam pengontrol multiprosesor. Tetapi Anda dapat dengan mudah mewujudkan semua kemungkinan untuk menciptakan sistem manajemen perusahaan, mengembangkan jejaring sosial independen dan untuk mengelola proses bisnis.

Saya percaya bahwa, pertama-tama, langkah 1 harus dipenuhi, terutama karena solusi pasti ada, dan kemudian langkah 2 dan 3, yang dapat dilakukan dengan menggunakan teknologi Web standar. Ini sudah cukup bagi semua orang untuk secara mandiri menciptakan sistem manajemen penuh, akuntansi untuk sumber daya, produk, dan pelanggan dari perusahaan terdistribusi tanpa menggunakan pemrogram profesional. Sarana yang hampir sama dapat diorganisir dan dibuat "jejaring sosial" di dalam departemen, perusahaan dan, lebih lanjut, di mana-mana.

Tetapi ini tidak berarti bahwa programmer menghadapi pengangguran. Sebaliknya, berkat antarmuka pertukaran data terpadu dan pengklasifikasi metadata, layanan yang dikembangkan oleh mereka ( Perangkat Lunak sebagai Layanan ) akan bisa mendapatkan bidang aplikasi terluas, dan pengembang akan dibayar secara proporsional. Hal serupa tentu saja sudah dilakukan, tetapi dengan cara khusus melalui transformasi perantara dari penyajian data.

DANmereka yang akan menyediakan layanan sistem untuk diintegrasikan ke dalam teknologi Dataflow akan dapat memperoleh manfaat maksimal dari proyek . Ini bukan iklan, terutama karena tidak ada pengembang atau distributor. Tetapi jelas bahwa ada lebih banyak pengguna yang dapat mengembangkan tugas-tugas terapan mereka dalam gambar kertas untuk tidak mahal secara mandiri dan dalam kerangka antarmuka yang dapat dimengerti (lebih mudah daripada di Excel) daripada ada orang yang bersedia membayar untuk perangkat lunak profesional yang mahal, yang biasanya tidak mencakup semua aspek kegiatan. Selain itu, kemungkinan besar, pengembang profesional perangkat lunak terapan juga akan menggunakan layanan yang ditawarkan, karena dengan cara ini mereka akan sekali dan untuk semua menyelesaikan masalah integrasi data sebagai proyek yang sedang dikembangkan.

Jika simulasi Dataflow dalam teknologi Web berhasil, akan ada alasan untuk menerapkan teknologi Dataflow dalam perangkat keras. Kemungkinan besar, pengembangan teknis harus dimulai dengan klausa 4 dan klausa 6, yaitu produksi basis data dalam bentuk perangkat universal dan, karenanya, meninggalkan sistem file. Memori gigabyte harus digunakan dalam antarmuka basis data (di mana tempatnya) untuk menempatkan array pada permintaan data. Dalam modul, memori utama hanya diperlukan untuk perintah (dalam mode baca-saja), dan untuk data hanya perlu, katakanlah, beberapa ratus (atau ribuan) register (port). Misalnya, dengan gangguan ketika suatu negara berubah. Dan di sini, "meminta" sesuatu seperti perkembangan terbaru IBM Research, tampaknya "memungkinkan untuk melakukan perhitungan dalam sel memori." Ditambah cache untuk antrian.

Bahasa pemrograman yang disebutkan dalam ayat 5 mungkin juga diperlukan untuk memprogram unit komputasi yang digunakan dalam gudang data (lihat ayat 6). DFCS ditandai oleh fitur-fitur berikut. Di setiap bagian jaringan modul (dan di dalam modul apa pun), data hanya muncul milik input dan output, yang disebut port. Artinya, cukup untuk menyatakan presentasi data di port modul. Karena urutan eksekusi modul ditentukan saat data siap, tidak perlu menentukan urutan eksekusi modul tertentu - Anda hanya perlu menjelaskan pergantian modul satu sama lain - tidak masalah dalam urutan apa. Artinya, bahasanya adalah deklaratif. Karena semuanya tergantung pada instruksi dengan parameter, penguraian konstruksi sintaksis tidak diperlukan.Program dalam proses "kompilasi" dapat langsung dimuat ke dalam memori.

Struktur modular dari diagram alur sangat cocok dengan konsep pemrograman top-down, dan interaksi modul hanya melalui port memastikan bahwa prinsip enkapsulasi dihormati. Selain itu, prinsip modular dan antarmuka alami untuk data menciptakan kondisi terbaik untuk mengatur pengembangan program secara kolektif.

Pada bagian perangkat lunak dari bahasa DFCS, seharusnya menggunakan label dan perintah transisi, yang tampaknya bertentangan dengan prinsip-prinsip pemrograman struktural. Namun, berdasarkan pengalaman pemrograman saya sendiri, saya dapat berpendapat bahwa program dengan label dan instruksi transisi biasanya lebih ringkas dan lebih dapat dipahami daripada dengan duplikat duplikat dari blok dan satu set "bendera" untuk mengecualikan perintah transisi. Pendapat serupa dibagikan oleh beberapa pro .

Deskripsi singkat bahasa dapat diunduh dari disk Yandex.

All Articles