skip to main content
10.1145/1137620.1137624acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Cataloging design abstractions

Published:21 May 2006Publication History

ABSTRACT

Abstractions are the essence of software design, and various enterprises, such as design patterns, architectural styles, programming clichés and idioms, attempt to capture, organize and present them to software engineers. This position paper explores the possibility of mounting a more comprehensive effort to catalog abstractions. Related efforts such as the design of textual and electronic dictionaries, markup languages for software artifacts and ontologies of computer science topics are surveyed to inform the effort. A set of derivative questions is presented to explore the problem space.

References

  1. Aitchison, J. and Gilchrist, A. Thesaurus Construction, Second Edition. Aslib, The Association for Information Management, London, England, 1987.Google ScholarGoogle Scholar
  2. Booch, G., Rumbaugh, J. and Jacobson, I. The Unified Modeling Language User Guide. Addison Wesley, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Brown, W. J., Malveau, R. C., McCormick, H. W., and Mowbray, T. J. AntiPatterns. John Wiley, 1998.Google ScholarGoogle Scholar
  4. Yih-Farn Chen, Y-F., Nishimoto, M. Y., and Ramamoorthy, C. V. The C information abstraction system. IEEE Transactions on Software Engineering, 16, 3, (Mar. 1990), 325--334. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Demeyer, S., Nierstrasz, O. M., Ducasse, S. Object-Oriented Reengineering Patterns. Morgan Kaufmann, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Ehn, P. Playing the language-games of design and use-On skill and participation. In the Conference on Supporting Group Work Archive, ACM, (Palo Alto, California), 1988, 142--157. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Fowler, M. Analysis Patterns: Reusable Object Models. Addison-Wesley, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Fowler, M. Refactoring. Addison Wesley, 1999.Google ScholarGoogle Scholar
  9. Gamma E., Helm, R., Johnson, R., and Vlissides, J. Design Patterns: Abstraction and Reuse of Object-Oriented Software. Addison-Wesley, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Jain, A. K., Murty, M. N. and Flynn, P. J. Data clustering: A review. ACM Computing Surveys, 31, 3, (Sep. 1999), 264--323. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Knuth, D. E. The Art of Computer Programming, Volumes 1-3. Addison Wesley, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Koza, J. R. Genetic Programming / On the Programming of Computers by Means of Natural Selection. MIT Press, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Landau, S. I. Dictionaries / The Art and Craft of Lexicography. Charles Scribner, 1984.Google ScholarGoogle Scholar
  14. Lenat, D. B. Cyc: A large scale investment in knowledge infrastructure. Communications of the ACM, 38, 11, (Nov. 1995), 33--38. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Miller, G. A. WordNet: A lexical database for English. Communications of the ACM, 38, 11, (Nov. 1995), 39--41. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Partsch, H. and Steinbruggen, R. Program transformation systems. ACM Computing Surveys, 15, 3, (Sep. 1983), 189--226. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Perlis, A. and Rugaber, S. Programming with idioms in APL. In Proceedings of APL International Conference, (Rochester, NY), 1979, 232--235. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Prieto-Díaz, R. and Freeman, P. Classifying software for reusability. IEEE Software, 4, 1, (Jan. 1987), 94--104.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Raymond, D. R. and Tompa, F. W. Hypertext and the Oxford English Dictionary. Communications of the ACM, 31, 7, (Jul. 1988), 871--879. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Reasoning Systems Inc. Refine User's Guide. (Palo Alto, California), 1990.Google ScholarGoogle Scholar
  21. Rich, C. and Waters, R. C. The Programmer's Apprentice. Addison Wesley, 1990. Google ScholarGoogle Scholar
  22. Roget, P. Roget's Thesaurus of English Words and Phrases. George Davidson (Editor), Penguin Books, 2002.Google ScholarGoogle Scholar
  23. Rugaber, S., Ornburn, S. B. and LeBlanc, R. J. Jr. Recognizing design decisions in programs. IEEE Software, 7, 1, (Jan. 1990), 46--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Shaw, M. Prospects for an engineering discipline of software. IEEE Software, 7, 6 (Nov. 1990), 15--24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Shaw, M. and Garlan, D. Software Architecture / Perspectives on an Emerging Discipline. Prentice Hall, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Snetling, G. Concept analysis - A new framework for program understanding. In SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE'98), (Montreal, Canada), 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Warmer, J. and Kleppe, A. The Object Constraint Language, Second Edition. Addison Wesley, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Webster's Seventh New Collegiate Dictionary. G & C Merriam Co., 1965.Google ScholarGoogle Scholar
  29. Wills, L. M. Automated Program Recognition by Graph Parsing. Ph.D. Thesis, Massachusetts Institute of Technology, Technical report 1358, MIT Artificial Intelligence Laboratory, July 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Winchester, S. The Professor and the Madman: A Tale of Murder, Insanity, and the Making of the Oxford English Dictionary. G. K. Hall & Co., Thorndike, Maine, 1998.Google ScholarGoogle Scholar
  31. Yokoi, T. The EDR electronic dictionary. Communications of the ACM, 38, 11 (Nov. 1995), 42--44. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Cataloging design abstractions

          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
          • Published in

            cover image ACM Conferences
            ROA '06: Proceedings of the 2006 international workshop on Role of abstraction in software engineering
            May 2006
            30 pages
            ISBN:1595934014
            DOI:10.1145/1137620
            • Conference Chairs:
            • Jeff Kramer,
            • Orit Hazzan

            Copyright © 2006 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 21 May 2006

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • Article

            Upcoming Conference

            ICSE 2025

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader