Skip to main content

Evolving Delta-Oriented Software Product Line Architectures

  • Conference paper
Large-Scale Complex IT Systems. Development, Operation and Management (Monterey Workshop 2012)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7539))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Chapter  Google Scholar 

  2. 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)

    Google Scholar 

  3. Barais, O., Meur, A.F., Duchien, L., Lawall, J.: Software architecture evolution. In: Software Evolution. Springer (2008)

    Google Scholar 

  4. Bayer, J., et al.: PuLSE: a Methodology to Develop Software Product Lines. In: Symposium on Software Reusability (SSR), pp. 122–131 (1999)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. Clarke, D., Helvensteijn, M., Schaefer, I.: Abstract Delta Modeling. In: GPCE. Springer (2010)

    Google Scholar 

  7. Czarnecki, K., Pietroszek, K.: Verifying Feature-based Model Templates against Well-formedness OCL Constraints. In: Generative Programming and Component Engineering, GPCE (2006)

    Google Scholar 

  8. Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley (2000)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. 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)

    Google Scholar 

  11. Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional (1999)

    Google Scholar 

  12. Gomaa, H.: Designing Software Product Lines with UML. Addison Wesley (2004)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. 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)

    Google Scholar 

  15. 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)

    Google Scholar 

  16. 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)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. 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

  19. Haugen, Ø., Møller-Pedersen, B., Oldevik, J., Olsen, G., Svendsen, A.: Adding Standardized Variability to Domain Specific Languages. In: SPLC (2008)

    Google Scholar 

  20. Hendrickson, S.A., van der Hoek, A.: Modeling Product Line Architectures through Change Sets and Relationships. In: ICSE (2007)

    Google Scholar 

  21. 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)

    Chapter  Google Scholar 

  22. Krueger, C.: Eliminating the Adoption Barrier. IEEE Software 19(4), 29–31 (2002)

    Article  Google Scholar 

  23. 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)

    Chapter  Google Scholar 

  24. McVeigh, A., Kramer, J., Magee, J.: Using resemblance to support component reuse and evolution. In: SAVCBS, pp. 49–56 (2006)

    Google Scholar 

  25. Medvidovic, N., Taylor, R.: A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engineering (2000)

    Google Scholar 

  26. Mens, T., Demeyer, S. (eds.): Software Evolution. Springer (2008)

    Google Scholar 

  27. Mens, T., Magee, J., Rumpe, B.: Evolving software architecture descriptions of critical systems. IEEE Computer 43(5), 42–48 (2010)

    Article  Google Scholar 

  28. Mens, T., Taentzer, G., Runge, O.: Analysing refactoring dependencies using graph transformation. Software and System Modeling 6(3), 269–285 (2007)

    Article  Google Scholar 

  29. Mens, T., Tourwé, T.: A survey of software refactoring. IEEE Trans. Software Eng. 30(2), 126–139 (2004)

    Article  Google Scholar 

  30. Opdyke, W.: Refactoring: A Programm Restructuring Aid in Designing Object-Oriented Application Frameworks. Ph.D. thesis, Univ. of Illinois at Urbana-Champaign (1992)

    Google Scholar 

  31. 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)

    Google Scholar 

  32. Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering - Foundations, Principles, and Techniques. Springer, Heidelberg (2005)

    MATH  Google Scholar 

  33. 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)

    Google Scholar 

  34. Schaefer, I., Damiani, F.: Pure delta-oriented programming. In: Second International Workshop on Feature-oriented Software Development (FOSD 2010) (2010)

    Google Scholar 

  35. Schaefer, I.: Variability Modelling for Model-Driven Development of Software Product Lines. In: VaMoS (2010)

    Google Scholar 

  36. 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)

    Chapter  Google Scholar 

  37. Schulze, S., Thüm, T., Kuhlemann, M., Saake, G.: Variant-preserving refactoring in feature-oriented software product lines. In: VaMoS, pp. 73–81 (2012)

    Google Scholar 

  38. 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)

    Google Scholar 

  39. Völter, M., Groher, I.: Product Line Implementation using Aspect-Oriented and Model-Driven Software Development. In: SPLC (2007)

    Google Scholar 

  40. 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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics