Software & Systems Modeling

, Volume 9, Issue 4, pp 427–451 | Cite as

A model-driven traceability framework for software product lines

  • Nicolas Anquetil
  • Uirá Kulesza
  • Ralf Mitschke
  • Ana Moreira
  • Jean-Claude Royer
  • Andreas Rummler
  • André Sousa
Theme Section

Abstract

Software product line (SPL) engineering is a recent approach to software development where a set of software products are derived for a well defined target application domain, from a common set of core assets using analogous means of production (for instance, through Model Driven Engineering). Therefore, such family of products are built from reuse, instead of developed individually from scratch. SPL promise to lower the costs of development, increase the quality of software, give clients more flexibility and reduce time to market. These benefits come with a set of new problems and turn some older problems possibly more complex. One of these problems is traceability management. In the European AMPLE project we are creating a common traceability framework across the various activities of the SPL development. We identified four orthogonal traceability dimensions in SPL development, one of which is an extension of what is often considered as “traceability of variability”. This constitutes one of the two contributions of this paper. The second contribution is the specification of a metamodel for a repository of traceability links in the context of SPL and the implementation of a respective traceability framework. This framework enables fundamental traceability management operations, such as trace import and export, modification, query and visualization. The power of our framework is highlighted with an example scenario.

Keywords

