Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/1983735.1983740guidebooksArticle/Chapter ViewAbstractPublication PagesBookacm-pubtype
chapter

Patterns for effectively documenting frameworks

Published: 01 January 2011 Publication History

Abstract

Good design and implementation are necessary but not sufficient prerequisites for successfully reusing object-oriented frameworks. Although not always recognized, good documentation is crucial for effective framework reuse, and often hard, costly, and tiresome, coming with many issues, especially when we are not aware of the key problems and respective ways of addressing them. Based on existing literature, case studies and lessons learned, the authors have been mining proven solutions to recurrent problems of documenting object-oriented frameworks, and writing them in pattern form, as patterns are a very effective way of communicating expertise and best practices. This paper presents a small set of patterns addressing problems related to the framework documentation itself, here seen as an autonomous and tangible product independent of the process used to create it. The patterns aim at helping nonexperts on cost-effectively documenting object-oriented frameworks. In concrete, these patterns provide guidance on choosing the kinds of documents to produce, how to relate them, and which contents to include. Although the focus is more on the documents themselves, rather than on the process and tools to produce them, some guidelines are also presented in the paper to help on applying the patterns to a specific framework.

References

[1]
Aguiar, A.: A minimalist approach to framework documentation. PhD thesis, Faculdade de Engenharia da Universidade do Porto (2003)
[2]
Aguiar, A., David, G.: Patterns for Documenting Frameworks - Part I. In: Proceedings of VikingPLoP 2005, Helsinki, Finland (2005) (to be published)
[3]
Aguiar, A., David, G.: Patterns for Documenting Frameworks - Part II. In: Proceedings of EuroPLoP 2006, Irsee, Germany (2006)
[4]
Aguiar, A., David, G.: Patterns for Documenting Frameworks - Part III. In: Proceedings of PLoP 2006, Portland, Oregon, USA (2006)
[5]
Aguiar, A., David, G.: Patterns for Documenting Frameworks - Process. In: Proceedings of SugarLoafPLoP 2007, Porto de Galinhas, Recife, Pernambuco, Brazil (2007)
[6]
Alexander, C., Ishikawa, S., Silverstein, M.: A Pattern Language. Oxford University Press, Oxford (1977)
[7]
Alur, D., Crupi, J., Malks, D.: Core J2EE Patterns: Best Practices and Design Strategies, 1st edn. Prentice Hall / Sun Microsystems Press (2001) ISBN:0130648841
[8]
Apple Computer, MacApp Programmer's Guide. Apple Computer (1986)
[9]
Beck, K., Gamma, E.: JUnit homepage (1997), http://www.junit.org
[10]
Beck, K., Gamma, E.: JUnit: Cookbook (2003b), http://junit.sourceforge.net/doc/cookbook/cookbook.htm
[11]
Beck, K., Gamma, E.: JUnit: Test infected: Programmers love writing tests (2003c), http://junit.sourceforge.net/doc/testinfected/testing.htm
[12]
Beck, K., Gamma, E.: JUnit: A cook's tour (2003a), http://junit.sourceforge.net/doc/cookstour/cookstour.htm
[13]
Beck, K., Johnson, R.: Patterns generate architectures, vol. 821, pp. 139-149. Springer, Berlin (1994)
[14]
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern Oriented Software Architecture - a System of Patterns. John Wiley & Sons, Chichester (1996)
[15]
Butler, G.: A reuse case perspective on documenting frameworks (1997), http://www.cs.concordia.ca/faculty/gregb
[16]
Butler, G., Keller, R.K., Mili, H.: A framework for framework documentation. ACM Comput. Surv. 32(1es):15 (2000)
[17]
Carroll, J.M.: The Nurnberg Funnel: Designing Minimalist Instruction for Practical Computer Skill. MIT Press, Cambridge (1990)
[18]
Clark, M.: JUnit: FAQ - frequently asked questions (2003), http://junit.sourceforge.net/doc/faq/faq.htm
[19]
Cotter, S., Potel, M.: Inside Taligent Technology. Addison-Wesley, Reading (1995)
[20]
Demeyer, S., De Hondt, K., Steyaert, P.: Consistent framework documentation with computed links and framework contracts. ACM Comput. Surv., 32(1es), 34 (2000)
[21]
Eckstein, R., Loy, M., Wood, D.: Java Swing. O'Reilly & Associates, Inc., Sebastopol (1998)
[22]
FEUP, doc-it project web site, http://doc-it.fe.up.pt/
[23]
Fayad, M.E., Johnson, R.E.: Domain-Specific Application Frameworks - Frameworks Experience by Industry. John Wiley & Sons, Chichester (2000)
[24]
Fayad, M.E., Schmidt, D.C., Johnson, R.E.: Building Application Frameworks - Object-Oriented Foundations of Framework Design. John Wiley & Sons, Chichester (1999a)
[25]
Fayad, M.E., Schmidt, D.C., Johnson, R.E.: Implementing Application Frameworks - Object-Oriented Frameworks at Work. John Wiley & Sons, Chichester (1999b)
[26]
Froehlich, G., Hoover, H.J., Liu, L., Sorenson, P.G.: Hooking into object-oriented application frameworks. In: International Conference on Software Engineering, pp. 491-501 (1997)
[27]
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns - Elements of reusable object-oriented software. Addison-Wesley, Reading (1995b)
[28]
Gosling, J., Joy, B., Steele Jr., G.L.: The Java Language Specification. Addison-Wesley, Reading (1996), http://java.sun.com/docs/books/jls/
[29]
Hansen, T.: Development of successful object-oriented frameworks. In: Addendum to the 1997 ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (Addendum), pp. 115-119. ACM Press, New York (1997)
[30]
Hargis, G.: Developing quality technical information, 2nd edn. Prentice-Hall, Englewood Cliffs (2004)
[31]
IBM Corporation. Producing quality technical information. IBM Santa Teresa Laboratory (1983)
[32]
Johnson, R.: Documenting frameworks using patterns. In: Paepcke, A. (ed.) OOPSLA 1992 Conference Proceedings, pp. 63-76. ACM Press, New York (1992)
[33]
Johnson, R.E., Foote, B.: Designing reusable classes. Journal of Object-Oriented Programming 1(2), 22-35 (1988)
[34]
Johnson, R.E., Russo, V.F.: Reusing object-oriented design. Technical Report Technical Report UIUCDCS 91-1696, University of Illinois (1991)
[35]
Kirk, D.: Framework reuse: Process, problems and documentation. Technical Report EFoCS-43-2001, Department of Computer Science, University of Strathclyde, GLASGOW, UK (2001), http://www.cis.strath.ac.uk/research/efocs/
[36]
Kirk, D., Roper, M., Wood, M.: Understanding object oriented frameworks: An exploratory case study. Technical Report EFoCS-42-2001, Department of Computer Science, University of Strathclyde, GLASGOW, UK (2001), http://www.cis.strath.ac.uk/research/efocs/
[37]
Krasner, G.E., Pope, S.T.: A cookbook for using the model-view-controller user interface paradigm in smalltalk-80. Journal of Object-Oriented Programming 1(3), 27-49 (1988)
[38]
Lajoie, R., Keller, R.K.: Design and reuse in object-oriented frameworks: Patterns, contracts and motifs in concert, pp. 295-312. World Scientific Publishing, Singapore (1995)
[39]
Meszaros, G., Doble, J.: Metapatterns: A pattern language for pattern writing. In: The 3rd Pattern Languages of Programming Conference, Monticello, Illinois (September 1996)
[40]
Meusel, M., Czarnecki, K., Köpf, W.: A model for structuring user documentation of object-oriented frameworks using patterns and hypertext. In: Liu, Y., Auletta, V. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 496-510. Springer, Heidelberg (1997)
[41]
Odenthal, G., Quibeldey-Cirkel, K.: Using patterns for design and documentation. In: Akcsit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 511-529. Springer, Heidelberg (1997)
[42]
Pree, W.: Design Patterns for Object-Oriented Software Development. Addison-Wesley / ACM Press (1995)
[43]
Schappert, A., Sommerlad, P., Pree, W.: Automated support for software development with frameworks. In: ACM SIGSOFT Symposium on Software Reusability, pp. 123-127 (1995)
[44]
Press, T.: The Power of Frameworks: for Windows and OS/2 developers. Addison-Wesley, Reading (1995)
[45]
Weinand, A., Gamma, E., Marty, R.: Design and implementation of ET++, a seamless object-oriented application framework. Structured Programming 10(2) (1989)

