University-Industry Collaboration Journey towards Product Lines

  • Stan Jarzabek
  • Ulf Pettersson
  • Hongyu Zhang
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6727)

Abstract

Product Lines for mission critical Command and Control systems was a starting point for a long lasting research collaboration between National University of Singapore (NUS) and ST Electronics (Info-Software Systems) Pte Ltd (STEE-InfoSoft). Collaboration was intensified by a joint research project, also involving University of Waterloo and Netron Inc. that led to development of reuse technology called XVCL. The contribution of this paper is twofold: First, we describe collaboration modes, factors that were critical to sustain collaboration, and benefits for university and industry gained over years. Among the main benefits, STEE-InfoSoft advanced its reuse practice by applying XVCL in several software Product Line projects, while NUS team received early feedback from STEE-InfoSoft which helped refine XVCL reuse methods and keep academic research in sync with industrial realities. Academic findings and industrial pilots have opened new unexpected research directions. Second, we draw lessons learned from many projects, to explain the general nature and significance of problems addressed with the XVCL approach.

Keywords

Software Product Lines Industry collaboration Variability management Generative technique 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Basit, A.H., Jarzabek, S.: Detecting Higher-level Similarity Patterns in Programs. In: European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC-FSE 2005, Lisbon, pp. 156–165. ACM Press, New York (2005)Google Scholar
  2. 2.
    Basit, H.A., Rajapakse, D.C., Jarzabek, S.: Beyond Templates: a Study of Clones in the STL and Some General Implications. In: Int. Conf. Software Engineering, ICSE 2005, St. Louis, USA, pp. 451–459 (May 2005)Google Scholar
  3. 3.
    Bassett, P.: Framing software reuse - lessons from real world. Yourdon Press, Prentice Hall (1997)Google Scholar
  4. 4.
    Batory, D., Singhai, V., Sirkin, M., Thomas, J.: Scalable software libraries. In: ACM SIGSOFT 1993: Symp. on the Foundations of Software Engineering, Los Angeles, California, pp. 191–199 (December 1993)Google Scholar
  5. 5.
    Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling Step-Wise Refinement. In: Proc. Int. Conf. on Software Engineering, ICSE 2003, Portland, Oregon, pp. 187–197 (May 2003)Google Scholar
  6. 6.
    Bosch, J.: Design and Use of Software Architectures – Adopting and evolving a product-line approach. Addison-Wesley, Reading (2000)Google Scholar
  7. 7.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2002)Google Scholar
  8. 8.
    Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)Google Scholar
  9. 9.
    CPG-Nuke home, http://www.cpgnuke.com/
  10. 10.
    Deelstra, S., Sinnema, M., Bosch, J.: Experiences in Software Product Families: Problems and Issues During Product Derivation. In: Nord, R.L. (ed.) SPLC 2004. LNCS, vol. 3154, pp. 165–182. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  11. 11.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns – Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)MATHGoogle Scholar
  12. 12.
    Jarzabek, S.: Effective Software Maintenance and Evolution: Reuse-based Approach. CRC Press. Taylor & Francis (2007)Google Scholar
  13. 13.
    Jarzabek, S., Li, S.: Eliminating Redundancies with a “Composition with Adaptation” Meta-programming Technique. In: Proc. of ESEC-FSE 2003, European Software Engineering Conf. and ACM SIGSOFT Symp. on the Foundations of Software Engineering, Helsinki, pp. 237–246. ACM Press, New York (2003)Google Scholar
  14. 14.
    Jarzabek, S., Seviora, R.: Engineering components for ease of customization and evolution. IEE Proceedings - Software 147(6), 237–248 (2000); a special issue on Component-based Software EngineeringCrossRefGoogle Scholar
  15. 15.
    Jarzabek, S., Zhang, H.: XML-based Method and Tool for Handling Variant Requirements in Domain Models. In: Proc. 5th International Symposium on Requirements Engineering, RE 2001, Toronto, Canada, pp. 166–173 (August 2001)Google Scholar
  16. 16.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-Oriented Programming. In: Liu, Y., Auletta, V. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  17. 17.
    Pettersson, U., Jarzabek, S.: Industrial Experience with Building a Web Portal Product Line using a Lightweight, Reactive Approach. In: Europ. Soft. Eng. Conf. and Symp. on the Foundations of Software Engineering, ESEC-FSE 2005, Lisbon, pp. 326–335. ACM Press, New York (2005)Google Scholar
  18. 18.
    Rajapakse, D.C., Jarzabek, S.: Using Server Pages to Unify Clones in Web Applications: A Trade-off Analysis. In: Int. Conf. Software Engineering, ICSE 2007, Minneapolis, USA (May 2007)Google Scholar
  19. 19.
    Rajapakse, D., Jarzabek, S.: An Investigation of Cloning in Web Portals. In: Int. Conf. on Web Engineering, Sydney (July 2005); also poster at WWW 2005Google Scholar
  20. 20.
    Tarr, P., Ossher, H., Harrison, W., Sutton, S.: N Degrees of Separation: Multi-Dimensional Separation of Concerns. In: Proc. International Conference on Software Engineering, ICSE 1999, Los Angeles, pp. 107–119 (1999)Google Scholar
  21. 21.
    XML-based Variant Configuration Language, http://xvcl.comp.nus.edu.sg
  22. 22.
    Yang, J., Jarzabek, S.: Applying a Generative Technique for Enhanced Genericity and Maintainability on the J2EE Platform. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 237–255. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  23. 23.
    Zhang, H., Jarzabek, S.: A Mechanism for Handling Variants in Software Product Lines. Special Issue on Software Variability Management, Science of Computer Programming 53(3), 255–436 (2004)MathSciNetMATHGoogle Scholar
  24. 24.
    Zhang, W., Jarzabek, S.: Reuse without Compromising Performance: Industrial Experience from RPG Software Product Line for Mobile Devices. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 57–69. Springer, Heidelberg (2005)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Stan Jarzabek
    • 1
  • Ulf Pettersson
    • 2
  • Hongyu Zhang
    • 3
  1. 1.School of ComputingNational Univerisity of SingaporeSingapore
  2. 2.Technology OfficeST Electronics (Info-Software Systems) Pte. Ltd.Singapore
  3. 3.School of SoftwareTsinghua UniversityBeijingChina

Personalised recommendations