Desain di tingkat sistem. Bagian 3: Menghubungkan Sistem Komposer dan MathWorks Toolchain

Di dua yang pertama bagian dari tutorial kami melihat membangun arsitektur sistem dan merancang pada tingkat sistem dan pada saat yang sama melihat System Composer. Arsitektur sistem itu sendiri sangat bagus, tetapi Anda perlu memastikan bahwa itu terhubung dengan sistem yang dikembangkan. Kurangnya koneksi seperti itu di alat tradisional menggunakan SysML atau UML, omong-omong, adalah alasan untuk penciptaan System Composer. Faktanya adalah bahwa banyak perusahaan sudah menggunakan paradigma Model-Oriented Design (MOS) untuk mengembangkan, dan mereka harus menggunakan alat pihak ketiga untuk rekayasa sistem, yang tidak nyaman. System Composer dibuat untuk menjembatani kesenjangan ini. Di bagian akhir tutorial ini, saya akan menunjukkan cara menggunakan System Composer bersama dengan toolchain MathWorks untuk desain berorientasi Model.

Mengikat Arsitektur dengan Persyaratan


Pertama, mari kita tentukan apa saja persyaratannya. Persyaratan adalah apa yang harus dilakukan sistem. Perbedaan mereka dari spesifikasi teknis adalah bahwa persyaratannya adalah deskripsi fungsi sistem. MATLAB / Simulink memiliki alat manajemen persyaratan Persyaratan Simulink. Ini memungkinkan Anda untuk mengimpor persyaratan dari sistem eksternal, seperti IBM DOORS, dan menuliskannya di Editor Persyaratan asli. Persyaratan itu sendiri disimpan dalam file khusus dengan ekstensi * .slreqx. Buat persyaratan dan simpan di file AccessControl.slreqx. Kami akan merumuskan persyaratan sendiri dari alasan dari bagian pertama:

  • Pembacaan tag RFID harus disediakan.
  • Data yang diambil dari tag RFID harus ditransfer ke database eksternal
  • Berdasarkan respons basis data, larangan atau izin dibuat
  • Pengguna harus diberitahu tentang status akses
  • Kunci tidak dikunci berdasarkan status akses

Persyaratan ini dibuat di Editor Persyaratan, alat pembuatan persyaratan yang disertakan dengan Persyaratan Simulink dan disimpan ke file. Jika Anda membuka file ini dalam model itu sendiri menggunakan Perspektif Persyaratan, maka kita akan melihat yang berikut:



Untuk melampirkan persyaratan ke elemen arsitektur, cukup transfer persyaratan ke elemen arsitektur yang diinginkan dengan mouse.

Dan bagaimana jika persyaratannya telah berubah, seperti yang sering terjadi pada tahap awal desain? Bagaimana cara menganalisis dampaknya pada arsitektur kita? Untungnya, Persyaratan Simulink memungkinkan Anda untuk melacak perubahan dalam persyaratan dan menandai elemen arsitektur yang dipengaruhi oleh perubahan ini:



Untuk menganalisis cakupan arsitektur dengan persyaratan, pada tab Persyaratan, pilih Bagikan dan kemudian Hasilkan Matriks Keterlacakan. Matriks keterlacakan akan dibuat yang secara grafis menampilkan hubungan persyaratan dan elemen. Matriks ini adalah tabel, kolom yang merupakan elemen arsitektur atau model, baris adalah persyaratan itu sendiri, dan sel-sel berisi catatan grafis tentang hubungan antara persyaratan dan elemen.

Dan jika Anda mengklik tombol Sorot Tautan Hilang, maka elemen yang tidak tertutup dalam matriks akan disorot dengan warna kuning:



Analisis kelengkapan cakupan persyaratan dan keterlacakannya adalah proses yang sangat penting jika Anda membuat sistem yang penting untuk keselamatan, tidak masalah untuk pesawat terbang, mobil atau reaktor nuklir. Untuk sistem seperti itu seharusnya tidak ada elemen yang ditemukan oleh persyaratan! Jika Anda tertarik pada bagaimana sistem ini dikembangkan dan bagaimana mereka dikembangkan dalam paradigma MOS, tulis dalam komentar, karena topiknya sangat luas dan panjang dan melampaui lingkup tutorial.

Analisis Arsitektur di MATLAB


