2014 IEEE International Conference on Advanced Communication Control and Computing Technologies (ICACCCT)
PROMETHEE based Component Evaluation and Selection for Component Based Software Engineering Kulbir Kaur1 ,Harshpreet Singh2 1 Student, 2Asst. Professor, 1,2
Department of Computer science and Engineering,Lovely Professional University,Jalandhar, India 1
[email protected],
[email protected]
Abstract— Component Based Software Engineering aims at integrating pre-existing software components which leads to the development of a software system. The major challenge is the selection of the component that best fits the specific requirements of the software to be developed. In order to successfully integrate the components in a software system, the software components need to be evaluated and ranked according to their quality attributes. Multiple criteria decision making methods help the system developer to select the best fit component to be used in a system. This paper proposes a methodology for component selection based on Preference Ranking Organization Method for Enrichment Evaluation (PROMETHEE). The results have shown that the methodology quantifying the qualitative selection and evaluation of software components and helps to build trust on the selected components during the component based development. Keywords— Component Based Software Engineering (CBSE), Commercial Off The Shelf (COTS), Multiple Criteria Decision Analysis (MCDA), Selection, Evaluation, Ranking. I. INTRODUCTION Component Based Software Engineering (CBSE) is based on the already existing components to implement or compose software systems. It uses loosely coupled, independent components to build a software system [1] .Before integrating the software components into the software system, there is a need to qualify and adapt those components. Component may be a software package, web service, web resource or any module [2]. Various components interacts each other through interfaces to accomplish the task of the system as a whole .In Object Oriented Programming, software components are considered as ‘objects’ or ‘classes’. CBSE provides various advantages as reduces development time and hence reduces time to market, increases reliability, flexibility, productivity, consistency of the software systems [4]. Besides providing various advantages, CBSE faces various problems like component trustworthiness, requirements trade-off, complexity, developed by different developers using different languages and platforms, unclear requirements, change in requirements, component maintenance costs etc. [5]. A. Component Selection
integrate them into the software system such that the target system satisfies the stated specification [3].Component selection process in CBSE is shown in Fig. 1.
Fig. 1. Component Selection Process
B. Component Selection Problem As the problem to have trust on the selected components while composing the software system is one of the major issues in CBSE because of no source code available of COTS components and due to risks associated with third party vendor. Moreover component selection is a multiple criteria problem which needs to involve various decision makers, participants and scenarios. This process may last too long. So there is need of effective decision analysis tool. Multiple Criteria Decision Analysis (MCDA) methods helps in choosing the best option from various alternatives on the basis of multiple criteria and builds the confidence in decision making process and hence in developing trust on the selected components. MCDA can use in complex problems where there are number of objectives. Component selection problem is a multiple criteria problem as to choose a component from various components which better fits the multiple criteria so to provide its trustworthy solution we can apply MCDA on component selection problem. A component needs to be selected on the basis of multiple criteria objectives for which various alternative components are available with different scores on each criterion. One component can better perform on one criterion and worst perform on other criteria. Winning component is selected from the set of components whose rank is high than others in satisfying the stated requirements of the software system. Component selection process as multiple criteria problem is shown in Fig. 2.
Component selection is a process to choose a subset of components which satisfies the required functionalities and then ISBN No. 978-1-4799-3914-5/14/$31.00 ©2014 IEEE
1843
2014 IEEE International Conference on Advanced Communication Control and Computing Technologies (ICACCCT)
Fig. 2. Component Selection as Multiple Criteria Problem
II. MULTIPLE CRITERIA DECISION ANALYSIS METHODS Multiple Criteria Decision Analysis Methods helps the decision maker to choose the option from various alternatives on the basis of requirements while taking their scores on different criteria under consideration. MCDA methods choose the candidate solution which better suits than others on all criteria. Various methods can be used to solve multiple criteria problem as OSTO [3], WSM [4], CARE [6], AHP [7], Utility Theory and SMART [8], DesCOTS [9], UnHOS [10], DEER [16] etc. Preference Ranking Organization Method for Enrichment Evaluation and Geometrical Analysis for Interactive Aid (PROMETHEE-GAIA) can be applied for the analysis and selection of components and solutions in various kinds of fields. It can be applied to selection and evaluation of COTS components while making the decision to select components from repository to develop the software system. Steps used by various MCDA methods are [11]: 1. Define and analyze the problem to be solved. 2. Identify the alternatives. 3. Identify criteria for the basis of alternatives evaluation. 4. Assign score to each alternative against each criterion. 5. Assign weight to each criterion according to its importance. 6. Calculate overall score of an alternative by combining its score on each criterion. 7. Analyze the results. 8. If necessary perform the sensitivity analysis to determine the effect of change of criterion weight on overall score of an option. 9. Choose high score value. III. PREFERENCE RANKING ORGANIZATION METHOD FOR ENRICHMENT EVALUATION PROMETHEE (Preference Ranking Organization Method for Enrichment Evaluation) is a multiple criteria decision analysis method under the category of outranking methods. It was proposed by JP Brans in 1982. PROMETHEE-I is used for partial ranking, PROMETHEE-II is used for complete ranking, PROMETHEE-III is used to rank according to intervals, PROMETHEE-IV is used for continuous case, PROMETHEE-V includes segmentation constraints and PROMETHEE-VI is the
representation of human brain [12]. PROMETHEE is based on the mathematical calculations to rank, prioritize and allocate the alternatives among various criteria. It can be applied to wide variety of applications such as project selection, COTS selection, supplier selection etc. Steps of PROMETHEE are as follows: 1. Determination of available alternatives. 2. Determination of evaluation criteria. 3. Assign weight to criteria. Weight of all criteria should be summed as 1. 4. Create an evaluation table and place the score of each alternative with respect to each criterion as shown in Table I. TABLE I.
A1 A2 A3 A4 A5
C1 0.3 3 2 5 4 4
C2 0.2 2 1 3 7 2
EVALUATION TABLE
C3 0.1 4 3 5 3 2
C4 0.2 1000 1200 900 1000 1100
C5 0.2 5 4 3 2 1
5.
Calculate the pair wise comparison of each pair of alternatives on each criterion as dj(a,b)= cj(a)-cj(b) where ‘j’ belongs to each criterion and ‘a,b’ belongs to alternatives. 6. Calculate the normalized score on the basis of preference function and by setting the value of indifference and preference thresholds. Normalized score is calculated as Pj (a,b)= Fj [dj(a,b)] where ‘a,b’ belongs to alternatives and ‘j’ belongs to criterion and 0≤Pj(a,b)≤1. Preference function can be of any type as Usual, U-shape, V-Shape, Level, Linear etc. 7. Calculate the preference degree of each pair of alternatives on all criteria as π(a,b)= P1 (a,b)w1+P2(a,b)w2+………Pk(a,b)wk and 0≤π (a,b)≤ 1. 8. Calculate the positive and negative outrank flow of each alternative on all criteria for partial ranking as Φ+(a)=1/(n1)[π(a1,a2)+π(a1,a3)… …π(a1,an)] and Φ-(a)=1/(n1)[π(a2,a1)+π(a3,a1)… …π(an,a1) respectively. 9. Calculate the net outrank flow of each alternative on all criteria for complete ranking as Φ(a)= Φ+(a)- Φ-(a) and 0≤Φ(a) ≤1. 10. Calculate the net outrank flow of each alternative on each criterion to obtain the profile of each alternative on each criterion as Φj(a)=1/(n-1)[(P1(a,b)-P1(b,a))+( P2(a,b)P2(b,a))+ P3(a,b)-P3(b,a))……+ Pk(a,b)-Pk(b,a))] to obtain the GAIA plane. 11. Select the alternative which has high net outrank flow value.
1844
2014 IEEE International Conference on Advanced Communication Control and Computing Technologies (ICACCCT) IV. EXPERIMENTAL SETUP PROMETHEE-GAIA can better support the COTS components selection process while developing the system from those components as compare to other multiple criteria decision analysis techniques. An experiment is performed by evaluating the components using the multiple criteria analyzer based on PROMETHEE methodology justifies the same. Components that need to be evaluated and the evaluation criteria can be maintained in a repository for current and future references as shown in Fig. 3. Components set ‘A’ is represented as A={ActiveX, OLE, Office Web Components, CORBA, OpenDoc, Altova Components, FileZila} and Criteria Set ‘C’ is represented as C={Functionality, Reliability, Maintainability, Cost, Integrability, Usability}.
TABLE II.
Grade Score
VG 5
G 4
5-POINT SCALE
A 3
B 2
VB 1
Evaluation Table with all the information within and across criteria and components is shown in Fig. 5.
Fig. 5. Evaluation Table Fig. 3. COTS Components Analyzer
By adding the project a desired decision matrix can be created as per the requirements as shown in Fig. 4.
V. RESULTS AND FINDINGS Pairwise comparison of each pair of software component on each criterion is shown in Fig. 6,7,8,9 and 10.
Fig. 6. Pair wise comparison on Functionality
Fig. 4. Decision Matrix
Criterion unit and type of each criterion, their weights according to their relative importance in selection process, their preference function and the values of indifference and preference thresholds are added in the evaluation table. Score of each component against each criterion is also added. Scores for criterion with unit considered as ‘5-Point’ is shown in Table II.
Fig. 7. Pair wise comparison on Reliability
1845
2014 IEEE International Conference on Advanced Communication Control and Computing Technologies (ICACCCT)
Fig. 8. Pair wise comparison on Maintainability
Fig. 13. Normalized difference on Maintainability
Fig. 9. Pair wise comparison on Cost
Fig. 14. Normalized difference on Cost
Fig. 10. Pair wise comparison on Integrability
Normalized scores of all components on all criteria are shown in Fig. 11, 12, 13, 14 and 15.
Fig. 15. Normalized difference Integrability
Degree of preference of each component over the other on all criteria is shown in Fig.16.
Fig. 11. Normalized difference on Functionality Fig. 16. Preferenec degree of all components
Positive and negative outranking flow of each component is shown in Fig. 17.
Fig. 12. Normalized difference on Reliability
1846
2014 IEEE International Conference on Advanced Communication Control and Computing Technologies (ICACCCT)
ACKNOWLEDGMENT I would like to thanks my guide Assistant Professor Harshpreet Singh, whose contribution in choosing and implementing this problem is grateful. REFERENCES [1] Fig. 17. Partial Ranking
Complete ranking and net flow of components is shown in Fig.18.
[2] [3]
[4]
[5]
[6]
Fig. 18. Complete Ranking
[7]
‘ActiveX’ scores high among all components as a whole and can be selected to compose the system. ‘OpenDoc’ ranked least among all the components.
[8]
VI. CONCLUSION Using the multiple criteria analyzer based on PROMETHEE simplifies the complex problem of component selection having conflicting requirements and preferences based on quantitative and qualitative phenomenon. Choosing criteria and adding components is straightforward and there is no limit on the number of criteria or components to compare. Sensitivity analysis can be performed as per the change in requirements or preferences by simply changing the weight of the criteria without altering the components and criteria and there is chance to obtain the intermediate values as partial ranking. There is no constraint on the criteria weightage that it must be summed as 1. Decision maker can set his own weight or he has opportunity to use the same weight to all criteria. It can help to manage and control change in COTS based development systems.
[9]
[10]
[11]
[12]
[13]
[14]
VII. FUTURE WORK The future scope of this work is to evaluate the COTS components by placing constraints on the selection process.
Chen, Jianguo, Wai K. Yeap, and Stefan D. Bruda. "A review of component coupling metrics for component-based development." In Software Engineering, 2009. WCSE'09. WRI World Congress on, vol. 4, pp. 65-69. IEEE, 2009. Sommerville, Ian, and Lutz Prechelt. "Software Reuse." Software Engineering, (2004). Kaur, Arvinder, and Kulvinder Singh Mann. "Component selection for component based software engineering." International Journal of Computer Applications 2, no. 1 (2010): 109-114. Vescan, Andreea, Crina Grosan, and Horia F. Pop. "Evolutionary algorithms for the component selection problem." In Database and Expert Systems Application, 2008. DEXA'08. 19th International Workshop on, pp. 509-513. IEEE, 2008. Crnkovic, Ivica. "Component-based software engineering-new challenges in software development." Journal of Computing and Information Technology 11, no. 3 (2004): 151-161. Chung, Lawrence, Kendra Cooper, and S. Courtney. "COTS-Aware Requirements Engineering and Software Architecting." In Software Engineering Research and Practice, pp. 57-63. 2004. Jadhav, Anil, and Rajendra Sonar. "Analytic Hierarchy Process (AHP), Weighted Scoring Method (WSM), and Hybrid Knowledge Based System (HKBS) for Software Selection: A Comparative Study." In Emerging Trends in Engineering and Technology (ICETET), 2009 2nd International Conference on, pp. 991-997. IEEE, 2009. Hutchinson, John, and Gerald Kotonya. "A Review of Negotiation Techniques in Component Based Software Engineering." In Software Engineering and Advanced Applications, 2006. SEAA'06. 32nd EUROMICRO Conference on, pp. 152-159. IEEE, 2006. Grau, Gemma, Juan Pablo Carvallo, Xavier Franch, and Carme Quer. "DesCOTS: a software system for selecting COTS components." In Euromicro Conference, 2004. Proceedings. 30th, pp. 118-126. IEEE, 2004. Ibrahim, Hamdy, Abdel-Halim H. Elamy, Behrouz H. Far, and Armin Eberlein. "UnHOS: A Method for Uncertainty Handling in Commercial Off-The-Shelf (COTS) Selection." International Journal of Energy, Information and Communications Vol. 2, Issue 3, August 2011 Xu, Ling, and Jian-Bo Yang. Introduction to multi-criteria decision making and the evidential reasoning approach. Manchester School of Management, 2001. Brans, Jean-Pierre, and Bertrand Mareschal. "PROMETHEE methods." InMultiple criteria decision analysis: state of the art surveys, pp. 163-186. Springer New York, 2005. Halim, Arwin, Amin Sudrajat, Andry Sunandar, I. Ketut Resika Arthana, Sunario Megawan, and Petrus Mursanto. "Analytical Hierarchy Process and PROMETHEE application in measuring object oriented software quality." InAdvanced Computer Science and Information System (ICACSIS), 2011 International Conference on, pp. 165-170. IEEE, 2011. Cortellessa, Vittorio, Ivica Crnkovic, Fabrizio Marinelli, and Pasqualina Potena. "Experimenting the Automated Selection of COTS Components Based on Cost and System Requirements." J. UCS 14, no. 8 (2008): 12281255.
1847