Advertisement

Model Superimposition in Software Product Lines

  • Sven Apel
  • Florian Janda
  • Salvador Trujillo
  • Christian Kästner
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5563)

Abstract

In software product line engineering, feature composition generates software tailored to specific requirements from a common set of artifacts. Superimposition is a technique to merge code pieces belonging to different features. The advent of model-driven development raises the question of how to support the variability of software product lines in modeling techniques. We propose to use superimposition as a model composition technique in order to support variability. We analyze the feasibility of superimposition for model composition, offer corresponding tool support, and discuss our experiences with three case studies (including an industrial case study).

Keywords

Class Diagram Sequence Diagram State Diagram Software Product Line Software Artifact 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, SEI, CMU (1990)Google Scholar
  2. 2.
    Whittle, J., Araujo, J.: Scenario Modelling with Aspects. IEE Software 151, 157–172 (2004)CrossRefGoogle Scholar
  3. 3.
    Jossic, A., et al.: Model Integration with Model Weaving: A Case Study in System Architecture. In: Proc. Int. Conf. Systems Engineering and Modeling, pp. 79–84. IEEE CS, Los Alamitos (2007)Google Scholar
  4. 4.
    Sinnema, M., Deelstra, S.: Classifying Variability Modeling Techniques. Inf. Softw. Technol. 49, 717–739 (2007)CrossRefGoogle Scholar
  5. 5.
    Trujillo, S., Batory, D., Díaz, O.: Feature Oriented Model Driven Development: A Case Study for Portlets. In: Proc. Int. Conf. Software Engineering, pp. 44–53. IEEE CS, Los Alamitos (2007)Google Scholar
  6. 6.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2002)Google Scholar
  7. 7.
    Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering. In: Foundations, Principles, and Techniques. Springer, Heidelberg (2005)Google Scholar
  8. 8.
    Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design. The Theme Approach. Addison-Wesley, Reading (2005)Google Scholar
  9. 9.
    Heidenreich, F., Henriksson, J., Johannes, J., Zschaler, S.: On Controlled Visualisations in Software Product Line Engineering. In: Proc. Int. Workshop Visualisation in Software Product Line Eng., Lero, pp. 335–342. University of Limerick (2008)Google Scholar
  10. 10.
    Batory, D., Sarvela, J., Rauschmayer, A.: Scaling Step-Wise Refinement. IEEE Trans. Software Engineering 30, 355–371 (2004)CrossRefGoogle Scholar
  11. 11.
    Apel, S., Leich, T., Rosenmüller, M., Saake, G.: FeatureC++: On the Symbiosis of Feature-Oriented and Aspect-Oriented Programming. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 125–140. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  12. 12.
    Mezini, M., Ostermann, K.: Variability Management with Feature-Oriented Programming and Aspects. In: Proc. Int. Symp. Foundations of Software Eng., pp. 127–136. ACM Press, New York (2004)Google Scholar
  13. 13.
    Apel, S., Lengauer, C.: Superimposition: A Language-Independent Approach to Software Composition. In: Pautasso, C., Tanter, É. (eds.) SC 2008. LNCS, vol. 4954, pp. 20–35. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  14. 14.
    Apel, S., Kästner, C., Lengauer, C.: FeatureHouse: Language-Independent, Automatic Software Composition. In: Proc. Int. Conf. Software Engineering. IEEE CS, Los Alamitos (2009)Google Scholar
  15. 15.
    Tarr, P., Ossher, H., Harrison, W., Sutton Jr., S.: N Degrees of Separation: Multi-Dimensional Separation of Concerns. In: Proc. Int. Conf. Software Engineering, pp. 107–119. IEEE CS, Los Alamitos (1999)Google Scholar
  16. 16.
    Bosch, J.: Super-Imposition: A Component Adaptation Technique. Information and Software Technology 41, 257–273 (1999)CrossRefGoogle Scholar
  17. 17.
    Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)Google Scholar
  18. 18.
    Batory, D.: Feature Models, Grammars, and Propositional Formulas. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 7–20. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  19. 19.
    Apel, S., Leich, T., Saake, G.: Aspectual Feature Modules. IEEE Trans. Software Engineering 34, 162–180 (2008)CrossRefGoogle Scholar
  20. 20.
    Anfurrutia, F., Díaz, O., Trujillo, S.: On Refining XML Artifacts. In: Baresi, L., Fraternali, P., Houben, G.-J. (eds.) ICWE 2007. LNCS, vol. 4607, pp. 473–478. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  21. 21.
    Grose, T., Doney, G., Brodsky, S.: Mastering XMI. OMG Press (2002)Google Scholar
  22. 22.
    Boronat, A., Carsí, J., Ramos, I., Letelier, P.: Formal Model Merging Applied to Class Diagram Integration. Electron. Notes Theor. Comput. Sci. 166, 5–26 (2007)CrossRefGoogle Scholar
  23. 23.
    Klein, J., Helouet, L., Jezequel, J.: Semantic-Based Weaving of Scenarios. In: Proc. Int. Conf. Aspect-Oriented Software Development, pp. 27–38. ACM Press, New York (2006)CrossRefGoogle Scholar
  24. 24.
    Herrmann, C., Krahn, H., Rumpe, B., Schindler, M., Völkel, S.: An Algebraic View on the Semantics of model Composition. In: Proc. Europ. Conf. Model Driven Architecture – Foundations and Applications, pp. 99–113. Springer, Heidelberg (2007)Google Scholar
  25. 25.
    Czarnecki, K., Pietroszek, K.: Verifying Feature-Based Model Templates Against Well-Formedness OCL Constraints. In: Proc. Int. Conf. Generative Programming and Component Engineering, pp. 211–220. ACM Press, New York (2006)Google Scholar
  26. 26.
    Jezequel, J.M.: Model Driven Design and Aspect Weaving. Software and Systems Modeling 7, 209–218 (2008)CrossRefGoogle Scholar
  27. 27.
    Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Merging Models with the Epsilon Merging Language (EML). In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 215–229. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  28. 28.
    Heidenreich, F., Henriksson, J., Johannes, J., Zschaler, S.: On Language-Independent Model Modularisation. Trans. Aspect-Oriented Software Development (2009)Google Scholar
  29. 29.
    Czarnecki, K., Antkiewicz, M.: Mapping Features to Models: A Template Approach Based on Superimposed Variants. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 422–437. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  30. 30.
    Kästner, C., Apel, S.: Integrating Compositional and Annotative Approaches for Product Line Engineering. In: Proc. Workshop on Modularization, Composition, and Generative Techniques for Product Line Engineering, Dept. of Informatics and Mathematics, University of Passau, pp. 35–40 (2008)Google Scholar
  31. 31.
    Siegmund, N., et al.: Bridging the Gap between Variability in Client Application and Database Schema. In: Proc. Conf. Datenbanksysteme für Business, Technologie und Web, Gesellschaft für Informatik, pp. 297–306 (2009)Google Scholar
  32. 32.
    Group, O.M.: Unified Modeling Language: Superstructure, Version 2.1.1 (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Sven Apel
    • 1
  • Florian Janda
    • 1
  • Salvador Trujillo
    • 2
  • Christian Kästner
    • 3
  1. 1.Department of Informatics and MathematicsUniversity of PassauGermany
  2. 2.IKERLAN Research CentreSpain
  3. 3.School of Computer ScienceUniversity of MagdeburgGermany

Personalised recommendations