13

فكرة كي لا تموت (04) | تطبيق محاكاة لتحويل لغة UML إلى لغة حية وتفاعلية

فكرة كي لا تموت (04) | تطبيق محاكاة لتحويل لغة UML إلى لغة حية وتفاعلية

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

انطلاقا من هذا المثال

خطر لي لو يتم عمل بيئة محاكاة للأنواع المختلفة من لغات UML وخصوصا المخططات التدفقية Flow Chart أو مخططات اتخاذ القرار و مخططات حلول المشاكل والإصلاح

فبدلا من جعل المخطط التدفقي عبارة عن رسم أشكال هندسية وخطوط وأسهم وتفرعات

أن يتم تحويلها إلى مخطط حي وتفاعلي

فمثلا يمكن استبدال الشكل "معين" الذي يرمز لفحص قيمة ما والتفرع بناء على نتيجة الفحص نعم أو لا أن يتم استبدالها بمفتاح "Switch" مثل قاطع الكهرباء أو مثل صندوق الفحص CheckBox المستخدم في واجهات التطبيقات أو أي شيء

واستبدال مستطيلات المدخلات بخانات إدخال قيم كصندوق نص أو سلايدر أو أي كونترول يمكننا من إدخال قيم مختلفة

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

وإظهار باقي الأجزاء التي لا تمر فيها الإشارة بلون باهت

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

يعني يمكن اعتباره مشابه لعمليات Test في بيئات التطوير البرمجية


فكرة جميلة خصوصا لو أضفنا لها إمكانية توليد كود مبدئي للتطبيق و هو ما تتيحه العديد من أدوات رسم المخططات

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

الأمر مفيد في عدة اتجاهات

خذ مثلا بناء لنظام شركة تجارية وتم بناء مخطط تدفقي كالتالي :

أو لديك مخطط لنظام طبي معقد كهذا

أليس من الجيد أن تجرب مدخلات وخيارات مختلفة وترى كيف تؤوول النتيجة لتتأكد من صحة نظامك ومخططك