skip to main content
article
Free Access

Adaptive object-oriented programming using graph-based customization

Published:01 May 1994Publication History
First page image

References

  1. 1 Berard, E.V. Essays ub Object-Oriented Software Engineering,Vol. I Prestice- Hall, Englewood Cliffs.N.J., 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2 Gibbs, S., Tsichritzis, D., Casais, E., Nierstrasz,O., and Pintado, X. Class management for software communities. COmmun. ACM 33,9(sept.1990). Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 Helm, R., Holland I.M., and Gangopadhyay D. Contracts: Specifying behavioral compositions in objectoriented systems, In ,SIGPLAN Not. 25. 1O, 169-180. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4 Johnson, R.E. and Foote, B. Designing reusable classes.J. Object-oriented Program. 1,2 (June/July 1998).22-35.Google ScholarGoogle Scholar
  5. 5 Lieberherr,K.J. Component enhancement: An adaptive reusability mechanism for groups of collaborating classes. In Informatrion PRocessing 92, Twelfth World COmputer Congress, J.van Leeuwen, Ed. Elsevier, New York,PP. 179-185. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6 Lieberherr,K.J.and Holland, I. Assuring good style for object-oriented programs. IEEE Softw. (Sept. 1989), 38-48, Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7 Lieberherr, R.J. and Xiao,C.Object oriented software evolution. IEEE Trans. Softw. eng. 19,4 (Apr,1993), 313-343. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8 Lieberherr. k.J. and Xiao C. Fornal foundations for object-orineted data modeling. IEEE Trans. Knowledge Data Eng. 5,3 (June 1993),462-478. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 Lieberherr, K.J., Berstein, P., and Silva-Lepe, I.From objects to classes: Algorytithms for object-oriented design. F.Softw.Eng.6,4(July 1991),205- 228. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10 Lieberherr, R.J. Hursch, w., silva- Lepe, L, and Xiao, C. Experience with a graph-based propagation pattern programming tool. In International-Workdhop on CASE. IEEE Computer Society, Washington, D.c., PP. 114-119.Google ScholarGoogle Scholar
  11. 11 Lieberberr, K.J., The Art of Growing Adaptive Object-Oriented Software.PWS Publishing Co., Boston, Mass., 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12 Polya, G.How to Solve It. Princeton university Press, Princeton, N.J., 1949.Google ScholarGoogle Scholar
  13. 13 Ralston, A. Encyclopedia of Computer Science and Engineering. second ed. Van Nostrrand Reinhold,New YOrk, 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14 Rumbaugh, J. Controlling propagation of operations using attributes on relations. SIGPLAN Notices, 23, IL., PP.285-297. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15 Tsichritzis, D.and Lochovsky, F.Data Models Prentice-Hall, Englewood Cliff, N.J., 1982, Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16 Wilde, N. and Huitt, R. Maintenance support for object-oriented programs. In Conference on Software Maintencance. IEEE.Press, New York, 1991,PP.162- 170.Google ScholarGoogle ScholarCross RefCross Ref
  17. 17 Yonezawa, A.ABCL: An Object-Oriented Concurrent System. The MIT PRess Cambridge, Mass. 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Adaptive object-oriented programming using graph-based customization

          Recommendations

          Reviews

          Wayne Charles Summers

          Object-oriented programming provides flexibility in programming and increased maintainability that is typically not available in procedural programming. Object-oriented programs still have a certain amount of inflexibility, however. Methods are explicitly attached to specific classes, which constrains the programmer's ability to evolve and maintain the programs. The authors of this paper have developed an extension to the conventional method of object-oriented programming that overcomes these difficulties. Adaptive object-oriented programming focuses on developing only those classes and methods that are essential to an application, without detailing the class structure. Using adaptive object-oriented programming, programmers focus on families of programs by generalizing the class structure. The authors describe a new type of polymorphism, adaptive polymorphism, in which an adaptive program may be used on different class structures . An adaptive program is developed using a collection of propagation patterns to specify the constraints in the adaptive program. Using an example, the authors illustrate how a customizing class dictionary graph can be used to produce an object-oriented program from the family denoted by the adaptive program. The last part of this paper outlines how adaptive programming fits into the hierarchy of programming languages and postulates that adaptive programming is an improvement of object-oriented programming just as object-oriented programming is an improvement over procedural programming. The paper is well written and provides an interesting introduction to adaptive programming. There is a small error in Figure 6, but it does not detract from the paper. By reading the detailed example and accompanying figures, one can grasp the concepts of adaptive object-oriented programming. If you have been writing object-oriented programs and are interested in what comes next, this paper is certainly for you.

          Access critical reviews of Computing literature here

          Become a reviewer for Computing Reviews.

          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

          • Published in

            cover image Communications of the ACM
            Communications of the ACM  Volume 37, Issue 5
            May 1994
            98 pages
            ISSN:0001-0782
            EISSN:1557-7317
            DOI:10.1145/175290
            Issue’s Table of Contents

            Copyright © 1994 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: 1 May 1994

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader