Skip to main content
Log in

Automating identification of services and their variability for product lines using NSGA-II

  • Research Article
  • Published:
Frontiers of Computer Science Aims and scope Submit manuscript

Abstract

Architecture-level business services are identified based on business processes; and likewise, in service-oriented product lines, identifying the domain architecture-level business services and their variability is preferred to be based on business processes and their variability. Identification of business services for a product line satisfying a set of given design metrics (such as cohesion and coupling) is extremely difficult for a domain architect, since there are many product configurations for which the services must be proper at the same time. This means that the identified services must have proper values for n metrics in m different configurations at the same time. The problem becomes more serious when there are high degrees of variability and complexity embedded in the business processes that are the basis for service identification.We contribute to solve the multi-objective optimization problem of identifying business services for a product line by partitioning the graph of a business process variability model utilizing Non-dominated Sorting Genetic Algorithm-II. The service specification is achieved based on the results of the partitioning. The variability of the services is then determined in terms of mandatory and optional services as well as variability relationships, which are all represented in a Service Variability Model. The method was empirically evaluated through experimentation, and showed proper levels of reusability and variability. Furthermore, the resulting models were fully consistent.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Lee J, Muthig D, Naab M. A feature-oriented approach for developing reusable product line assets of service-based systems. Journal of Systems and Software, 2010, 83(7): 1123–1136

    Article  Google Scholar 

  2. Jegadeesan H, Balasubramaniam S. A method to support variability of enterprise services on the cloud. In: Proceedings of IEEE International Conference on Cloud Computing. 2009, 117–124

    Google Scholar 

  3. Koning M, Sun C, Sinnema M, Avgeriou P. VxBPEL: supporting variability for Web services in BPEL. Information and Software Technology, 2009, 51(2): 258–269

    Article  Google Scholar 

  4. Erl, T. Service-Oriented Architecture (SOA): Concepts, Technology, and Design. Prentice Hall Englewood Cliffs, 2005

    Google Scholar 

  5. Jamshidi P, Sharifi M, Mansour S. To establish enterprise service model from enterprise business model. In: Proceedings of IEEE International Conference on Services Computing. 2008, 93–100

    Google Scholar 

  6. Ma Q, Zhou N, Zhu Y, Wang H. Evaluating service identification with design metrics on business process decomposition. In: Proceedings of IEEE International Conference on Services Computing. 2009, 160–167

    Google Scholar 

  7. Perepletchikov M, Ryan C, Tari Z. The impact of service cohesion on the analyzability of service-oriented software. IEEE Transactions on Services Computing, 2010, 3(2): 89–103

    Article  Google Scholar 

  8. Vale T, Figueiredo G B, de Almeida E S, de Lemos Meira S R. A study on service identification methods for software product lines. In: Proceedings of the 16th International Software Product Line Conference. 156–163

  9. Abu-Matar M, Gomaa H. Feature based variability for service oriented architectures. In: Proceedings of the 9th Working IEEE/IFIP Conference on Software Architecture. 2011, 302–309

    Google Scholar 

  10. Moon M, Hong M, Yeom K. Two-level variability analysis for business process with reusability and extensibility. In: Proceedings of the 32nd Annual IEEE International Conference on Computer Software and Applications. 2008, 263–270

    Google Scholar 

  11. Park J, Moon M, Yeom K. Variability modeling to develop flexible service-oriented applications. Journal of Systems Science and Systems Engineering, 2011, 20(2): 193–216

    Article  Google Scholar 

  12. Sun C A, Xue T, Aiello M. ValySeC: a variability analysis tool for service compositions using VxBPEL. In: Proceedings of IEEE Asia-Pacific Services Computing Conference. 2010, 307–314

    Google Scholar 

  13. Pohl K, Böckle G, Van Der Linden F. Software Product Line Engineering: Foundations, Principles and Techniques. Berlin: Springer, 2005

    Book  MATH  Google Scholar 

  14. Deb K, Pratap A, Agarwal S, Meyarivan T. A fast and elitist multiobjective genetic algorithm: NSGA–II. IEEE Transactions on Evolutionary Computation, 2002, 6(2): 182–197

    Article  Google Scholar 

  15. Zitzler E, Laumanns M, Thiele L. SPEA2: improving the strength Pareto evolutionary algorithm for multiobjective optimization. In: Proceedings of Evolutionary Methods for Design, Optimization and Control. 2002, 1–6

    Google Scholar 

  16. Coello C C, Lamont G B, Van Veldhuizen D A. Evolutionary Algorithms for Solving Multi-Objective Problems. Springer, 2007

    MATH  Google Scholar 

  17. Kazemi A, Haghighi H, Shams F. ABSIM: an automated business service identification method. International Journal of Software Engineering and Knowledge Engineering, 2013, 23(9): 1303–1342

    Article  Google Scholar 

  18. Berger C, Rendel H, Rumpe B, Busse C, Jablonski T, Wolf F, Braunschweig V A B U. Product line metrics for legacy software in practice. In: Proceedings of SPLC Workshops. 2010, 247–250

    Google Scholar 

  19. Nebro A J, Durillo J J. jMetal 3.0 User Manual

  20. Briand L C, Morasca S, Basili V R. Defining and validating measures for object-based high-level design. IEEE Transactions on Software Engineering, 1999, 25(5): 722–743

    Article  Google Scholar 

  21. Wohlin C, Runeson P, Höst M, Ohlsson M C, Regnell B, Wesslén A. Experimentation in Software Engineering. Germany: Springer, 2012

    Book  MATH  Google Scholar 

  22. Van Solingen R, Basili V, Caldiera G, Rombach H D. Goal question metric (GQM) approach. Encyclopedia of Software Engineering, 2002

    Google Scholar 

  23. Bass L, Clements P, Kazman R. Software Architecture in Practice. USA: Addison Wesley, 1998

    Google Scholar 

  24. Khoshnevis S, Shams F. Linear Evolution of Domain Architecture in Service-Oriented Software Product Lines. Fundamentals of Software Engineering. Germany: Springer International Publishing. 2015, 275–291

    Chapter  Google Scholar 

  25. Bagheri E, Gasevic D. Assessing the maintainability of software product line feature models using structural metrics. Software Quality Journal, 2011, 19(3): 579–612

    Article  Google Scholar 

  26. Benavides D, Segura S, Ruiz-Cortés A. Automated analysis of feature models 20 years later: a literature review. Information Systems, 2010, 35(6): 615–636

    Article  Google Scholar 

  27. Levine D M, Ramsey P P, Smidt R K, Ramsey P P, Smidt R K. Applied statistics for engineers and scientists: using Microsoft Excel and Minitab. Upper Saddle River: Prentice Hall, 2001

    MATH  Google Scholar 

  28. Mendonca M, Branco M, Cowan D. SPLOT: software product lines online tools. In: Proceedings of the 24th ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages and Applications. 2009, 761–762

    Google Scholar 

  29. Adam S, Doerr J. The role of service abstraction and service variability and its impact on requirements engineering for service-oriented systems. In: Proceedings of the 32nd Annual IEEE International Computer Software and Applications Conference. 2008, 631–634

    Google Scholar 

  30. Apel S, Kaestner C, Lengauer C. Research challenges in the tension between features and services. In: Proceedings of the 2nd international workshop on Systems development in SOA environments. 53–58

  31. Capilla R, Topaloglu N Y. Product lines for supporting the composition and evolution of service oriented applications. In: Proceedings of the 8th International Workshop on Principles of Software Evolution. 2005, 53–56

    Google Scholar 

  32. Lee J, Muthig D, Naab M. An approach for developing service oriented product lines. In: Proceedings of the 12th International Software Product Line Conference. 2008, 275–284

    Google Scholar 

  33. Mohabbati, B, Asadi M, Gašević D, Hatala M, Müller H A. Combining service-orientation and software product line engineering: a systematic mapping study. Information and Software Technology, 2013, 55(11): 1845–1859

    Article  Google Scholar 

  34. Hadaytullah H, Koskimies K, Systa T. Using model customization for variability management in service compositions. In: Proceedings of IEEE International Conference on Web Services. 2009, 687–694

    Google Scholar 

  35. Mietzner R, Metzger A, Leymann F, Pohl K. Variability modeling to support customization and deployment of multi-tenant-aware Software as a Service applications. In: Proceedings of the 2009 ICSE Workshop on Principles of Engineering Service Oriented Systems. 2009, 18–25

    Chapter  Google Scholar 

  36. Kumara I, Han J, Colman A, Nguyen T, Kapuruge M. Sharing with a Difference: realizing service-based SaaS applications with runtime sharing and variation in dynamic software product lines. In: Proceedings of IEEE International Conference on Services Computing. 2013, 567–574

    Google Scholar 

  37. Robles T, Alcarria R, Morales A, Martín D. Supporting variability dependencies for rule–based service compositions in prosumer environments. International Journal of Web and Grid Services, 2015, 11(1): 57–77

    Article  Google Scholar 

  38. Tizzei L P, Azevedo L G, de Bayser M, Cerqueira R F. Architecting cloud tools using software product line techniques: an exploratory study. In: Proceedings of the 30th Annual ACM Symposium on Applied Computing. 2015, 1441–1448

    Chapter  Google Scholar 

  39. Walraven S, Van Landuyt D, Truyen E, Handekyn K, Joosen W. Efficient customization of multi-tenant Software-as-a-Service applications with service lines. Journal of Systems and Software, 2014, 91: 48–62

    Article  Google Scholar 

  40. Parra C, Joya D. SPLIT: an automated approach for enterprise product line adoption through SOA. Journal of Internet Services and Information Security, 2015, 5(1): 29–52

    Google Scholar 

  41. Chen F, Li S, Yang H, Wang C H., Chu, W C., Feature analysis for service-oriented reengineering. In: Proceedings of the 12th Asia-Pacific Software Engineering Conference. 2005, 8

    Google Scholar 

  42. Kang D, Song C, Baik D K. A method of service identification for product line. In: Proceedings of the 3rd International Conference on Convergence and Hybrid Information Technology. 2008, 1040–1045

    Google Scholar 

  43. Colanzi T E. Search based design of software product lines architectures. In: Proceedings of the 34th International Conference on Software Engineering. 2012, 1507–1510

    Google Scholar 

  44. Colanzi T E, Vergilio S R. Applying search based optimization to software product line architectures: lessons learned. Search Based Software Engineering, 2012, 259–266

    Chapter  Google Scholar 

  45. She S, Ryssel U, Andersen N, Wa¸sowski A, Czarnecki K. Efficient synthesis of feature models. Information and Software Technology, 2014, 56(9): 1122–1143

    Article  Google Scholar 

  46. Acher M, Cleve A, Perrouin G, Heymans P, Vanbeneden C, Collet P, Lahire P. On extracting feature models from product descriptions. In: Proceedings of the 6th International Workshop on Variability Modeling of Software-Intensive Systems. 2012, 45–54

    Chapter  Google Scholar 

  47. La Rosa M, van der Aalst W M P, Dumas M, ter Hofstede A H M. Questionnaire-based variability modeling for system configuration. Software & Systems Modeling, 2009, 8(2): 251–274

    Article  Google Scholar 

  48. Arsanjani A, Ghosh S, Allam A, Abdollah T, Ganapathy S, Holley K, SOMA: a method for developing service-oriented solutions. IBM Systems Journal, 2008, 47(3): 377–396

    Article  Google Scholar 

  49. Inaganti S, Behara G K. Service identification: BPM and SOA handshake. BPTrends, 2007, 3: 1–12

    Google Scholar 

  50. Kim S, Kim M, Park S. Service identification using goal and scenario in service oriented architecture. In: Proceedings of the 15th Asia-Pacific Software Engineering Conference. 2008, 419–426

    Google Scholar 

  51. Wahli U. Building SOA solutions using the rational SDP. IBM International Technical Support Organization, 2007

    Google Scholar 

  52. Jain H, Zhao H, Chinta N R. A spanning tree based approach to identifying Web services. International Journal of Web Services Research, 2004, 1(1): 1–20

    Article  Google Scholar 

  53. Leopold H, Pittke F, Mendling J. Automatic service derivation from business process model repositories via semantic technology. Journal of Systems and Software, 2015, 108: 134–147

    Article  Google Scholar 

  54. Huergo R S, Pires P F, Delicato F C. MDCSIM: a method and a tool to identify services. IT Convergence Practice, 2015

    Google Scholar 

  55. Gamez N, El Haddad J, Fuentes L. Managing the variability in the transactional services selection. In: Proceedings of the 9th International Workshop on Variability Modelling of Software-intensive Systems. 2015, 88

    Google Scholar 

  56. Gamez N, El Haddad J, Fuentes L, SPL-TQSSS: a software product line approach for stateful service selection. In: Proceedings of IEEE International Conference on Web Services. 2015, 73–80

    Google Scholar 

  57. Peng Z, Wang J, He K, Tang M. Web service customization based on service feature model. In: Proceedings of IEEE International Conference on Services Computing. 2015, 632–639

    Google Scholar 

  58. Zhang Q, Li H. MOEA/D: a multiobjective evolutionary algorithm based on decomposition. IEEE Transactions on Evolutionary Computation, 2007, 11(6): 712–731

    Article  Google Scholar 

  59. Abu–Matar M, Gomaa H. Variability modeling for service oriented product line architectures. In: Proceedings of the 15th International Software Product Line Conference. 2011, 110–119

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sedigheh Khoshnevis.

Additional information

Sedigheh Khoshnevis received her PhD in software engineering from the Department of Software Engineering, Shahid Beheshti University, Iran in 2015. She is a member of the Automated Software Engineering Research (ASER) group at Shahid Beheshti University. Her interests include software product line engineering, service- oriented architecture, model driven architecture, and software architecture.

Fereidoon Shams received his PhD in software engineering from the Department of Computer Science, Manchester University, UK in 1996 and his MS from Sharif University of Technology, Iran in 1990. He is currently an associate professor of Software Engineering Department, Shahid Beheshti University, Iran. Also, he is heading two research groups: Automated Software Engineering Research (ASER) and Information Systems Architecture (ISA) at Shahid Beheshti University. His major interests are software architecture, enterprise architecture, service oriented architecture, agile methodologies, ultra-large-scale (ULS) systems, and ontological engineering.

Electronic supplementary material

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Khoshnevis, S., Shams, F. Automating identification of services and their variability for product lines using NSGA-II. Front. Comput. Sci. 11, 444–464 (2017). https://doi.org/10.1007/s11704-016-5121-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11704-016-5121-6

Keywords

Navigation