VCU: The Three Dimensions of Reuse

  • Jörg Kienzle
  • Gunter Mussbacher
  • Omar Alam
  • Matthias Schöttle
  • Nicolas Belloir
  • Philippe Collet
  • Benoit Combemale
  • Julien DeAntoni
  • Jacques Klein
  • Bernhard Rumpe
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9679)

Abstract

Reuse, enabled by modularity and interfaces, is one of the most important concepts in software engineering. This is evidenced by an increasingly large number of reusable artifacts, ranging from small units such as classes to larger, more sophisticated units such as components, services, frameworks, software product lines, and concerns. This paper presents evidence that a canonical set of reuse interfaces has emerged over time: the variation, customization, and usage interfaces (VCU). A reusable artifact that provides all three interfaces reaches the highest potential of reuse, as it explicitly exposes how the artifact can be manipulated during the reuse process along these three dimensions. We demonstrate the wide applicability of the VCU interfaces along two axes: across abstraction layers of a system specification and across existing reuse techniques. The former is shown with the help of a comprehensive case study including reusable requirements, software, and hardware models for the authorization domain. The latter is shown with a discussion on how the VCU interfaces relate to existing reuse techniques.

Keywords

Reuse Interfaces Variability Customization Configuration Extension Usage Concern-oriented reuse 

References

  1. 1.
    Amazon: Amazon web servicesGoogle Scholar
  2. 2.
    Abiteboul, S., Amann, B., Baumgarten, J., Benjelloun, O., Ngoc, F.D., Milo, T.: Schema-driven customization of web services. In: Proceedings of the 29th International Conference on Very Large Data Bases, VLDB 2003, vol. 29, pp. 1093–1096. VLDB Endowment (2003)Google Scholar
  3. 3.
    Alam, O., Kienzle, J., Mussbacher, G.: Concern-oriented software design. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) MODELS 2013. LNCS, vol. 8107, pp. 604–621. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  4. 4.
    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)CrossRefGoogle Scholar
  5. 5.
    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
  6. 6.
    Erl, T.: Service-Oriented Architecture: Concepts, Technology, and Design. Prentice Hall PTR, Upper Saddle River (2005)Google Scholar
  7. 7.
    Ferraiolo, D.F., Sandhu, R.S., Gavrila, S.I., Kuhn, D.R., Chandramouli, R.: Proposed NIST standard for role-based access control. ACM Trans. Inf. Syst. Secur. 4(3), 224–274 (2001). doi:10.1145/501978.501980 CrossRefGoogle Scholar
  8. 8.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison Wesley, Reading (1995)MATHGoogle Scholar
  9. 9.
    Haber, A., Kutz, T., Rendel, H., Rumpe, B., Schaefer, I.: Delta-oriented architectural variability using monticore. CoRR abs/1409.2317 (2014)Google Scholar
  10. 10.
    International Telecommunication Union (ITU-T): Recommendation Z.151 (10/12): User Requirements Notation (URN) - Language Definition. Accessed Oct 2012Google Scholar
  11. 11.
    Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-oriented domain analysis (FODA) feasibility study. Technical report, CMU/SEI-90-TR-21, SEI, CMU, Nov 1990Google Scholar
  12. 12.
    Kästner, C., Ostermann, K., Erdweg, S.: A variability-aware module system. In: Leavens, G.T., Dwyer, M.B. (eds.) Proceedings of the 27th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2012, Part of SPLASH 2012, pp. 773–792, Tucson, AZ, USA, 21–25 Oct 2012. ACM (2012)Google Scholar
  13. 13.
    Kienzle, J., Al Abed, W., Klein, J.: Aspect-oriented multi-view modeling. In: Proceedings of the 8th International Conference on Aspect-Oriented Software Development - AOSD, pp. 87–98, 1–6 Mar 2009. ACM Press (2009)Google Scholar
  14. 14.
    Kim, S., Kim, D.K., Lu, L., Kim, S., Park, S.: A feature-based approach for modeling role-based access control systems. J. Syst. Softw. 84(12), 2035–2052 (2011). doi:10.1016/j.jss.2011.03.084 CrossRefGoogle Scholar
  15. 15.
    Krueger, C.W.: Software reuse. CSURV: Comput. Surv. 24, 131–183 (1992)CrossRefGoogle Scholar
  16. 16.
    Krut, R., Cohen, S.: Service-oriented architectures and software product lines - putting both together. In: 12th International Software Product Line Conference - SPLC 2008, p. 383, Sept 2008Google Scholar
  17. 17.
    Morin, B., Vanwormhoudt, G., Lahire, P., Gaignard, A., Barais, O., Jézéquel, J.-M.: Managing variability complexity in aspect-oriented modeling. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 797–812. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  18. 18.
    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, pp. 221–230. IEEE (2009)Google Scholar
  19. 19.
    Perrouin, G., Klein, J., Guelfi, N., Jézéquel, J.M.: Reconciling automation and flexibility in product derivation. In: SPLC, pp. 339–348. IEEE Computer Society (2008)Google Scholar
  20. 20.
    Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer-Verlag New York, Inc., Secaucus (2005)CrossRefMATHGoogle Scholar
  21. 21.
    Sandhu, R.S., Coyne, E.J., Feinstein, H.L., Youman, C.E.: Role-based access control models. IEEE Comput. 29(2), 38–47 (1996)CrossRefGoogle Scholar
  22. 22.
    van der Storm, T.: Variability and component composition. In: Dannenberg, R.B., Krueger, C. (eds.) ICOIN 2004 and ICSR 2004. LNCS, vol. 3107, pp. 157–166. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  23. 23.
    ten Teije, A., van Harmelen, F., Wielinga, B.J.: Configuration of web services as parametric design. In: Motta, E., Shadbolt, N.R., Stutt, A., Gibbins, N. (eds.) EKAW 2004. LNCS (LNAI), vol. 3257, pp. 321–336. Springer, Heidelberg (2004)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Jörg Kienzle
    • 1
  • Gunter Mussbacher
    • 1
  • Omar Alam
    • 2
  • Matthias Schöttle
    • 1
  • Nicolas Belloir
    • 3
  • Philippe Collet
    • 4
  • Benoit Combemale
    • 5
  • Julien DeAntoni
    • 4
  • Jacques Klein
    • 6
  • Bernhard Rumpe
    • 7
  1. 1.SOCS/ECEMcGill UniversityMontréalCanada
  2. 2.Trent UniversityPeterboroughCanada
  3. 3.Université de PauPauFrance
  4. 4.Université Nice Sophia AntipolisNiceFrance
  5. 5.Université de Rennes 1RennesFrance
  6. 6.Université du LuxembourgLuxembourgLuxembourg
  7. 7.RWTH AachenAachenGermany

Personalised recommendations