تحويل النموذج

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

ملخص

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

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

تصنيف تحويلات النموذج

صُنفت تحويلات النماذج واللغات المستخدمة فيها بطرق عديدة. [ 1 ] [ 2 ] [ 3 ] ومن أبرز هذه التصنيفات:

عدد ونوع المدخلات والمخرجات

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

داخلي المنشأ مقابل خارجي المنشأ

التحويلات الداخلية هي تحويلات بين نماذج مُعبَّر عنها بنفس اللغة. أما التحويلات الخارجية فهي تحويلات بين نماذج مُعبَّر عنها باستخدام لغات مختلفة. [ 4 ] على سبيل المثال، في عملية تتوافق مع بنية OMG الموجهة بالنماذج ، قد يتم تحويل نموذج مستقل عن المنصة إلى نموذج خاص بالمنصة عن طريق تحويل نموذج خارجي.

أحادي الاتجاه مقابل ثنائي الاتجاه

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

في تحويل النماذج ثنائي الاتجاه، قد يُستخدم نفس نوع النموذج كمدخلات في بعض الأحيان، وكنا نُخرجه في أحيان أخرى. تُعدّ التحويلات ثنائية الاتجاه ضرورية في الحالات التي يعمل فيها المستخدمون على أكثر من نموذج، ويجب الحفاظ على اتساق هذه النماذج. عندئذٍ، قد يستلزم تغيير أيٍّ من النموذجين تغيير الآخر، وذلك للحفاظ على الاتساق بينها. ولأن كل نموذج قد يتضمن معلومات غير موجودة في النموذج الآخر، فقد يكون هناك العديد من النماذج المتوافقة مع نموذج مُحدد. ومن الحالات الخاصة المهمة ما يلي:

  • التحويلات التقابلية، حيث يوجد نموذج واحد فقط يتوافق مع أي نموذج مُعطى؛ أي أن علاقة التوافق تقابلية. يكون زوج من النماذج متوافقًا إذا وفقط إذا كان مرتبطًا بعلاقة التوافق التقابلية. يحتوي كلا النموذجين على نفس المعلومات، ولكنهما يُعرضان بشكل مختلف.
  • تُعرف تحويلات العرض بأنها عملية يُحدد فيها نموذج مُحدد نموذج عرض واحد، ولكن قد يُنتج نموذج العرض نفسه من نماذج مُحددة مختلفة. يُعد نموذج العرض تجريدًا للنموذج المُحدد. إذا كان من الممكن تحديث العرض، فستكون هناك حاجة إلى تحويل ثنائي الاتجاه. تُعرف هذه الحالة في مجال قواعد البيانات باسم " تحديث العرض" . أي نموذج مُحدد يكون متسقًا مع عرضه.

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

لغات لتحويل النماذج

يمكن كتابة تحويل النموذج بلغة برمجة عامة، ولكن تتوفر أيضًا لغات متخصصة لتحويل النماذج. ويُفضل كتابة التحويلات ثنائية الاتجاه، على وجه الخصوص، بلغة تضمن ترابط الاتجاهات بشكل مناسب. وتُعرف لغات تحويل النماذج الموحدة من قِبل OMG مجتمعةً باسم QVT .

في بعض لغات تحويل النماذج، مثل لغات QVT ، يُعدّ تحويل النموذج نفسه نموذجًا، أي أنه يتوافق مع نموذج فوقي يُشكّل جزءًا من تعريف لغة تحويل النموذج. وهذا يُسهّل تعريف التحويلات ذات الرتبة العليا (HOTs)، [ 6 ] أي التحويلات التي تستخدم تحويلات أخرى كمدخلات و/أو مخرجات.

انظر أيضاً

مراجع

  1. تشارنيكي؛ هيلسن (2006). "دراسة استقصائية قائمة على الميزات لأساليب تحويل النماذج". مجلة أنظمة آي بي إم . 45 (3): 621-645 . CiteSeerX 10.1.1.124.9674 . doi : 10.1147/sj.453.0621 . 
  2. ستيفنز، بيرديتا (2008). "مشهد تحويلات النماذج ثنائية الاتجاه" . التقنيات التوليدية والتحويلية في هندسة البرمجيات II . سلسلة محاضرات في علوم الحاسوب. المجلد 5235. سبرينغر . الصفحات 408-424 . doi : 10.1007/978-3-540-88643-3_10 . ISBN   978-3-540-88642-6.
  3. جاكوميت؛ بوخوالد؛ واجيلار؛ دان؛ هيغيدوس؛ هيرمانسدورفر؛ هورن؛ كالنينا؛ لانو؛ ليبر؛ رينسينك؛ روز؛ واتزولد؛ مازانيك (2014). "دراسة استقصائية ومقارنة لأدوات التحويل بناءً على مسابقة أدوات التحويل" . مجلة علوم برمجة الحاسوب . 85 : 41-99 . doi : 10.1016/j.scico.2013.10.009 .
  4. توم مينز، بيتر فان غورب: تصنيف تحويل النماذج. ملاحظات إلكترونية في علوم الحاسوب النظرية 152: 125-142 (2006)
  5. ستيفنز، بيرديتا (2010). "تحويلات النماذج ثنائية الاتجاه في QVT: قضايا دلالية وأسئلة مفتوحة" (ملف PDF) . نمذجة البرمجيات والأنظمة . 9 : 7-20 . doi : 10.1007/s10270-008-0109-9 . S2CID 371579 . 
  6. تيسي، ماسيمو (2009). "حول استخدام تحويلات النماذج من الرتبة العليا". هندسة البرمجيات الموجهة بالنماذج - الأسس والتطبيقات . سلسلة محاضرات في علوم الحاسوب. المجلد 5562. سبرينغر . الصفحات 18-33 . doi : 10.1007/978-3-642-02674-4_3 . ISBN   978-3-642-02673-7.{{cite book}}تم |journal=تجاهله ( مساعدة )

للمزيد من القراءة

  • هندسة البرمجيات الموجهة بالنماذج في الممارسة العملية ، ماركو برامبيلا، جوردي كابوت، مانويل ويمر، مقدمة بقلم ريتشارد سولي ( رئيس مجلس إدارة OMG )، مورغان وكلايبول، الولايات المتحدة الأمريكية، 2012، سلسلة محاضرات توليفية في هندسة البرمجيات #1. 182 صفحة. ISBN 9781608458820(غلاف ورقي)، رقم ISBN 9781608458837(كتاب إلكتروني) http://www.mdse-book.com