التصميم على مستوى النظام. الجزء 3: ربط مؤلف النظام وسلسلة أدوات MathWorks

في أول اثنينبحثنا في أجزاء من البرنامج التعليمي في بنية نظام البناء والتصميم على مستوى النظام وفي نفس الوقت ننظر إلى System Composer. بنية النظام نفسه ممتازة ، لكنك تحتاج إلى التأكد من أنه مرتبط بالنظام المطور. بالمناسبة ، كان عدم وجود مثل هذا الاتصال في الأدوات التقليدية باستخدام SysML أو UML هو سبب إنشاء System Composer. والحقيقة هي أن العديد من الشركات تستخدم بالفعل نموذج التصميم الموجه بالنموذج (MOS) من أجل التطوير ، وكان عليها استخدام أدوات الطرف الثالث لهندسة النظم ، وهو أمر غير مريح. تم إنشاء System Composer لسد هذه الفجوة. في هذا الجزء الأخير من البرنامج التعليمي ، سأوضح كيفية استخدام System Composer مع سلسلة أدوات MathWorks للتصميم الموجه للنموذج.

ربط العمارة بالمتطلبات


أولاً ، دعنا نحدد المتطلبات. المتطلبات هي ما يجب أن يفعله النظام. اختلافاتهم عن المواصفات الفنية هي أن المتطلبات هي وصف لأداء النظام. يحتوي MATLAB / Simulink على أداة إدارة متطلبات متطلبات Simulink. يسمح لك باستيراد متطلبات كل من الأنظمة الخارجية ، مثل IBM DOORS ، وكتابتها في محرر المتطلبات الأصلي. يتم تخزين المتطلبات نفسها في ملفات خاصة بالملحق * .slreqx. قم بإنشاء المتطلبات وحفظها في ملف AccessControl.slreqx. سنقوم بصياغة المتطلبات أنفسهم من المنطق من الجزء الأول:

  • يجب توفير قراءة علامة RFID.
  • يجب نقل البيانات المستردة من علامة RFID إلى قاعدة بيانات خارجية
  • بناءً على استجابة قاعدة البيانات ، يتم إنشاء حظر أو إذن
  • يجب إخطار المستخدم بحالة الوصول
  • القفل غير مؤمن بناءً على حالة الوصول

تم إنشاء هذه المتطلبات في محرر المتطلبات ، وهي أداة إنشاء متطلبات مضمنة مع متطلبات Simulink وتم حفظها في ملف. إذا قمت بفتح هذا الملف في النموذج نفسه باستخدام Requirements Perspective ، فسوف نرى ما يلي: من



أجل إرفاق متطلبات لعنصر بنية ، ما عليك سوى نقل المتطلبات إلى عنصر الهندسة المطلوب باستخدام الماوس.

وماذا لو تغيرت المتطلبات ، كما هو الحال غالبًا في المراحل الأولى من التصميم؟ كيفية تحليل تأثيرها على هندستنا؟ لحسن الحظ ، تسمح لك متطلبات Simulink بتتبع التغييرات في المتطلبات وتمييز العناصر المعمارية التي تأثرت بهذه التغييرات:



لتحليل تغطية بنية بمتطلبات ، في علامة التبويب المتطلبات ، حدد مشاركة ثم إنشاء مصفوفة التتبع. سيتم إنشاء مصفوفة التتبع التي تعرض بشكل بياني علاقات المتطلبات والعناصر. هذه المصفوفة عبارة عن جدول ، أعمدته هي عناصر الهندسة المعمارية أو النموذج ، والصفوف هي المتطلبات نفسها ، وتحتوي الخلايا على ملاحظات رسومية حول العلاقة بين المتطلبات والعناصر.

وإذا قمت بالنقر فوق الزر تمييز الارتباطات المفقودة ، فسيتم تمييز العناصر غير المغطاة في المصفوفة باللون الأصفر:



يعد تحليل اكتمال المتطلبات وإمكانية تتبعها عملية مهمة جدًا إذا أنشأت نظامًا مهمًا للسلامة ، ولا يهم بالنسبة لطائرة أو سيارة أو مفاعل نووي. بالنسبة لهذه الأنظمة ، يجب ألا تكون هناك عناصر مكشوفة في المتطلبات! إذا كنت مهتمًا بكيفية تطوير هذه الأنظمة وكيفية تطويرها في نموذج MOS ، فاكتب في التعليقات ، حيث أن الموضوع واسع جدًا وطويل ويتجاوز نطاق البرنامج التعليمي.

تحليلات العمارة في MATLAB


