سؤال

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

لقد جربت EMF ، لكنني غير قادر على العثور على أي برنامج تعليمي يوضح كيفية استيراد XMI الذي يحتوي على UML. لقد وجدت أيضا NSUML/NSMDF لكن الرابط إلى الوثائق مكسور.

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

المحلول

لا أعتقد أن ما تريد موجود. جميع الأدوات التي تستورد XMI التي أعرفها (بما في ذلك خدمة تحويل XMI: http://modeling-languages.com/content/xmi2-tool-evexchanging-uml-models-among-case-tools) العمل عن طريق تحليل ملف XMI بالكامل وإنشاء نموذج UML المقابل في الذاكرة الرئيسية. ثم يمكنك الوصول إلى عناصر UML عن طريق الاستعلام عن النموذج.

للتكرار على طراز XMI ، يمكنك بسهولة استخدام مكتبات XML لتحديد أجزاء ملف XMI الذي تهتم به.

نصائح أخرى

ربما ببساطة إلقاء نظرة على تحويل XMI إلى HTML. هذا يجب أن يساعدك على البدء مع XSLT و XMI.

يعتمد ذلك على إصدار UML الذي تحاول قراءته. حزمة NSUML التي وجدتها تعمل فقط مع UML 1.3. ال مستودع البيانات الوصفية NetBeans (MDR) سوف تقرأ مقبض UML 1.4 و UML 1.5. يمكن استخدامه كمكتبة مستقلة (وهذا ما يستخدمه Argouml) ، لذلك لا تحتاج إلى NetBeans. بالنسبة إلى UML 2.x ، أعتقد أن مكتبات Eclipse EMF & UML2 هي اختيارك الوحيد. EMF هي التبعية ، لكنها في الحقيقة أشياء UML2 التي تريدها. كما هو الحال مع MDR و NetBeans ، لا تحتاج إلى Eclipse. تستخدم Argouml مكتبات Eclipse لدعمها UML 2.x.

Argouml يمكن استيراد XMI إلى نموذج UML وإنشاء رمز لـ Java و C ++ و C#و Php4 و Php5.

من أجل قراءة XMI/UML باستخدام EMF ، ستحتاج إلى العثور على نموذج ECORE أو إنشاء أو كتابة OCORE لـ UML. بمجرد أن يكون لديك واحد من هذه ، يمكنك إنشاء فصول في الذاكرة لمعالجة UML والاستفادة من البنية التحتية EMF الأخرى.

ولكن قد يكون المسار الأكثر بساطة هو استخدام البنية التحتية لـ UML2 التي طورتها الكسوف مشروع MDT. (أظن أنه يستخدم EMF أسفل الغطاء وأن هناك نموذجًا ECORE لـ UML2 في مكان ما.)

ما تبحث عنه هو مواصفات Java لـ JMI ("واجهة بيانات تعريف Java") ، والتي تنفذ MOF لوصف البيانات الوصفية و XMI لنقل البيانات الوصفية.

لسوء الحظ ، أبحث حاليًا عن تطبيقات JMI نفسي وصفحة Suns JMI يبدو أنها عفا عليها الزمن قليلاً. يبدو أن تنفيذ المصدر المفتوح من قبل NetBeans قد تم إسقاطه للإصدار 6.

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