النمذجة الخاصة بالمجال
نمذجة المجال المحدد ( DSM ) هي منهجية هندسة برمجيات لتصميم وتطوير الأنظمة، مثل برامج الحاسوب . وهي تتضمن استخدامًا منهجيًا للغة خاصة بالمجال لتمثيل الجوانب المختلفة للنظام.
تميل لغات النمذجة الخاصة بالمجال إلى دعم التجريدات ذات المستوى الأعلى مقارنة بلغات النمذجة ذات الأغراض العامة ، لذا فهي تتطلب جهدًا أقل وتفاصيل أقل على المستوى المنخفض لتحديد نظام معين.
ملخص
غالبًا ما يتضمن نمذجة المجال المتخصص فكرة توليد الشفرة : أي أتمتة إنشاء شفرة المصدر القابلة للتنفيذ مباشرةً من نماذج لغة المجال المتخصص. وبفضل التحرر من الإنشاء والصيانة اليدوية لشفرة المصدر، يمكن للغة المجال المتخصص أن تُحسّن إنتاجية المطورين بشكل ملحوظ. [ 1 ] كما أن موثوقية التوليد التلقائي مقارنةً بالبرمجة اليدوية ستُقلل من عدد العيوب في البرامج الناتجة، مما يُحسّن الجودة.
تختلف لغة المجال المتخصصة عن محاولات توليد الشفرة السابقة في أدوات هندسة البرمجيات بمساعدة الحاسوب (CASE) في ثمانينيات القرن الماضي أو أدوات لغة النمذجة الموحدة (UML) في تسعينياته. في كلتا الحالتين، كان مُورّدو الأدوات هم من يبنون مولدات الشفرة ولغات النمذجة. مع أنه من الممكن لمورّد أدوات أن يُنشئ لغة مجال متخصصة ومولدات لها، إلا أنه من الشائع أكثر أن تُستخدم لغة المجال المتخصصة داخل مؤسسة واحدة. يقوم مطوّر خبير واحد أو عدد قليل منهم بإنشاء لغة النمذجة والمولدات، ويستخدمها باقي المطوّرين.
إن قيام المنظمة التي ستستخدم لغة النمذجة والمولد ببناءهما يسمح بملاءمة دقيقة مع مجالها المحدد والاستجابة للتغييرات في هذا المجال.
تستطيع لغات البرمجة المتخصصة عادةً تغطية نطاق واسع من مستويات التجريد لمجال معين. على سبيل المثال، يمكن للغة نمذجة متخصصة للهواتف المحمولة أن تسمح للمستخدمين بتحديد تجريدات عالية المستوى لواجهة المستخدم ، بالإضافة إلى تجريدات منخفضة المستوى لتخزين البيانات مثل أرقام الهواتف أو الإعدادات. وبالمثل، يمكن للغة نمذجة متخصصة للخدمات المالية أن تسمح للمستخدمين بتحديد تجريدات عالية المستوى للعملاء، بالإضافة إلى تجريدات منخفضة المستوى لتنفيذ خوارزميات تداول الأسهم والسندات.
المواضيع
تعريف اللغات الخاصة بالمجال
لتعريف لغة ما، نحتاج إلى لغة لكتابة التعريف بها. تُسمى لغة النموذج غالبًا بالنموذج الفوقي ، ومن ثم فإن لغة تعريف لغة النمذجة هي نموذج فوقي فوقي. يمكن تقسيم النماذج الفوقية الفوقية إلى مجموعتين: تلك المشتقة من لغات موجودة أو المُخصصة لها، وتلك التي طُوّرت خصيصًا كنماذج فوقية فوقية.
تشمل النماذج الفوقية المشتقة مخططات علاقات الكيانات ، واللغات الرسمية ، وصيغة باكوس-ناور الموسعة (EBNF)، ولغات الأنطولوجيا ، ومخطط XML ، ومرفق الكائنات الفوقية (MOF). وتكمن نقاط قوة هذه اللغات في سهولة استخدامها وتوحيدها للغة الأصلية.
تُشجع فلسفة النمذجة المتخصصة في مجال معين على ابتكار لغة جديدة لمهمة محددة، ولذا فليس من المستغرب وجود لغات جديدة مصممة كنماذج فوقية. وتُعدّ عائلة لغات OPRR [ 2 ] [ 3 ] و GOPRR [ 4 ] وGOPPRR الأكثر استخدامًا من بين هذه اللغات، والتي تُركز على دعم العناصر الموجودة في لغات النمذجة بأقل جهد ممكن.
دعم الأدوات للغات الخاصة بالمجال
تتوفر بالفعل أدوات دعم للعديد من لغات النمذجة العامة، وذلك على شكل أدوات CASE . أما لغات البرمجة المتخصصة في مجال معين، فغالباً ما يكون حجم سوقها صغيراً جداً بحيث لا يسمح ببناء أداة CASE مخصصة من الصفر. ولذلك، يُبنى معظم دعم الأدوات لهذه اللغات على أطر عمل موجودة أو من خلال بيئات لغات متخصصة.
يمكن اعتبار بيئة لغة خاصة بمجال معين بمثابة أداة نمذجة فوقية، أي أداة نمذجة تُستخدم لتعريف أداة نمذجة أو أداة CASE. قد تعمل الأداة الناتجة ضمن بيئة اللغة الخاصة بالمجال، أو في حالات أقل شيوعًا، تُنتج كبرنامج مستقل بذاته. في الحالة الأكثر شيوعًا، تدعم بيئة اللغة الخاصة بالمجال طبقة تجريد إضافية مقارنةً بأداة CASE التقليدية.
يُمكن استخدام بيئة لغة مُخصصة لمجال مُعين أن يُقلل بشكل كبير من تكلفة الحصول على دعم الأدوات لهذه اللغة، حيث تُؤتمت بيئة اللغة المُصممة جيدًا إنشاء أجزاء البرنامج التي يصعب بناؤها من الصفر، مثل المُحررات والمتصفحات والمكونات المُخصصة للمجال. كل ما يحتاجه خبير المجال هو تحديد البنى والقواعد الخاصة بالمجال، بينما تُوفر بيئة اللغة المُخصصة أداة نمذجة مُصممة خصيصًا للمجال المُستهدف.
تُستخدم معظم لغات البرمجة المتخصصة في مجالات محددة ضمن بيئات لغوية متخصصة، سواء كانت تجارية مثل MetaEdit+ أو Actifsource ، أو مفتوحة المصدر مثل GEMS ، أو أكاديمية مثل GME . وقد أدى تزايد شعبية لغات البرمجة المتخصصة إلى إضافة أطر عمل خاصة بها إلى بيئات التطوير المتكاملة (IDEs) الحالية، مثل مشروع Eclipse Modeling Project (EMP) مع EMF و GMF ، أو في أدوات لغات البرمجة المتخصصة (DSL) من مايكروسوفت لمصانع البرمجيات .
لغة خاصة بالمجال ولغة النمذجة الموحدة (UML)
لغة النمذجة الموحدة (UML) هي لغة نمذجة عامة الأغراض للأنظمة البرمجية المعقدة، مصممة لدعم البرمجة كائنية التوجه بشكل أساسي . ونتيجة لذلك، وعلى عكس اللغات المتخصصة في مجالات محددة، تُستخدم UML لأغراض متنوعة في نطاق واسع من المجالات. تُقدم UML عناصر أساسية للبرمجة كائنية التوجه، بينما تُقدم اللغات المتخصصة في مجالات محددة عناصر أساسية ذات دلالات مألوفة لجميع الممارسين في ذلك المجال. على سبيل المثال، في مجال هندسة السيارات ، توجد نماذج برمجية لتمثيل خصائص نظام منع انغلاق المكابح ، أو عجلة القيادة ، وما إلى ذلك.
تتضمن لغة النمذجة الموحدة (UML) آلية تعريف تسمح بتقييدها وتخصيصها لمجالات ومنصات محددة. تستخدم تعريفات UML الأنماط النمطية ، وسمات الأنماط النمطية (المعروفة بالقيم الموسومة قبل UML 2.0)، والقيود لتقييد نطاق UML وتوسيعه ليشمل مجالًا معينًا. ولعلّ أشهر مثال على تخصيص UML لمجال محدد هو SysML ، وهي لغة خاصة بمجال هندسة النظم .
تُعدّ لغة النمذجة الموحدة (UML) خيارًا شائعًا للعديد من مناهج التطوير القائمة على النماذج، حيث يتم توليد العناصر التقنية، مثل شفرة المصدر والوثائق والاختبارات وغيرها، خوارزميًا من نموذج المجال. على سبيل المثال، يمكن تطوير ملفات تعريف التطبيقات لمعيار الوثائق القانونية ألبرتو ألفاريز (Alberto Álvarez O.) من خلال تمثيل المفاهيم القانونية والأنطولوجيات في كائنات فئات UML. [ 5 ]
انظر أيضاً
مراجع
- ↑ كيلي، س. وتولفانين، ج.-ب.، (2008) نمذجة خاصة بالمجال: تمكين توليد الكود الكامل، جون وايلي وأولاده، نيو جيرسي. ISBN 978-0-470-03666-2
- ↑ آر جيه ويلك. مستودع CASE: أكثر من مجرد تطبيق قاعدة بيانات آخر. في دبليو دبليو كوترمان وجيه إيه سين، محرران، وقائع ندوة INTEC لعام 1988 حول تحليل وتصميم النظم: استراتيجية بحثية، أتلانتا، جورجيا، 1988. جامعة ولاية جورجيا.
- ↑ سمولاندر، ك.، (1992) OPRR - نموذج لنمذجة أساليب تطوير الأنظمة. في: أدوات CASE من الجيل التالي (تحرير ك. ليتينين، ف.-ب. تاهفانين) دار نشر IOS، أمستردام، هولندا، ص 224-239.
- ↑ كيلي، إس.، ليتينين، ك.، وروسي، م.، "MetaEdit+: بيئة CASE متعددة المستخدمين والأدوات قابلة للتكوين بالكامل"، وقائع مؤتمر CAiSE'96، المؤتمر الدولي الثامن حول هندسة نظم المعلومات المتقدمة، سلسلة محاضرات في علوم الحاسوب 1080، سبرينغر-فيرلاغ، ص 1-21، 1996. (في أطروحة الدكتوراه بصيغة 3metools.pdf)
- ↑ فلات، أميلي؛ لانجنر، آرني؛ ليبس، أولوف (2022). تطوير ملفات تعريف التطبيقات الموجهة بالنموذج - إطار مفاهيمي لتوليد المخططات الفرعية لـ XML باستخدام النموذج ( الطبعة الأولى). هايدلبرغ: سبرينتر نيتشر. ISBN 978-3-031-14131-7.
روابط خارجية
- نمذجة خاصة بالمجال لتطوير البرمجيات التوليدية. مؤرشف بتاريخ 31 يناير 2010 على موقع Wayback Machine ، مقال ويب بقلم مارتين إيسيجر، 2010
- نمذجة خاصة بالمجال في أطر عمل IoC - مقال على الإنترنت بقلم كي جين ، 2007
- نمذجة خاصة بالمجال لتوليد الكود الكامل من الأساليب والأدوات - مقالة على الإنترنت بقلم جوها-بيكا تولفانين، 2005
- إنشاء لغة نمذجة خاصة بالمجال لإطار عمل موجود - مقال على الإنترنت بقلم جوها-بيكا تولفانين، 2006
- مواضيع لغات البرمجة
- لغات برمجة المحاكاة
