Desain di tingkat sistem. Bagian 2. Arsitektur terperinci

Di bagian pertama tutorial, saya mendapatkan arsitektur sistem kontrol akses. Hasil yang dicapai sudah memiliki manfaat praktis, tetapi tidak cukup, karena sekarang arsitektur tidak memperhitungkan format dan tipe data dan sifat komponen. Di bagian tutorial ini, saya akan menunjukkan bagaimana merancang aliran data dalam suatu sistem dan bekerja dengan komponen-komponen dari berbagai alam.

Antarmuka Komponen


Mari kita lihat sistem dari bagian pertama lagi. Kita melihat bahwa komponen dihubungkan oleh panah. Koneksi ini masih abstrak dan mewakili koneksi informasi sederhana. Namun, kami dapat sedikit mengurangi tingkat abstraksi. Pertimbangkan output dari komponen DBHandler .



Komponen ini memiliki keluar AccessStatus. Mari kita coba gambarkan. Jadi, AccessStatus adalah tautan yang berisi informasi status akses. Akses dapat diberikan atau tidak diberikan. Yaitu, ini adalah variabel Boolean eksplisit! Mari kita tunjukkan jenis output ini. Untuk melakukan ini di System Composer, Anda harus terlebih dahulu membuat antarmuka yang sesuai :



Dan kemudian kami menunjukkan bahwa antarmuka yang dibuat ditugaskan ke port AccessStatus:



Operasi ini harus dilakukan pada semua port yang diperlukan. Kami dapat merangkum dan menyimpulkan pernyataan berikut:

Dengan membuat antarmuka dan menugaskan mereka ke port, kami memberikan pengembang yang akan menerapkan instruksi sistem yang tepat tentang data apa yang dikembangkan komponen yang akan digunakan dan data apa yang diperlukan untuk output.

Keunggulan lain dari System Composer adalah kemampuannya untuk melihat aliran data menggunakan tampilan arsitektur khusus, Tampilan Arsitektur . Kami dapat memfilter arsitektur kami sesuai dengan kriteria tertentu. Ambil antarmuka yang dibuat sebelumnya sebagai contoh. Buat tampilan AccessStatus Dataflow.

Pertama, klik Pemodelan -> Tampilan Arsitektur . Lalu buat filter:



Di sini nama tampilan diatur, dan filter dibuat: pilih semua komponen yang memiliki antarmuka bernama AccessStatus . Setelah mengklik tombol Terapkan, kami mendapatkan gambar berikut:


Dengan demikian, penggunaan representasi seperti itu berguna untuk pengembangan, karena Anda dapat dengan cepat menemukan komponen atau kesalahan yang diperlukan dalam proyek atau aliran data.

Manajemen komponen heterogen


Mungkin saja untuk berhenti di situ, karena saat ini kami memiliki arsitektur sistem yang indah yang membantu dalam implementasi. Namun, ada masalah yang sangat besar - sistem terdiri dari besi, yaitu komponen fisik, dan perangkat lunak. Apa artinya ini? Ini berarti bahwa sistemnya heterogen dan kita perlu mencerminkan heterogenitas ini. System Composer memiliki fitur khusus - ini adalah profil dan stereotip. Untuk memudahkan pemahaman, stereotip adalah deskripsi abstrak dari kelas komponen dengan properti, dan profil adalah kumpulan stereotip. Contoh sederhana - katakanlah kita memiliki stereotip yang menjelaskan mikrokontroler. Setiap mikrokontroler memiliki sifat umum - inti, TDP, tegangan suplai, frekuensi, dll. Sifat-sifat inilah yang harus tercermin dalam stereotip.

Buat profil dan stereotip yang diperlukan:


Sebagai contoh, saya membuat stereotip GenericComponent. Begini tampilannya:



Beberapa pengaturan penting di sini:

  1. Berlaku untuk - apa stereotip berlaku untuk - komponen, antarmuka, port atau koneksi (ya, koneksi itu sendiri, panah ini, juga dapat digambarkan menggunakan stereotip)
  2. Stereotipe Basis adalah stereotip induk. Stereotip mewarisi sifat-sifat stereotip induk
  3. Tabel properti - properti khusus diatur di sini. Misalnya, properti saya disebut Beban Kerja, yaitu tenaga kerja yang terlibat dalam penerapan

2 stereotip lain dari HardwareComponent didasarkan pada stereotip ini - untuk perangkat keras, dan SoftwareComponent , untuk perangkat lunak.

Setelah kami membuat profil dan stereotip, kami mengimpornya ke dalam arsitektur dan kami dapat mulai menyebarkannya dengan elemen-elemennya:



Hasilnya, saya mendapat gambar ini:


Untuk lebih jelasnya, saya membuat presentasi berikut:


Mari kita lihat mekanisme pewarisan sifat komponen dalam aksi. Pilih komponen DoorLock dan lihat propertinya:


Properti Beban Kerja diwarisi dari GenericComponent, tetapi properti Biaya khusus untuk stereotip HardwareComponent.

Untuk meringkas bagian ini:

Arsitektur terperinci memungkinkan deskripsi yang lebih lengkap tentang sistem yang dikembangkan dan untuk menghindari ketidakkonsistenan dalam antarmuka dan interaksi komponen. Penggunaan stereotip untuk detail membantu memahami sifat komponen dan mendapatkan gambaran yang lebih lengkap tentang sistem yang sedang dikembangkan.

Pada bagian selanjutnya dari tutorial, saya akan berbicara tentang mengintegrasikan System Composer dengan MATLAB, Simulink dan alat manajemen persyaratan, Simulink Requierements.

All Articles