Cited By

View all
  • (2019)Extraction of architectural patterns from frameworks and modeling their contributions to qualitiesProceedings of the 26th Conference on Pattern Languages of Programs10.5555/3492252.3492255(1-20)Online publication date: 7-Oct-2019
  • (2018)CME – A Web Application Framework Learning Technique Based on Concerns, Micro-Learning and ExamplesWeb Engineering10.1007/978-3-319-91662-0_2(17-32)Online publication date: 5-Jun-2018
  • (2015)DRIVERProceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE.2015.105(783-788)Online publication date: 9-Nov-2015

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide books
Transactions on pattern languages of programming II: special issue on applying patterns
January 2011
124 pages
ISBN:9783642194313

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 January 2011

Author Tags

  1. documentation
  2. object-oriented frameworks
  3. patterns

Qualifiers

  • Chapter

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Extraction of architectural patterns from frameworks and modeling their contributions to qualitiesProceedings of the 26th Conference on Pattern Languages of Programs10.5555/3492252.3492255(1-20)Online publication date: 7-Oct-2019
  • (2018)CME – A Web Application Framework Learning Technique Based on Concerns, Micro-Learning and ExamplesWeb Engineering10.1007/978-3-319-91662-0_2(17-32)Online publication date: 5-Jun-2018
  • (2015)DRIVERProceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE.2015.105(783-788)Online publication date: 9-Nov-2015

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media