نظرًا لأن System Composer هو جزء من سلسلة أدوات MathWorks ، يمكننا تحليل خصائص الهيكل وإنشاء التقارير والمزيد. يسمح لك تحليل العمارة بحساب عدد ساعات العمل المطلوبة لتنفيذ النظام ، والحد الأدنى من الوزن والأبعاد ، و TDP ، وما إلى ذلك. وإذا أجرينا تحليلاً منهجيًا ، وليس لمرة واحدة ، فعندئذ يمكننا أن نرى ديناميكيات تطوير نظامنا ، بالإضافة إلى إيجاد مجالات المشاكل.

لنفترض أن ACS نريد حساب عدد ساعات العمل. جميع المكونات لها خاصية حمل عمل مشتركة ، ومن الواضح أننا بحاجة إلى جمع قيم هذه الخصائص. للقيام بذلك ، دعنا ننشئ نسخة معمارية للتحليل بالنقر فوق نموذج التحليل ، ثم حدد GenericComponent للتحليل:



ثم انقر فوق الزر Instantiate واحصل على النتيجة التالية:



هنا يمكننا تعيين قيم خاصية Workload لكل عنصر والنقر على زر التحديث لتحديث هذه القيم في البنية نفسها. ولا يتعين علينا النقر ، لأن المثيل موجود بشكل منفصل عن الهندسة المعمارية ، ويمكننا التغلب على قيم الخصائص للعثور على تنازلات المشروع أو العثور على قيم الملكية المثلى. يتم إجراء التحليل نفسه بواسطة دالة منفصلة تم إنشاؤها في MATLAB. هنا ، على سبيل المثال ، هو رمز وظيفة "التحليل" لدينا:

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

بعد إنشاء الوظيفة ، انقر فوق تحليل وحددها في قائمة تحديد الوظيفة. الآن ، عند النقر فوق الزر تحليل ، سيتم جمع قيمة خاصية عبء العمل:



كان هذا مثالًا بسيطًا للغاية على تحليل الهندسة المعمارية ، وفي المهام القتالية والتحليلية الحقيقية ، يتم استخدام مجموعة كاملة من القدرات التحليلية MATLAB ، مثل تركيب المنحنى ، وتحليل الانحدار ، إلخ.

الشيء الرئيسي هنا هو أنه يمكننا ويجب علينا إجراء تحليل منهجي لهندستنا من أجل تطوير المشروع.

علاقة المكونات وتنفيذها


وأخيرًا ، System Composer ليس أداة منفصلة موجودة بشكل منفصل عن Simulink. بعد تحديد الهيكل ، يمكن ربط كل من مكوناته بنموذج Simulink ، بينما يمكنك تحديد نموذج موجود أو إنشاء نموذج تلقائيًا! هذا يسمح لك بتشغيل المحاكاة واستكشاف الخصائص السلوكية للنظام مباشرة في System Composer.



الأهم من ذلك ، إذا تم إنشاء نموذج من مكون ، يتم إنشاء منافذ الإدخال والإخراج مع الواجهات اللازمة تلقائيًا في النموذج. يعد هذا تافهًا مهمًا جدًا ، نظرًا لأن تكامل المكونات عادةً ما يتباطأ بسبب واجهات المكونات غير المتسقة ، وتحل الواجهات سابقة الإعداد هذه المشكلة. يمكن إعطاء كل نموذج تم إنشاؤه لفنان معين ويكون هادئًا ليتم دمجه لاحقًا في الهندسة المعمارية

الموجودات


على مدى ثلاث مقالات ، عرضت تقنيات التصميم الأساسية على مستوى النظام. حان الوقت لتقييم.

يتطلب التصميم على مستوى النظام تحليلًا تفصيليًا إلى حد ما للمهمة ويتطلب أدوات بديهية. يعد System Composer أداة سهلة التعلم وتستفيد استفادة كاملة من منهجية التصميم الموجه للنموذج لإنشاء هياكل النظام وتحليلها ، بالإضافة إلى القدرات التحليلية لـ MATLAB.

يسمح لنا استخدام System Composer لإجراء تحليل شامل لقرارات التصميم باكتساب فهم لطبيعة المكونات وتحديد الاختناقات المحتملة في النظام التي يمكن العثور عليها في المراحل المتأخرة من التطوير. يمكن استخدام طرق مختلفة للتحليل - من تحليل تدفق البيانات إلى التحليلات العددية.

وكما ترون ، فإن التصميم على مستوى النظام ليس مخيفًا على الإطلاق ، والأدوات التي تدعم تصميم النظام تساعدك في ذلك.

اريد معرفة المزيد؟ أجرينا ندوة تعريفية عبر الإنترنت حول هندسة النظم ، وكجزء من هذا البرنامج التعليمي على الويب ، عرضت هذا البرنامج التعليمي للتو. وقال زميلي ميخائيل بيسيلنيك لماذا هندسة النظام مطلوبة على الإطلاق. الندوة نفسها هنا .

All Articles