Abstract
Service-Oriented Computing and Software Product Lines are software development strategies capable to provide a systematic means to reuse existing software assets, rather than repeatedly developing them from scratch, for every new software system. The inherent characteristics of both strategies has led the research community to combine them, in what is commonly referred to as Service-Oriented Product Lines (SOPL) strategies. Despite the perceived potential of such a combination, there are many challenges to confront in order to provide a practical generalizable solution. In particular, there is a lack of empirical evidence on the actual support of variability implementation mechanisms, typical in SPL engineering, and their suitability for SOPL. In line with such a challenge, this paper presents a preliminary assessment aimed to identify variability implementation mechanisms which may improve measures of complexity, instability and modularity, quality attributes particularly important for modular and reusable software systems, as is the case of SOPL. Based on the results of these evaluations, an initial decision model is developed to provide software engineers with an adequate support for the selection of variability mechanisms.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
References
Almeida, E., Santos, E., Alvaro, A., Garcia, V.C., Meira, S., Lucredio, D., Fortes, R.: Domain implementation in software product lines using OSGi. In: 7th International Conference on Composition-Based Software Systems (ICCBSS), pp. 72–81 (2008)
Ampatzoglou, A., Chatzigeorgiou, A., Charalampidou, S., Avgeriou, P.: The effect of GoF design patterns on stability: a case study. IEEE Trans. Softw. Eng. 41(8), 781–802 (2015)
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 (SDSOA), pp. 53–58. ACM (2008)
Carvalho, M.L.L., Gomes, G.S.S., Silva, M.L.G., Machado, I.C., Almeida, E.S.: On the implementation of dynamic software product lines: a preliminary study. In: 10th Brazilian Symposium on Components, Architecture, and Reuse (SBCARS) (2016)
Castelluccia, D., Boffoli, N.: Service-oriented product lines: a systematic mapping study. SIGSOFT Softw. Eng. Notes 39(2), 1–6 (2014)
Clements, P., McGregor, J.: Better, faster, cheaper: pick any three. Bus. Horiz. 55(2), 201–208 (2012)
Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Boston (2001)
Ferreira, G.C.S., Gaia, F.N., Figueiredo, E., de Almeida Maia, M.: On the use of feature-oriented programming for evolving software product lines - a comparative study. Sci. Comput. Program. 93(PA), 65–85 (2014)
Gacek, C., Anastasopoules, M.: Implementing product line variabilities. In: Proceedings of the 2001 Symposium on Software Reusability: Putting Software Reuse in Context SSR 2001, pp. 109–117. ACM, New York (2001)
Gaia, F.N., Ferreira, G.C.S., Figueiredo, E., de Almeida Maia, M.: A quantitative and qualitative assessment of aspectual feature modules for evolving software product lines. Sci. Comput. Program. 96(P2), 230–253 (2014)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997). doi:10.1007/BFb0053381
Kuloor, C., Eberlein, A.: Aspect-oriented requirements engineering for software product lines. In: 10th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, pp. 98–107, April 2003
Liebig, J., Apel, S., Lengauer, C., Kästner, C., Schulze, M.: An analysis of the variability in forty preprocessor-based software product lines. In: 32nd International Conference on Software Engineering (ICSE), pp. 105–114. ACM (2010)
McCabe, T.: A complexity measure. IEEE Trans. Softw. Eng. 2, 308–320 (1976)
Mohabbati, B., Asadi, M., Gašević, D., Lee, J.: Software product line engineering to develop variant-rich web services. In: Bouguettaya, A., Sheng, Q.Z., Daniel, F. (eds.) Web Services Foundations, pp. 535–562. Springer, New York (2014)
Papazoglou, M.P., Traverso, P., Dustdar, S., Leymann, F.: Service-oriented computing: state of the art and research challenges. Computer 40(11), 38–45 (2007)
Rellermeyer, J.S., Alonso, G.: Concierge: a service platform for resource-constrained devices. SIGOPS Oper. Syst. Rev. 41(3), 245–258 (2007)
Ribeiro, H.B.G., Almeida, E.S., de Lemos Meira, S.R.: An approach for implementing core assets in service-oriented product lines. In: 1st Workshop on Services, Clouds, and Alternative Design Strategies for Variant-Rich Software Systems (SCArVeS). ACM (2011)
Santanna, C., Garcia, A., Chavez, C., Lucena, C., von Staa, A.: On the reuse and maintenance of aspect-oriented software: an assessment framework. In: Proceedings of the XVII Brazilian Symposium on Software Engineering (2003)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Alvim, L.F.M., Machado, I.d.C., de Almeida, E.S. (2017). A Preliminary Assessment of Variability Implementation Mechanisms in Service-Oriented Computing. In: Botterweck, G., Werner, C. (eds) Mastering Scale and Complexity in Software Reuse. ICSR 2017. Lecture Notes in Computer Science(), vol 10221. Springer, Cham. https://doi.org/10.1007/978-3-319-56856-0_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-56856-0_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-56855-3
Online ISBN: 978-3-319-56856-0
eBook Packages: Computer ScienceComputer Science (R0)