Traceability Software product line Model driven engineering 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aizenbud-Reshef N., Nolan B.T., Rubin J., Shaham-Gafni Y.: Model traceability. IBM Syst. J. 45(3), 515–526 (2006)CrossRefGoogle Scholar
  2. 2.
    Ajila, S., Kaba, B.A.: Using traceability mechanisms to support software product line evolution. In: Zhang, D., Grégoire, E., DeGroot, D. (eds.) Proceedings of the 2004 IEEE International Conference on Information Reuse and Integration, IRI, pp. 157–162. IEEE Systems, Man, and Cybernetics Society (2004)Google Scholar
  3. 3.
    Almeida, J.P., van Eck, P., Iacob, M.-E.: Requirements traceability and transformation conformance in model-driven development. In: Proceedings of the 10th International Enterprise Distributed Object Computing Conference (EDOC), pp. 355–366. Washington, DC, USA (2006)Google Scholar
  4. 4.
    Amar, B., Leblanc, H., Coulette, B.: A traceability engine dedicated to model transformation for software engineering. In: Oldevik, J., Olsen, G.K., Neple, T., Paige, R. (eds.) ECMDA Traceability Workshop (ECMDA-TW) 2008 Proceedings (2008)Google Scholar
  5. 5.
    Asuncion, H.U., François, F., Taylor, R.N.: An end-to-end industrial software traceability tool. In: ESEC-FSE ’07: Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering, pp. 115–124. ACM, New York, NY, USA (2007)Google Scholar
  6. 6.
    Bayer, J., Widen, T.: Introducing traceability to product lines. In: van der Linden, F. (ed.) Proceedings of the 4th Int. Workshop on Software Product-Family Engineering (PFE), vol. 2290 of Lecture Notes in Computer Science, pp. 409–416. Bilbao (Spain), October (2001)Google Scholar
  7. 7.
    Berg, K., Bishop, J., Muthig, D.: Tracing software product line variability: from problem to solution space. In: SAICSIT’05: Proceedings of the 2005 Annual Research Conference of the South African Institute of Computer Scientists and Information Technologists on IT Research in Developing Countries, pp. 182–191. South African Institute for Computer Scientists and Information Technologists, Republic of South Africa (2005)Google Scholar
  8. 8.
    Berge, C.: Graphes et hypergraphes. Dunod (1970)Google Scholar
  9. 9.
    Cleland-Huang J., Chang C.K., Christensen M.: Event-based traceability for managing evolutionary change. IEEE Trans. Softw. Eng. 29(9), 796–810 (2003)CrossRefGoogle Scholar
  10. 10.
    Cleland-Huang, J., Chang, C.K., Sethi, G., Javvaji, K., Hu H., Xia, J.: Automating speculative queries through event-based requirements traceability. In: Proceedings of the 10th Int. Conference on Requirements Engineering (RE), pp. 289–298. Essen (Germany), September (2002)Google Scholar
  11. 11.
    Collins-Sussman, B., Fitzpatrick, B.W., Pilato, C.M.: Version Control with Subversion. O’Reilly & Associates, Inc., For version 1.6 (2006)Google Scholar
  12. 12.
    Dart, S.: Concepts in configuration management systems. In: Proceedings of the 3rd International Workshop on Software Configuration Management, pp. 1–18. ACM Press, New York, NY, USA (1991)Google Scholar
  13. 13.
    Dömges R., Pohl K.: Adapting traceability environments to project-specific needs. Commun. ACM 41(12), 54–62 (1998)CrossRefGoogle Scholar
  14. 14.
    http://www.eclipse.org/. Last accessed: 05/04/2009
  15. 15.
    Ecore: Eclipse modeling framework project: Meta model. http://www.eclipse.org/modeling/emf/?project=emf. Last accessed: 04/20/2009
  16. 16.
    Egyed A.: A scenario-driven approach to trace dependency analysis. IEEE Trans. Softw. Eng. 29(2), 116–132 (2003)CrossRefGoogle Scholar
  17. 17.
    Egyed, A., Grünbacher, P.: Automating requirements traceability: beyond the record & replay paradigm. In: ASE, pp. 163–171. IEEE Computer Society (2002)Google Scholar
  18. 18.
    Ellson J., Gansner E., Koutsofios L., North S.C., Woodhull G.: Graphviz – open source graph drawing tools. Lect. Notes Comput. Sci. 2265, 483–484 (2002)CrossRefGoogle Scholar
  19. 19.
    Elmqvist, N., Do, T.N., Goodell, H., Henry, N., Fekete, J.-D.: ZAME: interactive large-scale graph visualization. In: Proceedings of the IEEE Pacific Visualization Symposium 2008, pp. 215–222. IEEE Press, March (2008)Google Scholar
  20. 20.
    Falleri, J.-R., Huchard, M., Nebut, C.: Towards a traceability framework for model transformations in kermeta. In: Aagedal, J., Neple, T., Oldevik, J. (eds.) ECMDA Traceability Workshop (ECMDA-TW) 2006 Proceedings, pp. 31–40 (2006)Google Scholar
  21. 21.
    Fekete, J.-D., van Wijk, J.J., Stasko, J.T., North, C.: Information Visualization: Human-Centered Issues and Perspectives, vol. 4950 of Lecture Notes in Computer Science, chapter The Value of Information Visualization, pp. 1–18. Springer, New York (2008)Google Scholar
  22. 22.
    Galvao, I., Goknil, A.: Survey of traceability approaches in model-driven engineering. In: EDOC ’07: Proceedings of the 11th IEEE International Enterprise Distributed Object Computing Conference, p. 313. IEEE Computer Society, Washington, DC, USA (2007)Google Scholar
  23. 23.
    Harary F.: Graph theory. Addison-Wesley, Reading (1969)Google Scholar
  24. 24.
    Hartigan J.A.: Clustering Algorithms. Wiley, New York (1975)MATHGoogle Scholar
  25. 25.
    Heer, J.: The prefuse visualization toolkit. http://prefuse.org/
  26. 26.
    Hunt, T.: Vertical and horizontal requirements relationships. Last accessed: 04/22/2009, (2007)Google Scholar
  27. 27.
    Jirapanthong, W., Zisman, A.: Supporting product line development through traceability. In: Proceedings of the 12th Asia-Pacific Software Engineering Conference (APSEC), pp. 506–514. Taipei, Taiwan (2005)Google Scholar
  28. 28.
    Jirapanthong W., Zisman A.: Xtraque: traceability for product line systems. J. Softw. Syst. Model. 8(1), 117–144 (2007)CrossRefGoogle Scholar
  29. 29.
    Jouault, F.: Loosely coupled traceability for ATL. In: Oldevik, J., Aagedal, J. (eds.) ECMDA Traceability Workshop (ECMDA-TW) 2005 Proceedings, pp. 29–37 (2005)Google Scholar
  30. 30.
    Kang K.C., Kim S., Lee J., Kim K., Shin E., Huh M.-H.: FORM: a feature-oriented reuse method with domain-specific reference architectures. Ann. Softw. Eng. 5, 143–168 (1998)CrossRefGoogle Scholar
  31. 31.
    Khan, S.S., Greenwood, P., Garcia, A., Rashid, A.: On the interplay of requirements dependencies and architecture evolution: an exploratory study. In: Proceedings of the 20th International Conference on Advanced Information Systems Engineering, CAiSE 2008. Springer Verlag, June 16–20, 2008 (to appear)Google Scholar
  32. 32.
    Krueger, C.W.: Variation management for software production lines. In: SPLC 2: Proceedings of the Second International Conference on Software Product Lines, pp. 37–48, London, UK. Springer-Verlag (2002)Google Scholar
  33. 33.
    Limón, A.E., Garbajosa, J.: The need for a unifying traceability scheme. In: Oldevik, J., Aagedal, J. (eds.) ECMDA Traceability Workshop (ECMDA-TW) 2005 Proceedings, pp. 47–56 (2005)Google Scholar
  34. 34.
    Marcus, A., Xie, X., Poshyvanyk, D.: When and how to visualize traceability links? In: TEFSE ’05: Proceedings of the 3rd International Workshop on Traceability in Emerging Forms of Software Engineering, pp. 56–61. ACM, New York, NY, USA (2005)Google Scholar
  35. 35.
    Megginson, D.: Xml performance and size. Last accessed: 04/23/2009, May (2005)Google Scholar
  36. 36.
    Microsoft. Visual sourcesafe. http://msdn.microsoft.com/en-us/vstudio/aa700907.aspx. Last accessed: 04/23/2009
  37. 37.
    Mitschke, R., Eichberg, M.: Supporting the evolution of software product lines. In: Oldevik, J., Olsen, G.K., Neple, T., Paige, R. (eds.) ECMDA Traceability Workshop (ECMDA-TW) 2008 Proceedings, pp. 87–96 (2008)Google Scholar
  38. 38.
    Mohan, K., Ramesh, B.: Managing variability with traceability in product and service families. In: Proceedings of the 35th Hawaii International Conference on System Sciences, pp. 1309–1317 (2002)Google Scholar
  39. 39.
    Mohan K., Ramesh B.: Tracing variations in software product families. Commun. ACM 50(12), 68–73 (2007)CrossRefGoogle Scholar
  40. 40.
    Mohan K., Xu P., Ramesh B.: Improving the change-management process. Commun. ACM 51(5), 59–64 (2008)CrossRefGoogle Scholar
  41. 41.
    Moon, M., Chae, H.S.: A metamodel approach to architecture variability in a product line. In: Proceedings of the Reuse of Off-the-Shelf Components, 9th International Conference on Software Reuse, vol. 4039 of LNCS, pp. 115–126. Springer-Verlag (2006)Google Scholar
  42. 42.
    OMG. Meta object facility, mof 2.0. http://www.omg.org/spec/mof/2.0/. OMG (2006)
  43. 43.
    Paige, R.F., Olsen, G.K., Kolovos, D.S., Zschaler, S., Power, C.: Building model-driven engineering traceability classifications. In: Oldevik, J., Olsen, G.K., Neple, T., Paige, R. (eds.) ECMDA Traceability Workshop (ECMDA-TW) 2008 Proceedings, pp. 49–58 (2008)Google Scholar
  44. 44.
    Pfleeger, S.L., Bohner, S.A.: A framework for software maintenance metrics. In: Proceedings of the Conference on Software Maintenance, pp. 320–327 (1990)Google Scholar
  45. 45.
    Pohl K., Böckle G., van der Linden F.: Software Product Line Engineering – Foundations, Principles, and Techniques. Springer Verlag, Heidelberg (2005)MATHGoogle Scholar
  46. 46.
    ModelWare Project. Traceability metamodel and system solution. http://www.modelware-ist.org, ModelWare Project, Deliverable D1.6 (2006)
  47. 47.
    Ramesh B.: Factors influencing requirements traceability practice. Commun. ACM 41(12), 37–44 (1998)CrossRefGoogle Scholar
  48. 48.
    Ramesh B., Jarke M.: Toward reference models for requirements traceability. IEEE Trans. Softw. Eng. 27(1), 58–93 (2001)CrossRefGoogle Scholar
  49. 49.
    Riebisch, M.: Supporting evolutionary development by feature models and traceability links. In: Proceedings of the 11th International Conference on Engineering of Computer-Based Systems (ECBS), pp. 370–377, Brno (Czech Republic), May (2004)Google Scholar
  50. 50.
    Sousa, A., Kulesza, U., Rummler, A., Anquetil, N., Mitschke, R., Moreira, A., Amaral, V., Araujo, J.: A model-driven traceability framework to software product line development. In: Oldevik, J., Olsen, G.K., Neple, T., Paige, R. (eds.) ECMDA Traceability Workshop (ECMDA-TW) 2008 Proceedings, pp. 97–109 (2008)Google Scholar
  51. 51.
    http://subclipse.tigris.org/. Last consulted on: 05/0/2009
  52. 52.
    Svahnberg M., Bosch J.: Evolution in software product lines: two cases. J. Softw. Maint. 11(6), 391–422 (1999)CrossRefGoogle Scholar
  53. 53.
    JUNG Framework Development Team. Java universal network/graph framework. http://jung.sourceforge.net/ (2008)
  54. 54.
    Venn J.: On the diagrammatic and mechanical representation of propositions and reasonings. Dublin Philos. Mag. J. Sci. 9(59), 1–18 (1880)Google Scholar
  55. 55.
    Walderhaug, S., Johansen, U., Stav, E., Aagedal, J.: Towards a generic solution for traceability in mdd. In: Aagedal, J., Neple, T., Oldevik, J. (eds.) ECMDA Traceability Workshop (ECMDA-TW) 2006 Proceedings (2006)Google Scholar
  56. 56.
    Wieringa, R.: Traceability and modularity in software design. In: Proceedings of the 9th International Workshop on Software Specification and Design, pp. 87–95 (1998)Google Scholar

Copyright information

© Springer-Verlag 2009

Authors and Affiliations

  • Nicolas Anquetil
    • 1
  • Uirá Kulesza
    • 2
  • Ralf Mitschke
    • 3
  • Ana Moreira
    • 2
  • Jean-Claude Royer
    • 1
  • Andreas Rummler
    • 4
  • André Sousa
    • 2
  1. 1.ASCOLA, EMN-INRIANantesFrance
  2. 2.CITI/DI/FCTUniversidade Nova de LisboaCaparicaPortugal
  3. 3.TU DarmstadtDarmstadtGermany
  4. 4.SAP ResearchDresdenGermany

Personalised recommendations