Automating identification of services and their variability for product lines using NSGA-II
Sedigheh KHOSHNEVIS, Fereidoon SHAMS
Automating identification of services and their variability for product lines using NSGA-II
Architecture-level business services are identified based on business processes; and likewise, in serviceoriented product lines, identifying the domain architecturelevel 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.
software product line / service / variability model / business process / genetic algorithm
[1] |
LeeJ, MuthigD, NaabM. A feature-oriented approach for developing reusable product line assets of service-based systems. Journal of Systems and Software, 2010, 83(7): 1123–1136
CrossRef
Google scholar
|
[2] |
JegadeesanH, 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
CrossRef
Google scholar
|
[3] |
KoningM, SunC, SinnemaM, Avgeriou P. VxBPEL: supporting variability for Web services in BPEL. Information and Software Technology, 2009. 51(2): 258–269
CrossRef
Google scholar
|
[4] |
Erl, T. Service-Oriented Architecture (SOA): Concepts, Technology, and Design. Prentice Hall Englewood Cliffs, 2005
|
[5] |
JamshidiP, Sharifi M, MansourS . To establish enterprise service model from enterprise business model. In: Proceedings of IEEE International Conference on Services Computing. 2008, 93–100
CrossRef
Google scholar
|
[6] |
MaQ, ZhouN, ZhuY, Wang H. Evaluating service identification with design metrics on business process decomposition. In: Proceedings of IEEE International Conference on Services Computing. 2009, 160–167
CrossRef
Google scholar
|
[7] |
PerepletchikovM, Ryan C, TariZ . The impact of service cohesion on the analyzability of service-oriented software. IEEE Transactions on Services Computing, 2010, 3(2): 89–103
CrossRef
Google scholar
|
[8] |
ValeT, Figueiredo G B, de AlmeidaE S , de Lemes MeiraS 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-MatarM, GomaaH.Feature based variability for service oriented architectures. In: Proceedings of the 9th Working IEEE/IFIP Conference on Software Architecture. 2011, 302–309
CrossRef
Google scholar
|
[10] |
MoonM, HongM, YeomK. 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
CrossRef
Google scholar
|
[11] |
ParkJ, MoonM, YeomK. Variability modeling to develop flexible service-oriented applications. Journal of Systems Science and Systems Engineering, 2011, 20(2): 193–216
CrossRef
Google scholar
|
[12] |
SunC A, XueT, AielloM. ValySeC: a variability analysis tool for service compositions using VxBPEL. In: Proceedings of IEEE Asia- Pacific Services Computing Conference. 2010, 307–314
|
[13] |
PohlK, Böckle G, Van Der LindenF . Software Product Line Engineering: Foundations, Principles and Techniques. Berlin: Springer, 2005
CrossRef
Google scholar
|
[14] |
DebK, PratapA, AgarwalS, Meyarivan T. A fast and elitist multiobjective genetic algorithm: NSGA–II. IEEE Transactions on Evolutionary Computation, 2002, 6(2): 182–197
CrossRef
Google scholar
|
[15] |
ZitzlerE, Laumanns M, ThieleL . SPEA2: improving the strength Pareto evolutionary algorithm for multiobjective optimization. In: Proceedings of Evolutionary Methods for Design, Optimization and Control. 2002, 1–6
|
[16] |
CoelloC C, LamontG B, Van VeldhuizenD A . Evolutionary Algorithms for Solving Multi-Objective Problems. Springer, 2007
|
[17] |
KazemiA, Haghighi H, ShamsF . ABSIM: an automated business service identification method. International Journal of Software Engineering and Knowledge Engineering, 2013, 23(9): 1303–1342
CrossRef
Google scholar
|
[18] |
BergerC, RendelH, RumpeB, Busse C, JablonskiT , WolfF, Braunschweig V A B U. Product line metrics for legacy software in practice. In: Proceedings of SPLC Workshops. 2010, 247–250
|
[19] |
NebroA J, Durillo J J. jMetal 3.0 User Manual
|
[20] |
BriandL C, Morasca S, BasiliV R . Defining and validating measures for object-based high-level design. IEEE Transactions on Software Engineering, 1999, 25(5): 722–743
CrossRef
Google scholar
|
[21] |
WohlinC, Runeson P, HöstM , OhlssonM C, Regnell B, WesslénA . Experimentation in Software Engineering. Germany: Springer, 2012
CrossRef
Google scholar
|
[22] |
Van SolingenR, BasiliV, CaldieraG, Rombach H D. Goal question metric (GQM) approach. Encyclopedia of Software Engineering,2002
|
[23] |
BassL, Clements P, KazmanR . Software Architecture in Practice. USA: Addison Wesley, 1998
|
[24] |
KhoshnevisS, ShamsF. Linear Evolution of Domain Architecture in Service-Oriented Software Product Lines. Fundamentals of Software Engineering. Germany: Springer International Publishing. 2015, 275–291
|
[25] |
BagheriE, Gasevic D. Assessing the maintainability of software product line feature models using structural metrics. Software Quality Journal, 2011, 19(3): 579–612
CrossRef
Google scholar
|
[26] |
BenavidesD, SeguraS, Ruiz-CortésA . Automated analysis of feature models 20 years later: a literature review. Information Systems, 2010, 35(6): 615–636
CrossRef
Google scholar
|
[27] |
LevineD M, RamseyP P, SmidtR K, Ramsey P P, SmidtR K . Applied statistics for engineers and scientists: using Microsoft Excel and Minitab. Upper Saddle River: Prentice Hall, 2001
|
[28] |
MendoncaM, BrancoM, CowanD. 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
|
[29] |
AdamS, DoerrJ. 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
CrossRef
Google scholar
|
[30] |
ApelS, Kaestner C, LengauerC . Research challenges in the tension between features and services. In: Proceedings of the 2nd international workshop on Systems development in SOA environments. 53–58
CrossRef
Google scholar
|
[31] |
CapillaR, 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
CrossRef
Google scholar
|
[32] |
LeeJ, MuthigD, NaabM. An approach for developing service oriented product lines. In: Proceedings of the 12th International Software Product Line Conference. 2008, 275–284
CrossRef
Google scholar
|
[33] |
Mohabbati, B, AsadiM, GaševícD , HatalaM, 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
CrossRef
Google scholar
|
[34] |
HadaytullahH, Koskimies K, SystaT . Using model customization for variability management in service compositions. In: Proceedings of IEEE International Conference on Web Services. 2009, 687–694
CrossRef
Google scholar
|
[35] |
MietznerR, Metzger A, LeymannF , PohlK. 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
CrossRef
Google scholar
|
[36] |
KumaraI, HanJ, ColmanA, Nguyen T, KapurugeM . 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
CrossRef
Google scholar
|
[37] |
RoblesT, Alcarria R, MoralesA , MartínD. Supporting variability dependencies for rule–based service compositions in prosumer environments. International Journal ofWeb and Grid Services, 2015. 11(1): 57–77
|
[38] |
TizzeiL P, Azevedo L G, de BayserM , CerqueiraR 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
CrossRef
Google scholar
|
[39] |
WalravenS, Van Landuyt D, TruyenE , HandekynK, JoosenW. Efficient customization of multi-tenant Software-as-a-Service applications with service lines. Journal of Systems and Software, 2014, 91: 48–62
CrossRef
Google scholar
|
[40] |
ParraC, JoyaD. SPLIT: an automated approach for enterprise product line adoption through SOA. Journal of Internet Services and Information Security, 2015, 5(1): 29–52
|
[41] |
ChenF, LiS, YangH, Wang C H., Chu, W C. , Feature analysis for service-oriented reengineering. In: Proceedings of the 12th Asia- Pacific Software Engineering Conference. 2005, 8
CrossRef
Google scholar
|
[42] |
KangD, SongC, BaikD 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
CrossRef
Google scholar
|
[43] |
ColanziT E. Search based design of software product lines architectures. In: Proceedings of the 34th International Conference on Software Engineering. 2012, 1507–1510
CrossRef
Google scholar
|
[44] |
ColanziT E, Vergilio S R. Applying search based optimization to software product line architectures: lessons learned. Search Based Software Engineering, 2012, 259–266
|
[45] |
SheS, RysselU, AndersenN, Wa¸sowski A, CzarneckiK . Efficient synthesis of feature models. Information and Software Technology, 2014, 56(9): 1122–1143
CrossRef
Google scholar
|
[46] |
AcherM, CleveA, PerrouinG, Heymans P, VanbenedenC , ColletP, LahireP. On extracting feature models from product descriptions. In: Proceedings of the 6th International Workshop on Variability Modeling of Software-Intensive Systems. 2012, 45–54
CrossRef
Google scholar
|
[47] |
La RosaM, van der Aalst W M P, DumasM , ter HofstedeA H M. Questionnaire-based variability modeling for system configuration. Software & Systems Modeling, 2009, 8(2): 251–274
CrossRef
Google scholar
|
[48] |
ArsanjaniA, GhoshS, AllamA, Abdollah T, GanapathyS , HolleyK, SOMA: a method for developing service-oriented solutions.IBM Systems Journal, 2008, 47(3): 377–396
CrossRef
Google scholar
|
[49] |
InagantiS, BeharaG K. Service identification: BPM and SOA handshake. BPTrends, 2007, 3: 1–12
|
[50] |
KimS, KimM, ParkS. Service identification using goal and scenario in service oriented architecture. In: Proceedings of the 15th Asia-Pacific Software Engineering Conference. 2008, 419–426
CrossRef
Google scholar
|
[51] |
WahliU. Building SOA solutions using the rational SDP. IBM International Technical Support Organization, 2007
|
[52] |
JainH, ZhaoH, ChintaN R. A spanning tree based approach to identifying Web services. International Journal of Web Services Research, 2004, 1(1): 1–20
CrossRef
Google scholar
|
[53] |
LeopoldH, PittkeF, MendlingJ. Automatic service derivation from business process model repositories via semantic technology. Journal of Systems and Software, 2015, 108: 134–147
CrossRef
Google scholar
|
[54] |
HuergoR S, PiresP F, DelicatoF C . MDCSIM: a method and a tool to identify services. IT Convergence Practice, 2015
|
[55] |
GamezN, El Haddad J, FuentesL . Managing the variability in the transactional services selection. In: Proceedings of the 9th International Workshop on Variability Modelling of Software-intensive Systems. 2015, 88
CrossRef
Google scholar
|
[56] |
GamezN, El Haddad J, FuentesL , SPL-TQSSS: a software product line approach for stateful service selection. In: Proceedings of IEEE International Conference on Web Services. 2015, 73–80
CrossRef
Google scholar
|
[57] |
PengZ, WangJ, HeK, TangM. Web service customization based on service feature model. In: Proceedings of IEEE International Conference on Services Computing. 2015, 632–639
CrossRef
Google scholar
|
[58] |
ZhangQ, LiH. MOEA/D: a multiobjective evolutionary algorithm based on decomposition. IEEE Transactions on Evolutionary Computation, 2007, 11(6): 712–731
CrossRef
Google scholar
|
[59] |
Abu–MatarM, Gomaa H. Variability modeling for service oriented product line architectures. In: Proceedings of the 15th International Software Product Line Conference. 2011, 110–119
CrossRef
Google scholar
|
/
〈 | 〉 |