Skip to main content
Log in

Identifying and addressing problems in object-oriented framework reuse

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

This paper describes the results of a long-term empirical investigation into object-oriented framework reuse. The aim is to identify the major problems that occur during framework reuse and the impact of current documentation techniques on these problems. Four major reuse problems are identified: understanding the functionality of framework components; understanding the interactions between framework components; understanding the mapping from the problem domain to the framework implementation; understanding the architectural assumptions in the framework design. Two forms of documentation are identified as having the potential to address these problems, namely pattern languages and micro-architecture descriptions. An in-depth, qualitative analysis suggests that, although pattern languages do provide useful support in terms of introducing framework concepts, this can be bypassed by developers using their previous knowledge, occasionally to the detriment of the final solution. Micro-architecture documentation appears to provide support for simple interaction and functionality queries, but it is not able to address large scale interaction problems involving multiple classes within the framework. The paper concludes that, although a combination of pattern language and micro-architecture documentation is useful for framework reuse, the forms of these documentation types used in this study require further enhancement to become effective. The paper also serves as an example to encourage others to perform evaluation of framework understanding and documentation.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

References

  • Alexander C, Ishikawa S, Silverstein M, Jacobson M, Fiksdhal-King I, Angel S (1977) A pattern language—towns, buildings, construction. Oxford University Press, New York

    Google Scholar 

  • Beck K, Cunningham W (2005) HotDraw. http://www.c2.com/cgi/wiki?HotDraw (Accessed February 2005)

  • Beck K, Johnson RE (1994) Patterns generate architectures. In Proceedings of the European Conference on Object-Oriented Programming, Bologna, Italy, pp139–149

  • Bosch J, Molin P, Mattsson M, Bengtsson P (1999) Framework problems and experiences. In: Fayad ME, Schmidt DC, Johnson RE (eds) Building application frameworks: object-oriented foundations of framework design. Wiley, pp 55–82

  • Buschmann F, Meunier R, Rohnert H, Sommerlad P, Stal M (1996) Pattern-oriented software architecture, vol 1: a system of patterns, Wiley.

  • Butler G, Keller RK, Mili H (2000) A framework for framework documentation. ACM Comput Surv 32(1)

  • Campbell D, Stanley J (1963) Experimental and quasi-experimental designs for research. Houghton Mifflin Company, Boston

    Google Scholar 

  • Dénommée P (1998) A case study in documenting and developing frameworks. Master’s Thesis, Concordia University, Canada

  • Dey I (1993) Qualitative data analysis: a user-friendly guide for social scientists. Routledge, London

    Google Scholar 

  • Eclipse (2005) Eclipse. http://www.eclipse.org (Accessed February 2005)

  • Fairbanks G (2004) Software engineering environment support for frameworks: a position paper. In Workshop on Directions in Software Engineering Environments. Available online at: http://www.hdcp.org/Publications/WoDiSEE_ICSE04_Fairbanks.pdf (Accessed August 2005)

  • Fayad M, Schmidt DC, Johnson RE (1999) Building application frameworks: object-oriented foundations of framework design. Wiley, New York

    Google Scholar 

  • Froehlich G, Hoover J, Liu L, Sorenson P (1997) Hooking into object-oriented application frameworks. In Proceedings of the International Conference on Software Engineering, Boston, USA, pp 491–501

  • Gamma E, Eggenschwiler T (2005) JHotDraw. http://www.members.pingnet.ch/gamma/JHD-5.1.zip (Accessed February 2005)

  • Gamma E, Helm R, Johnson RE, Vlissides J (1994) Design patterns: elements of reusable object-oriented software. Addison Wesley, Reading, MA

    Google Scholar 

  • Gangopadhyay D, Mitra S (1995) Understanding frameworks by exploration of exemplars. In Proceedings of the Seventh International Workshop on Computer-Aided Software Engineering, Toronto, Canada, pp 90–100

  • Hakala M, Hautamäki J, Tuomi J, Viljamaa A, Viljamaa J, Koskimies K, and Paakki J (1999) Managing object-oriented frameworks with specialization templates. In Proceedings of the Workshop on Object-Oriented Technology, Brussels, Belgium, pp 199–209

  • Harrison W (2000) N = 1: an alternative for software engineering research? Beg, borrow, or steal: using multidisciplinary approaches in empirical software engineering research, workshop, 5 June, 2000 at 22nd International Conference on Software Engineering

  • Helm R, Holland IM, Gangopadhyay D (1990) Contracts: specifying behavioral compositions in object-oriented systems. In Proceedings of the 1990 European conference on object-oriented programming, Ottawa, Canada, pp 169–180

  • Höst M, Regnell B, Wohlin C (2000) Using students as subjects—a comparative study of students and professionals in lead-time impact assessment. Empir Softw Eng J 5(3):201–214

    Article  MATH  Google Scholar 

  • Johnson RE (1992) Documenting frameworks using patterns. In Proceedings of the conference on object-oriented systems, languages and applications, Vancouver, Canada, October, pp 63–76

  • Judd CM, Smith ER, Kidder LH (1991) Research methods in social relations 6th edn. Holt Rinehart and Winston, Fort Worth, TX

    Google Scholar 

  • Kaiser W (2005) JHotDraw as an Open-Source Project. http://www.jhotdraw.org (Accessed February 2005)

  • Kirk D (2005) Understanding object-oriented frameworks. PhD Thesis, University of Strathclyde, Glasgow, UK. http://www.cis.strath.ac.uk/research/efocs/abstracts.html#dk_thesis (Accessed January 2006)

  • Krasner GE, Pope ST (1988) A description of the model–view–controller user interface paradigm in the Smalltalk-80 system. J Object-Oriented Program 1(3):26–49

    Google Scholar 

  • Lajoie R (1993) Using reusing and describing object-oriented frameworks. Master’s Thesis, McGill University, Canada

  • Lajoie R, Keller RK (1994) Design and reuse in object-oriented frameworks: patterns, contracts, and motifs in concert. In the Proceedings of the Colloquium on Object-Orientation in Databases and Software Engineering, Montreal, Canada, pp 295–312

  • Meusel M, Czarnecki K, Köpf W (1997) A model for structuring user documentation of object-oriented frameworks using patterns and hypertext. In Proceedings of the European Conference on Object-Oriented, Jyvaskyla, Finland, pp 496–510

  • Microsoft (2005) Microsoft ASP.NET. http://www.asp.net (Accessed on 8 February 2005)

  • Miles MB, Huberman MA (1994) Qualitative data analysis: an expanded sourcebook 2nd edn. Sage Publications, Thousand Oaks, CA

    Google Scholar 

  • Moser S, Nierstrasz O (1996) The effect of object-oriented frameworks on productivity. IEEE Comput 29(9):45–51

    Google Scholar 

  • Netu2 (2005).MediaCam high speed screen recording. http://www.netu2.co.uk/home.htm (Accessed February 2005)

  • OMG (2005a) Corba. http://www.corba.org (Accessed February 2005)

  • OMG (2005b) The unified modelling language. http://www.uml.org (Accessed April 2005)

  • Ortigosa A, Campo M, Salomon RM (1999) Enhancing framework usability through smart documentation. In Proceedings of the 3rd Argentine Symposium on Object-Orientation, Buenos Aires, Argentina, pp 103–117

  • Perry DE, Porter AA, Votta LG (2000) Empirical studies of programmers: a road map, international conference on software engineering, Proceedings of the Conference on The Future of Software Engineering, pp 345–355

  • Pree W (1999) Hot spot driven development. In: Fayad ME, Schmidt DC, Johnson RE (eds) Building application frameworks: object-oriented foundations of framework design. Wiley, pp 379–394

  • Robitaille S, Schauer R, Keller RK (2000) Bridging program comprehension tools by design navigation. In Proceedings of the International Conference on Software Maintenance San Jose, USA. Washington, DC: IEEE Computer Society, pp 22–32

  • Schmidt DC (2005) The adaptive communication environment framework. http://www.cs.wustl.edu/~schmidt/ACE.html (Accessed February 2005)

  • Schneider K, Repenning A (1995) Deceived by ease of use: using paradigmatic applications to build visual design environments. In Proceedings of the symposium on designing interactive systems: processes, practices, methods and techniques, Ann Arbor, MI, USA, pp 177–188

  • Shull F, Lanubile F, Basili VR (2000) Investigating reading techniques for object-oriented framework learning. IEEE Trans Softw Eng 26(11):1101–1118

    Article  Google Scholar 

  • Slaney J, Thiébaux S (1994) Adventures in blocks world. Technical Report (TR-ARP-7-94), Research school of information sciences and engineering and centre for information science research, Australian National University

  • Sparks S, Benner K, Faris CA (1996) Managing object-oriented framework reuse. IEEE Compu 29(9):52–60

    Google Scholar 

  • Sun Microsystems (2005a) J2EE: JDBC Technology. http://www.java.sun.com/products/jdbc (Accessed February 2005)

  • Sun Microsystems (2005b) Desktop Java: Java Foundation Classes (JFC/ Swing). http://www.java.sun.com/products/jdbc (Accessed February 2005)

  • Sun Microsystems (2005c) Core Java: Javadoc Tool. http://www.java.sun.com/j2se/javadoc (Accessed February 2005)

  • Together (2005) Borland Together Designer. http://www.borland.com/us/products/together/index.html. (Accessed January 2006)

  • Van Grup J, Bosch J (2001) Design erosion: problems and causes. J Syst Softw 61(2):105–119

    Article  Google Scholar 

  • White S, O’Madadhain J, Fisher D, Boey Y (2005) JUNG: Java Universal Network/Graph Framework. http://www.jung.sourceforge.net (Accessed February 2005)

Download references

Acknowledgments

This work was made possible by funding from UK EPSRC research grant GR/N07509. We are also grateful to the students from the University of Strathclyde software architecture class for their enthusiasm and contributions and to the postgraduate students who volunteered to participate in the second study. We also thank the reviewers for their useful comments and suggestions which helped to improve the content and clarity of the paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Murray Wood.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kirk, D., Roper, M. & Wood, M. Identifying and addressing problems in object-oriented framework reuse. Empir Software Eng 12, 243–274 (2007). https://doi.org/10.1007/s10664-006-9027-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-006-9027-z

Keywords

Navigation