skip to main content
article
Free Access

The reuse of uses in Smalltalk programming

Authors Info & Claims
Published:01 September 1996Publication History
Skip Abstract Section

Abstract

Software reuse, a long-standing and refractory issue in software technology, has been specifically emphasized as an advantage of the object-oriented programming paradigm. We report an empirical study of expert Smalltalk programmers reusing user interface classes in small graphical applications. Our primary goal was to develop a qualitative characterization of expert reuse strategies that could be used to identify requirements for teaching and supporting reuse programming. A secondary interest was to demonstrate to these experts the Reuse View Matcher—a prototype reuse tool—and to collect some initial observations of this tool in use during reuse programming. We observed extensive “reuse of uses” in the programmers' work: they relied heavily on code in expample applications that provided an implicit specification for reuse of the target class. We called this implicit specification a “usage context.” The programmers searched for relevant usage contexts early. They repeatedly evaluated the contextualized information to develop solution plans, and they borrowed and adapted it when the sample context suited their immediate reuse goals. The process of code development was highly dynamic and incremental; analysis and implementation were tightly interleaved, frequently driven by testing and debugging. These results are considered in terms of the tradeoffs that inhere in the reuse of uses and the teaching and tool support that might improve the efficiency and accuracy of this approach to reuse.

References

  1. AUSUBEL, D. P. 1960. The use of advance organizers in the learning and retention of meaningful verbal material. J. Educ. Psychol. 51, 267-272.Google ScholarGoogle Scholar
  2. BELLAMY,R.K.E.AND CARROLL, J. M. 1990. Redesign by design. In Proceedings of Human-Computer Interaction: Interact '90 (Cambridge, U.K., Aug. 27-31). North-Holland, Amsterdam, 199-205. Google ScholarGoogle Scholar
  3. BIGGERSTAFF,T.J.AND PERLIS, A. J. 1989. Software Reusability: Concepts and Models. ACM, New York, New York. Google ScholarGoogle Scholar
  4. BIGGERSTAFF,T.J.AND RICHTER, C. 1987. Reusability framework, assessment, and direc-tions. IEEE Softw. 4, 2 (Mar.), 41-49.Google ScholarGoogle Scholar
  5. CARROLL,J.M.AND ROSSON, M. B. 1987. The paradox of the active user. In Interfacing Thought: Cognitive Aspects of Human-Computer Interaction. MIT Press, Cambridge, Mass., 80-111. Google ScholarGoogle Scholar
  6. CARROLL,J.M.AND ROSSON, M. B. 1991. Deliberated evolution: Stalking the View Matcher in design space. Hum. Comput. Interact. 6, 3-4, 281-318.Google ScholarGoogle Scholar
  7. CARROLL,J.M.,KELLOGG,W.A.,AND ROSSON, M. B. 1991. The task-artifact cycle. In Designing Interaction: Psychology at the Human-Computer Interface. Cambridge University Press, New York, 74-102. Google ScholarGoogle Scholar
  8. CARROLL,J.M.,SINGER,J.A.,BELLAMY,R.K.E.,AND ALPERT, S. R. 1990. A View Matcher for learning Smalltalk. In Proceedings of Human Factors in Computing Systems (CHI '90). ACM, New York, 431-438. Google ScholarGoogle Scholar
  9. CARROLL,J.M.,THOMAS,J.C.,AND MALHOTRA, A. 1979. A clinical-experimental analysis of design problem solving. Des. Stud. 1, 2, 84-92.Google ScholarGoogle Scholar
  10. COX, B. J. 1986. Object Oriented Programming: An Evolutionary Approach. Addison-Wes-ley, Reading, Mass. Google ScholarGoogle Scholar
  11. COX, B. J. 1987. Building malleable systems from software "chips." Computerworld (Mar.), 59-86.Google ScholarGoogle Scholar
  12. DE~ TIENNE, F. 1991. Reasoning from a schema and from an analog in software code reuse. In Proceedings of Workshop on Empirical Studies of Programmers (ESP IV). Ablex, Norwood, N.J., 5-22.Google ScholarGoogle Scholar
  13. DEUTSCH, L. P. 1989. Design reuse and frameworks in the Smalltalk-80 system. In Software Reusability. Addison-Wesley, Reading, Mass., 57-72. Google ScholarGoogle Scholar
  14. DIGITALK, I. 1989. Smalltalk/V PM: Object-Oriented Programming System. Digitalk Inc., Los Angeles, Calif.Google ScholarGoogle Scholar
  15. ERICSSON,K.A.AND SIMON, H. A. 1980. Verbal reports as data. Psychol. Rev. 87, 215-251.Google ScholarGoogle Scholar
  16. FISCHER, G. 1987. Cognitive view of reuse and redesign. IEEE Softw. 4, 3, 60-72.Google ScholarGoogle Scholar
  17. FLANAGAN, J. C. 1954. The critical incident technique. Psychol. Bull. 51, 28, 28-35.Google ScholarGoogle Scholar
  18. GUINDON, R. 1990. Designing the design process: Exploiting opportunistic thoughts. Hum. Comput. Interact. 5, 1, 305-344.Google ScholarGoogle Scholar
  19. HELM,R.AND MAAREK, Y. S. 1991. Integrating information retrieval and domain specific approaches for browsing and retrieval in object-oriented class libraries. In Proceedings of Object-Oriented Programming, Systems and Applications. ACM, New York, 47-61. Google ScholarGoogle Scholar
  20. JOHNSON,R.E.AND FOOTE, B. 1988. Designing reusable classes. J. Object-Oriented Pro-gram. 1, 2 (June/July), 22-35.Google ScholarGoogle Scholar
  21. LANGE,B.M.AND MOHER, T. G. 1989. Some strategies of reuse in an object-oriented programming environment. In Proceedings of Human Factors in Computing Systems, CHI '89 Conference. ACM, New York, 69-74. Google ScholarGoogle Scholar
  22. LEWIS,J.A.,HENRY,S.M.,KAFURA,D.G.,AND SCHULMAN, R. S. 1991. An empirical study of the object-oriented paradigm and software reuse. In Proceedings of Object-Oriented Pro-gramming, Systems and Applications. ACM, New York, 184-196. Google ScholarGoogle Scholar
  23. LINTON,M.A.,VLISSIDES,J.M.,AND CALDER, P. R. 1989. Composing user interfaces with InterViews. Computer 22, 2, 8-22. Google ScholarGoogle Scholar
  24. MEYER, B. 1987. Reusability: The case for object-oriented design. IEEE Softw. 4, 2 (Mar.), 50-64.Google ScholarGoogle Scholar
  25. MEYER, B. 1988. Object-Oriented Software Construction. Prentice-Hall, New York. Google ScholarGoogle Scholar
  26. PRIETO-D~~AZ, R. 1991. Implementing a faceted classification for software reuse. Commun. ACM 34, 5 (May), 88-97. Google ScholarGoogle Scholar
  27. RAJ,R.K.AND LEVY, H. M. 1989. A compositional model of software reuse. In Proceedings of European Conference on Object-Oriented Programming (ECOOP '89). British Computer Society, London, U.K., 3-24.Google ScholarGoogle Scholar
  28. REDMILES, D. F. 1993. Reducing the variability of programmers' performance through explained examples. In Proceedings of Conference on Human Factors in Computing Systems: INTERCHI '93. ACM, New York, 67-73. Google ScholarGoogle Scholar
  29. ROSSON,M.B.AND CARROLL, J. M. 1993. Active programming strategies in reuse. In Proceedings of ECOOP '93:Object-Oriented Programming. Springer-Verlag, Berlin, 4-18. Google ScholarGoogle Scholar
  30. ROSSON,M.B.,CARROLL,J.M.,AND BELLAMY, R. K. E. 1990. Smalltalk scaffolding: A case study in minimalist instruction. In Proceedings of Human Factors in Computing Systems, CHI '90 Conference. ACM, New York, 423-429. Google ScholarGoogle Scholar
  31. ROSSON,M.B.,CARROLL,J.M.,AND SWEENEY, C. 1991. A View Matcher for reusing Smalltalk classes. In Proceedings of Human Factors in Computing Systems (CHI '91). ACM, New York, 277-284. Google ScholarGoogle Scholar
  32. SINGLEY,M.K.AND CARROLL, J. M. 1990. Minimalist planning tools in an instructional system for Smalltalk. In Proceedings of INTERACT '90. North-Holland, Amsterdam, 932- 944. Google ScholarGoogle Scholar
  33. TAENZER, D., GANTI, M., AND PODAR, S. 1989. Problems in object-oriented software reuse. In Proceedings of European Conference on Object-Oriented Programming (ECOOP '89). British Computer Society, Cambridge, U.K., 25-38.Google ScholarGoogle Scholar
  34. VISSER, W. 1990. More or less following a plan during design: Opportunistic deviations in specification. Int. J. Man Mach. Stud. 33, 3, 247-278. Google ScholarGoogle Scholar

Index Terms

  1. The reuse of uses in Smalltalk programming

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader