Abstract
Diversity is prevalent in modern software systems. Several system variants exist at the same time in order to adapt to changing user requirements. Additionally, software systems evolve over time in order to adjust to unanticipated changes in their application environment. In modern software development, software architecture modeling is an important means to deal with system complexity by architectural decomposition. This leads to the need of architectural description languages that can represent spatial and temporal variability. In this paper, we present delta modeling of software architectures as a uniform modeling formalism for architectural variability in space and in time. In order to avoid degeneration of the product line model under system evolution, we present refactoring techniques to maintain and improve the quality of the variability model. Using a running example from the automotive domain, we evaluate our approach by carrying out a case study that compares delta modeling with annotative variability modeling.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Alves, V., Matos Jr., P., Cole, L., Vasconcelos, A., Borba, P., Ramalho, G.: Extracting and Evolving Code in Product Lines with Aspect-Oriented Programming. In: Rashid, A., Aksit, M. (eds.) Transactions on AOSD IV. LNCS, vol. 4640, pp. 117–142. Springer, Heidelberg (2007)
Apel, S., Leich, T., Rosenmüller, M., Saake, G.: Combining feature-oriented and aspect-oriented programming to support software evolution. In: RAM-SE, pp. 3–16 (2005)
Barais, O., Meur, A.F., Duchien, L., Lawall, J.: Software architecture evolution. In: Software Evolution. Springer (2008)
Bayer, J., et al.: PuLSE: a Methodology to Develop Software Product Lines. In: Symposium on Software Reusability (SSR), pp. 122–131 (1999)
Botterweck, G., Pleuss, A., Dhungana, D., Polzer, A., Kowalewski, S.: EvoFM: Feature-driven Planning of Product-line Evolution. In: 1st International Workshop on Product Line Approaches in Software Engineering, PLEASE 2010 (2010)
Clarke, D., Helvensteijn, M., Schaefer, I.: Abstract Delta Modeling. In: GPCE. Springer (2010)
Czarnecki, K., Pietroszek, K.: Verifying Feature-based Model Templates against Well-formedness OCL Constraints. In: Generative Programming and Component Engineering, GPCE (2006)
Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley (2000)
Elsner, C., Botterweck, G., Lohmann, D., Schröder-Preikschat, W.: Variability in time - product line variability and evolution revisited. In: VaMoS, pp. 131–137 (2010)
Figueiredo, E., Cacho, N., Sant’Anna, C., Monteiro, M., Kulesza, U., Garcia, A., Soares, S., Ferrari, F., Khan, S., Filho, F.C., Dantas, F.: Evolving software product lines with aspects: an empirical study on design stability. In: International Conference on Software engineering (ICSE), pp. 261–270. ACM (2008)
Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional (1999)
Gomaa, H.: Designing Software Product Lines with UML. Addison Wesley (2004)
Grönniger, H., Krahn, H., Rumpe, B., Schindler, M., Völkel, S.: MontiCore: a Framework for the Development of Textual Domain Specific Languages. In: 30th International Conference on Software Engineering (ICSE 2008), Leipzig, Germany, May 10-18, Companion Volume (2008)
Haber, A., Kutz, T., Rendel, H., Rumpe, B., Schaefer, I.: Delta-oriented Architectural Variability Using MontiCore. In: ECSA 2011 5th European Conference on Software Architecture: Companion Volume. ACM, New York (2011)
Haber, A., Kutz, T., Rendel, H., Rumpe, B., Schaefer, I.: Towards a Family-based Analysis of Applicability Conditions in Architectural Delta Models. In: Variability for You Proceedings of VARY International Workshop affiliated with ACM/IEEE 14th International Conference on Model Driven Engineering Languages and Systems (MODELS 2011). IT University Technical Report Series TR-2011-144, pp. 43–52. IT University of Copenhagen (October 2011)
Haber, A., Rendel, H., Rumpe, B., Schaefer, I.: Delta Modeling for Software Architectures. In: Tagungsband des Dagstuhl-Workshop MBEES: Modellbasierte Entwicklung eingebetteterSysteme VII, pp. 1–10. Fortiss GmbH, Munich (2011)
Haber, A., Rendel, H., Rumpe, B., Schaefer, I., van der Linden, F.: Hierarchical Variability Modeling for Software Architectures. In: Proceedings of International Software Product Lines Conference (SPLC 2011). IEEE Computer Society (August 2011)
Haber, A., Ringert, J.O., Rumpe, B.: MontiArc - Architectural Modeling of Interactive Distributed and Cyber-Physical Systems. Tech. Rep. AIB-2012-03, RWTH Aachen (February 2012), http://aib.informatik.rwth-aachen.de/2012/2012-03.pdf
Haugen, Ø., Møller-Pedersen, B., Oldevik, J., Olsen, G., Svendsen, A.: Adding Standardized Variability to Domain Specific Languages. In: SPLC (2008)
Hendrickson, S.A., van der Hoek, A.: Modeling Product Line Architectures through Change Sets and Relationships. In: ICSE (2007)
Jayaraman, P., Whittle, J., Elkhodary, A.M., Gomaa, H.: Model Composition in Product Lines and Feature Interaction Detection Using Critical Pair Analysis. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 151–165. Springer, Heidelberg (2007)
Krueger, C.: Eliminating the Adoption Barrier. IEEE Software 19(4), 29–31 (2002)
Lochau, M., Schaefer, I., Kamischke, J., Lity, S.: Incremental Model-Based Testing of Delta-Oriented Software Product Lines. In: Brucker, A.D., Julliand, J. (eds.) TAP 2012. LNCS, vol. 7305, pp. 67–82. Springer, Heidelberg (2012)
McVeigh, A., Kramer, J., Magee, J.: Using resemblance to support component reuse and evolution. In: SAVCBS, pp. 49–56 (2006)
Medvidovic, N., Taylor, R.: A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engineering (2000)
Mens, T., Demeyer, S. (eds.): Software Evolution. Springer (2008)
Mens, T., Magee, J., Rumpe, B.: Evolving software architecture descriptions of critical systems. IEEE Computer 43(5), 42–48 (2010)
Mens, T., Taentzer, G., Runge, O.: Analysing refactoring dependencies using graph transformation. Software and System Modeling 6(3), 269–285 (2007)
Mens, T., Tourwé, T.: A survey of software refactoring. IEEE Trans. Software Eng. 30(2), 126–139 (2004)
Opdyke, W.: Refactoring: A Programm Restructuring Aid in Designing Object-Oriented Application Frameworks. Ph.D. thesis, Univ. of Illinois at Urbana-Champaign (1992)
Pérez, J., DÃaz, J., Soria, C.C., Garbajosa, J.: Plastic Partial Components: A solution to support variability in architectural components. In: WICSA/ECSA (2009)
Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering - Foundations, Principles, and Techniques. Springer, Heidelberg (2005)
Schaefer, I., Bettini, L., Damiani, F.: Compositional type-checking for delta-oriented programming. In: Intl. Conference on Aspect-oriented Software Development (AOSD 2011). ACM Press (2011)
Schaefer, I., Damiani, F.: Pure delta-oriented programming. In: Second International Workshop on Feature-oriented Software Development (FOSD 2010) (2010)
Schaefer, I.: Variability Modelling for Model-Driven Development of Software Product Lines. In: VaMoS (2010)
Schaefer, I., Bettini, L., Bono, V., Damiani, F., Tanzarella, N.: Delta-Oriented Programming of Software Product Lines. In: Bosch, J., Lee, J. (eds.) SPLC 2010. LNCS, vol. 6287, pp. 77–91. Springer, Heidelberg (2010)
Schulze, S., Thüm, T., Kuhlemann, M., Saake, G.: Variant-preserving refactoring in feature-oriented software product lines. In: VaMoS, pp. 73–81 (2012)
Tichelaar, S., Ducasse, S., Demeyer, S., Nierstrasz, O.: A meta-model for language-independent refactoring. In: Proc. of Principles of Software Evolution, pp. 154–164 (2000)
Völter, M., Groher, I.: Product Line Implementation using Aspect-Oriented and Model-Driven Software Development. In: SPLC (2007)
Ziadi, T., Hëlouët, L., Jézéquel, J.-M.: Towards a UML Profile for Software Product Lines. In: van der Linden, F.J. (ed.) PFE 2003. LNCS, vol. 3014, pp. 129–139. Springer, Heidelberg (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Haber, A., Rendel, H., Rumpe, B., Schaefer, I. (2012). Evolving Delta-Oriented Software Product Line Architectures. In: Calinescu, R., Garlan, D. (eds) Large-Scale Complex IT Systems. Development, Operation and Management. Monterey Workshop 2012. Lecture Notes in Computer Science, vol 7539. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-34059-8_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-34059-8_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-34058-1
Online ISBN: 978-3-642-34059-8
eBook Packages: Computer ScienceComputer Science (R0)