Karena System Composer adalah bagian dari toolchain MathWorks, kita dapat menganalisis properti arsitektur, membuat laporan, dan banyak lagi. Analisis arsitektur memungkinkan Anda untuk menghitung jumlah jam kerja yang diperlukan untuk mengimplementasikan sistem, bobot dan dimensi minimum, TDP dan sebagainya. Dan jika kita melakukan analisis secara sistematis, dan bukan satu kali, maka kita dapat melihat dinamika pengembangan sistem kita, serta menemukan area masalah.

Katakanlah untuk ACS kami, kami ingin menghitung jumlah jam kerja. Semua komponen memiliki properti Workload yang sama, dan jelas kita perlu menambahkan nilai dari properti ini. Untuk melakukan ini, mari kita buat contoh arsitektur untuk analisis dengan mengklik pada Model Analisis, dan kemudian pilih GenericComponent untuk analisis:



Kemudian klik tombol Instantiate dan dapatkan hasil berikut:



Di sini kita dapat menetapkan nilai properti Workload ke setiap elemen dan klik tombol Perbarui untuk memperbarui nilai-nilai ini dalam arsitektur itu sendiri. Dan kami tidak perlu mengklik, karena instance ada secara terpisah dari arsitektur, dan kami dapat bermain-main dengan nilai properti untuk menemukan kompromi proyek atau menemukan nilai properti yang optimal. Analisis itu sendiri dilakukan oleh fungsi terpisah yang dibuat di MATLAB. Di sini, misalnya, adalah kode untuk fungsi "analitik" kami:

function AccessControl_simple_analytics(instance,varargin)
if instance.isComponent()
workload = 0;    
    for child=instance.Components
        child_workload = child.getValue("GenericComponent.Workload");
        workload = workload + child_workload;
    end
instance.setValue("GenericComponent.Workload",workload);
end
end

Setelah fungsi dibuat, klik Analisis dan pilih di menu Pilih Fungsi. Sekarang, ketika tombol Analisis diklik, nilai properti Beban Kerja akan dijumlahkan:



Ini adalah contoh yang sangat sederhana dari analisis arsitektur dan secara nyata, pertempuran, tugas analisis, seluruh spektrum kemampuan analisis MATLAB digunakan, seperti pemasangan kurva, analisis regresi, dll.

Hal utama di sini adalah bahwa kita dapat dan harus melakukan analisis sistematis arsitektur kita untuk mengembangkan proyek.

Hubungan komponen dan implementasinya


Dan akhirnya, System Composer bukan alat terpisah yang ada secara terpisah dari Simulink. Setelah mendefinisikan arsitektur, masing-masing komponennya dapat diikat ke model Simulink, sementara Anda dapat memilih model yang ada atau membuat model secara otomatis! Ini memungkinkan Anda untuk menjalankan simulasi dan menjelajahi karakteristik perilaku sistem secara langsung di System Composer.



Yang paling penting, jika model dibuat dari komponen, port input dan output dengan antarmuka yang diperlukan secara otomatis dihasilkan dalam model. Ini adalah hal yang sangat penting, karena integrasi komponen biasanya melambat karena antarmuka komponen yang tidak konsisten, dan antarmuka pra-bangun menyelesaikan masalah ini. Setiap model yang dihasilkan dapat diberikan kepada artis tertentu dan tenang bahwa nanti akan diintegrasikan ke dalam arsitektur

temuan


Selama tiga artikel, saya menunjukkan teknik desain dasar di tingkat sistem. Saatnya mengambil persediaan.

Merancang pada tingkat sistem memerlukan analisis tugas yang cukup terperinci dan membutuhkan alat intuitif. System Composer adalah alat yang mudah dipelajari dan mengambil manfaat penuh dari metodologi desain berorientasi model untuk membuat dan menganalisis arsitektur sistem, serta kemampuan analitis MATLAB.

Penggunaan System Composer untuk analisis keputusan desain yang menyeluruh memungkinkan kami untuk mendapatkan pemahaman tentang sifat komponen dan untuk mengidentifikasi kemacetan potensial dalam sistem yang jika tidak akan ditemukan pada tahap akhir pengembangan. Berbagai metode dapat digunakan untuk analisis - mulai dari analisis aliran data hingga analisis numerik.

Dan, seperti yang Anda lihat, mendesain pada level sistem sama sekali tidak menakutkan, dan alat yang mendukung desain sistem membantu Anda dalam hal ini.

Ingin tahu lebih banyak? Kami melakukan webinar pengantar tentang rekayasa sistem, dan sebagai bagian dari webinar ini, saya hanya menunjukkan tutorial ini. Dan kolega saya Mikhail Peselnik mengatakan mengapa rekayasa sistem diperlukan sama sekali. Webinar itu sendiri ada di sini .

All Articles