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.
Similar content being viewed by others
References
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
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
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
Erl, T. Service-Oriented Architecture (SOA): Concepts, Technology, and Design. Prentice Hall Englewood Cliffs, 2005
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
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
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
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
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
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
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
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
Pohl K, Böckle G, Van Der Linden F. Software Product Line Engineering: Foundations, Principles and Techniques. Berlin: Springer, 2005
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
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
Coello C C, Lamont G B, Van Veldhuizen D A. Evolutionary Algorithms for Solving Multi-Objective Problems. Springer, 2007
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
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
Nebro A J, Durillo J J. jMetal 3.0 User Manual
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
Wohlin C, Runeson P, Höst M, Ohlsson M C, Regnell B, Wesslén A. Experimentation in Software Engineering. Germany: Springer, 2012
Van Solingen R, Basili V, Caldiera G, Rombach H D. Goal question metric (GQM) approach. Encyclopedia of Software Engineering, 2002
Bass L, Clements P, Kazman R. Software Architecture in Practice. USA: Addison Wesley, 1998
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
Bagheri E, Gasevic D. Assessing the maintainability of software product line feature models using structural metrics. Software Quality Journal, 2011, 19(3): 579–612
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Colanzi T E. Search based design of software product lines architectures. In: Proceedings of the 34th International Conference on Software Engineering. 2012, 1507–1510
Colanzi T E, Vergilio S R. Applying search based optimization to software product line architectures: lessons learned. Search Based Software Engineering, 2012, 259–266
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
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
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
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
Inaganti S, Behara G K. Service identification: BPM and SOA handshake. BPTrends, 2007, 3: 1–12
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
Wahli U. Building SOA solutions using the rational SDP. IBM International Technical Support Organization, 2007
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
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
Huergo R S, Pires P F, Delicato F C. MDCSIM: a method and a tool to identify services. IT Convergence Practice, 2015
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
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
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
Zhang Q, Li H. MOEA/D: a multiobjective evolutionary algorithm based on decomposition. IEEE Transactions on Evolutionary Computation, 2007, 11(6): 712–731
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
Author information
Authors and Affiliations
Corresponding author
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
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11704-016-5121-6