سؤال

ما هي الأدوات المتاحة للMetamodelling؟

خاصة بالنسبة لتطوير محرري الرسوم البيانية، الذين يقومون بالتجربة حاليًا كسوف GMF

هل تتساءل ما هي الخيارات الأخرى الموجودة هناك؟هل هناك مقارنة متاحة؟

هل كانت مفيدة؟

المحلول

سؤالك ببساطة واسع للغاية بحيث لا يمكن الحصول على إجابة واحدة - وذلك بسبب العديد من الجوانب.

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

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

لتبدأ على الأقل في قسم Eclipse:

  • قم بإلقاء نظرة على MOF، وهي بنية "النمذجة الوصفية" من OMG (الرجال الذين يحافظون على لغة UML)
  • من هناك يقترب من EMOF، وهي مجموعة فرعية مدعومة بواسطة Eclipse Modeling Framework في تجسيد Ecore.
  • قد يكون بناء شيء فوق GMF فكرة جيدة بالفعل، لأن هذه هي الطريقة التي يتبعها محررو المخططات الحاليون لمنصة Eclipse (على سبيل المثال.كسوف أوموندوUML)
  • هناك الكثير من الأدوات الموجودة في بيئة Eclipse، والتي يمكنها الاستفادة من Ecore - آمل ببساطة أن يبني GMF على Ecore نفسه.

نصائح أخرى

ضياء لديه واجهة برمجة تطبيقات لهذا - لقد تمكنت من تحويل محرر UML الخاص بهم إلى أداة أساسية لنمذجة التقارير الإلكترونية عن طريق تغيير أنماط الأسهم.باستخدام أداة الهندسة العكسية لقاعدة البيانات التي وجدتها في sourceforge (أخذت المخطط وأخرجت ملفات dia) يمكنك استخدام هذا لتوثيق قواعد البيانات.على الرغم من أن ما فعلته كان تافهًا إلى حد ما، إلا أن واجهة برمجة التطبيقات (API) كانت واضحة تمامًا ولم يستغرق الأمر وقتًا طويلاً لمعرفة كيفية إجراء التغيير.

إذا كنت ترغب في تجربة Smalltalk، فقد كان هناك إطار عمل تعريفي لـ Smalltalk يسمى قبة الذي يفعل هذا النوع من الأشياء.إذا قمت بتحميل أعمال مرئية, ، DOME هي إحدى الحزم المساهمة.

GMF مثال جميل.في قلب هذا يجلس إي إم إف/إيكور, ، مثل Computerkram سايس.يستخدم Ecore أيضًا لقاعدة Eclipse UML2 .إن حالة استخدام الهيبة وإثبات المفهوم لـ GMF هي بالتأكيد أدوات UML2.

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

يتم إجراء النمذجة الوصفية في الغالب في Smalltalk.

قد ترغب في إلقاء نظرة على MOOSE (http://moose.unibe.ch).هناك الكثير من الأدوات التي يجري تطويرها لفهم البرنامج.معظمها يعتمد على Smalltalk.هناك أيضًا بعض أعمال Java و C ++.

اثنتان من الأدوات الأكثر إثارة للإعجاب هما CodeCity وMondrian.يمكن لـ CodeCity تصور تطوير التعليمات البرمجية بمرور الوقت، ويوفر Mondrian تقنية التصور القابلة للبرمجة.

وبالطبع هناك HotDraw الكلاسيكي، والذي يتوفر أيضًا في Java.

لتطوير الويب، هناك أيضًا Magritte، الذي يوفر أوصافًا تعريفية لـ Seaside.

أوصي بشدة بالنظر إلى DSM (النمذجة الخاصة بالمجال) كموضوع عام، فالنمذجة التعريفية مرتبطة ارتباطًا مباشرًا.هناك أدوات تعتمد على Eclipse مثل GMF والتي تتطلب حاليًا ترميز Java، ولكنها تتكامل بشكل جيد مع أدوات Eclipse الأخرى وUML.ولكن هناك فئتين أخريين هناك.

  1. MetaCase والتي سأطلق عليها أداة DSM خالصة لأنها تركز على السماح للمطور/المصمم بدون قدر كبير من الترميز بإنشاء نموذج رسومي قابل للاستخدام.بالإضافة إلى ذلك، يمكن نشره بسهولة ليستخدمه الآخرون.يقع مصنع برمجيات GMF وMicrosoft Beta/أداة DSM ضمن هذه الفئة.

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

إذا كنت تريد معرفة المزيد حول رقم 1، تطبيقات الأدوات الخاصة بـ DSMs/Meta-modeling، فراجع منشوري "موارد رائعة لـDSMForum.org، تستحق المشاهدة." أو انتقل مباشرة إلى DSMForum.org

إذا كنت مهتمًا بشيء يتعلق بالنمذجة وليس بإنشاء التعليمات البرمجية، فقم بإلقاء نظرة عليه adoxx.org.باعتبارها منصة للنمذجة الوصفية، فهي توفر وظائف وآليات لتطوير خط المشترك الرقمي (DSL) الخاص بك بسرعة وتسمح لك بالتركيز على احتياجات النماذج (متطلبات العمل، وتصميم/مواصفات المستوى المفاهيمي).هناك مجتمع نشط من الأوساط الأكاديمية والممارسات المعنية بتطوير التطبيقات النموذجية وكذلك التجارية القائمة على النظام الأساسي.يمكن أن تكون مثيرة للاهتمام ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top