Skip to main content

Advertisement

Log in

Multilevel component selection optimization toward an optimal architecture

  • Methodologies and Application
  • Published:
Soft Computing Aims and scope Submit manuscript

Abstract

Component-based software engineering uses components to construct systems, being a means to increase productivity by promoting software reuse. This work deals with the component selection problem. A multiobjective optimization approach is used to formulate the problem. The contribution of the current paper is threefold: the multilevel decomposition approach, the use of both functional and non-functional requirements (cost of a component, thus cost of the solution as sum of the costs of the constituent components) as objectives, and the use of metrics values to evaluate the architecture of the obtained solutions. As advantages over the existing literature we mention: the automatic computation of component interactions and of the constituent components for each module, multiple solutions obtained in a single run, and the new architecture evaluation step based on metrics values that is not present in other approaches. The decomposition offers valuable insights about internal structure of the system which led us to identify metrics to assess coupling and cohesion of the architecture design. The internal structure influences the external quality; thus, a highly cohesive module exhibits high reusability and loosely coupled systems enable easy maintenance. In this context, when selecting the best solution out of a set of available ones, we aim to maximize the cohesion of modules and to minimize the coupling between them, obtaining thus the “best” reusable and maintenable solution. To evaluate our approach, we discuss a case study for building a reservation system. In order to obtain the best parameters to run the evolutionary approach, three different studies were applied. The tests performed show the potential of evolutionary algorithms for this particular problem and for other similar ones.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
€32.70 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price includes VAT (France)

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Similar content being viewed by others

Explore related subjects

Discover the latest articles, news and stories from top researchers in related subjects.

