MULTI-OBJECTIVE OPTIMIZATION APPROACH TO SOFTWARE PACKAGING USING SEQUENCE DIAGRAMS. Masters thesis, King Fahd University of Petroleum and Minerals.
|
PDF
ThesisSigned&Cover.pdf Download (7MB) | Preview |
Arabic Abstract
النمطية هي سمة أساسية من منتجات / أنظمة البرمجيات . أهمية النمطية تصبح كبيرة مع زيادة حجم نظام البرمجيات . وفي هندسة البرمجيات، ينتج تحليل النشر تقسيم المكونات في تكوين يحسن من جودة الخدمات المتعددة . في هذا المستوى، ويشار إلى نمطية كما التعبئة والتغليف . ويمكن اعتبار التعبئة والتغليف عملية تقسيم الطبقات في نظام إلى عدد معين من الحزم لتشكيل تكوين التعبئة والتغليف . التعبئة والتغليف يساعد على تنظيم أنظمة البرمجيات بطريقة تعزز الصيانة ( من خلال تعزيز المرونة ) مع انخفاض التكلفة . هذه الصفات المكتسبة من المرونة ومنخفضة التكلفة، وجعل التعبئة والتغليف جيدة نشاطا أساسيا لتلبية الاحتياجات المتغيرة باستمرار في أنظمة البرمجيات . تقليديا، يتم التغليف يدويا من قبل المصممين على أساس الحدس والخبرة . ومع ذلك، مع حجم نظم البرمجيات تنمو، أتمتة العملية يصبح أساسيا . كانت هناك عدة محاولات لتقسيم تلقائي للفصول إلى حزم . ومع ذلك، فإن معظم هذه المحاولات تؤكد التعبئة والتغليف للفئات لأغراض تطوير البرمجيات . وهذا هو تركيزهم على كيفية تنظيم الطبقات / نمطية في الملفات والدلائل ومساحات الأسماء لأغراض التنمية بدلا من لأغراض النشر . في أعمال حديثة، اقترب الباحثون من حل لمشكلة التعبئة والتغليف من خلال صياغته كمشكلة الأمثل متعددة الأهداف . هذه الأطروحة، تقترح تمديدا إلى مقياس سابق من خلال تفسيره باعتباره شبكة العصبية التلافيفية . لقد قمنا أيضا بالتحقيق في كيفية أداء تقنيات التحسين المختلفة المأخوذة من الأدبيات في صقل المقياس . وقد تم أيضا صياغة مقياس استقرار معماري جديد للبرامج ( إكسسم ) ، وتم إجراء محاولة لاستخدامه للتحقق من صحة مقياس التعبئة البرمج
English Abstract
Modularity is an essential attribute of software products/systems. The importance of modularity becomes significant as the size of software system increases. In software architecture, deployment analysis produces partitioning of components in a configuration that optimizes multiple quality of services. At this level, modularity is referred to as packaging. Packaging can be seen as the process of partitioning of classes in a system into a given number of packages to form a packaging configuration. Packaging helps to organize software systems in a manner that enhances maintenance (through enhancement of flexibility) with low cost. These acquired qualities of flexibility and low-cost, make good packaging an essential activity for accommodating ever-changing requirements in software systems. Traditionally, software packaging is done manually by designers based on their intuition and experience. However, as the size of software systems grow, automation of the process becomes essential. There have been several attempts at automatic partitioning of classes into packages. However, most of these attempts emphasize packaging of classes for software development purposes. That is their focus were on how classes are organized/modularized into files, directories and namespaces for developmental purposes rather than for deployment purposes. In recent works, researchers approached solving packaging problem by formulating it as a multi-objective optimization problem. This thesis, proposes an extension to an earlier metric through its interpretation as a Convolutional Neural Network. We have also investigated how different optimization techniques taken from the literature perform in fine-tuning of the metric. Software architectural stability metrics (ASM, ExASM, and CEAM) were implemented and correlations between them and software packaging metric were computed.
Item Type: | Thesis (Masters) |
---|---|
Subjects: | Computer Research Research > Information Technology |
Department: | College of Computing and Mathematics > Information and Computer Science |
Committee Advisor: | HASSINE, JAMELEDDINE |
Committee Members: | MOATAZ, AHMED and SAJJAD, MAHMOOD |
Depositing User: | ALIYU BAGUDU (g201308610) |
Date Deposited: | 19 Dec 2017 13:08 |
Last Modified: | 30 Dec 2020 11:53 |
URI: | http://eprints.kfupm.edu.sa/id/eprint/140544 |