Abstract
Software Product Line Engineering is successfully applied in the development of families of related products. Basically, it allows reusing the software artifacts that are common to all the products, and adding/removing the variable ones. There are two alternatives to manage variability, one that models the commonalities and variabilities separately from the software product line architecture (SPLA), using, for instance, feature models (FM), and another one that models the variability as part of the SPLA. These two alternatives have both benefits and limitations. Our approach picks the best of both alternatives and, on the one hand, models variability as part of the SPLA (as in the second alternative), but, on the other hand, maps the SPLA with variability into an FM, generating an Architectural FM. By doing this our approach takes advantage of the FM tools and formal reasoning (as in the first alternative) to provide the automatic support that it is not available in other SPLA with variability approaches to: (i) check the consistency of architectural variability specifications, (ii) generate valid architectural configurations, and (iii) reason about variability at the architectural level.
Work supported by Projects TIN2008-01942, P09-TIC-5231 and INTER-TRUST FP7-317731.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Klaus Pohl, G.B., van der Linden, F.: Software Product Line Engineering. Springer, Heidelberg (2005)
Czarnecki, K., et al.: Cool features and tough decisions: a comparison of variability modeling approaches. In: Proceedings of VaMoS 2012, pp. 173–182. ACM (2012)
Chen, L., Babar, M.A.: A systematic review of evaluation of variability management approaches in software product lines. Information and Software Technology 53(4), 344–362 (2011)
Loughran, N., Sánchez, P., Garcia, A., Fuentes, L.: Language support for managing variability in architectural models. In: Pautasso, C., Tanter, É. (eds.) SC 2008. LNCS, vol. 4954, pp. 36–51. Springer, Heidelberg (2008)
Common Variability Language (CVL), http://www.omgwiki.org/variability/doku.php
Reinhartz-Berger, I., Sturm, A.: Comprehensibility of uml-based software product line specifications. Empirical Software Engineering, 1–36 (2012)
Acher, M., Cleve, A., Collet, P., Merle, P., Duchien, L., Lahire, P.: Reverse engineering architectural feature models. In: Crnkovic, I., Gruhn, V., Book, M. (eds.) ECSA 2011. LNCS, vol. 6903, pp. 220–235. Springer, Heidelberg (2011)
Parra, C., Cleve, A., Blanc, X., Duchien, L.: Feature-based composition of software architectures. Software Architecture, 230–245 (2010)
Morin, B., Perrouin, G., Lahire, P., Barais, O., Vanwormhoudt, G., Jézéquel, J.-M.: Weaving variability into domain metamodels. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 690–705. Springer, Heidelberg (2009)
Razavian, M., Khosravi, R.: Modeling variability in the component and connector view of architecture using uml. In: IEEE/ACS International Conference on Computer Systems and Applications, AICCSA 2008, pp. 801–809 (April 2008)
Gomaa, H.: Designing software product lines with uml 2.0: From use cases to pattern-based software architectures. Reuse of Off-the-Shelf Components, 440 (2006)
Clauss, M.: Generic Modeling using UML extensions for variability. In: Proceedings of OOPSLA Workshop on Domain-specific Visual Languages, Tampa, FL, USA, pp. 11–18 (2001)
Haber, A., et al.: Delta-oriented architectural variability using monticore. In: Proceedings of the 5th European Conference on Software Architecture: Companion Volume, pp. 6:1–6:10. ACM, New York (2011)
Adachi Barbosa, E., Batista, T., Garcia, A., Silva, E.: PL-AspectualACME: an aspect-oriented adl for software product lines. In: Crnkovic, I., Gruhn, V., Book, M. (eds.) ECSA 2011. LNCS, vol. 6903, pp. 139–146. Springer, Heidelberg (2011)
Junior, E.A.O., et al.: Systematic management of variability in uml-based software product lines. Journal of Universal Computer Science 16(17), 2374–2393 (2010)
Ziadi, T., Jézéquel, J.M.: Product Line Engineering with the UML: Deriving Products. In: Pohl, K. (ed.) Software Product Lines, pp. 557–586. Springer (2006)
Pashov, I., Riebisch, M.: Using feature modeling for program comprehension and software architecture recovery. In: 11th IEEE International Conference on the Engineering of Computer-Based Systems, pp. 406–417 (May 2004)
Benavides, D., Segura, S., Ruiz-Cortés, A.: Automated analysis of feature models 20 years later: A literature review. Information Systems 35(6), 615–636 (2010)
Benavides, D., Trinidad, P., Ruiz-Cortés, A.: Automated reasoning on feature models. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 491–503. Springer, Heidelberg (2005)
Segura, S., et al.: Betty: benchmarking and testing on the automated analysis of feature models. In: Proceedings of VAMOS 2012, pp. 63–71. ACM (2012)
Pascual, G.G., Pinto, M., Fuentes, L.: Run-time adaptation of mobile applications using genetic algorithms (submitted, 2013)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Pascual, G.G., Pinto, M., Fuentes, L. (2013). Automatic Analysis of Software Architectures with Variability. In: Favaro, J., Morisio, M. (eds) Safe and Secure Software Reuse. ICSR 2013. Lecture Notes in Computer Science, vol 7925. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38977-1_9
Download citation
DOI: https://doi.org/10.1007/978-3-642-38977-1_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-38976-4
Online ISBN: 978-3-642-38977-1
eBook Packages: Computer ScienceComputer Science (R0)