References

  • Abreu F, Goulao M (2001) Coupling and cohesion as modularization drivers: Are we being over-persuaded? In Proc. of CSMR, pp 47–57

  • Alves C, Castro J (2001) A systematic method for cots component selection. In Proceedings of the Brazilian symposium on software engineering, pp 193–207

  • Arcuri A, Briand L (2011) A practical guide for using statistical tests to assess randomized algorithms in software engineering. In The 33rd international conference on software engineering, pp 1–10

  • Baker P, Harman M, Steinhofel K and Skaliotis A (2006) Search based approaches to component selection and prioritization for the next release problem. In The 22nd IEEE international conference on software maintenance, pp 176–185

  • Becker C, Rauber A (2010) Improving component selection and monitoring with controlled experimentation and automated measurements. Inform Softw Technol 52(6):641–655

    Article  Google Scholar 

  • Carroll S, Daughtrey T (2007) Fundamental concepts for the software quality engineer. ASQ Quality Press, Milwaukee

    Google Scholar 

  • Confidence-Interval (2015) How to calculate confidence interval. http://www.wikihow.com/Calculate-Confidence-Interval. Accessed: 2015

  • Cox P and Song B (2001) A formal model for component-based software. In Symposium on visual/multimedia approaches to programming and software engineering, pp 304–311

  • Crnkovic I (2002) Building reliable component-based software systems. Artech House Inc, Norwood

    MATH  Google Scholar 

  • Derrac J, Garcia S, Molina D, Herrera F (2011) A practical tutorial on the use of nonparametric statistical tests as a methodology for comparing evolutionary and swarm intelligence algorithms. Swarm Evol Comput 1:3–18

    Article  Google Scholar 

  • Fenton N E (1991) Software metrics: a rigorous approach. Chapman and Hall, London

    MATH  Google Scholar 

  • Fox MR, Brogan DC, Reynolds Jr, PF (2004) Approximating component selection. In Proceedings of the 36th conference on winter simulation, pp 429–434

  • Gesellensetter L, Glesner S (2007) Only the best can make it: optimal component selection. Electron Notes Theor Comput Sci 176(2):105–124

    Article  Google Scholar 

  • Grosan C (2005) A comparison of several evolutionary models and representations for multiobjective optimisation. ISE Book Series on Real Word Multi-Objective System Engineering, Nova Science

    Google Scholar 

  • Haghpanah N, Moaven S, Habibi J, Kargar M and Yeganeh SH (2007) Approximation algorithms for software component selection problem. In Asia-Pacific Software Engineering Conference, pp 159–166

  • Harman M, McMinn P, de Souza JT, Yoo S (2012) Search based software engineering: techniques, taxonomy, tutorial. Empir Softw Eng Verif 7007:1–59

    Google Scholar 

  • Iribarne L, Troya J and Vallecillo A (2002) Selecting software components with multiple interfaces. In The 28th EUROMICRO conference component-based software engineering, pp 26–32

  • Jhaa P, Balib V, Narulaa S, Kalra M (2014) Optimal component selection based on cohesion and coupling for component based software system under build-or-buy scheme. J Comput Sci 5(2):233–242

  • Kim Y, deWeck O (2005) Adaptive weighted-sum method for bi-objective optimization: pareto front generation. Struct Multidiscip Optim 29(2):149–158

    Article  Google Scholar 

  • Kwong C, Mu L, Tang J, Luo X (2010) Optimization of software components selection for component-based software system development. Comput Ind Eng 58(1):618–624

    Article  Google Scholar 

  • Lau KK (2014) Software component models: Past, present and future. In: Proceedings of the 17th International ACM Sigsoft symposium on component-based software engineering, CBSE ’14, pp 185–186

  • M, B (2001) Software engineering. Addison-Wesley Longman Publishing Co., Inc., Boston

  • Mancebo E, Andrews A (2005) A strategy for selecting multiple components. In A ACM symposium on applied computing, pp 1505–1510

  • Martens A, Mirandola R, Ardagna D, Reussnerand R and Koziolek H (2010) Coupling and cohesion as modularization drivers: are we being over-persuaded? In: Hybrid approach for multi-attribute QoS Optimisation in component based software systems, pp 84–101

  • Ncube C, Maiden NA (1999) Pore: Procurement-oriented requirements engineering method for the component-based systems engineering development paradigm. In Development Paradigm, International Workshop on Component-Based Software Engineering, pp 1–12

  • Parsa S and Bushehrian O (2004) A framework to investigate and evaluate genetic clustering algorithms for automatic modularization of software systems. In International conference on computational science, pp 699–702

  • Seker R, van der Merwe AJ, Kotze P, Tanik MM, Paul R (2004) Assessment of coupling and cohesion for component based software by using shannon languages. J Integr Des Process Sci 8:33–43

    Google Scholar 

  • Vescan A (2008a) An evolutionary multiobjective approach for the component selection problem. In: First IEEE international conference on the applications of digital information and web technologies (ICADIWT)

  • Vescan A (2008b) Pareto dominance—based approach for the component selection problem. In: The 2nd UKSim European symposium on computer modelling and simulation, pp 58–63

  • Vescan A (2009) Optimal component selection using a multiobjective evolutionary algorithm. Neural Netw World J 1(2):201–213

    Google Scholar 

  • Vescan A, Grosan C (2010) Evolutionary multiobjective approach for multilevel component composition. Studia Univ Babes-Bolyai, Informatica, LV(4):18–32

  • Vescan A, Grosan C and Yang S (2011) A hybrid evolutionary multiobjective approach for the dynamic component selection problem. In: The 11th international conference on hybrid intelligent systems (HIS), pp 714–721

  • Vescan A, Serban C. Details on case study for the multilevel component selection optimisation approach. Accessed 2 April 2016

  • Yin RK (2009) Case study research: design and methods. SAGE Publications, Thousand Oaks

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Andreea Vescan.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Ethical approval

This article does not contain any studies with human participants or animals performed by any of the authors.

Additional information

Communicated by V. Loia.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Vescan, A., Şerban, C. Multilevel component selection optimization toward an optimal architecture. Soft Comput 21, 4481–4495 (2017). https://doi.org/10.1007/s00500-016-2472-8

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00500-016-2472-8

Keywords

Navigation