Documenting Application-Specific Adaptations in Software Product Line Engineering

  • Günter Halmans
  • Klaus Pohl
  • Ernst Sikora
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5074)


Software product line engineering distinguishes between two types of development processes: domain engineering and application engineering. In domain engineering software artefacts are developed for reuse. In application engineering domain artefacts are reused to create specific applications.

Application engineers often face the problem that individual customer needs cannot be satisfied completely by reusing domain artefacts and thus application-specific adaptations are required. Either the domain artefacts or the application artefacts need to be modified to incorporate the application-specific adaptations. We consider the case that individual customer needs are realised by adapting the application artefacts and propose a technique for maintaining traceability between the adapted application artefacts and the domain artefacts. The traceable documentation of application-specific adaptations is facilitated by an application variability model (AVM) which records the differences between the domain artefacts and the application artefacts of a particular application. The approach is formalised using graph transformations.


product line engineering variability modelling application-specific adaptations traceability 


  1. 1.
    Atkinson, C., Bayer, J., Bunse, C., Kamsties, E., Laitenberger, O., Laqua, R., Muthig, D., Paech, B., Wüst, J., Zettel, J.: Component-Based Product-Line Engineering with UML. Addison-Wesley, UK (2002)Google Scholar
  2. 2.
    Baum, L., Becker, M., Geyer, L., Molter, G.: Mapping Requirements to Reusable Components using Design Spaces. In: Proc. of the 4th Intl. Conference on Requirements Engineering (ICRE 2000), pp. 159–167. IEEE Computer Society, Los Alamitos (2000)Google Scholar
  3. 3.
    Bühne, S., Lauenroth, K., Pohl, K.: Modelling Requirements Variability across Product Lines. In: Atlee, J.M. (ed.) 13th IEEE Intl. Conference on Requirements Engineering, pp. 41–50. IEEE Computer Society, Los Alamitos (2005)CrossRefGoogle Scholar
  4. 4.
    Bosch, J., Ran, A.: Evolution of Software Product Families. In: Van der Linden, F. (ed.) Software Architectures for Product Families, International Workshop IW SAPF 3, Las Palmas de Gran Canaria, Spain, pp. 169–183. Springer, Heidelberg (2000)Google Scholar
  5. 5.
    Clements, P., Northrop, L.: Software Product Lines – Practices and Patterns. Addison-Wesley, Boston (2001)Google Scholar
  6. 6.
    Eriksson, M., Börstler, J., Borg, K.: The PLUSS Approach - Domain Modeling with Features, Use Cases and Use Case Realizations. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 33–44. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  7. 7.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Springer, Heidelberg (2006)zbMATHGoogle Scholar
  8. 8.
    Gomaa, H.: Designing Software Product Lines with UML. Addison-Wesley, Boston (2004)Google Scholar
  9. 9.
    Halmans, G.: Ein Ansatz zur Unterstützung der Ableitung einer Applikationsanforderungsspezifikation mit Integration spezifischer Applikationsanforderungen (in German). Doctoral Dissertation, Logos Verlag, Berlin (2007)Google Scholar
  10. 10.
    Mannion, M., Kaindl, H., Wheadon, J.: Reusing Single System Requirements from Application Family Requirements. In: Proc. of the 21th Intl. Conference on Software Engineering (ICSE 1999), pp. 453–462. ACM Press, New York (1999)Google Scholar
  11. 11.
    Mohan, K., Ramesh, B.: Change Management Patterns in Software Product Lines. Communications of the ACM 49(12), 68–72 (2006)CrossRefGoogle Scholar
  12. 12.
    Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering – Foundations, Principles, and Techniques. Springer, Heidelberg (2005)zbMATHGoogle Scholar
  13. 13.
    Padmanabhan, P., Lutz, R.R.: Tool-Supported Verification of Product Line Requirements. In: Automated Software Engineering, vol. 12(4), pp. 447–465. Springer, Heidelberg (2005)Google Scholar
  14. 14.
    Reuys, A., Kamsties, E., Pohl, K., Reis, S.: Model-Based System Testing of Software Product Families. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 519–534. Springer, Heidelberg (2005)Google Scholar
  15. 15.
    Raatikainen, M., Soininen, T., Männistö, T., Mattila, A.: Characterizing Configurable Software Product Families and their Derivation. In: Software Process Improvement and Practice, vol. 10(1), pp. 41–60. Wiley, Chichester (2005)Google Scholar
  16. 16.
    Weiss, D.M., Lai, C.T.R.: Software Product-Line Engineering, A Family-Based Software Development Process. Addison-Wesley, Boston (1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Günter Halmans
    • 1
  • Klaus Pohl
    • 2
  • Ernst Sikora
    • 2
  1. 1.RDS Consulting GmbHDüsseldorfGermany
  2. 2.Software Systems EngineeringUniversity of Duisburg-EssenEssenGermany

Personalised recommendations