TOWARDS AN INTEGRATED METAMODEL BASED APPROACH TO SOFTWARE REFACTORING. PhD thesis, King Fahd University of Petroleum and Minerals.
|
PDF
Towards_An_Integrated_Metamodel_Based_Approach_to_Software_Refactoring.pdf - Published Version Download (12MB) | Preview |
Arabic Abstract
إعادة هيكلية البرمجيات هي عملية تغيير نظام البرمجيات بحيث تحسن من هيكله الداخلي ولا تغير سلوكه الخارجي. مكنت الهيكلية المرتبطة بالنماذج ولغة النمذجة الموحدة (UML) تطبيق إعادة الهيكلية على مستوى النماذج والتي كانت في السابق تطبق على شيفرة البرمجيات. إعادة الهيكلية على مستوى النماذج هو متعدد الأوجه وأكثر صعوبة من على مستوى شيفرة المصدة. لهذا، لا تزال الابحاث في هذا المجال تعتبر في المراحل الأولى. الهدف من هذا البحث هو وضع نهج متكامل متعدد الاوجه لإعادة الهيكلية النماذج باستخدام لغة النمذجة الموحدة (UML). الدافع الرئيسي لاستخدام طرق المتعددة لإعادة هيكلية النماذج هو للاستفادة من العلاقات المتداخلة بهدف سد الفجوة بين شيفرة ونماذج إعادة هيكلية البرمجيات. في هذا البحث، تم استخدام نموذج واحد من أوجه لغة النمذجة الموحدة (UML) على مستوى النموذج العام لبناء نموذج عام متكامل. تم تحديد نموذج الاصناف ليمثل وجهة النظر البنيوية، نموذج مخطط التسلسل ليمثل وجهة النظر السلوكية ونموذج حالات الاستخدام ليمثل وجهة النظر الوظيفية. تم اقتراح مجموعه من ثمانية فرص إعادة الهيكلة التي يمكن استخدامها لتحسين النماذج المقترحة على النموذج العام المتكامل بالإضافة الى مجموعة من طرق اعادة الهيكلة البدائية التي يمكن استخدامها لإزالة المشاكل المقترحة. تم تصميم أداة تسمى IntegraUML والتي تنفذ تكامل النماذج وإعادة الهيكلية وكذلك تسمح بالتحديد شبه الالي وتصليح مشاكل النماذج. تم إجراء المصادقة على النهج المقترح وذلك من خلال مقارنة نهج إعادة الهيكلية المتكامل مع تطبيق إعادة الهيكلية على نماذج فردية من حيث تحسين الجودة من خلال قياس متريات لغة النمذجة الموحدة (UML). تم تطبيق تسع حالات دراسة للتحقق من صحة النهج المقترح. كانت النتيجة أنه يمكن الكشف عن فرص لإعادة الهيكلية أكثر باستخدام النهج المتكامل مقارنة بنهج اعادة الهيكلة الفردي. وفضلا عن ذلك، كان هناك تحسن كبير في حجم التصميم، والتعقيد والنمطية للنماذج الفردية بعد تطبيق إعادة الهيكلية من خلال النموذج المتكامل بدلا من إعادة هيكلية النماذج الفردية. العمل المستقبلي سيبحث في استخدام نماذج أخرى في النموذج المتكامل، تطبيق اعادة هيكلية الانماط من خلال النموذج العام المتكامل والمصادقة باستخدام تصاميم مشروع حقيقي كبير.
English Abstract
Software refactoring is the process of changing a software system in a manner that does not alter its external behavior and yet improving its internal structure. Model-Driven Architecture and the popularity of the UML have enabled the application of refactoring at model-level which earlier was applied to only software code. Refactoring at model level is more multifaceted and challenging than at source code level. Hence, research in this area is still considered to be in its infancy. The objective of this research was to develop a multi-view integrated approach to model-driven refactoring using UML models. The main motivation behind using multiple views for model refactoring was to utilize the inter-view relationships to bridge the gap between code and model refactoring. In this research, a single model from each UML view is composed at metamodel level to construct an integrated metamodel. Class diagram representing the structural view, sequence diagram representing the behavioral view and use case diagram representing the functional view were selected for integration. A total of eight integrated refactoring opportunities that can be used to improve the design models were proposed over the integrated metamodel along with a set of primitive refactorings that can be used to remove the proposed smells. A prototype tool called IntegraUML that performs model integration and refactoring was also developed to allow semi-automated identification and resolution of the model smells. Validation of the proposed approach was performed by comparing integrated refactoring approach with refactoring applied to models individually in terms of quality improvement through UML model metrics. A total of nine case studies were considered for empirical validation of the proposed approach. It is concluded that more opportunities can be detected using the integrated approach rather than the individual refactoring approach. Apart from this, there was a significant improvement in the design size, complexity and modularity of the individual models after the application of refactoring over the integrated model as opposed to individual refactoring. Future work to this approach can investigate on using other models in the integration, application of pattern refactoring over the integrated metamodel and empirical validation over large real-world project designs.
Item Type: | Thesis (PhD) |
---|---|
Subjects: | Computer Research > Information Technology |
Department: | College of Computing and Mathematics > Information and Computer Science |
Committee Advisor: | Alshayeb, Mohammad |
Committee Co-Advisor: | Abdel-Aal, Radwan |
Committee Members: | Ahmed, Moataz and Elish, Mahmoud and El-Maleh, Aiman |
Depositing User: | MOHAMMED MISBHAUDDIN (007063100) |
Date Deposited: | 15 Oct 2012 06:56 |
Last Modified: | 01 Nov 2019 15:37 |
URI: | http://eprints.kfupm.edu.sa/id/eprint/138783 |